@versini/sassysaint 8.64.2 → 8.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/chunks/{AboutChangelog.BBcTYMq9.js → AboutChangelog.DpM88TD4.js} +2 -2
  2. package/dist/chunks/{AboutEntry.Bt3z15H7.js → AboutEntry.myjEE_YS.js} +5 -5
  3. package/dist/chunks/{App.zHzyWMKP.js → App.D11WXiGv.js} +16 -16
  4. package/dist/chunks/{Chart.HgFUiY6N.js → Chart.C09_D0Js.js} +636 -629
  5. package/dist/chunks/{ChatBubbleAssistant.BuUR08u9.js → ChatBubbleAssistant.4n93HLwe.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.634b_maN.js → ChatBubbleUser.BA5mfRX3.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.BPalaIGQ.js → ChatHistoryTable.GOTm0B_0.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.MtjyeH3M.js → HistoryEntry.DbFidH9-.js} +3 -3
  9. package/dist/chunks/ProfileEntry.CQn1T1HP.js +181 -0
  10. package/dist/chunks/{SettingsEntry.BX8BwVn4.js → SettingsEntry.DOIpVprT.js} +2 -2
  11. package/dist/chunks/{Table.DsPL_Dm_.js → Table.BVEnC3sJ.js} +2 -2
  12. package/dist/chunks/UsageEntry.CBS_lg8M.js +131 -0
  13. package/dist/chunks/{UserMemoriesPanel.dPS5rxYJ.js → UserMemoriesPanel.CJWaZZty.js} +3 -3
  14. package/dist/chunks/{index.diXefYJE.js → index.6qKz8JoC.js} +1 -1
  15. package/dist/chunks/{index.DrAdBw3a.js → index.CLaxLST5.js} +3 -3
  16. package/dist/chunks/{index.BU65_15J.js → index.CVG2GNQJ.js} +1 -1
  17. package/dist/chunks/{index.Dyy0OIeR.js → index.CaVPHC4s.js} +3 -2
  18. package/dist/chunks/{index.oUO6FHVX.js → index.CytEb1Ff.js} +2 -2
  19. package/dist/chunks/{index.DVFk_U1W.js → index.Dcg8QQwK.js} +1 -1
  20. package/dist/chunks/{index.pJLv5cOs.js → index.DresqUv9.js} +1 -1
  21. package/dist/chunks/{useMarkdown.6I3qRoVT.js → useMarkdown.BhytnMpG.js} +6 -6
  22. package/dist/components/SassySaint/SassySaint.js +1 -1
  23. package/dist/index.js +4 -4
  24. package/dist/style.css +1 -1
  25. package/package.json +3 -3
  26. package/dist/chunks/ProfileEntry.C8SQncPj.js +0 -158
  27. package/dist/chunks/UsageEntry.bXqYQDZN.js +0 -99
@@ -1,10 +1,10 @@
1
1
  import { jsx as Ap } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.zHzyWMKP.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.D11WXiGv.js";
3
3
  import Cp, { useState as Pp, useEffect as Op } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.Dyy0OIeR.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.CaVPHC4s.js";
5
5
  var ls = { exports: {} }, Ip = ls.exports, on;
6
6
  function Dp() {
7
- return on || (on = 1, (function(ke, ne) {
7
+ return on || (on = 1, (function(we, he) {
8
8
  /**
9
9
  * Highcharts JS v12.4.0 (2025-09-04)
10
10
  * @module highcharts/highcharts
@@ -13,16 +13,16 @@ function Dp() {
13
13
  *
14
14
  * License: www.highcharts.com/license
15
15
  */
16
- (function(Pt, mt) {
17
- Pt._Highcharts = mt(), ke.exports = Pt._Highcharts;
16
+ (function(Ot, xt) {
17
+ Ot._Highcharts = xt(), we.exports = Ot._Highcharts;
18
18
  })(typeof window > "u" ? Ip : window, () => (() => {
19
- let Pt, mt;
20
- var nt, Mt, j, J, le, He, Fe, Ge, he, we, St, Ye, Me, Se, z, Q, ot, dt, $t = {};
21
- $t.d = (l, t) => {
22
- for (var e in t) $t.o(t, e) && !$t.o(l, e) && Object.defineProperty(l, e, { enumerable: !0, get: t[e] });
23
- }, $t.o = (l, t) => Object.prototype.hasOwnProperty.call(l, t);
19
+ let Ot, xt;
20
+ var at, St, _, nt, gt, Dt, Fe, Ge, de, Me, Tt, Ye, Se, Te, z, J, rt, dt, qt = {};
21
+ qt.d = (l, t) => {
22
+ for (var e in t) qt.o(t, e) && !qt.o(l, e) && Object.defineProperty(l, e, { enumerable: !0, get: t[e] });
23
+ }, qt.o = (l, t) => Object.prototype.hasOwnProperty.call(l, t);
24
24
  var je = {};
25
- $t.d(je, { default: () => Tp }), (function(l) {
25
+ qt.d(je, { default: () => Tp }), (function(l) {
26
26
  l.SVG_NS = "http://www.w3.org/2000/svg", l.product = "Highcharts", l.version = "12.4.0", l.win = typeof window < "u" ? window : {}, l.doc = l.win.document, l.svg = !!l.doc?.createElementNS?.(l.SVG_NS, "svg")?.createSVGRect, l.pageLang = l.doc?.documentElement?.closest("[lang]")?.lang, l.userAgent = l.win.navigator?.userAgent || "", l.isChrome = l.win.chrome, l.isFirefox = l.userAgent.indexOf("Firefox") !== -1, l.isMS = /(edge|msie|trident)/i.test(l.userAgent) && !l.win.opera, l.isSafari = !l.isChrome && l.userAgent.indexOf("Safari") !== -1, l.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(l.userAgent), l.isWebKit = l.userAgent.indexOf("AppleWebKit") !== -1, l.deg2rad = 2 * Math.PI / 360, l.marginNames = ["plotTop", "marginRight", "marginBottom", "plotLeft"], l.noop = function() {
27
27
  }, l.supportsPassiveEvents = (function() {
28
28
  let t = !1;
@@ -34,22 +34,22 @@ function Dp() {
34
34
  }
35
35
  return t;
36
36
  })(), l.charts = [], l.composed = [], l.dateFormats = {}, l.seriesTypes = {}, l.symbolSizes = {}, l.chartCount = 0;
37
- })(nt || (nt = {}));
38
- let C = nt, { charts: fi, doc: Zt, win: Rt } = C;
37
+ })(at || (at = {}));
38
+ let C = at, { charts: fi, doc: Kt, win: Xt } = C;
39
39
  function Ue(l, t, e, i) {
40
40
  let s = t ? "Highcharts error" : "Highcharts warning";
41
41
  l === 32 && (l = `${s}: Deprecated member`);
42
42
  let r = cs(l), o = r ? `${s} #${l}: www.highcharts.com/errors/${l}/` : l.toString();
43
43
  if (i !== void 0) {
44
44
  let a = "";
45
- r && (o += "?"), de(i, function(n, h) {
45
+ r && (o += "?"), ce(i, function(n, h) {
46
46
  a += `
47
47
  - ${h}: ${n}`, r && (o += encodeURI(h) + "=" + encodeURI(n));
48
48
  }), o += a;
49
49
  }
50
50
  zr(C, "displayError", { chart: e, code: l, message: o, params: i }, function() {
51
51
  if (t) throw Error(o);
52
- Rt.console && Ue.messages.indexOf(o) === -1 && console.warn(o);
52
+ Xt.console && Ue.messages.indexOf(o) === -1 && console.warn(o);
53
53
  }), Ue.messages.push(o);
54
54
  }
55
55
  function Or(l, t) {
@@ -62,32 +62,32 @@ function Dp() {
62
62
  let t = Object.prototype.toString.call(l);
63
63
  return t === "[object Array]" || t === "[object Array Iterator]";
64
64
  }
65
- function Te(l, t) {
65
+ function Ae(l, t) {
66
66
  return !!l && typeof l == "object" && (!t || !mi(l));
67
67
  }
68
68
  function ds(l) {
69
- return Te(l) && typeof l.nodeType == "number";
69
+ return Ae(l) && typeof l.nodeType == "number";
70
70
  }
71
71
  function Lr(l) {
72
72
  let t = l?.constructor;
73
- return !!(Te(l, !0) && !ds(l) && t?.name && t.name !== "Object");
73
+ return !!(Ae(l, !0) && !ds(l) && t?.name && t.name !== "Object");
74
74
  }
75
75
  function cs(l) {
76
76
  return typeof l == "number" && !isNaN(l) && l < 1 / 0 && l > -1 / 0;
77
77
  }
78
- function Ae(l) {
78
+ function Ce(l) {
79
79
  return l != null;
80
80
  }
81
81
  function Er(l, t, e) {
82
- let i, s = Ve(t) && !Ae(e), r = (o, a) => {
83
- Ae(o) ? l.setAttribute(a, o) : s ? (i = l.getAttribute(a)) || a !== "class" || (i = l.getAttribute(a + "Name")) : l.removeAttribute(a);
82
+ let i, s = Ve(t) && !Ce(e), r = (o, a) => {
83
+ Ce(o) ? l.setAttribute(a, o) : s ? (i = l.getAttribute(a)) || a !== "class" || (i = l.getAttribute(a + "Name")) : l.removeAttribute(a);
84
84
  };
85
- return Ve(t) ? r(e, t) : de(t, r), i;
85
+ return Ve(t) ? r(e, t) : ce(t, r), i;
86
86
  }
87
87
  function Ir(l) {
88
88
  return mi(l) ? l : [l];
89
89
  }
90
- function Ce(l, t) {
90
+ function Pe(l, t) {
91
91
  let e;
92
92
  for (e in l || (l = {}), t) l[e] = t[e];
93
93
  return l;
@@ -100,7 +100,7 @@ function Dp() {
100
100
  }
101
101
  }
102
102
  function ps(l, t) {
103
- Ce(l.style, t);
103
+ Pe(l.style, t);
104
104
  }
105
105
  function Dr(l) {
106
106
  return Math.pow(10, Math.floor(Math.log(l) / Math.LN10));
@@ -117,7 +117,7 @@ function Dp() {
117
117
  let e, i = l.length;
118
118
  for (e = 0; e < i; e++) if (t(l[e], e)) return l[e];
119
119
  };
120
- function de(l, t, e) {
120
+ function ce(l, t, e) {
121
121
  for (let i in l) Object.hasOwnProperty.call(l, i) && t.call(e || l[i], l[i], i, l);
122
122
  }
123
123
  function Nr(l, t, e) {
@@ -127,7 +127,7 @@ function Dp() {
127
127
  }
128
128
  function s(o) {
129
129
  let a, n;
130
- l.nodeName && (t ? (a = {})[t] = !0 : a = o, de(a, function(h, c) {
130
+ l.nodeName && (t ? (a = {})[t] = !0 : a = o, ce(a, function(h, c) {
131
131
  if (o[c]) for (n = o[c].length; n--; ) i(c, o[c][n].fn);
132
132
  }));
133
133
  }
@@ -143,11 +143,11 @@ function Dp() {
143
143
  }
144
144
  }
145
145
  function zr(l, t, e, i) {
146
- if (e = e || {}, Zt?.createEvent && (l.dispatchEvent || l.fireEvent && l !== C)) {
147
- let s = Zt.createEvent("Events");
148
- s.initEvent(t, !0, !0), e = Ce(s, e), l.dispatchEvent ? l.dispatchEvent(e) : l.fireEvent(t, e);
146
+ if (e = e || {}, Kt?.createEvent && (l.dispatchEvent || l.fireEvent && l !== C)) {
147
+ let s = Kt.createEvent("Events");
148
+ s.initEvent(t, !0, !0), e = Pe(s, e), l.dispatchEvent ? l.dispatchEvent(e) : l.fireEvent(t, e);
149
149
  } else if (l.hcEvents) {
150
- e.target || Ce(e, { preventDefault: function() {
150
+ e.target || Pe(e, { preventDefault: function() {
151
151
  e.defaultPrevented = !0;
152
152
  }, target: l, type: t });
153
153
  let s = [], r = l, o = !1;
@@ -161,10 +161,10 @@ function Dp() {
161
161
  let dn = (function() {
162
162
  let l = Math.random().toString(36).substring(2, 9) + "-", t = 0;
163
163
  return function() {
164
- return "highcharts-" + (Pt ? "" : l) + t++;
164
+ return "highcharts-" + (Ot ? "" : l) + t++;
165
165
  };
166
166
  })();
167
- Rt.jQuery && (Rt.jQuery.fn.highcharts = function() {
167
+ Xt.jQuery && (Xt.jQuery.fn.highcharts = function() {
168
168
  let l = [].slice.call(arguments);
169
169
  if (this[0]) return l[0] ? (new C[Ve(l[0]) ? l.shift() : "Chart"](this[0], l[0], l[1]), this) : fi[Er(this[0], "data-highcharts-chart")];
170
170
  });
@@ -190,26 +190,26 @@ function Dp() {
190
190
  }, attr: Er, clamp: function(l, t, e) {
191
191
  return l > t ? l < e ? l : e : t;
192
192
  }, clearTimeout: function(l) {
193
- Ae(l) && clearTimeout(l);
193
+ Ce(l) && clearTimeout(l);
194
194
  }, correctFloat: Br, createElement: function(l, t, e, i, s) {
195
- let r = Zt.createElement(l);
196
- return t && Ce(r, t), s && ps(r, { padding: "0", border: "none", margin: "0" }), e && ps(r, e), i && i.appendChild(r), r;
195
+ let r = Kt.createElement(l);
196
+ return t && Pe(r, t), s && ps(r, { padding: "0", border: "none", margin: "0" }), e && ps(r, e), i && i.appendChild(r), r;
197
197
  }, crisp: function(l, t = 0, e) {
198
198
  let i = t % 2 / 2, s = e ? -1 : 1;
199
199
  return (Math.round(l * s - i) + i) * s;
200
- }, css: ps, defined: Ae, destroyObjectProperties: function(l, t, e) {
201
- de(l, function(i, s) {
200
+ }, css: ps, defined: Ce, destroyObjectProperties: function(l, t, e) {
201
+ ce(l, function(i, s) {
202
202
  i !== t && i?.destroy && i.destroy(), (i?.destroy || !e) && delete l[s];
203
203
  });
204
204
  }, diffObjects: function(l, t, e, i) {
205
205
  let s = {};
206
206
  return (function r(o, a, n, h) {
207
207
  let c = e ? a : o;
208
- de(o, function(d, p) {
208
+ ce(o, function(d, p) {
209
209
  if (!h && i && i.indexOf(p) > -1 && a[p]) {
210
210
  d = Ir(d), n[p] = [];
211
211
  for (let u = 0; u < Math.max(d.length, a[p].length); u++) a[p][u] && (d[u] === void 0 ? n[p][u] = a[p][u] : (n[p][u] = {}, r(d[u], a[p][u], n[p][u], h + 1)));
212
- } else Te(d, !0) && !d.nodeType ? (n[p] = mi(d) ? [] : {}, r(d, a[p] || {}, n[p], h + 1), Object.keys(n[p]).length === 0 && (p !== "colorAxis" || h !== 0) && delete n[p]) : (o[p] !== a[p] || p in o && !(p in a)) && p !== "__proto__" && p !== "constructor" && (n[p] = c[p]);
212
+ } else Ae(d, !0) && !d.nodeType ? (n[p] = mi(d) ? [] : {}, r(d, a[p] || {}, n[p], h + 1), Object.keys(n[p]).length === 0 && (p !== "colorAxis" || h !== 0) && delete n[p]) : (o[p] !== a[p] || p in o && !(p in a)) && p !== "__proto__" && p !== "constructor" && (n[p] = c[p]);
213
213
  });
214
214
  })(l, t, s, 0), s;
215
215
  }, discardElement: function(l) {
@@ -220,10 +220,10 @@ function Dp() {
220
220
  l.splice(e, 1);
221
221
  break;
222
222
  }
223
- }, error: Ue, extend: Ce, extendClass: function(l, t) {
223
+ }, error: Ue, extend: Pe, extendClass: function(l, t) {
224
224
  let e = function() {
225
225
  };
226
- return e.prototype = new l(), Ce(e.prototype, t), e;
226
+ return e.prototype = new l(), Pe(e.prototype, t), e;
227
227
  }, find: hn, fireEvent: zr, getAlignFactor: (l = "") => ({ center: 0.5, right: 1, middle: 0.5, bottom: 1 })[l] || 0, getClosestDistance: function(l, t) {
228
228
  let e, i, s, r = !t;
229
229
  return l.forEach((o) => {
@@ -231,15 +231,15 @@ function Dp() {
231
231
  }), e;
232
232
  }, getMagnitude: Dr, getNestedProperty: function(l, t) {
233
233
  let e = l.split(".");
234
- for (; e.length && Ae(t); ) {
234
+ for (; e.length && Ce(t); ) {
235
235
  let i = e.shift();
236
236
  if (i === void 0 || i === "__proto__") return;
237
237
  if (i === "this") {
238
238
  let r;
239
- return Te(t) && (r = t["@this"]), r ?? t;
239
+ return Ae(t) && (r = t["@this"]), r ?? t;
240
240
  }
241
241
  let s = t[i.replace(/[\\'"]/g, "")];
242
- if (!Ae(s) || typeof s == "function" || typeof s.nodeType == "number" || s === Rt) return;
242
+ if (!Ce(s) || typeof s == "function" || typeof s.nodeType == "number" || s === Xt) return;
243
243
  t = s;
244
244
  }
245
245
  return t;
@@ -250,7 +250,7 @@ function Dp() {
250
250
  return a < o && a >= o - 1 && (o = Math.floor(a)), Math.max(0, o - (l(t, "padding-left", !0) || 0) - (l(t, "padding-right", !0) || 0));
251
251
  }
252
252
  if (e === "height") return Math.max(0, Math.min(t.offsetHeight, t.scrollHeight) - (l(t, "padding-top", !0) || 0) - (l(t, "padding-bottom", !0) || 0));
253
- let r = Rt.getComputedStyle(t, void 0);
253
+ let r = Xt.getComputedStyle(t, void 0);
254
254
  return r && (s = r.getPropertyValue(e), $e(i, e !== "opacity") && (s = Or(s))), s;
255
255
  }, insertItem: function(l, t) {
256
256
  let e, i = l.options.index, s = t.length;
@@ -261,10 +261,10 @@ function Dp() {
261
261
  return e;
262
262
  }, isArray: mi, isClass: Lr, isDOMElement: ds, isFunction: function(l) {
263
263
  return typeof l == "function";
264
- }, isNumber: cs, isObject: Te, isString: Ve, merge: function(l, ...t) {
264
+ }, isNumber: cs, isObject: Ae, isString: Ve, merge: function(l, ...t) {
265
265
  let e, i = [l, ...t], s = {}, r = function(a, n) {
266
- return typeof a != "object" && (a = {}), de(n, function(h, c) {
267
- c !== "__proto__" && c !== "constructor" && (!Te(h, !0) || Lr(h) || ds(h) ? a[c] = n[c] : a[c] = r(a[c] || {}, h));
266
+ return typeof a != "object" && (a = {}), ce(n, function(h, c) {
267
+ c !== "__proto__" && c !== "constructor" && (!Ae(h, !0) || Lr(h) || ds(h) ? a[c] = n[c] : a[c] = r(a[c] || {}, h));
268
268
  }), a;
269
269
  };
270
270
  l === !0 && (s = i[1], i = Array.prototype.slice.call(i, 2));
@@ -279,9 +279,9 @@ function Dp() {
279
279
  return n % 1 == 0;
280
280
  }) : e <= 0.1 && (t = [1 / e]))), r = 0; r < t.length && (o = t[r], (!s || !(o * e >= l)) && (s || !(a <= (t[r] + (t[r + 1] || t[r])) / 2))); r++) ;
281
281
  return Br(o * e, -Math.round(Math.log(1e-3) / Math.LN10));
282
- }, objectEach: de, offset: function(l) {
283
- let t = Zt.documentElement, e = l.parentElement || l.parentNode ? l.getBoundingClientRect() : { top: 0, left: 0, width: 0, height: 0 };
284
- return { top: e.top + (Rt.pageYOffset || t.scrollTop) - (t.clientTop || 0), left: e.left + (Rt.pageXOffset || t.scrollLeft) - (t.clientLeft || 0), width: e.width, height: e.height };
282
+ }, objectEach: ce, offset: function(l) {
283
+ let t = Kt.documentElement, e = l.parentElement || l.parentNode ? l.getBoundingClientRect() : { top: 0, left: 0, width: 0, height: 0 };
284
+ return { top: e.top + (Xt.pageYOffset || t.scrollTop) - (t.clientTop || 0), left: e.left + (Xt.pageXOffset || t.scrollLeft) - (t.clientLeft || 0), width: e.width, height: e.height };
285
285
  }, pad: function(l, t, e) {
286
286
  return Array((t || 2) + 1 - String(l).replace("-", "").length).join(e || "0") + l;
287
287
  }, pick: $e, pInt: Or, pushUnique: function(l, t) {
@@ -305,7 +305,7 @@ function Dp() {
305
305
  }, timeUnits: { millisecond: 1, second: 1e3, minute: 6e4, hour: 36e5, day: 864e5, week: 6048e5, month: 24192e5, year: 314496e5 }, ucfirst: function(l) {
306
306
  return Ve(l) ? l.substring(0, 1).toUpperCase() + l.substring(1) : String(l);
307
307
  }, uniqueKey: dn, useSerialIds: function(l) {
308
- return Pt = $e(l, Pt);
308
+ return Ot = $e(l, Ot);
309
309
  }, wrap: function(l, t, e) {
310
310
  let i = l[t];
311
311
  l[t] = function() {
@@ -314,7 +314,7 @@ function Dp() {
314
314
  return i.apply(r, arguments.length ? arguments : s);
315
315
  }].concat([].slice.call(arguments)));
316
316
  };
317
- } }, { pageLang: cn, win: xi } = C, { defined: Rr, error: Wr, extend: us, isNumber: Xr, isObject: gs, isString: Ze, merge: pn, objectEach: un, pad: qt, splat: gn, timeUnits: fs, ucfirst: fn } = B, mn = C.isSafari && xi.Intl && !xi.Intl.DateTimeFormat.prototype.formatRange, xn = (l) => l.main === void 0, yn = class {
317
+ } }, { pageLang: cn, win: xi } = C, { defined: Rr, error: Wr, extend: us, isNumber: Xr, isObject: gs, isString: Ze, merge: pn, objectEach: un, pad: _t, splat: gn, timeUnits: fs, ucfirst: fn } = B, mn = C.isSafari && xi.Intl && !xi.Intl.DateTimeFormat.prototype.formatRange, xn = (l) => l.main === void 0, yn = class {
318
318
  constructor(l, t) {
319
319
  this.options = { timezone: "UTC" }, this.variableTimezone = !1, this.Date = xi.Date, this.update(l), this.lang = t;
320
320
  }
@@ -386,7 +386,7 @@ function Dp() {
386
386
  }
387
387
  if (Ze(l) && l.indexOf("%") !== -1) {
388
388
  let s = this, [r, o, a, n, h, c, d, p] = this.toParts(t), u = i?.weekdays || this.weekdays, g = i?.shortWeekdays || this.shortWeekdays, x = i?.months || this.months, m = i?.shortMonths || this.shortMonths;
389
- un(us({ a: g ? g[p] : u[p].substr(0, 3), A: u[p], d: qt(a), e: qt(a, 2, " "), w: p, v: i?.weekFrom ?? "", b: m[o], B: x[o], m: qt(o + 1), o: o + 1, y: r.toString().substr(2, 2), Y: r, H: qt(n), k: n, I: qt(n % 12 || 12), l: n % 12 || 12, M: qt(h), p: n < 12 ? "AM" : "PM", P: n < 12 ? "am" : "pm", S: qt(c), L: qt(d, 3) }, C.dateFormats), function(f, y) {
389
+ un(us({ a: g ? g[p] : u[p].substr(0, 3), A: u[p], d: _t(a), e: _t(a, 2, " "), w: p, v: i?.weekFrom ?? "", b: m[o], B: x[o], m: _t(o + 1), o: o + 1, y: r.toString().substr(2, 2), Y: r, H: _t(n), k: n, I: _t(n % 12 || 12), l: n % 12 || 12, M: _t(h), p: n < 12 ? "AM" : "PM", P: n < 12 ? "am" : "pm", S: _t(c), L: _t(d, 3) }, C.dateFormats), function(f, y) {
390
390
  if (Ze(l)) for (; l.indexOf("%" + y) !== -1; ) l = l.replace("%" + y, typeof f == "function" ? f.call(s, t) : f);
391
391
  });
392
392
  } else if (gs(l)) {
@@ -432,24 +432,24 @@ function Dp() {
432
432
  }
433
433
  return r.info = bn(l, { higherRanks: o, totalRange: n * a }), r;
434
434
  }
435
- }, { isTouchDevice: vn } = C, { fireEvent: kn, merge: wn } = B, jt = { colors: ["#2caffe", "#544fc5", "#00e272", "#fe6a35", "#6b8abc", "#d568fb", "#2ee0ca", "#fa4b42", "#feb56a", "#91e8e1"], symbols: ["circle", "diamond", "square", "triangle", "triangle-down"], lang: { weekFrom: "week from", chartTitle: "Chart title", locale: void 0, loading: "Loading...", months: void 0, seriesName: "Series {add index 1}", shortMonths: void 0, weekdays: void 0, numericSymbols: ["k", "M", "G", "T", "P", "E"], pieSliceName: "Slice", resetZoom: "Reset zoom", yAxisTitle: "Values", resetZoomTitle: "Reset zoom level 1:1" }, global: { buttonTheme: { fill: "#f7f7f7", padding: 8, r: 2, stroke: "#cccccc", "stroke-width": 1, style: { color: "#333333", cursor: "pointer", fontSize: "0.8em", fontWeight: "normal" }, states: { hover: { fill: "#e6e6e6" }, select: { fill: "#e6e9ff", style: { color: "#000000", fontWeight: "bold" } }, disabled: { style: { color: "#cccccc" } } } } }, time: { Date: void 0, timezone: "UTC", timezoneOffset: 0, useUTC: void 0 }, chart: { alignThresholds: !1, panning: { enabled: !1, type: "x" }, styledMode: !1, borderRadius: 0, colorCount: 10, allowMutatingData: !0, ignoreHiddenSeries: !0, spacing: [10, 10, 15, 10], resetZoomButton: { theme: {}, position: {} }, reflow: !0, type: "line", zooming: { singleTouch: !1, resetButton: { theme: { zIndex: 6 }, position: { align: "right", x: -10, y: 10 } } }, width: null, height: null, borderColor: "#334eff", backgroundColor: "#ffffff", plotBorderColor: "#cccccc" }, title: { style: { color: "#333333", fontWeight: "bold" }, text: "Chart title", margin: 15, minScale: 0.67 }, subtitle: { style: { color: "#666666", fontSize: "0.8em" }, text: "" }, caption: { margin: 15, style: { color: "#666666", fontSize: "0.8em" }, text: "", align: "left", verticalAlign: "bottom" }, plotOptions: {}, legend: { enabled: !0, align: "center", alignColumns: !0, className: "highcharts-no-tooltip", events: {}, layout: "horizontal", itemMarginBottom: 2, itemMarginTop: 2, labelFormatter: function() {
435
+ }, { isTouchDevice: vn } = C, { fireEvent: kn, merge: wn } = B, Vt = { colors: ["#2caffe", "#544fc5", "#00e272", "#fe6a35", "#6b8abc", "#d568fb", "#2ee0ca", "#fa4b42", "#feb56a", "#91e8e1"], symbols: ["circle", "diamond", "square", "triangle", "triangle-down"], lang: { weekFrom: "week from", chartTitle: "Chart title", locale: void 0, loading: "Loading...", months: void 0, seriesName: "Series {add index 1}", shortMonths: void 0, weekdays: void 0, numericSymbols: ["k", "M", "G", "T", "P", "E"], pieSliceName: "Slice", resetZoom: "Reset zoom", yAxisTitle: "Values", resetZoomTitle: "Reset zoom level 1:1" }, global: { buttonTheme: { fill: "#f7f7f7", padding: 8, r: 2, stroke: "#cccccc", "stroke-width": 1, style: { color: "#333333", cursor: "pointer", fontSize: "0.8em", fontWeight: "normal" }, states: { hover: { fill: "#e6e6e6" }, select: { fill: "#e6e9ff", style: { color: "#000000", fontWeight: "bold" } }, disabled: { style: { color: "#cccccc" } } } } }, time: { Date: void 0, timezone: "UTC", timezoneOffset: 0, useUTC: void 0 }, chart: { alignThresholds: !1, panning: { enabled: !1, type: "x" }, styledMode: !1, borderRadius: 0, colorCount: 10, allowMutatingData: !0, ignoreHiddenSeries: !0, spacing: [10, 10, 15, 10], resetZoomButton: { theme: {}, position: {} }, reflow: !0, type: "line", zooming: { singleTouch: !1, resetButton: { theme: { zIndex: 6 }, position: { align: "right", x: -10, y: 10 } } }, width: null, height: null, borderColor: "#334eff", backgroundColor: "#ffffff", plotBorderColor: "#cccccc" }, title: { style: { color: "#333333", fontWeight: "bold" }, text: "Chart title", margin: 15, minScale: 0.67 }, subtitle: { style: { color: "#666666", fontSize: "0.8em" }, text: "" }, caption: { margin: 15, style: { color: "#666666", fontSize: "0.8em" }, text: "", align: "left", verticalAlign: "bottom" }, plotOptions: {}, legend: { enabled: !0, align: "center", alignColumns: !0, className: "highcharts-no-tooltip", events: {}, layout: "horizontal", itemMarginBottom: 2, itemMarginTop: 2, labelFormatter: function() {
436
436
  return this.name;
437
- }, borderColor: "#999999", borderRadius: 0, navigation: { style: { fontSize: "0.8em" }, activeColor: "#0022ff", inactiveColor: "#cccccc" }, itemStyle: { color: "#333333", cursor: "pointer", fontSize: "0.8em", textDecoration: "none", textOverflow: "ellipsis" }, itemHoverStyle: { color: "#000000" }, itemHiddenStyle: { color: "#666666", textDecoration: "line-through" }, shadow: !1, itemCheckboxStyle: { position: "absolute", width: "13px", height: "13px" }, squareSymbol: !0, symbolPadding: 5, verticalAlign: "bottom", x: 0, y: 0, title: { style: { color: "#333333", fontSize: "0.8em", fontWeight: "bold" } } }, loading: { labelStyle: { fontWeight: "bold", position: "relative", top: "45%" }, style: { position: "absolute", backgroundColor: "#ffffff", opacity: 0.5, textAlign: "center" } }, tooltip: { enabled: !0, animation: { duration: 300, easing: (l) => Math.sqrt(1 - Math.pow(l - 1, 2)) }, borderRadius: 3, dateTimeLabelFormats: { millisecond: "%[AebHMSL]", second: "%[AebHMS]", minute: "%[AebHM]", hour: "%[AebHM]", day: "%[AebY]", week: "%v %[AebY]", month: "%[BY]", year: "%Y" }, footerFormat: "", headerShape: "callout", hideDelay: 500, padding: 8, position: { x: 0, y: 3 }, shared: !1, snap: vn ? 25 : 10, headerFormat: '<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>', pointFormat: '<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>', backgroundColor: "#ffffff", borderWidth: void 0, stickOnContact: !1, style: { color: "#333333", cursor: "default", fontSize: "0.8em" }, useHTML: !1 }, credits: { enabled: !0, href: "https://www.highcharts.com?credits", position: { align: "right", x: -10, verticalAlign: "bottom", y: -5 }, style: { cursor: "pointer", color: "#999999", fontSize: "0.6em" }, text: "Highcharts.com" } }, xs = new ms(jt.time, jt.lang), Ot = { defaultOptions: jt, defaultTime: xs, getOptions: function() {
438
- return jt;
437
+ }, borderColor: "#999999", borderRadius: 0, navigation: { style: { fontSize: "0.8em" }, activeColor: "#0022ff", inactiveColor: "#cccccc" }, itemStyle: { color: "#333333", cursor: "pointer", fontSize: "0.8em", textDecoration: "none", textOverflow: "ellipsis" }, itemHoverStyle: { color: "#000000" }, itemHiddenStyle: { color: "#666666", textDecoration: "line-through" }, shadow: !1, itemCheckboxStyle: { position: "absolute", width: "13px", height: "13px" }, squareSymbol: !0, symbolPadding: 5, verticalAlign: "bottom", x: 0, y: 0, title: { style: { color: "#333333", fontSize: "0.8em", fontWeight: "bold" } } }, loading: { labelStyle: { fontWeight: "bold", position: "relative", top: "45%" }, style: { position: "absolute", backgroundColor: "#ffffff", opacity: 0.5, textAlign: "center" } }, tooltip: { enabled: !0, animation: { duration: 300, easing: (l) => Math.sqrt(1 - Math.pow(l - 1, 2)) }, borderRadius: 3, dateTimeLabelFormats: { millisecond: "%[AebHMSL]", second: "%[AebHMS]", minute: "%[AebHM]", hour: "%[AebHM]", day: "%[AebY]", week: "%v %[AebY]", month: "%[BY]", year: "%Y" }, footerFormat: "", headerShape: "callout", hideDelay: 500, padding: 8, position: { x: 0, y: 3 }, shared: !1, snap: vn ? 25 : 10, headerFormat: '<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>', pointFormat: '<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>', backgroundColor: "#ffffff", borderWidth: void 0, stickOnContact: !1, style: { color: "#333333", cursor: "default", fontSize: "0.8em" }, useHTML: !1 }, credits: { enabled: !0, href: "https://www.highcharts.com?credits", position: { align: "right", x: -10, verticalAlign: "bottom", y: -5 }, style: { cursor: "pointer", color: "#999999", fontSize: "0.6em" }, text: "Highcharts.com" } }, xs = new ms(Vt.time, Vt.lang), Lt = { defaultOptions: Vt, defaultTime: xs, getOptions: function() {
438
+ return Vt;
439
439
  }, setOptions: function(l) {
440
- return kn(C, "setOptions", { options: l }), wn(!0, jt, l), l.time && xs.update(jt.time), l.lang && "locale" in l.lang && xs.update({ locale: l.lang.locale }), l.lang?.chartTitle && (jt.title = { ...jt.title, text: l.lang.chartTitle }), jt;
441
- } }, { win: Mn } = C, { isNumber: qe, isString: Sn, merge: Tn, pInt: xt, defined: Fr } = B, Gr = (l, t, e) => `color-mix(in srgb,${l},${t} ${100 * e}%)`, ys = (l) => Sn(l) && !!l && l !== "none";
442
- class et {
440
+ return kn(C, "setOptions", { options: l }), wn(!0, Vt, l), l.time && xs.update(Vt.time), l.lang && "locale" in l.lang && xs.update({ locale: l.lang.locale }), l.lang?.chartTitle && (Vt.title = { ...Vt.title, text: l.lang.chartTitle }), Vt;
441
+ } }, { win: Mn } = C, { isNumber: qe, isString: Sn, merge: Tn, pInt: yt, defined: Fr } = B, Gr = (l, t, e) => `color-mix(in srgb,${l},${t} ${100 * e}%)`, ys = (l) => Sn(l) && !!l && l !== "none";
442
+ class tt {
443
443
  static parse(t) {
444
- return t ? new et(t) : et.None;
444
+ return t ? new tt(t) : tt.None;
445
445
  }
446
446
  constructor(t) {
447
447
  let e, i, s, r;
448
448
  this.rgba = [NaN, NaN, NaN, NaN], this.input = t;
449
449
  let o = C.Color;
450
- if (o && o !== et) return new o(t);
451
- if (typeof t == "object" && t.stops !== void 0) this.stops = t.stops.map((a) => new et(a[1]));
452
- else if (typeof t == "string") for (this.input = t = et.names[t.toLowerCase()] || t, s = et.parsers.length; s-- && !i; ) (e = (r = et.parsers[s]).regex.exec(t)) && (i = r.parse(e));
450
+ if (o && o !== tt) return new o(t);
451
+ if (typeof t == "object" && t.stops !== void 0) this.stops = t.stops.map((a) => new tt(a[1]));
452
+ else if (typeof t == "string") for (this.input = t = tt.names[t.toLowerCase()] || t, s = tt.parsers.length; s-- && !i; ) (e = (r = tt.parsers[s]).regex.exec(t)) && (i = r.parse(e));
453
453
  i && (this.rgba = i);
454
454
  }
455
455
  get(t) {
@@ -468,8 +468,8 @@ function Dp() {
468
468
  if (this.stops) this.stops.forEach(function(i) {
469
469
  i.brighten(t);
470
470
  });
471
- else if (qe(t) && t !== 0) if (qe(e[0])) for (let i = 0; i < 3; i++) e[i] += xt(255 * t), e[i] < 0 && (e[i] = 0), e[i] > 255 && (e[i] = 255);
472
- else et.useColorMix && ys(this.input) && (this.output = Gr(this.input, t > 0 ? "white" : "black", Math.abs(t)));
471
+ else if (qe(t) && t !== 0) if (qe(e[0])) for (let i = 0; i < 3; i++) e[i] += yt(255 * t), e[i] < 0 && (e[i] = 0), e[i] > 255 && (e[i] = 255);
472
+ else tt.useColorMix && ys(this.input) && (this.output = Gr(this.input, t > 0 ? "white" : "black", Math.abs(t)));
473
473
  return this;
474
474
  }
475
475
  setOpacity(t) {
@@ -477,22 +477,22 @@ function Dp() {
477
477
  }
478
478
  tweenTo(t, e) {
479
479
  let i = this.rgba, s = t.rgba;
480
- if (!qe(i[0]) || !qe(s[0])) return et.useColorMix && ys(this.input) && ys(t.input) && e < 0.99 ? Gr(this.input, t.input, e) : t.input || "none";
480
+ if (!qe(i[0]) || !qe(s[0])) return tt.useColorMix && ys(this.input) && ys(t.input) && e < 0.99 ? Gr(this.input, t.input, e) : t.input || "none";
481
481
  let r = s[3] !== 1 || i[3] !== 1, o = (n, h) => n + (i[h] - n) * (1 - e), a = s.slice(0, 3).map(o).map(Math.round);
482
482
  return r && a.push(o(s[3], 3)), (r ? "rgba(" : "rgb(") + a.join(",") + ")";
483
483
  }
484
484
  }
485
- et.names = { white: "#ffffff", black: "#000000" }, et.parsers = [{ regex: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/, parse: function(l) {
486
- return [xt(l[1]), xt(l[2]), xt(l[3]), parseFloat(l[4], 10)];
485
+ tt.names = { white: "#ffffff", black: "#000000" }, tt.parsers = [{ regex: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/, parse: function(l) {
486
+ return [yt(l[1]), yt(l[2]), yt(l[3]), parseFloat(l[4], 10)];
487
487
  } }, { regex: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/, parse: function(l) {
488
- return [xt(l[1]), xt(l[2]), xt(l[3]), 1];
488
+ return [yt(l[1]), yt(l[2]), yt(l[3]), 1];
489
489
  } }, { regex: /^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i, parse: function(l) {
490
- return [xt(l[1] + l[1], 16), xt(l[2] + l[2], 16), xt(l[3] + l[3], 16), Fr(l[4]) ? xt(l[4] + l[4], 16) / 255 : 1];
490
+ return [yt(l[1] + l[1], 16), yt(l[2] + l[2], 16), yt(l[3] + l[3], 16), Fr(l[4]) ? yt(l[4] + l[4], 16) / 255 : 1];
491
491
  } }, { regex: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i, parse: function(l) {
492
- return [xt(l[1], 16), xt(l[2], 16), xt(l[3], 16), Fr(l[4]) ? xt(l[4], 16) / 255 : 1];
493
- } }], et.useColorMix = Mn.CSS?.supports("color", "color-mix(in srgb,red,blue 9%)"), et.None = new et("");
494
- let { parse: Yr } = et, { win: An } = C, { isNumber: bs, objectEach: Cn } = B;
495
- class yt {
492
+ return [yt(l[1], 16), yt(l[2], 16), yt(l[3], 16), Fr(l[4]) ? yt(l[4], 16) / 255 : 1];
493
+ } }], tt.useColorMix = Mn.CSS?.supports("color", "color-mix(in srgb,red,blue 9%)"), tt.None = new tt("");
494
+ let { parse: Yr } = tt, { win: An } = C, { isNumber: bs, objectEach: Cn } = B;
495
+ class bt {
496
496
  constructor(t, e, i) {
497
497
  this.pos = NaN, this.options = e, this.elem = t, this.prop = i;
498
498
  }
@@ -520,10 +520,10 @@ function Dp() {
520
520
  }, a = An.requestAnimationFrame || function(h) {
521
521
  setTimeout(h, 13);
522
522
  }, n = function() {
523
- for (let h = 0; h < yt.timers.length; h++) yt.timers[h]() || yt.timers.splice(h--, 1);
524
- yt.timers.length && a(n);
523
+ for (let h = 0; h < bt.timers.length; h++) bt.timers[h]() || bt.timers.splice(h--, 1);
524
+ bt.timers.length && a(n);
525
525
  };
526
- t !== e || this.elem["forceAnimate:" + this.prop] ? (this.startTime = +/* @__PURE__ */ new Date(), this.start = t, this.end = e, this.unit = i, this.now = this.start, this.pos = 0, o.elem = this.elem, o.prop = this.prop, o() && yt.timers.push(o) === 1 && a(n)) : (delete r.curAnim[this.prop], r.complete && Object.keys(r.curAnim).length === 0 && r.complete.call(this.elem));
526
+ t !== e || this.elem["forceAnimate:" + this.prop] ? (this.startTime = +/* @__PURE__ */ new Date(), this.start = t, this.end = e, this.unit = i, this.now = this.start, this.pos = 0, o.elem = this.elem, o.prop = this.prop, o() && bt.timers.push(o) === 1 && a(n)) : (delete r.curAnim[this.prop], r.complete && Object.keys(r.curAnim).length === 0 && r.complete.call(this.elem));
527
527
  }
528
528
  step(t) {
529
529
  let e, i, s = +/* @__PURE__ */ new Date(), r = this.options, o = this.elem, a = r.complete, n = r.duration, h = r.curAnim;
@@ -568,25 +568,25 @@ function Dp() {
568
568
  return g.length && bs(c) && (d = o.length + c * n, u ? (x(g, o), m(o)) : (x(o, g), m(g))), [g, o];
569
569
  }
570
570
  fillSetter() {
571
- yt.prototype.strokeSetter.apply(this, arguments);
571
+ bt.prototype.strokeSetter.apply(this, arguments);
572
572
  }
573
573
  strokeSetter() {
574
574
  this.elem.attr(this.prop, Yr(this.start).tweenTo(Yr(this.end), this.pos), void 0, !0);
575
575
  }
576
576
  }
577
- yt.timers = [];
577
+ bt.timers = [];
578
578
  let { defined: Pn, getStyle: On, isArray: Ln, isNumber: En, isObject: vs, merge: jr, objectEach: In, pick: Dn } = B;
579
579
  function ks(l) {
580
580
  return vs(l) ? jr({ duration: 500, defer: 0 }, l) : { duration: 500 * !!l, defer: 0 };
581
581
  }
582
582
  function Ur(l, t) {
583
- let e = yt.timers.length;
584
- for (; e--; ) yt.timers[e].elem !== l || t && t !== yt.timers[e].prop || (yt.timers[e].stopped = !0);
583
+ let e = bt.timers.length;
584
+ for (; e--; ) bt.timers[e].elem !== l || t && t !== bt.timers[e].prop || (bt.timers[e].stopped = !0);
585
585
  }
586
- let gt = { animate: function(l, t, e) {
586
+ let ft = { animate: function(l, t, e) {
587
587
  let i, s = "", r, o, a;
588
588
  vs(e) || (a = arguments, e = { duration: a[2], easing: a[3], complete: a[4] }), En(e.duration) || (e.duration = 400), e.easing = typeof e.easing == "function" ? e.easing : Math[e.easing] || Math.easeInOutSine, e.curAnim = jr(t), In(t, function(n, h) {
589
- Ur(l, h), o = new yt(l, e, h), r = void 0, h === "d" && Ln(t.d) ? (o.paths = o.initPath(l, l.pathArray, t.d), o.toD = t.d, i = 0, r = 1) : l.attr ? i = l.attr(h) : (i = parseFloat(On(l, h)) || 0, h !== "opacity" && (s = "px")), r || (r = n), typeof r == "string" && r.match("px") && (r = r.replace(/px/g, "")), o.run(i, r, s);
589
+ Ur(l, h), o = new bt(l, e, h), r = void 0, h === "d" && Ln(t.d) ? (o.paths = o.initPath(l, l.pathArray, t.d), o.toD = t.d, i = 0, r = 1) : l.attr ? i = l.attr(h) : (i = parseFloat(On(l, h)) || 0, h !== "opacity" && (s = "px")), r || (r = n), typeof r == "string" && r.match("px") && (r = r.replace(/px/g, "")), o.run(i, r, s);
590
590
  });
591
591
  }, animObject: ks, getDeferredAnimation: function(l, t, e) {
592
592
  let i = ks(t), s = e ? [e] : l.series, r = 0, o = 0;
@@ -597,11 +597,11 @@ function Dp() {
597
597
  }, setAnimation: function(l, t) {
598
598
  t.renderer.globalAnimation = Dn(l, t.options.chart.animation, !0);
599
599
  }, stop: Ur }, { SVG_NS: Vr, win: Bn } = C, { attr: Nn, createElement: zn, css: Rn, error: $r, isFunction: Wn, isString: Zr, objectEach: qr, splat: Xn } = B, { trustedTypes: ws } = Bn, yi = ws && Wn(ws.createPolicy) && ws.createPolicy("highcharts", { createHTML: (l) => l }), Hn = yi ? yi.createHTML("") : "";
600
- class tt {
600
+ class Q {
601
601
  static filterUserAttributes(t) {
602
602
  return qr(t, (e, i) => {
603
603
  let s = !0;
604
- tt.allowedAttributes.indexOf(i) === -1 && (s = !1), ["background", "dynsrc", "href", "lowsrc", "src"].indexOf(i) !== -1 && (s = Zr(e) && tt.allowedReferences.some((r) => e.indexOf(r) === 0)), s || ($r(33, !1, void 0, { "Invalid attribute in config": `${i}` }), delete t[i]), Zr(e) && t[i] && (t[i] = e.replace(/</g, "&lt;"));
604
+ Q.allowedAttributes.indexOf(i) === -1 && (s = !1), ["background", "dynsrc", "href", "lowsrc", "src"].indexOf(i) !== -1 && (s = Zr(e) && Q.allowedReferences.some((r) => e.indexOf(r) === 0)), s || ($r(33, !1, void 0, { "Invalid attribute in config": `${i}` }), delete t[i]), Zr(e) && t[i] && (t[i] = e.replace(/</g, "&lt;"));
605
605
  }), t;
606
606
  }
607
607
  static parseStyle(t) {
@@ -611,7 +611,7 @@ function Dp() {
611
611
  }, {});
612
612
  }
613
613
  static setElementHTML(t, e) {
614
- t.innerHTML = tt.emptyHTML, e && new tt(e).addToDOM(t);
614
+ t.innerHTML = Q.emptyHTML, e && new Q(e).addToDOM(t);
615
615
  }
616
616
  constructor(t) {
617
617
  this.nodes = typeof t == "string" ? this.parseMarkup(t) : t;
@@ -620,13 +620,13 @@ function Dp() {
620
620
  return (function e(i, s) {
621
621
  let r;
622
622
  return Xn(i).forEach(function(o) {
623
- let a, n = o.tagName, h = o.textContent ? C.doc.createTextNode(o.textContent) : void 0, c = tt.bypassHTMLFiltering;
623
+ let a, n = o.tagName, h = o.textContent ? C.doc.createTextNode(o.textContent) : void 0, c = Q.bypassHTMLFiltering;
624
624
  if (n) if (n === "#text") a = h;
625
- else if (tt.allowedTags.indexOf(n) !== -1 || c) {
625
+ else if (Q.allowedTags.indexOf(n) !== -1 || c) {
626
626
  let d = n === "svg" ? Vr : s.namespaceURI || Vr, p = C.doc.createElementNS(d, n), u = o.attributes || {};
627
627
  qr(o, function(g, x) {
628
628
  x !== "tagName" && x !== "attributes" && x !== "children" && x !== "style" && x !== "textContent" && (u[x] = g);
629
- }), Nn(p, c ? u : tt.filterUserAttributes(u)), o.style && Rn(p, o.style), h && p.appendChild(h), e(o.children || [], p), a = p;
629
+ }), Nn(p, c ? u : Q.filterUserAttributes(u)), o.style && Rn(p, o.style), h && p.appendChild(h), e(o.children || [], p), a = p;
630
630
  } else $r(33, !1, void 0, { "Invalid tagName in config": n });
631
631
  a && s.appendChild(a), r = a;
632
632
  }), r;
@@ -650,7 +650,7 @@ function Dp() {
650
650
  if (h) {
651
651
  let c = {};
652
652
  [].forEach.call(h, (d) => {
653
- d.name === "data-style" ? n.style = tt.parseStyle(d.value) : c[d.name] = d.value;
653
+ d.name === "data-style" ? n.style = Q.parseStyle(d.value) : c[d.name] = d.value;
654
654
  }), n.attributes = c;
655
655
  }
656
656
  if (r.childNodes.length) {
@@ -664,8 +664,8 @@ function Dp() {
664
664
  return [].forEach.call(e.body.childNodes, (r) => s(r, i)), i;
665
665
  }
666
666
  }
667
- tt.allowedAttributes = ["alt", "aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup", "aria-hidden", "aria-label", "aria-labelledby", "aria-live", "aria-pressed", "aria-readonly", "aria-roledescription", "aria-selected", "class", "clip-path", "color", "colspan", "cx", "cy", "d", "disabled", "dx", "dy", "fill", "filterUnits", "flood-color", "flood-opacity", "height", "href", "id", "in", "in2", "markerHeight", "markerWidth", "offset", "opacity", "operator", "orient", "padding", "paddingLeft", "paddingRight", "patternUnits", "r", "radius", "refX", "refY", "result", "role", "rowspan", "scope", "slope", "src", "startOffset", "stdDeviation", "stroke-linecap", "stroke-width", "stroke", "style", "summary", "tabindex", "tableValues", "target", "text-align", "text-anchor", "textAnchor", "textLength", "title", "type", "valign", "width", "x", "x1", "x2", "xlink:href", "y", "y1", "y2", "zIndex"], tt.allowedReferences = ["https://", "http://", "mailto:", "/", "../", "./", "#"], tt.allowedTags = ["#text", "a", "abbr", "b", "br", "button", "caption", "circle", "clipPath", "code", "dd", "defs", "div", "dl", "dt", "em", "feComponentTransfer", "feComposite", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "filter", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "linearGradient", "marker", "ol", "p", "path", "pattern", "pre", "rect", "small", "span", "stop", "strong", "style", "sub", "sup", "svg", "table", "tbody", "td", "text", "textPath", "th", "thead", "title", "tr", "tspan", "u", "ul"], tt.emptyHTML = Hn, tt.bypassHTMLFiltering = !1;
668
- let { defaultOptions: Kr, defaultTime: _r } = Ot, { pageLang: Fn } = C, { extend: Gn, getNestedProperty: Yn, isArray: jn, isNumber: Jr, isObject: Un, isString: Vn, pick: $n, ucfirst: Zn } = B, bi = { add: (l, t) => l + t, divide: (l, t) => t !== 0 ? l / t : "", eq: (l, t) => l == t, each: function(l) {
667
+ Q.allowedAttributes = ["alt", "aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup", "aria-hidden", "aria-label", "aria-labelledby", "aria-live", "aria-pressed", "aria-readonly", "aria-roledescription", "aria-selected", "class", "clip-path", "color", "colspan", "cx", "cy", "d", "disabled", "dx", "dy", "fill", "filterUnits", "flood-color", "flood-opacity", "height", "href", "id", "in", "in2", "markerHeight", "markerWidth", "offset", "opacity", "operator", "orient", "padding", "paddingLeft", "paddingRight", "patternUnits", "r", "radius", "refX", "refY", "result", "role", "rowspan", "scope", "slope", "src", "startOffset", "stdDeviation", "stroke-linecap", "stroke-width", "stroke", "style", "summary", "tabindex", "tableValues", "target", "text-align", "text-anchor", "textAnchor", "textLength", "title", "type", "valign", "width", "x", "x1", "x2", "xlink:href", "y", "y1", "y2", "zIndex"], Q.allowedReferences = ["https://", "http://", "mailto:", "/", "../", "./", "#"], Q.allowedTags = ["#text", "a", "abbr", "b", "br", "button", "caption", "circle", "clipPath", "code", "dd", "defs", "div", "dl", "dt", "em", "feComponentTransfer", "feComposite", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "filter", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "linearGradient", "marker", "ol", "p", "path", "pattern", "pre", "rect", "small", "span", "stop", "strong", "style", "sub", "sup", "svg", "table", "tbody", "td", "text", "textPath", "th", "thead", "title", "tr", "tspan", "u", "ul"], Q.emptyHTML = Hn, Q.bypassHTMLFiltering = !1;
668
+ let { defaultOptions: Kr, defaultTime: _r } = Lt, { pageLang: Fn } = C, { extend: Gn, getNestedProperty: Yn, isArray: jn, isNumber: Jr, isObject: Un, isString: Vn, pick: $n, ucfirst: Zn } = B, bi = { add: (l, t) => l + t, divide: (l, t) => t !== 0 ? l / t : "", eq: (l, t) => l == t, each: function(l) {
669
669
  let t = arguments[arguments.length - 1];
670
670
  return !!jn(l) && l.map((e, i) => vi(t.body, Gn(Un(e) ? e : { "@this": e }, { "@index": i, "@first": i === 0, "@last": i === l.length - 1 }))).join("");
671
671
  }, ge: (l, t) => l >= t, gt: (l, t) => l > t, if: (l) => !!l, le: (l, t) => l <= t, lt: (l, t) => l < t, multiply: (l, t) => l * t, ne: (l, t) => l != t, subtract: (l, t) => l - t, ucfirst: Zn, unless: (l) => !l }, Qr = {}, to = (l) => /^["'].+["']$/.test(l);
@@ -719,7 +719,7 @@ function Dp() {
719
719
  let p = i || e, u = p ? "en" : this?.locale || n.locale || Fn, g = JSON.stringify(d) + u;
720
720
  return s = (Qr[g] ?? (Qr[g] = new Intl.NumberFormat(u, d))).format(l), p && (s = s.replace(/([,\.])/g, "_$1").replace(/_\,/g, i ?? ",").replace("_.", e ?? ".")), (t || +s != 0) && (!(a < 0) || c) || (s = "0"), a && +s != 0 && (s += "e" + (a < 0 ? "" : "+") + a), s;
721
721
  }
722
- let Lt = { dateFormat: function(l, t, e) {
722
+ let Et = { dateFormat: function(l, t, e) {
723
723
  return _r.dateFormat(l, t, e);
724
724
  }, format: vi, helpers: bi, numberFormat: eo };
725
725
  (function(l) {
@@ -729,9 +729,9 @@ function Dp() {
729
729
  }, l.registerRendererType = function(e, i, s) {
730
730
  l.rendererTypes[e] = i, (!t || s) && (t = e, C.Renderer = i);
731
731
  };
732
- })(Mt || (Mt = {}));
733
- let Ke = Mt, { clamp: qn, pick: Kn, pushUnique: _n, stableSort: Ms } = B;
734
- (j || (j = {})).distribute = function l(t, e, i) {
732
+ })(St || (St = {}));
733
+ let Ke = St, { clamp: qn, pick: Kn, pushUnique: _n, stableSort: Ms } = B;
734
+ (_ || (_ = {})).distribute = function l(t, e, i) {
735
735
  let s = t, r = s.reducedLen || e, o = (b, v) => b.target - v.target, a = [], n = t.length, h = [], c = a.push, d, p, u, g = !0, x, m, f = 0, y;
736
736
  for (d = n; d--; ) f += t[d].size;
737
737
  if (f > r) {
@@ -747,10 +747,10 @@ function Dp() {
747
747
  return (b.targets || []).some(() => (s[d].pos = b.pos + v, i !== void 0 && Math.abs(s[d].pos - s[d].target) > i ? (s.slice(0, d + 1).forEach((k) => delete k.pos), s.reducedLen = (s.reducedLen || e) - 0.1 * e, s.reducedLen > 0.1 * e && l(s, e, i), !0) : (v += s[d].size, d++, !1)));
748
748
  }), Ms(s, o), s;
749
749
  };
750
- let ki = j, { animate: Jn, animObject: Qn, stop: io } = gt, { deg2rad: so, doc: Pe, svg: tl, SVG_NS: wi, win: el, isFirefox: il } = C, { addEvent: sl, attr: Ss, createElement: rl, crisp: Mi, css: ro, defined: Wt, erase: ol, extend: _e, fireEvent: Ts, getAlignFactor: As, isArray: oo, isFunction: ao, isNumber: al, isObject: nl, isString: no, merge: Cs, objectEach: Oe, pick: Ut, pInt: Si, pushUnique: ll, replaceNested: hl, syncTimeout: dl, uniqueKey: lo } = B;
750
+ let ki = _, { animate: Jn, animObject: Qn, stop: io } = ft, { deg2rad: so, doc: Oe, svg: tl, SVG_NS: wi, win: el, isFirefox: il } = C, { addEvent: sl, attr: Ss, createElement: rl, crisp: Mi, css: ro, defined: Ht, erase: ol, extend: _e, fireEvent: Ts, getAlignFactor: As, isArray: oo, isFunction: ao, isNumber: al, isObject: nl, isString: no, merge: Cs, objectEach: Le, pick: $t, pInt: Si, pushUnique: ll, replaceNested: hl, syncTimeout: dl, uniqueKey: lo } = B;
751
751
  class ct {
752
752
  _defaultGetter(t) {
753
- let e = Ut(this[t + "Value"], this[t], this.element ? this.element.getAttribute(t) : null, 0);
753
+ let e = $t(this[t + "Value"], this[t], this.element ? this.element.getAttribute(t) : null, 0);
754
754
  return /^-?[\d\.]+$/.test(e) && (e = parseFloat(e)), e;
755
755
  }
756
756
  _defaultSetter(t, e, i) {
@@ -774,7 +774,7 @@ function Dp() {
774
774
  t ? (this.alignOptions = t, this.alignByTranslate = e, this.alignTo = i) : (t = this.alignOptions || {}, e = this.alignByTranslate, i = this.alignTo);
775
775
  let n = !i || no(i) ? i || "renderer" : void 0;
776
776
  n && (a && ll(o, this), i = void 0);
777
- let h = Ut(i, r[n], r), c = (h.x || 0) + (t.x || 0) + ((h.width || 0) - (t.width || 0)) * As(t.align), d = (h.y || 0) + (t.y || 0) + ((h.height || 0) - (t.height || 0)) * As(t.verticalAlign), p = { "text-align": t?.align };
777
+ let h = $t(i, r[n], r), c = (h.x || 0) + (t.x || 0) + ((h.width || 0) - (t.width || 0)) * As(t.align), d = (h.y || 0) + (t.y || 0) + ((h.height || 0) - (t.height || 0)) * As(t.verticalAlign), p = { "text-align": t?.align };
778
778
  return p[e ? "translateX" : "x"] = Math.round(c), p[e ? "translateY" : "y"] = Math.round(d), s && (this[this.placed ? "animate" : "attr"](p), this.placed = !0), this.alignAttr = p, this;
779
779
  }
780
780
  alignSetter(t) {
@@ -782,10 +782,10 @@ function Dp() {
782
782
  e[t] && (this.alignValue = t, this.element.setAttribute("text-anchor", e[t]));
783
783
  }
784
784
  animate(t, e, i) {
785
- let s = Qn(Ut(e, this.renderer.globalAnimation, !0)), r = s.defer;
786
- return Pe.hidden && (s.duration = 0), s.duration !== 0 ? (i && (s.complete = i), dl(() => {
785
+ let s = Qn($t(e, this.renderer.globalAnimation, !0)), r = s.defer;
786
+ return Oe.hidden && (s.duration = 0), s.duration !== 0 ? (i && (s.complete = i), dl(() => {
787
787
  this.element && Jn(this, t, s);
788
- }, r)) : (this.attr(t, void 0, i || s.complete), Oe(t, function(o, a) {
788
+ }, r)) : (this.attr(t, void 0, i || s.complete), Le(t, function(o, a) {
789
789
  s.step && s.step.call(this, o, { prop: a, pos: 1, elem: this });
790
790
  }, this)), this;
791
791
  }
@@ -797,7 +797,7 @@ function Dp() {
797
797
  this.fakeTS = !0, r = r.replace(/(^[\d\.]+)(.*?)$/g, function(c, d, p) {
798
798
  return 2 * Number(d) + p;
799
799
  }), this.removeTextOutline();
800
- let o = Pe.createElementNS(wi, "tspan");
800
+ let o = Oe.createElementNS(wi, "tspan");
801
801
  Ss(o, { class: "highcharts-text-outline", fill: s, stroke: s, "stroke-width": r, "stroke-linejoin": "round" });
802
802
  let a = e.querySelector("textPath") || e;
803
803
  [].forEach.call(a.childNodes, (c) => {
@@ -808,13 +808,13 @@ function Dp() {
808
808
  [].forEach.call(a.querySelectorAll("text tspan"), (c) => {
809
809
  n += Number(c.getAttribute("dy"));
810
810
  });
811
- let h = Pe.createElementNS(wi, "tspan");
811
+ let h = Oe.createElementNS(wi, "tspan");
812
812
  h.textContent = "​", Ss(h, { x: Number(e.getAttribute("x")), dy: -n }), o.appendChild(h), a.insertBefore(o, a.firstChild);
813
813
  }
814
814
  }
815
815
  attr(t, e, i, s) {
816
816
  let { element: r } = this, o = ct.symbolCustomAttribs, a, n, h = this, c;
817
- return typeof t == "string" && e !== void 0 && (a = t, (t = {})[a] = e), typeof t == "string" ? h = (this[t + "Getter"] || this._defaultGetter).call(this, t, r) : (Oe(t, function(d, p) {
817
+ return typeof t == "string" && e !== void 0 && (a = t, (t = {})[a] = e), typeof t == "string" ? h = (this[t + "Getter"] || this._defaultGetter).call(this, t, r) : (Le(t, function(d, p) {
818
818
  c = !1, s || io(this, p), this.symbolName && o.indexOf(p) !== -1 && (n || (this.symbolAttr(t), n = !0), c = !0), this.rotation && (p === "x" || p === "y") && (this.doTransform = !0), c || (this[p + "Setter"] || this._defaultSetter).call(this, d, p, r);
819
819
  }, this), this.afterSetters()), i && i.call(this), h;
820
820
  }
@@ -828,22 +828,22 @@ function Dp() {
828
828
  crisp(t, e) {
829
829
  e = Math.round(e || t.strokeWidth || 0);
830
830
  let i = t.x || this.x || 0, s = t.y || this.y || 0, r = (t.width || this.width || 0) + i, o = (t.height || this.height || 0) + s, a = Mi(i, e), n = Mi(s, e);
831
- return _e(t, { x: a, y: n, width: Mi(r, e) - a, height: Mi(o, e) - n }), Wt(t.strokeWidth) && (t.strokeWidth = e), t;
831
+ return _e(t, { x: a, y: n, width: Mi(r, e) - a, height: Mi(o, e) - n }), Ht(t.strokeWidth) && (t.strokeWidth = e), t;
832
832
  }
833
833
  complexColor(t, e, i) {
834
834
  let s = this.renderer, r, o, a, n, h, c, d, p, u, g, x = [], m;
835
835
  Ts(this.renderer, "complexColor", { args: arguments }, function() {
836
836
  if (t.radialGradient ? o = "radialGradient" : t.linearGradient && (o = "linearGradient"), o) {
837
- if (a = t[o], h = s.gradients, c = t.stops, u = i.radialReference, oo(a) && (t[o] = a = { x1: a[0], y1: a[1], x2: a[2], y2: a[3], gradientUnits: "userSpaceOnUse" }), o === "radialGradient" && u && !Wt(a.gradientUnits) && (n = a, a = Cs(a, s.getRadialAttr(u, n), { gradientUnits: "userSpaceOnUse" })), Oe(a, function(f, y) {
837
+ if (a = t[o], h = s.gradients, c = t.stops, u = i.radialReference, oo(a) && (t[o] = a = { x1: a[0], y1: a[1], x2: a[2], y2: a[3], gradientUnits: "userSpaceOnUse" }), o === "radialGradient" && u && !Ht(a.gradientUnits) && (n = a, a = Cs(a, s.getRadialAttr(u, n), { gradientUnits: "userSpaceOnUse" })), Le(a, function(f, y) {
838
838
  y !== "id" && x.push(y, f);
839
- }), Oe(c, function(f) {
839
+ }), Le(c, function(f) {
840
840
  x.push(f);
841
841
  }), h[x = x.join(",")]) g = h[x].attr("id");
842
842
  else {
843
843
  a.id = g = lo();
844
844
  let f = h[x] = s.createElement(o).attr(a).add(s.defs);
845
845
  f.radAttr = n, f.stops = [], c.forEach(function(y) {
846
- y[1].indexOf("rgba") === 0 ? (d = (r = et.parse(y[1])).get("rgb"), p = r.get("a")) : (d = y[1], p = 1);
846
+ y[1].indexOf("rgba") === 0 ? (d = (r = tt.parse(y[1])).get("rgb"), p = r.get("a")) : (d = y[1], p = 1);
847
847
  let b = s.createElement("stop").attr({ offset: y[0], "stop-color": d, "stop-opacity": p }).add(f);
848
848
  f.stops.push(b);
849
849
  });
@@ -856,7 +856,7 @@ function Dp() {
856
856
  }
857
857
  css(t) {
858
858
  let e = this.styles, i = {}, s = this.element, r, o = !e;
859
- if (e && Oe(t, function(a, n) {
859
+ if (e && Le(t, function(a, n) {
860
860
  e && e[n] !== a && (i[n] = a, o = !0);
861
861
  }), o) {
862
862
  e && (t = _e(e, i)), t.width === null || t.width === "auto" ? delete this.textWidth : s.nodeName.toLowerCase() === "text" && t.width && (r = this.textWidth = Si(t.width)), _e(this.styles, t), r && !tl && this.renderer.forExport && delete t.width;
@@ -871,7 +871,7 @@ function Dp() {
871
871
  let e, i = this["stroke-width"];
872
872
  if (i === "inherit" && (i = 1), t) {
873
873
  let s = (t = t.toLowerCase()).replace("shortdashdotdot", "3,1,1,1,1,1,").replace("shortdashdot", "3,1,1,1").replace("shortdot", "1,1,").replace("shortdash", "3,1,").replace("longdash", "8,3,").replace(/dot/g, "1,3,").replace("dash", "4,3,").replace(/,$/, "").split(",");
874
- for (e = s.length; e--; ) s[e] = "" + Si(s[e]) * Ut(i, NaN);
874
+ for (e = s.length; e--; ) s[e] = "" + Si(s[e]) * $t(i, NaN);
875
875
  t = s.join(",").replace(/NaN/g, "none"), this.element.setAttribute("stroke-dasharray", t);
876
876
  }
877
877
  }
@@ -888,7 +888,7 @@ function Dp() {
888
888
  t.stops.length = 0, t.stops = void 0;
889
889
  }
890
890
  for (t.safeRemoveChild(e); r?.div && r.div.childNodes.length === 0; ) o = r.parentGroup, t.safeRemoveChild(r.div), delete r.div, r = o;
891
- t.alignOptions && ol(i.alignedObjects, t), Oe(t, (n, h) => {
891
+ t.alignOptions && ol(i.alignedObjects, t), Le(t, (n, h) => {
892
892
  (t[h]?.parentGroup === t || ["connector", "foreignObject"].indexOf(h) !== -1) && t[h]?.destroy?.(), delete t[h];
893
893
  });
894
894
  }
@@ -902,8 +902,8 @@ function Dp() {
902
902
  i.setAttributeNS("http://www.w3.org/1999/xlink", e, t);
903
903
  }
904
904
  getBBox(t, e) {
905
- let i, s, r, o, { alignValue: a, element: n, renderer: h, styles: c, textStr: d } = this, { cache: p, cacheKeys: u } = h, g = n.namespaceURI === this.SVG_NS, x = Ut(e, this.rotation, 0), m = h.styledMode ? n && ct.prototype.getStyle.call(n, "font-size") : c.fontSize;
906
- if (Wt(d) && ((o = d.toString()).indexOf("<") === -1 && (o = o.replace(/\d/g, "0")), o += ["", h.rootFontSize, m, x, this.textWidth, a, c.lineClamp, c.textOverflow, c.fontWeight].join(",")), o && !t && (i = p[o]), !i || i.polygon) {
905
+ let i, s, r, o, { alignValue: a, element: n, renderer: h, styles: c, textStr: d } = this, { cache: p, cacheKeys: u } = h, g = n.namespaceURI === this.SVG_NS, x = $t(e, this.rotation, 0), m = h.styledMode ? n && ct.prototype.getStyle.call(n, "font-size") : c.fontSize;
906
+ if (Ht(d) && ((o = d.toString()).indexOf("<") === -1 && (o = o.replace(/\d/g, "0")), o += ["", h.rootFontSize, m, x, this.textWidth, a, c.lineClamp, c.textOverflow, c.fontWeight].join(",")), o && !t && (i = p[o]), !i || i.polygon) {
907
907
  if (g || h.forExport) {
908
908
  try {
909
909
  r = this.fakeTS && function(y) {
@@ -925,8 +925,8 @@ function Dp() {
925
925
  return i;
926
926
  }
927
927
  getRotatedBox(t, e) {
928
- let { x: i, y: s, width: r, height: o } = t, { alignValue: a, translateY: n, rotationOriginX: h = 0, rotationOriginY: c = 0 } = this, d = As(a), p = Number(this.element.getAttribute("y") || 0) - (n ? 0 : s), u = e * so, g = (e - 90) * so, x = Math.cos(u), m = Math.sin(u), f = r * x, y = r * m, b = Math.cos(g), v = Math.sin(g), [[k, M], [S, w]] = [h, c].map((X) => [X - X * x, X * m]), A = i + d * (r - f) + k + w + p * b, P = A + f, T = P - o * b, L = T - f, I = s + p - d * y - M + S + p * v, D = I + y, O = D - o * v, E = O - y, N = Math.min(A, P, T, L), _ = Math.min(I, D, O, E), F = Math.max(A, P, T, L) - N, G = Math.max(I, D, O, E) - _;
929
- return { x: N, y: _, width: F, height: G, polygon: [[A, I], [P, D], [T, O], [L, E]] };
928
+ let { x: i, y: s, width: r, height: o } = t, { alignValue: a, translateY: n, rotationOriginX: h = 0, rotationOriginY: c = 0 } = this, d = As(a), p = Number(this.element.getAttribute("y") || 0) - (n ? 0 : s), u = e * so, g = (e - 90) * so, x = Math.cos(u), m = Math.sin(u), f = r * x, y = r * m, b = Math.cos(g), v = Math.sin(g), [[k, M], [S, w]] = [h, c].map((X) => [X - X * x, X * m]), A = i + d * (r - f) + k + w + p * b, P = A + f, T = P - o * b, L = T - f, I = s + p - d * y - M + S + p * v, D = I + y, O = D - o * v, E = O - y, N = Math.min(A, P, T, L), K = Math.min(I, D, O, E), F = Math.max(A, P, T, L) - N, G = Math.max(I, D, O, E) - K;
929
+ return { x: N, y: K, width: F, height: G, polygon: [[A, I], [P, D], [T, O], [L, E]] };
930
930
  }
931
931
  getStyle(t) {
932
932
  return el.getComputedStyle(this.element || this, "").getPropertyValue(t);
@@ -941,7 +941,7 @@ function Dp() {
941
941
  return { height: 0, width: 0, x: 0, y: 0 };
942
942
  }
943
943
  constructor(t, e) {
944
- this.onEvents = {}, this.opacity = 1, this.SVG_NS = wi, this.element = e === "span" || e === "body" ? rl(e) : Pe.createElementNS(this.SVG_NS, e), this.renderer = t, this.styles = {}, Ts(this, "afterInit");
944
+ this.onEvents = {}, this.opacity = 1, this.SVG_NS = wi, this.element = e === "span" || e === "body" ? rl(e) : Oe.createElementNS(this.SVG_NS, e), this.renderer = t, this.styles = {}, Ts(this, "afterInit");
945
945
  }
946
946
  on(t, e) {
947
947
  let { onEvents: i } = this;
@@ -982,20 +982,20 @@ function Dp() {
982
982
  strokeWidth() {
983
983
  if (!this.renderer.styledMode) return this["stroke-width"] || 0;
984
984
  let t = this.getStyle("stroke-width"), e = 0, i;
985
- return /px$/.test(t) ? e = Si(t) : t !== "" && (Ss(i = Pe.createElementNS(wi, "rect"), { width: t, "stroke-width": 0 }), this.element.parentNode.appendChild(i), e = i.getBBox().width, i.parentNode.removeChild(i)), e;
985
+ return /px$/.test(t) ? e = Si(t) : t !== "" && (Ss(i = Oe.createElementNS(wi, "rect"), { width: t, "stroke-width": 0 }), this.element.parentNode.appendChild(i), e = i.getBBox().width, i.parentNode.removeChild(i)), e;
986
986
  }
987
987
  symbolAttr(t) {
988
988
  let e = this;
989
989
  ct.symbolCustomAttribs.forEach(function(i) {
990
- e[i] = Ut(t[i], e[i]);
990
+ e[i] = $t(t[i], e[i]);
991
991
  }), e.attr({ d: e.renderer.symbols[e.symbolName](e.x, e.y, e.width, e.height, e) });
992
992
  }
993
993
  textSetter(t) {
994
994
  t !== this.textStr && (delete this.textPxLength, this.textStr = t, this.added && this.renderer.buildText(this), this.reAlign());
995
995
  }
996
996
  titleSetter(t) {
997
- let e = this.element, i = e.getElementsByTagName("title")[0] || Pe.createElementNS(this.SVG_NS, "title");
998
- e.insertBefore ? e.insertBefore(i, e.firstChild) : e.appendChild(i), i.textContent = hl(Ut(t, ""), [/<[^>]*>/g, ""]).replace(/&lt;/g, "<").replace(/&gt;/g, ">");
997
+ let e = this.element, i = e.getElementsByTagName("title")[0] || Oe.createElementNS(this.SVG_NS, "title");
998
+ e.insertBefore ? e.insertBefore(i, e.firstChild) : e.appendChild(i), i.textContent = hl($t(t, ""), [/<[^>]*>/g, ""]).replace(/&lt;/g, "<").replace(/&gt;/g, ">");
999
999
  }
1000
1000
  toFront() {
1001
1001
  let t = this.element;
@@ -1006,7 +1006,7 @@ function Dp() {
1006
1006
  }
1007
1007
  updateTransform(t = "transform") {
1008
1008
  let { element: e, foreignObject: i, matrix: s, padding: r, rotation: o = 0, rotationOriginX: a, rotationOriginY: n, scaleX: h, scaleY: c, text: d, translateX: p = 0, translateY: u = 0 } = this, g = ["translate(" + p + "," + u + ")"];
1009
- Wt(s) && g.push("matrix(" + s.join(",") + ")"), o && (g.push("rotate(" + o + " " + (a ?? e.getAttribute("x") ?? this.x ?? 0) + " " + (n ?? e.getAttribute("y") ?? this.y ?? 0) + ")"), d?.element.tagName !== "SPAN" || d?.foreignObject || d.attr({ rotation: o, rotationOriginX: (a || 0) - r, rotationOriginY: (n || 0) - r })), (Wt(h) || Wt(c)) && g.push("scale(" + Ut(h, 1) + " " + Ut(c, 1) + ")"), g.length && !(d || this).textPath && (i?.element || e).setAttribute(t, g.join(" "));
1009
+ Ht(s) && g.push("matrix(" + s.join(",") + ")"), o && (g.push("rotate(" + o + " " + (a ?? e.getAttribute("x") ?? this.x ?? 0) + " " + (n ?? e.getAttribute("y") ?? this.y ?? 0) + ")"), d?.element.tagName !== "SPAN" || d?.foreignObject || d.attr({ rotation: o, rotationOriginX: (a || 0) - r, rotationOriginY: (n || 0) - r })), (Ht(h) || Ht(c)) && g.push("scale(" + $t(h, 1) + " " + $t(c, 1) + ")"), g.length && !(d || this).textPath && (i?.element || e).setAttribute(t, g.join(" "));
1010
1010
  }
1011
1011
  visibilitySetter(t, e, i) {
1012
1012
  t === "inherit" ? i.removeAttribute(e) : this[e] !== t && i.setAttribute(e, t), this[e] = t;
@@ -1016,8 +1016,8 @@ function Dp() {
1016
1016
  }
1017
1017
  zIndexSetter(t, e) {
1018
1018
  let i = this.renderer, s = this.parentGroup, r = (s || i).element || i.box, o = this.element, a = r === i.box, n, h, c, d = !1, p, u = this.added, g;
1019
- if (Wt(t) ? (o.setAttribute("data-z-index", t), t *= 1, this[e] === t && (u = !1)) : Wt(this[e]) && o.removeAttribute("data-z-index"), this[e] = t, u) {
1020
- for ((t = this.zIndex) && s && (s.handleZ = !0), g = (n = r.childNodes).length - 1; g >= 0 && !d; g--) p = !Wt(c = (h = n[g]).getAttribute("data-z-index")), h !== o && (t < 0 && p && !a && !g ? (r.insertBefore(o, n[g]), d = !0) : (Si(c) <= t || p && (!Wt(t) || t >= 0)) && (r.insertBefore(o, n[g + 1]), d = !0));
1019
+ if (Ht(t) ? (o.setAttribute("data-z-index", t), t *= 1, this[e] === t && (u = !1)) : Ht(this[e]) && o.removeAttribute("data-z-index"), this[e] = t, u) {
1020
+ for ((t = this.zIndex) && s && (s.handleZ = !0), g = (n = r.childNodes).length - 1; g >= 0 && !d; g--) p = !Ht(c = (h = n[g]).getAttribute("data-z-index")), h !== o && (t < 0 && p && !a && !g ? (r.insertBefore(o, n[g]), d = !0) : (Si(c) <= t || p && (!Ht(t) || t >= 0)) && (r.insertBefore(o, n[g + 1]), d = !0));
1021
1021
  d || (r.insertBefore(o, n[3 * !!a]), d = !0);
1022
1022
  }
1023
1023
  return d;
@@ -1026,11 +1026,11 @@ function Dp() {
1026
1026
  ct.symbolCustomAttribs = ["anchorX", "anchorY", "clockwise", "end", "height", "innerR", "r", "start", "width", "x", "y"], ct.prototype.strokeSetter = ct.prototype.fillSetter, ct.prototype.yGetter = ct.prototype.xGetter, ct.prototype.matrixSetter = ct.prototype.rotationOriginXSetter = ct.prototype.rotationOriginYSetter = ct.prototype.rotationSetter = ct.prototype.scaleXSetter = ct.prototype.scaleYSetter = ct.prototype.translateXSetter = ct.prototype.translateYSetter = ct.prototype.verticalAlignSetter = function(l, t) {
1027
1027
  this[t] = l, this.doTransform = !0;
1028
1028
  };
1029
- let Xt = ct, { defined: ho, extend: cl, getAlignFactor: co, isNumber: Je, merge: pl, pick: Ti, removeEvent: po } = B;
1030
- class ce extends Xt {
1029
+ let Ft = ct, { defined: ho, extend: cl, getAlignFactor: co, isNumber: Je, merge: pl, pick: Ti, removeEvent: po } = B;
1030
+ class pe extends Ft {
1031
1031
  constructor(t, e, i, s, r, o, a, n, h, c) {
1032
1032
  let d;
1033
- super(t, "g"), this.paddingLeftSetter = this.paddingSetter, this.paddingRightSetter = this.paddingSetter, this.doUpdate = !1, this.textStr = e, this.x = i, this.y = s, this.anchorX = o, this.anchorY = a, this.baseline = h, this.className = c, this.addClass(c === "button" ? "highcharts-no-tooltip" : "highcharts-label"), c && this.addClass("highcharts-" + c), this.text = t.text(void 0, 0, 0, n).attr({ zIndex: 1 }), typeof r == "string" && ((d = /^url\((.*?)\)$/.test(r)) || this.renderer.symbols[r]) && (this.symbolKey = r), this.bBox = ce.emptyBBox, this.padding = 3, this.baselineOffset = 0, this.needsBox = t.styledMode || d, this.deferredAttr = {}, this.alignFactor = 0;
1033
+ super(t, "g"), this.paddingLeftSetter = this.paddingSetter, this.paddingRightSetter = this.paddingSetter, this.doUpdate = !1, this.textStr = e, this.x = i, this.y = s, this.anchorX = o, this.anchorY = a, this.baseline = h, this.className = c, this.addClass(c === "button" ? "highcharts-no-tooltip" : "highcharts-label"), c && this.addClass("highcharts-" + c), this.text = t.text(void 0, 0, 0, n).attr({ zIndex: 1 }), typeof r == "string" && ((d = /^url\((.*?)\)$/.test(r)) || this.renderer.symbols[r]) && (this.symbolKey = r), this.bBox = pe.emptyBBox, this.padding = 3, this.baselineOffset = 0, this.needsBox = t.styledMode || d, this.deferredAttr = {}, this.alignFactor = 0;
1034
1034
  }
1035
1035
  alignSetter(t) {
1036
1036
  let e = co(t);
@@ -1048,14 +1048,14 @@ function Dp() {
1048
1048
  css(t) {
1049
1049
  if (t) {
1050
1050
  let e = {};
1051
- t = pl(t), ce.textProps.forEach((i) => {
1051
+ t = pl(t), pe.textProps.forEach((i) => {
1052
1052
  t[i] !== void 0 && (e[i] = t[i], delete t[i]);
1053
1053
  }), this.text.css(e), "fontSize" in e || "fontWeight" in e ? this.updateTextPadding() : ("width" in e || "textOverflow" in e) && this.updateBoxSize();
1054
1054
  }
1055
- return Xt.prototype.css.call(this, t);
1055
+ return Ft.prototype.css.call(this, t);
1056
1056
  }
1057
1057
  destroy() {
1058
- po(this.element, "mouseenter"), po(this.element, "mouseleave"), this.text && this.text.destroy(), this.box && (this.box = this.box.destroy()), Xt.prototype.destroy.call(this);
1058
+ po(this.element, "mouseenter"), po(this.element, "mouseleave"), this.text && this.text.destroy(), this.box && (this.box = this.box.destroy()), Ft.prototype.destroy.call(this);
1059
1059
  }
1060
1060
  fillSetter(t, e) {
1061
1061
  t && (this.needsBox = !0), this.fill = t, this.boxAttr(e, t);
@@ -1096,7 +1096,7 @@ function Dp() {
1096
1096
  t !== void 0 && this.text.attr({ text: t }), this.updateTextPadding(), this.reAlign();
1097
1097
  }
1098
1098
  updateBoxSize() {
1099
- let t, e = this.text, i = {}, s = this.padding, r = this.bBox = (!Je(this.widthSetting) || !Je(this.heightSetting) || this.textAlign) && ho(e.textStr) ? e.getBBox(void 0, 0) : ce.emptyBBox;
1099
+ let t, e = this.text, i = {}, s = this.padding, r = this.bBox = (!Je(this.widthSetting) || !Je(this.heightSetting) || this.textAlign) && ho(e.textStr) ? e.getBBox(void 0, 0) : pe.emptyBBox;
1100
1100
  this.width = this.getPaddedWidth(), this.height = (this.heightSetting || r.height || 0) + 2 * s;
1101
1101
  let o = this.renderer.fontMetrics(e);
1102
1102
  if (this.baselineOffset = s + Math.min((this.text.firstLineMetrics || o).b, r.height || 1 / 0), this.heightSetting && (this.baselineOffset += (this.heightSetting - o.h) / 2), this.needsBox && !e.textPath) {
@@ -1129,7 +1129,7 @@ function Dp() {
1129
1129
  this.anchorY && (this["forceAnimate:anchorY"] = !0), this.ySetting = this.y = Math.round(t), this.attr("translateY", this.ySetting);
1130
1130
  }
1131
1131
  }
1132
- ce.emptyBBox = { width: 0, height: 0, x: 0, y: 0 }, ce.textProps = ["color", "direction", "fontFamily", "fontSize", "fontStyle", "fontWeight", "lineClamp", "lineHeight", "textAlign", "textDecoration", "textOutline", "textOverflow", "whiteSpace", "width"];
1132
+ pe.emptyBBox = { width: 0, height: 0, x: 0, y: 0 }, pe.textProps = ["color", "direction", "fontFamily", "fontSize", "fontStyle", "fontWeight", "lineClamp", "lineHeight", "textAlign", "textDecoration", "textOutline", "textOverflow", "whiteSpace", "width"];
1133
1133
  let { defined: uo, isNumber: ul, pick: Qe } = B;
1134
1134
  function go(l, t, e, i, s) {
1135
1135
  let r = [];
@@ -1184,7 +1184,7 @@ function Dp() {
1184
1184
  if (s || this.ellipsis || this.width || l.textPath || i.indexOf(" ") !== -1 && (!this.noWrap || /<br.*?>/g.test(i))) {
1185
1185
  if (i !== "") {
1186
1186
  o && o.appendChild(t);
1187
- let n = new tt(i);
1187
+ let n = new Q(i);
1188
1188
  this.modifyTree(n.nodes), n.addToDOM(t), this.modifyDOM(), this.ellipsis && (t.textContent || "").indexOf("…") !== -1 && l.attr("title", this.unescapeEntities(l.textStr || "", ["&lt;", "&gt;"])), o && o.removeChild(t);
1189
1189
  }
1190
1190
  } else t.appendChild(Os.createTextNode(this.unescapeEntities(i)));
@@ -1261,31 +1261,31 @@ function Dp() {
1261
1261
  t && t.indexOf(e) !== -1 || (l = l.toString().replace(RegExp(e, "g"), i));
1262
1262
  }), l;
1263
1263
  }
1264
- }, { defaultOptions: kl } = Ot, { charts: wl, deg2rad: yo, doc: Le, isFirefox: bo, isMS: vo, isWebKit: Ml, noop: Sl, SVG_NS: Tl, symbolSizes: Is, win: Ds } = C, { addEvent: Ai, attr: Ci, createElement: Al, crisp: ko, css: Pi, defined: pe, destroyObjectProperties: Cl, extend: ue, isArray: Pl, isNumber: ge, isObject: ti, isString: Ol, merge: Bs, pick: Ns, pInt: Ll, replaceNested: El, uniqueKey: Il } = B;
1264
+ }, { defaultOptions: kl } = Lt, { charts: wl, deg2rad: yo, doc: Ee, isFirefox: bo, isMS: vo, isWebKit: Ml, noop: Sl, SVG_NS: Tl, symbolSizes: Is, win: Ds } = C, { addEvent: Ai, attr: Ci, createElement: Al, crisp: ko, css: Pi, defined: ue, destroyObjectProperties: Cl, extend: ge, isArray: Pl, isNumber: fe, isObject: ti, isString: Ol, merge: Bs, pick: Ns, pInt: Ll, replaceNested: El, uniqueKey: Il } = B;
1265
1265
  class Oi {
1266
1266
  constructor(t, e, i, s, r, o, a) {
1267
1267
  let n, h;
1268
1268
  this.x = 0, this.y = 0;
1269
1269
  let c = this.createElement("svg").attr({ version: "1.1", class: "highcharts-root" }), d = c.element;
1270
- a || c.css(this.getStyle(s || {})), t.appendChild(d), Ci(t, "dir", "ltr"), t.innerHTML.indexOf("xmlns") === -1 && Ci(d, "xmlns", this.SVG_NS), this.box = d, this.boxWrapper = c, this.alignedObjects = [], this.url = this.getReferenceURL(), this.createElement("desc").add().element.appendChild(Le.createTextNode("Created with Highcharts 12.4.0")), this.defs = this.createElement("defs").add(), this.allowHTML = o, this.forExport = r, this.styledMode = a, this.gradients = {}, this.cache = {}, this.cacheKeys = [], this.imgCount = 0, this.rootFontSize = c.getStyle("font-size"), this.setSize(e, i, !1), bo && t.getBoundingClientRect && ((n = function() {
1270
+ a || c.css(this.getStyle(s || {})), t.appendChild(d), Ci(t, "dir", "ltr"), t.innerHTML.indexOf("xmlns") === -1 && Ci(d, "xmlns", this.SVG_NS), this.box = d, this.boxWrapper = c, this.alignedObjects = [], this.url = this.getReferenceURL(), this.createElement("desc").add().element.appendChild(Ee.createTextNode("Created with Highcharts 12.4.0")), this.defs = this.createElement("defs").add(), this.allowHTML = o, this.forExport = r, this.styledMode = a, this.gradients = {}, this.cache = {}, this.cacheKeys = [], this.imgCount = 0, this.rootFontSize = c.getStyle("font-size"), this.setSize(e, i, !1), bo && t.getBoundingClientRect && ((n = function() {
1271
1271
  Pi(t, { left: 0, top: 0 }), h = t.getBoundingClientRect(), Pi(t, { left: Math.ceil(h.left) - h.left + "px", top: Math.ceil(h.top) - h.top + "px" });
1272
1272
  })(), this.unSubPixelFix = Ai(Ds, "resize", n));
1273
1273
  }
1274
1274
  definition(t) {
1275
- return new tt([t]).addToDOM(this.defs.element);
1275
+ return new Q([t]).addToDOM(this.defs.element);
1276
1276
  }
1277
1277
  getReferenceURL() {
1278
- if ((bo || Ml) && Le.getElementsByTagName("base").length) {
1279
- if (!pe(mt)) {
1280
- let t = Il(), e = new tt([{ tagName: "svg", attributes: { width: 8, height: 8 }, children: [{ tagName: "defs", children: [{ tagName: "clipPath", attributes: { id: t }, children: [{ tagName: "rect", attributes: { width: 4, height: 4 } }] }] }, { tagName: "rect", attributes: { id: "hitme", width: 8, height: 8, "clip-path": `url(#${t})`, fill: "rgba(0,0,0,0.001)" } }] }]).addToDOM(Le.body);
1281
- Pi(e, { position: "fixed", top: 0, left: 0, zIndex: 9e5 }), mt = Le.elementFromPoint(6, 6)?.id === "hitme", Le.body.removeChild(e);
1278
+ if ((bo || Ml) && Ee.getElementsByTagName("base").length) {
1279
+ if (!ue(xt)) {
1280
+ let t = Il(), e = new Q([{ tagName: "svg", attributes: { width: 8, height: 8 }, children: [{ tagName: "defs", children: [{ tagName: "clipPath", attributes: { id: t }, children: [{ tagName: "rect", attributes: { width: 4, height: 4 } }] }] }, { tagName: "rect", attributes: { id: "hitme", width: 8, height: 8, "clip-path": `url(#${t})`, fill: "rgba(0,0,0,0.001)" } }] }]).addToDOM(Ee.body);
1281
+ Pi(e, { position: "fixed", top: 0, left: 0, zIndex: 9e5 }), xt = Ee.elementFromPoint(6, 6)?.id === "hitme", Ee.body.removeChild(e);
1282
1282
  }
1283
- if (mt) return El(Ds.location.href.split("#")[0], [/<[^>]*>/g, ""], [/([\('\)])/g, "\\$1"], [/ /g, "%20"]);
1283
+ if (xt) return El(Ds.location.href.split("#")[0], [/<[^>]*>/g, ""], [/([\('\)])/g, "\\$1"], [/ /g, "%20"]);
1284
1284
  }
1285
1285
  return "";
1286
1286
  }
1287
1287
  getStyle(t) {
1288
- return this.style = ue({ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif', fontSize: "1rem" }, t), this.style;
1288
+ return this.style = ge({ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif', fontSize: "1rem" }, t), this.style;
1289
1289
  }
1290
1290
  setStyle(t) {
1291
1291
  this.boxWrapper.css(this.getStyle(t));
@@ -1315,8 +1315,8 @@ function Dp() {
1315
1315
  }
1316
1316
  getContrast(t) {
1317
1317
  if (t === "transparent") return "#000000";
1318
- let e = et.parse(t).rgba, i = " clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";
1319
- if (ge(e[0]) || !et.useColorMix) {
1318
+ let e = tt.parse(t).rgba, i = " clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";
1319
+ if (fe(e[0]) || !tt.useColorMix) {
1320
1320
  let s = e.map((o) => {
1321
1321
  let a = o / 255;
1322
1322
  return a <= 0.04 ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4);
@@ -1330,9 +1330,9 @@ function Dp() {
1330
1330
  r = Bs(kl.global.buttonTheme, r), p && (delete r.fill, delete r.stroke, delete r["stroke-width"]);
1331
1331
  let x = r.states || {}, m = r.style || {};
1332
1332
  delete r.states, delete r.style;
1333
- let f = [tt.filterUserAttributes(r)], y = [m];
1333
+ let f = [Q.filterUserAttributes(r)], y = [m];
1334
1334
  return p || ["hover", "select", "disabled"].forEach((b, v) => {
1335
- f.push(Bs(f[0], tt.filterUserAttributes(u[v + 5] || x[b] || {}))), y.push(f[v + 1].style), delete f[v + 1].style;
1335
+ f.push(Bs(f[0], Q.filterUserAttributes(u[v + 5] || x[b] || {}))), y.push(f[v + 1].style), delete f[v + 1].style;
1336
1336
  }), Ai(d.element, vo ? "mouseover" : "mouseenter", function() {
1337
1337
  g !== 3 && d.setState(1);
1338
1338
  }), Ai(d.element, vo ? "mouseout" : "mouseleave", function() {
@@ -1343,17 +1343,17 @@ function Dp() {
1343
1343
  let v = y[b];
1344
1344
  ti(v) && d.css(v);
1345
1345
  }
1346
- }, d.attr(f[0]), !p && (d.css(ue({ cursor: "default" }, m)), c && d.text.css({ pointerEvents: "none" })), d.on("touchstart", (b) => b.stopPropagation()).on("click", function(b) {
1346
+ }, d.attr(f[0]), !p && (d.css(ge({ cursor: "default" }, m)), c && d.text.css({ pointerEvents: "none" })), d.on("touchstart", (b) => b.stopPropagation()).on("click", function(b) {
1347
1347
  g !== 3 && s?.call(d, b);
1348
1348
  });
1349
1349
  }
1350
1350
  crispLine(t, e) {
1351
1351
  let [i, s] = t;
1352
- return pe(i[1]) && i[1] === s[1] && (i[1] = s[1] = ko(i[1], e)), pe(i[2]) && i[2] === s[2] && (i[2] = s[2] = ko(i[2], e)), t;
1352
+ return ue(i[1]) && i[1] === s[1] && (i[1] = s[1] = ko(i[1], e)), ue(i[2]) && i[2] === s[2] && (i[2] = s[2] = ko(i[2], e)), t;
1353
1353
  }
1354
1354
  path(t) {
1355
1355
  let e = this.styledMode ? {} : { fill: "none" };
1356
- return Pl(t) ? e.d = t : ti(t) && ue(e, t), this.createElement("path").attr(e);
1356
+ return Pl(t) ? e.d = t : ti(t) && ge(e, t), this.createElement("path").attr(e);
1357
1357
  }
1358
1358
  circle(t, e, i) {
1359
1359
  let s = ti(t) ? t : t === void 0 ? {} : { x: t, y: e, r: i }, r = this.createElement("circle");
@@ -1369,7 +1369,7 @@ function Dp() {
1369
1369
  }
1370
1370
  rect(t, e, i, s, r, o) {
1371
1371
  let a = ti(t) ? t : t === void 0 ? {} : { x: t, y: e, r, width: Math.max(i || 0, 0), height: Math.max(s || 0, 0) }, n = this.createElement("rect");
1372
- return this.styledMode || (o !== void 0 && (a["stroke-width"] = o, ue(a, n.crisp(a))), a.fill = "none"), n.rSetter = function(h, c, d) {
1372
+ return this.styledMode || (o !== void 0 && (a["stroke-width"] = o, ge(a, n.crisp(a))), a.fill = "none"), n.rSetter = function(h, c, d) {
1373
1373
  n.r = h, Ci(d, { rx: h, ry: h });
1374
1374
  }, n.rGetter = function() {
1375
1375
  return n.r || 0;
@@ -1389,7 +1389,7 @@ function Dp() {
1389
1389
  }
1390
1390
  image(t, e, i, s, r, o) {
1391
1391
  let a = { preserveAspectRatio: "none" };
1392
- ge(e) && (a.x = e), ge(i) && (a.y = i), ge(s) && (a.width = s), ge(r) && (a.height = r);
1392
+ fe(e) && (a.x = e), fe(i) && (a.y = i), fe(s) && (a.width = s), fe(r) && (a.height = r);
1393
1393
  let n = this.createElement("image").attr(a), h = function(c) {
1394
1394
  n.attr({ href: t }), o.call(n, c);
1395
1395
  };
@@ -1402,7 +1402,7 @@ function Dp() {
1402
1402
  }
1403
1403
  symbol(t, e, i, s, r, o) {
1404
1404
  let a, n, h, c, d = this, p = /^url\((.*?)\)$/, u = p.test(t), g = !u && (this.symbols[t] ? t : "circle"), x = g && this.symbols[g];
1405
- if (x) typeof e == "number" && (n = x.call(this.symbols, e || 0, i || 0, s || 0, r || 0, o)), a = this.path(n), d.styledMode || a.attr("fill", "none"), ue(a, { symbolName: g || void 0, x: e, y: i, width: s, height: r }), o && ue(a, o);
1405
+ if (x) typeof e == "number" && (n = x.call(this.symbols, e || 0, i || 0, s || 0, r || 0, o)), a = this.path(n), d.styledMode || a.attr("fill", "none"), ge(a, { symbolName: g || void 0, x: e, y: i, width: s, height: r }), o && ge(a, o);
1406
1406
  else if (u) {
1407
1407
  h = t.match(p)[1];
1408
1408
  let m = a = this.image(h);
@@ -1412,9 +1412,9 @@ function Dp() {
1412
1412
  let { alignByTranslate: v, element: k, width: M, height: S, imgwidth: w, imgheight: A } = this, P = b === "width" ? w : A, T = 1;
1413
1413
  o && o.backgroundSize === "within" && M && S && w && A ? (T = Math.min(M / w, S / A), Ci(k, { width: Math.round(w * T), height: Math.round(A * T) })) : k && P && k.setAttribute(b, P), !v && w && A && this.translate(((M || 0) - w * T) / 2, ((S || 0) - A * T) / 2);
1414
1414
  };
1415
- }), pe(e) && m.attr({ x: e, y: i }), m.isImg = !0, m.symbolUrl = t, pe(m.imgwidth) && pe(m.imgheight) ? c(m) : (m.attr({ width: 0, height: 0 }), Al("img", { onload: function() {
1415
+ }), ue(e) && m.attr({ x: e, y: i }), m.isImg = !0, m.symbolUrl = t, ue(m.imgwidth) && ue(m.imgheight) ? c(m) : (m.attr({ width: 0, height: 0 }), Al("img", { onload: function() {
1416
1416
  let f = wl[d.chartIndex];
1417
- this.width === 0 && (Pi(this, { position: "absolute", top: "-999em" }), Le.body.appendChild(this)), Is[h] = { width: this.width, height: this.height }, m.imgwidth = this.width, m.imgheight = this.height, m.element && c(m), this.parentNode && this.parentNode.removeChild(this), d.imgCount--, d.imgCount || !f || f.hasLoaded || f.onload();
1417
+ this.width === 0 && (Pi(this, { position: "absolute", top: "-999em" }), Ee.body.appendChild(this)), Is[h] = { width: this.width, height: this.height }, m.imgwidth = this.width, m.imgheight = this.height, m.element && c(m), this.parentNode && this.parentNode.removeChild(this), d.imgCount--, d.imgCount || !f || f.hasLoaded || f.onload();
1418
1418
  }, src: h }), this.imgCount++);
1419
1419
  }
1420
1420
  return a;
@@ -1425,7 +1425,7 @@ function Dp() {
1425
1425
  text(t, e, i, s) {
1426
1426
  let r = {};
1427
1427
  if (s && (this.allowHTML || !this.forExport)) return this.html(t, e, i);
1428
- r.x = Math.round(e || 0), i && (r.y = Math.round(i)), pe(t) && (r.text = t);
1428
+ r.x = Math.round(e || 0), i && (r.y = Math.round(i)), ue(t) && (r.text = t);
1429
1429
  let o = this.createElement("text").attr(r);
1430
1430
  return s && (!this.forExport || this.allowHTML) || (o.xSetter = function(a, n, h) {
1431
1431
  let c = h.getElementsByTagName("tspan"), d = h.getAttribute(n);
@@ -1434,7 +1434,7 @@ function Dp() {
1434
1434
  }), o;
1435
1435
  }
1436
1436
  fontMetrics(t) {
1437
- let e = ge(t) ? t : Ll(Xt.prototype.getStyle.call(t, "font-size") || 0), i = e < 24 ? e + 3 : Math.round(1.2 * e), s = Math.round(0.8 * i);
1437
+ let e = fe(t) ? t : Ll(Ft.prototype.getStyle.call(t, "font-size") || 0), i = e < 24 ? e + 3 : Math.round(1.2 * e), s = Math.round(0.8 * i);
1438
1438
  return { h: i, b: s, f: e };
1439
1439
  }
1440
1440
  rotCorr(t, e, i) {
@@ -1443,21 +1443,21 @@ function Dp() {
1443
1443
  }
1444
1444
  pathToSegments(t) {
1445
1445
  let e = [], i = [], s = { A: 8, C: 7, H: 2, L: 3, M: 3, Q: 5, S: 5, T: 3, V: 2 };
1446
- for (let r = 0; r < t.length; r++) Ol(i[0]) && ge(t[r]) && i.length === s[i[0].toUpperCase()] && t.splice(r, 0, i[0].replace("M", "L").replace("m", "l")), typeof t[r] == "string" && (i.length && e.push(i.slice(0)), i.length = 0), i.push(t[r]);
1446
+ for (let r = 0; r < t.length; r++) Ol(i[0]) && fe(t[r]) && i.length === s[i[0].toUpperCase()] && t.splice(r, 0, i[0].replace("M", "L").replace("m", "l")), typeof t[r] == "string" && (i.length && e.push(i.slice(0)), i.length = 0), i.push(t[r]);
1447
1447
  return e.push(i.slice(0)), e;
1448
1448
  }
1449
1449
  label(t, e, i, s, r, o, a, n, h) {
1450
- return new ce(this, t, e, i, s, r, o, a, n, h);
1450
+ return new pe(this, t, e, i, s, r, o, a, n, h);
1451
1451
  }
1452
1452
  alignElements() {
1453
1453
  this.alignedObjects.forEach((t) => t.align());
1454
1454
  }
1455
1455
  }
1456
- ue(Oi.prototype, { Element: Xt, SVG_NS: Tl, escapes: { "&": "&amp;", "<": "&lt;", ">": "&gt;", "'": "&#39;", '"': "&quot;" }, symbols: mo, draw: Sl }), Ke.registerRendererType("svg", Oi, !0);
1457
- let { composed: Dl, isFirefox: Bl } = C, { attr: Nl, css: Kt, createElement: zl, defined: wo, extend: Rl, getAlignFactor: Wl, isNumber: Li, pInt: Xl, pushUnique: Hl } = B;
1456
+ ge(Oi.prototype, { Element: Ft, SVG_NS: Tl, escapes: { "&": "&amp;", "<": "&lt;", ">": "&gt;", "'": "&#39;", '"': "&quot;" }, symbols: mo, draw: Sl }), Ke.registerRendererType("svg", Oi, !0);
1457
+ let { composed: Dl, isFirefox: Bl } = C, { attr: Nl, css: Jt, createElement: zl, defined: wo, extend: Rl, getAlignFactor: Wl, isNumber: Li, pInt: Xl, pushUnique: Hl } = B;
1458
1458
  function Mo(l, t, e) {
1459
1459
  let i = this.div?.style;
1460
- Xt.prototype[`${t}Setter`].call(this, l, t, e), i && (e.style[t] = i[t] = l);
1460
+ Ft.prototype[`${t}Setter`].call(this, l, t, e), i && (e.style[t] = i[t] = l);
1461
1461
  }
1462
1462
  let Fl = (l, t) => {
1463
1463
  if (!l.div) {
@@ -1469,26 +1469,26 @@ function Dp() {
1469
1469
  }, l.scaleXSetter = l.scaleYSetter = (r, o) => {
1470
1470
  l[o] = r, l.doTransform = !0;
1471
1471
  }, l.opacitySetter = l.visibilitySetter = Mo, l.css = (r) => (i.call(l, r), r.cursor && (s.style.cursor = r.cursor), r.pointerEvents && (s.style.pointerEvents = r.pointerEvents), l), l.on = function() {
1472
- return Xt.prototype.on.apply({ element: s, onEvents: l.onEvents }, arguments), l;
1472
+ return Ft.prototype.on.apply({ element: s, onEvents: l.onEvents }, arguments), l;
1473
1473
  }, l.div = s;
1474
1474
  }
1475
1475
  return l.div;
1476
1476
  };
1477
- class Ee extends Xt {
1477
+ class Ie extends Ft {
1478
1478
  static compose(t) {
1479
1479
  Hl(Dl, this.compose) && (t.prototype.html = function(e, i, s) {
1480
- return new Ee(this, "span").attr({ text: e, x: Math.round(i), y: Math.round(s) });
1480
+ return new Ie(this, "span").attr({ text: e, x: Math.round(i), y: Math.round(s) });
1481
1481
  });
1482
1482
  }
1483
1483
  constructor(t, e) {
1484
- super(t, e), Ee.useForeignObject ? this.foreignObject = t.createElement("foreignObject").attr({ zIndex: 2 }) : this.css({ position: "absolute", ...t.styledMode ? {} : { fontFamily: t.style.fontFamily, fontSize: t.style.fontSize } }), this.element.style.whiteSpace = "nowrap";
1484
+ super(t, e), Ie.useForeignObject ? this.foreignObject = t.createElement("foreignObject").attr({ zIndex: 2 }) : this.css({ position: "absolute", ...t.styledMode ? {} : { fontFamily: t.style.fontFamily, fontSize: t.style.fontSize } }), this.element.style.whiteSpace = "nowrap";
1485
1485
  }
1486
1486
  getSpanCorrection(t, e, i) {
1487
1487
  this.xCorr = -t * i, this.yCorr = -e;
1488
1488
  }
1489
1489
  css(t) {
1490
1490
  let e, { element: i } = this, s = i.tagName === "SPAN" && t && "width" in t, r = s && t.width;
1491
- return s && (delete t.width, this.textWidth = Xl(r) || void 0, e = !0), t?.textOverflow === "ellipsis" && (t.overflow = "hidden", t.whiteSpace = "nowrap"), t?.lineClamp && (t.display = "-webkit-box", t.WebkitLineClamp = t.lineClamp, t.WebkitBoxOrient = "vertical", t.overflow = "hidden"), Li(Number(t?.fontSize)) && (t.fontSize += "px"), Rl(this.styles, t), Kt(i, t), e && this.updateTransform(), this;
1491
+ return s && (delete t.width, this.textWidth = Xl(r) || void 0, e = !0), t?.textOverflow === "ellipsis" && (t.overflow = "hidden", t.whiteSpace = "nowrap"), t?.lineClamp && (t.display = "-webkit-box", t.WebkitLineClamp = t.lineClamp, t.WebkitBoxOrient = "vertical", t.overflow = "hidden"), Li(Number(t?.fontSize)) && (t.fontSize += "px"), Rl(this.styles, t), Jt(i, t), e && this.updateTransform(), this;
1492
1492
  }
1493
1493
  htmlGetBBox() {
1494
1494
  let { element: t } = this;
@@ -1500,15 +1500,15 @@ function Dp() {
1500
1500
  return;
1501
1501
  }
1502
1502
  let { element: t, foreignObject: e, oldTextWidth: i, renderer: s, rotation: r, rotationOriginX: o, rotationOriginY: a, scaleX: n, scaleY: h, styles: { display: c = "inline-block", whiteSpace: d }, textAlign: p = "left", textWidth: u, translateX: g = 0, translateY: x = 0, x: m = 0, y: f = 0 } = this;
1503
- if (e || Kt(t, { marginLeft: `${g}px`, marginTop: `${x}px` }), t.tagName === "SPAN") {
1503
+ if (e || Jt(t, { marginLeft: `${g}px`, marginTop: `${x}px` }), t.tagName === "SPAN") {
1504
1504
  let y, b = [r, p, t.innerHTML, u, this.textAlign].join(","), v = -(this.parentGroup?.padding * 1) || 0;
1505
1505
  if (u !== i) {
1506
- let w = this.textPxLength ? this.textPxLength : (Kt(t, { width: "", whiteSpace: d || "nowrap" }), t.offsetWidth), A = u || 0, P = !s.styledMode && t.style.textOverflow === "" && t.style.webkitLineClamp;
1507
- (A > i || w > A || P) && (/[\-\s\u00AD]/.test(t.textContent || t.innerText) || t.style.textOverflow === "ellipsis") && (Kt(t, { width: (r || n || w > A || P) && Li(u) ? u + "px" : "auto", display: c, whiteSpace: d || "normal" }), this.oldTextWidth = u);
1506
+ let w = this.textPxLength ? this.textPxLength : (Jt(t, { width: "", whiteSpace: d || "nowrap" }), t.offsetWidth), A = u || 0, P = !s.styledMode && t.style.textOverflow === "" && t.style.webkitLineClamp;
1507
+ (A > i || w > A || P) && (/[\-\s\u00AD]/.test(t.textContent || t.innerText) || t.style.textOverflow === "ellipsis") && (Jt(t, { width: (r || n || w > A || P) && Li(u) ? u + "px" : "auto", display: c, whiteSpace: d || "normal" }), this.oldTextWidth = u);
1508
1508
  }
1509
- e && (Kt(t, { display: "inline-block", verticalAlign: "top" }), e.attr({ width: s.width, height: s.height })), b !== this.cTT && (y = s.fontMetrics(t).b, wo(r) && !e && (r !== (this.oldRotation || 0) || p !== this.oldAlign) && Kt(t, { transform: `rotate(${r}deg)`, transformOrigin: `${v}% ${v}px` }), this.getSpanCorrection(!wo(r) && !this.textWidth && this.textPxLength || t.offsetWidth, y, Wl(p)));
1509
+ e && (Jt(t, { display: "inline-block", verticalAlign: "top" }), e.attr({ width: s.width, height: s.height })), b !== this.cTT && (y = s.fontMetrics(t).b, wo(r) && !e && (r !== (this.oldRotation || 0) || p !== this.oldAlign) && Jt(t, { transform: `rotate(${r}deg)`, transformOrigin: `${v}% ${v}px` }), this.getSpanCorrection(!wo(r) && !this.textWidth && this.textPxLength || t.offsetWidth, y, Wl(p)));
1510
1510
  let { xCorr: k = 0, yCorr: M = 0 } = this, S = { left: `${m + k}px`, top: `${f + M}px`, textAlign: p, transformOrigin: `${(o ?? m) - k - m - v}px ${(a ?? f) - M - f - v}px` };
1511
- (n || h) && (S.transform = `scale(${n ?? 1},${h ?? 1})`), e ? (super.updateTransform(), Li(m) && Li(f) ? (e.attr({ x: m + k, y: f + M, width: t.offsetWidth + 3, height: t.offsetHeight, "transform-origin": t.getAttribute("transform-origin") || "0 0" }), Kt(t, { display: c, textAlign: p })) : Bl && e.attr({ width: 0, height: 0 })) : Kt(t, S), this.cTT = b, this.oldRotation = r, this.oldAlign = p;
1511
+ (n || h) && (S.transform = `scale(${n ?? 1},${h ?? 1})`), e ? (super.updateTransform(), Li(m) && Li(f) ? (e.attr({ x: m + k, y: f + M, width: t.offsetWidth + 3, height: t.offsetHeight, "transform-origin": t.getAttribute("transform-origin") || "0 0" }), Jt(t, { display: c, textAlign: p })) : Bl && e.attr({ width: 0, height: 0 })) : Jt(t, S), this.cTT = b, this.oldRotation = r, this.oldAlign = p;
1512
1512
  }
1513
1513
  }
1514
1514
  add(t) {
@@ -1526,7 +1526,7 @@ function Dp() {
1526
1526
  return this.added = !0, this.alignOnAdd && this.updateTransform(), this;
1527
1527
  }
1528
1528
  textSetter(t) {
1529
- t !== this.textStr && (delete this.bBox, delete this.oldTextWidth, tt.setElementHTML(this.element, t ?? ""), this.textStr = t, this.doTransform = !0);
1529
+ t !== this.textStr && (delete this.bBox, delete this.oldTextWidth, Q.setElementHTML(this.element, t ?? ""), this.textStr = t, this.doTransform = !0);
1530
1530
  }
1531
1531
  alignSetter(t) {
1532
1532
  this.alignValue = this.textAlign = t, this.doTransform = !0;
@@ -1535,29 +1535,29 @@ function Dp() {
1535
1535
  this[e] = t, this.doTransform = !0;
1536
1536
  }
1537
1537
  }
1538
- let fe = Ee.prototype;
1539
- fe.visibilitySetter = fe.opacitySetter = Mo, fe.ySetter = fe.rotationSetter = fe.rotationOriginXSetter = fe.rotationOriginYSetter = fe.xSetter, (function(l) {
1538
+ let me = Ie.prototype;
1539
+ me.visibilitySetter = me.opacitySetter = Mo, me.ySetter = me.rotationSetter = me.rotationOriginXSetter = me.rotationOriginYSetter = me.xSetter, (function(l) {
1540
1540
  l.xAxis = { alignTicks: !0, allowDecimals: void 0, panningEnabled: !0, zIndex: 2, zoomEnabled: !0, dateTimeLabelFormats: { millisecond: { main: "%[HMSL]", range: !1 }, second: { main: "%[HMS]", range: !1 }, minute: { main: "%[HM]", range: !1 }, hour: { main: "%[HM]", range: !1 }, day: { main: "%[eb]" }, week: { main: "%[eb]" }, month: { main: "%[bY]" }, year: { main: "%Y" } }, endOnTick: !1, gridLineDashStyle: "Solid", gridZIndex: 1, labels: { autoRotationLimit: 80, distance: 15, enabled: !0, indentation: 10, overflow: "justify", reserveSpace: void 0, rotation: void 0, staggerLines: 0, step: 0, useHTML: !1, zIndex: 7, style: { color: "#333333", cursor: "default", fontSize: "0.8em", textOverflow: "ellipsis" } }, maxPadding: 0.01, minorGridLineDashStyle: "Solid", minorTickLength: 2, minorTickPosition: "outside", minorTicksPerMajor: 5, minPadding: 0.01, offset: void 0, reversed: void 0, reversedStacks: !1, showEmpty: !0, showFirstLabel: !0, showLastLabel: !0, startOfWeek: 1, startOnTick: !1, tickLength: 10, tickPixelInterval: 100, tickmarkPlacement: "between", tickPosition: "outside", title: { align: "middle", useHTML: !1, x: 0, y: 0, style: { color: "#666666", fontSize: "0.8em" } }, visible: !0, minorGridLineColor: "#f2f2f2", minorGridLineWidth: 1, minorTickColor: "#999999", lineColor: "#333333", lineWidth: 1, gridLineColor: "#e6e6e6", gridLineWidth: void 0, tickColor: "#333333" }, l.yAxis = { reversedStacks: !0, endOnTick: !0, maxPadding: 0.05, minPadding: 0.05, tickPixelInterval: 72, showLastLabel: !0, labels: { x: void 0 }, startOnTick: !0, title: {}, stackLabels: { animation: {}, allowOverlap: !1, enabled: !1, crop: !0, overflow: "justify", formatter: function() {
1541
1541
  let { numberFormatter: t } = this.axis.chart;
1542
1542
  return t(this.total || 0, -1);
1543
1543
  }, style: { color: "#000000", fontSize: "0.7em", fontWeight: "bold", textOutline: "1px contrast" } }, gridLineWidth: 1, lineWidth: 0 };
1544
- })(J || (J = {}));
1545
- let Gl = J, { addEvent: Yl, isFunction: jl, objectEach: Ul, removeEvent: Vl } = B;
1546
- (le || (le = {})).registerEventOptions = function(l, t) {
1544
+ })(nt || (nt = {}));
1545
+ let Gl = nt, { addEvent: Yl, isFunction: jl, objectEach: Ul, removeEvent: Vl } = B;
1546
+ (gt || (gt = {})).registerEventOptions = function(l, t) {
1547
1547
  l.eventOptions = l.eventOptions || {}, Ul(t.events, function(e, i) {
1548
1548
  l.eventOptions[i] !== e && (l.eventOptions[i] && (Vl(l, i, l.eventOptions[i]), delete l.eventOptions[i]), jl(e) && (l.eventOptions[i] = e, Yl(l, i, e, { order: 0 })));
1549
1549
  });
1550
1550
  };
1551
- let Ei = le, { deg2rad: zs } = C, { clamp: $l, correctFloat: Ii, defined: Rs, destroyObjectProperties: Zl, extend: So, fireEvent: ei, getAlignFactor: ql, isNumber: Di, merge: Kl, objectEach: _l, pick: Ht } = B, Ie = class {
1551
+ let Ei = gt, { deg2rad: zs } = C, { clamp: $l, correctFloat: Ii, defined: Rs, destroyObjectProperties: Zl, extend: So, fireEvent: ei, getAlignFactor: ql, isNumber: Di, merge: Kl, objectEach: _l, pick: Gt } = B, De = class {
1552
1552
  constructor(l, t, e, i, s) {
1553
1553
  this.isNew = !0, this.isNewLabel = !0, this.axis = l, this.pos = t, this.type = e || "", this.parameters = s || {}, this.tickmarkOffset = this.parameters.tickmarkOffset, this.options = this.parameters.options, ei(this, "init"), e || i || this.addLabel();
1554
1554
  }
1555
1555
  addLabel() {
1556
- let l = this, t = l.axis, e = t.options, i = t.chart, s = t.categories, r = t.logarithmic, o = t.names, a = l.pos, n = Ht(l.options?.labels, e.labels), h = t.tickPositions, c = a === h[0], d = a === h[h.length - 1], p = (!n.step || n.step === 1) && t.tickInterval === 1, u = h.info, g = l.label, x, m, f, y = this.parameters.category || (s ? Ht(s[a], o[a], a) : a);
1556
+ let l = this, t = l.axis, e = t.options, i = t.chart, s = t.categories, r = t.logarithmic, o = t.names, a = l.pos, n = Gt(l.options?.labels, e.labels), h = t.tickPositions, c = a === h[0], d = a === h[h.length - 1], p = (!n.step || n.step === 1) && t.tickInterval === 1, u = h.info, g = l.label, x, m, f, y = this.parameters.category || (s ? Gt(s[a], o[a], a) : a);
1557
1557
  r && Di(y) && (y = Ii(r.lin2log(y))), t.dateTime && (u ? x = (m = i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid?.enabled && u.higherRanks[a] || u.unitName])).main : Di(y) && (x = t.dateTime.getXDateFormat(y, e.dateTimeLabelFormats || {}))), l.isFirst = c, l.isLast = d;
1558
1558
  let b = { axis: t, chart: i, dateTimeLabelFormat: x, isFirst: c, isLast: d, pos: a, tick: l, tickPositionInfo: u, value: y };
1559
1559
  ei(this, "labelFormat", b);
1560
- let v = (S) => n.formatter ? n.formatter.call(S, S) : n.format ? (S.text = t.defaultLabelFormatter.call(S), Lt.format(n.format, S, i)) : t.defaultLabelFormatter.call(S), k = v.call(b, b), M = m?.list;
1560
+ let v = (S) => n.formatter ? n.formatter.call(S, S) : n.format ? (S.text = t.defaultLabelFormatter.call(S), Et.format(n.format, S, i)) : t.defaultLabelFormatter.call(S), k = v.call(b, b), M = m?.list;
1561
1561
  M ? l.shortenLabel = function() {
1562
1562
  for (f = 0; f < M.length; f++) if (So(b, { dateTimeLabelFormat: M[f] }), g.attr({ text: v.call(b, b) }), g.getBBox().width < t.getSlotWidth(l) - 2 * (n.padding || 0)) return;
1563
1563
  g.attr({ text: "" });
@@ -1576,7 +1576,7 @@ function Dp() {
1576
1576
  }
1577
1577
  getLabelPosition(l, t, e, i, s, r, o, a) {
1578
1578
  let n, h, c = this.axis, d = c.transA, p = c.isLinked && c.linkedParent ? c.linkedParent.reversed : c.reversed, u = c.staggerLines, g = c.tickRotCorr || { x: 0, y: 0 }, x = i || c.reserveSpaceDefault ? 0 : -c.labelOffset * (c.labelAlign === "center" ? 0.5 : 1), m = s.distance, f = {};
1579
- return n = c.side === 0 ? e.rotation ? -m : -e.getBBox().height : c.side === 2 ? g.y + m : Math.cos(e.rotation * zs) * (g.y - e.getBBox(!1, 0).height / 2), Rs(s.y) && (n = c.side === 0 && c.horiz ? s.y + n : s.y), l = l + Ht(s.x, [0, 1, 0, -1][c.side] * m) + x + g.x - (r && i ? r * d * (p ? -1 : 1) : 0), t = t + n - (r && !i ? r * d * (p ? 1 : -1) : 0), u && (h = o / (a || 1) % u, c.opposite && (h = u - h - 1), t += h * (c.labelOffset / u)), f.x = l, f.y = Math.round(t), ei(this, "afterGetLabelPosition", { pos: f, tickmarkOffset: r, index: o }), f;
1579
+ return n = c.side === 0 ? e.rotation ? -m : -e.getBBox().height : c.side === 2 ? g.y + m : Math.cos(e.rotation * zs) * (g.y - e.getBBox(!1, 0).height / 2), Rs(s.y) && (n = c.side === 0 && c.horiz ? s.y + n : s.y), l = l + Gt(s.x, [0, 1, 0, -1][c.side] * m) + x + g.x - (r && i ? r * d * (p ? -1 : 1) : 0), t = t + n - (r && !i ? r * d * (p ? 1 : -1) : 0), u && (h = o / (a || 1) % u, c.opposite && (h = u - h - 1), t += h * (c.labelOffset / u)), f.x = l, f.y = Math.round(t), ei(this, "afterGetLabelPosition", { pos: f, tickmarkOffset: r, index: o }), f;
1580
1580
  }
1581
1581
  getLabelSize() {
1582
1582
  return this.label ? this.label.getBBox()[this.axis.horiz ? "height" : "width"] : 0;
@@ -1585,7 +1585,7 @@ function Dp() {
1585
1585
  return r.crispLine([["M", l, t], ["L", l + (s ? 0 : -e), t + (s ? e : 0)]], i);
1586
1586
  }
1587
1587
  handleOverflow(l) {
1588
- let t = this.axis, e = t.options.labels, i = l.x, s = t.chart.chartWidth, r = t.chart.spacing, o = Ht(t.labelLeft, Math.min(t.pos, r[3])), a = Ht(t.labelRight, Math.max(t.isRadial ? 0 : t.pos + t.len, s - r[1])), n = this.label, h = this.rotation, c = ql(t.labelAlign || n.attr("align")), d = n.getBBox().width, p = t.getSlotWidth(this), u = p, g = 1, x;
1588
+ let t = this.axis, e = t.options.labels, i = l.x, s = t.chart.chartWidth, r = t.chart.spacing, o = Gt(t.labelLeft, Math.min(t.pos, r[3])), a = Gt(t.labelRight, Math.max(t.isRadial ? 0 : t.pos + t.len, s - r[1])), n = this.label, h = this.rotation, c = ql(t.labelAlign || n.attr("align")), d = n.getBBox().width, p = t.getSlotWidth(this), u = p, g = 1, x;
1589
1589
  h || e.overflow !== "justify" ? h < 0 && i - c * d < o ? x = Math.round(i / Math.cos(h * zs) - o) : h > 0 && i + c * d > a && (x = Math.round((s - i) / Math.cos(h * zs))) : (i - c * d < o ? u = l.x + u * (1 - c) - o : i + (1 - c) * d > a && (u = a - l.x + u * c, g = -1), (u = Math.min(p, u)) < p && t.labelAlign === "center" && (l.x += g * (p - u - c * (p - Math.min(d, u)))), (d > u || t.autoRotation && n?.styles?.width) && (x = u)), x && n && (this.shortenLabel ? this.shortenLabel() : n.css(So({}, { width: Math.floor(x) + "px", lineClamp: +!t.isRadial })));
1590
1590
  }
1591
1591
  moveLabel(l, t) {
@@ -1595,42 +1595,42 @@ function Dp() {
1595
1595
  }), !r && (e.labelPos || i) && (o = e.labelPos || i.xy, e.movedLabel = e.createLabel(l, t, o), e.movedLabel && e.movedLabel.attr({ opacity: 0 }));
1596
1596
  }
1597
1597
  render(l, t, e) {
1598
- let i = this.axis, s = i.horiz, r = this.pos, o = Ht(this.tickmarkOffset, i.tickmarkOffset), a = this.getPosition(s, r, o, t), n = a.x, h = a.y, c = i.pos, d = c + i.len, p = s ? n : h, u = Ht(e, this.label?.newOpacity, 1);
1598
+ let i = this.axis, s = i.horiz, r = this.pos, o = Gt(this.tickmarkOffset, i.tickmarkOffset), a = this.getPosition(s, r, o, t), n = a.x, h = a.y, c = i.pos, d = c + i.len, p = s ? n : h, u = Gt(e, this.label?.newOpacity, 1);
1599
1599
  !i.chart.polar && (Ii(p) < c || p > d) && (e = 0), e ?? (e = 1), this.isActive = !0, this.renderGridLine(t, e), this.renderMark(a, e), this.renderLabel(a, t, u, l), this.isNew = !1, ei(this, "afterRender");
1600
1600
  }
1601
1601
  renderGridLine(l, t) {
1602
- let e = this.axis, i = e.options, s = {}, r = this.pos, o = this.type, a = Ht(this.tickmarkOffset, e.tickmarkOffset), n = e.chart.renderer, h = this.gridLine, c, d = i.gridLineWidth, p = i.gridLineColor, u = i.gridLineDashStyle;
1602
+ let e = this.axis, i = e.options, s = {}, r = this.pos, o = this.type, a = Gt(this.tickmarkOffset, e.tickmarkOffset), n = e.chart.renderer, h = this.gridLine, c, d = i.gridLineWidth, p = i.gridLineColor, u = i.gridLineDashStyle;
1603
1603
  this.type === "minor" && (d = i.minorGridLineWidth, p = i.minorGridLineColor, u = i.minorGridLineDashStyle), h || (e.chart.styledMode || (s.stroke = p, s["stroke-width"] = d || 0, s.dashstyle = u), o || (s.zIndex = 1), l && (t = 0), this.gridLine = h = n.path().attr(s).addClass("highcharts-" + (o ? o + "-" : "") + "grid-line").add(e.gridGroup)), h && (c = e.getPlotLinePath({ value: r + a, lineWidth: h.strokeWidth(), force: "pass", old: l, acrossPanes: !1 })) && h[l || this.isNew ? "attr" : "animate"]({ d: c, opacity: t });
1604
1604
  }
1605
1605
  renderMark(l, t) {
1606
- let e = this.axis, i = e.options, s = e.chart.renderer, r = this.type, o = e.tickSize(r ? r + "Tick" : "tick"), a = l.x, n = l.y, h = Ht(i[r !== "minor" ? "tickWidth" : "minorTickWidth"], !r && e.isXAxis ? 1 : 0), c = i[r !== "minor" ? "tickColor" : "minorTickColor"], d = this.mark, p = !d;
1606
+ let e = this.axis, i = e.options, s = e.chart.renderer, r = this.type, o = e.tickSize(r ? r + "Tick" : "tick"), a = l.x, n = l.y, h = Gt(i[r !== "minor" ? "tickWidth" : "minorTickWidth"], !r && e.isXAxis ? 1 : 0), c = i[r !== "minor" ? "tickColor" : "minorTickColor"], d = this.mark, p = !d;
1607
1607
  o && (e.opposite && (o[0] = -o[0]), !d && (this.mark = d = s.path().addClass("highcharts-" + (r ? r + "-" : "") + "tick").add(e.axisGroup), e.chart.styledMode || d.attr({ stroke: c, "stroke-width": h })), d[p ? "attr" : "animate"]({ d: this.getMarkPath(a, n, o[0], d.strokeWidth(), e.horiz, s), opacity: t }));
1608
1608
  }
1609
1609
  renderLabel(l, t, e, i) {
1610
- let s = this.axis, r = s.horiz, o = s.options, a = this.label, n = o.labels, h = n.step, c = Ht(this.tickmarkOffset, s.tickmarkOffset), d = l.x, p = l.y, u = !0;
1610
+ let s = this.axis, r = s.horiz, o = s.options, a = this.label, n = o.labels, h = n.step, c = Gt(this.tickmarkOffset, s.tickmarkOffset), d = l.x, p = l.y, u = !0;
1611
1611
  a && Di(d) && (a.xy = l = this.getLabelPosition(d, p, a, r, n, c, i, h), (!this.isFirst || this.isLast || o.showFirstLabel) && (!this.isLast || this.isFirst || o.showLastLabel) ? !r || n.step || n.rotation || t || e === 0 || this.handleOverflow(l) : u = !1, h && i % h && (u = !1), u && Di(l.y) ? (l.opacity = e, a[this.isNewLabel ? "attr" : "animate"](l).show(!0), this.isNewLabel = !1) : (a.hide(), this.isNewLabel = !0));
1612
1612
  }
1613
1613
  replaceMovedLabel() {
1614
1614
  let l = this.label, t = this.axis;
1615
1615
  l && !this.isNew && (l.animate({ opacity: 0 }, void 0, l.destroy), delete this.label), t.isDirty = !0, this.label = this.movedLabel, delete this.movedLabel;
1616
1616
  }
1617
- }, { animObject: Jl } = gt, { xAxis: To, yAxis: Ql } = Gl, { defaultOptions: Ws } = Ot, { registerEventOptions: th } = Ei, { deg2rad: eh } = C, { arrayMax: Ao, arrayMin: ih, clamp: Xs, correctFloat: At, defined: K, destroyObjectProperties: sh, erase: Co, error: Hs, extend: Bi, fireEvent: it, getClosestDistance: Po, insertItem: rh, isArray: Oo, isNumber: R, isString: Lo, merge: Ni, normalizeTickInterval: oh, objectEach: zi, pick: H, relativeLength: Ri, removeEvent: ah, splat: nh, syncTimeout: lh } = B, Eo = (l, t) => oh(t, void 0, void 0, H(l.options.allowDecimals, t < 0.5 || l.tickAmount !== void 0), !!l.tickAmount);
1617
+ }, { animObject: Jl } = ft, { xAxis: To, yAxis: Ql } = Gl, { defaultOptions: Ws } = Lt, { registerEventOptions: th } = Ei, { deg2rad: eh } = C, { arrayMax: Ao, arrayMin: ih, clamp: Xs, correctFloat: Ct, defined: q, destroyObjectProperties: sh, erase: Co, error: Hs, extend: Bi, fireEvent: et, getClosestDistance: Po, insertItem: rh, isArray: Oo, isNumber: R, isString: Lo, merge: Ni, normalizeTickInterval: oh, objectEach: zi, pick: H, relativeLength: Ri, removeEvent: ah, splat: nh, syncTimeout: lh } = B, Eo = (l, t) => oh(t, void 0, void 0, H(l.options.allowDecimals, t < 0.5 || l.tickAmount !== void 0), !!l.tickAmount);
1618
1618
  Bi(Ws, { xAxis: To, yAxis: Ni(To, Ql) });
1619
- class De {
1619
+ class Be {
1620
1620
  constructor(t, e, i) {
1621
1621
  this.init(t, e, i);
1622
1622
  }
1623
1623
  init(t, e, i = this.coll) {
1624
1624
  let s = i === "xAxis", r = this.isZAxis || (t.inverted ? !s : s);
1625
- this.chart = t, this.horiz = r, this.isXAxis = s, this.coll = i, it(this, "init", { userOptions: e }), this.opposite = H(e.opposite, this.opposite), this.side = H(e.side, this.side, r ? 2 * !this.opposite : this.opposite ? 1 : 3), this.setOptions(e);
1625
+ this.chart = t, this.horiz = r, this.isXAxis = s, this.coll = i, et(this, "init", { userOptions: e }), this.opposite = H(e.opposite, this.opposite), this.side = H(e.side, this.side, r ? 2 * !this.opposite : this.opposite ? 1 : 3), this.setOptions(e);
1626
1626
  let o = this.options, a = o.labels;
1627
- this.type ?? (this.type = o.type || "linear"), this.uniqueNames ?? (this.uniqueNames = o.uniqueNames ?? !0), it(this, "afterSetType"), this.userOptions = e, this.minPixelPadding = 0, this.reversed = H(o.reversed, this.reversed), this.visible = o.visible, this.zoomEnabled = o.zoomEnabled, this.hasNames = this.type === "category" || o.categories === !0, this.categories = Oo(o.categories) && o.categories || (this.hasNames ? [] : void 0), this.names || (this.names = [], this.names.keys = {}), this.plotLinesAndBandsGroups = {}, this.positiveValuesOnly = !!this.logarithmic, this.isLinked = K(o.linkedTo), this.ticks = {}, this.labelEdge = [], this.minorTicks = {}, this.plotLinesAndBands = [], this.alternateBands = {}, this.len ?? (this.len = 0), this.minRange = this.userMinRange = o.minRange || o.maxZoom, this.range = o.range, this.offset = o.offset || 0, this.max = void 0, this.min = void 0;
1627
+ this.type ?? (this.type = o.type || "linear"), this.uniqueNames ?? (this.uniqueNames = o.uniqueNames ?? !0), et(this, "afterSetType"), this.userOptions = e, this.minPixelPadding = 0, this.reversed = H(o.reversed, this.reversed), this.visible = o.visible, this.zoomEnabled = o.zoomEnabled, this.hasNames = this.type === "category" || o.categories === !0, this.categories = Oo(o.categories) && o.categories || (this.hasNames ? [] : void 0), this.names || (this.names = [], this.names.keys = {}), this.plotLinesAndBandsGroups = {}, this.positiveValuesOnly = !!this.logarithmic, this.isLinked = q(o.linkedTo), this.ticks = {}, this.labelEdge = [], this.minorTicks = {}, this.plotLinesAndBands = [], this.alternateBands = {}, this.len ?? (this.len = 0), this.minRange = this.userMinRange = o.minRange || o.maxZoom, this.range = o.range, this.offset = o.offset || 0, this.max = void 0, this.min = void 0;
1628
1628
  let n = H(o.crosshair, nh(t.options.tooltip.crosshairs)[+!s]);
1629
- this.crosshair = n === !0 ? {} : n, t.axes.indexOf(this) === -1 && (s ? t.axes.splice(t.xAxis.length, 0, this) : t.axes.push(this), rh(this, t[this.coll])), t.orderItems(this.coll), this.series = this.series || [], t.inverted && !this.isZAxis && s && !K(this.reversed) && (this.reversed = !0), this.labelRotation = R(a.rotation) ? a.rotation : void 0, th(this, o), it(this, "afterInit");
1629
+ this.crosshair = n === !0 ? {} : n, t.axes.indexOf(this) === -1 && (s ? t.axes.splice(t.xAxis.length, 0, this) : t.axes.push(this), rh(this, t[this.coll])), t.orderItems(this.coll), this.series = this.series || [], t.inverted && !this.isZAxis && s && !q(this.reversed) && (this.reversed = !0), this.labelRotation = R(a.rotation) ? a.rotation : void 0, th(this, o), et(this, "afterInit");
1630
1630
  }
1631
1631
  setOptions(t) {
1632
1632
  let e = this.horiz ? { labels: { autoRotation: [-45], padding: 3 }, margin: 15 } : { labels: { padding: 1 }, title: { rotation: 90 * this.side } };
1633
- this.options = Ni(e, this.coll === "yAxis" ? { title: { text: this.chart.options.lang.yAxisTitle } } : {}, Ws[this.coll], t), it(this, "afterSetOptions", { userOptions: t });
1633
+ this.options = Ni(e, this.coll === "yAxis" ? { title: { text: this.chart.options.lang.yAxisTitle } } : {}, Ws[this.coll], t), et(this, "afterSetOptions", { userOptions: t });
1634
1634
  }
1635
1635
  defaultLabelFormatter() {
1636
1636
  let t = this.axis, { numberFormatter: e } = this.chart, i = R(this.value) ? this.value : NaN, s = t.chart.time, r = t.categories, o = this.dateTimeLabelFormat, a = Ws.lang, n = a.numericSymbols, h = a.numericSymbolMagnitude || 1e3, c = t.logarithmic ? Math.abs(i) : t.tickInterval, d = n?.length, p, u;
@@ -1641,24 +1641,24 @@ function Dp() {
1641
1641
  }
1642
1642
  getSeriesExtremes() {
1643
1643
  let t, e = this;
1644
- it(this, "getSeriesExtremes", null, function() {
1644
+ et(this, "getSeriesExtremes", null, function() {
1645
1645
  e.hasVisibleSeries = !1, e.dataMin = e.dataMax = e.threshold = void 0, e.softThreshold = !e.isXAxis, e.series.forEach((i) => {
1646
1646
  if (i.reserveSpace()) {
1647
1647
  let s = i.options, r, o = s.threshold, a, n;
1648
1648
  if (e.hasVisibleSeries = !0, e.positiveValuesOnly && 0 >= (o || 0) && (o = void 0), e.isXAxis) (r = i.getColumn("x")).length && (r = e.logarithmic ? r.filter((h) => h > 0) : r, a = (t = i.getXExtremes(r)).min, n = t.max, R(a) || a instanceof Date || (r = r.filter(R), a = (t = i.getXExtremes(r)).min, n = t.max), r.length && (e.dataMin = Math.min(H(e.dataMin, a), a), e.dataMax = Math.max(H(e.dataMax, n), n)));
1649
1649
  else {
1650
1650
  let h = i.applyExtremes();
1651
- R(h.dataMin) && (a = h.dataMin, e.dataMin = Math.min(H(e.dataMin, a), a)), R(h.dataMax) && (n = h.dataMax, e.dataMax = Math.max(H(e.dataMax, n), n)), K(o) && (e.threshold = o), (!s.softThreshold || e.positiveValuesOnly) && (e.softThreshold = !1);
1651
+ R(h.dataMin) && (a = h.dataMin, e.dataMin = Math.min(H(e.dataMin, a), a)), R(h.dataMax) && (n = h.dataMax, e.dataMax = Math.max(H(e.dataMax, n), n)), q(o) && (e.threshold = o), (!s.softThreshold || e.positiveValuesOnly) && (e.softThreshold = !1);
1652
1652
  }
1653
1653
  }
1654
1654
  });
1655
- }), it(this, "afterGetSeriesExtremes");
1655
+ }), et(this, "afterGetSeriesExtremes");
1656
1656
  }
1657
1657
  translate(t, e, i, s, r, o) {
1658
1658
  let a = this.linkedParent || this, n = s && a.old ? a.old.min : a.min;
1659
1659
  if (!R(n)) return NaN;
1660
1660
  let h = a.minPixelPadding, c = (a.isOrdinal || a.brokenAxis?.hasBreaks || a.logarithmic && r) && !!a.lin2val, d = 1, p = 0, u = s && a.old ? a.old.transA : a.transA, g = 0;
1661
- return u || (u = a.transA), i && (d *= -1, p = a.len), a.reversed && (d *= -1, p -= d * (a.sector || a.len)), e ? (g = (t = t * d + p - h) / u + n, c && (g = a.lin2val(g))) : (c && (t = a.val2lin(t)), g = d * (t - n) * u + p + d * h + (R(o) ? u * o : 0), a.isRadial || (g = At(g))), g;
1661
+ return u || (u = a.transA), i && (d *= -1, p = a.len), a.reversed && (d *= -1, p -= d * (a.sector || a.len)), e ? (g = (t = t * d + p - h) / u + n, c && (g = a.lin2val(g))) : (c && (t = a.val2lin(t)), g = d * (t - n) * u + p + d * h + (R(o) ? u * o : 0), a.isRadial || (g = Ct(g))), g;
1662
1662
  }
1663
1663
  toPixels(t, e) {
1664
1664
  return this.translate(this.chart?.time.parse(t) ?? NaN, !1, !this.horiz, void 0, !0) + (e ? 0 : this.pos);
@@ -1672,14 +1672,14 @@ function Dp() {
1672
1672
  return u !== "pass" && (k < M || k > S) && (u ? k = Xs(k, M, S) : y = !0), k;
1673
1673
  }
1674
1674
  let v = { value: a, lineWidth: n, old: o, force: u, acrossPanes: t.acrossPanes, translatedValue: p };
1675
- return it(this, "getPlotLinePath", v, function(k) {
1675
+ return et(this, "getPlotLinePath", v, function(k) {
1676
1676
  g = m = (p = Xs(p = H(p, e.translate(a, void 0, void 0, o)), -1e9, 1e9)) + d, x = f = h - p - d, R(p) ? e.horiz ? (x = r, f = h - e.bottom + (e.options.isInternal ? 0 : i.scrollablePixelsY || 0), g = m = b(g, s, s + e.width)) : (g = s, m = c - e.right + (i.scrollablePixelsX || 0), x = f = b(x, r, r + e.height)) : (y = !0, u = !1), k.path = y && !u ? void 0 : i.renderer.crispLine([["M", g, x], ["L", m, f]], n || 1);
1677
1677
  }), v.path;
1678
1678
  }
1679
1679
  getLinearTickPositions(t, e, i) {
1680
- let s, r, o, a = At(Math.floor(e / t) * t), n = At(Math.ceil(i / t) * t), h = [];
1681
- if (At(a + t) === a && (o = 20), this.single) return [e];
1682
- for (s = a; s <= n && (h.push(s), (s = At(s + t, o)) !== r); ) r = s;
1680
+ let s, r, o, a = Ct(Math.floor(e / t) * t), n = Ct(Math.ceil(i / t) * t), h = [];
1681
+ if (Ct(a + t) === a && (o = 20), this.single) return [e];
1682
+ for (s = a; s <= n && (h.push(s), (s = Ct(s + t, o)) !== r); ) r = s;
1683
1683
  return h;
1684
1684
  }
1685
1685
  getMinorTickInterval() {
@@ -1700,7 +1700,7 @@ function Dp() {
1700
1700
  }
1701
1701
  adjustForMinRange() {
1702
1702
  let t = this.options, e = this.logarithmic, i = this.chart.time, { max: s, min: r, minRange: o } = this, a, n, h, c;
1703
- this.isXAxis && o === void 0 && !e && (o = K(t.min) || K(t.max) || K(t.floor) || K(t.ceiling) ? null : Math.min(5 * (Po(this.series.map((d) => {
1703
+ this.isXAxis && o === void 0 && !e && (o = q(t.min) || q(t.max) || q(t.floor) || q(t.ceiling) ? null : Math.min(5 * (Po(this.series.map((d) => {
1704
1704
  let p = d.getColumn("x");
1705
1705
  return d.xIncrement ? p.slice(0, 2) : p;
1706
1706
  })) || 0), this.dataMax - this.dataMin)), R(s) && R(r) && R(o) && s - r < o && (n = this.dataMax - this.dataMin >= o, a = (o - s + r) / 2, h = [r - a, i.parse(t.min) ?? r - a], n && (h[2] = e ? e.log2lin(this.dataMin) : this.dataMin), c = [(r = Ao(h)) + o, i.parse(t.max) ?? r + o], n && (c[2] = e ? e.log2lin(this.dataMax) : this.dataMax), (s = ih(c)) - r < o && (h[0] = s - o, h[1] = i.parse(t.min) ?? s - o, r = Ao(h))), this.minRange = o, this.min = r, this.max = s;
@@ -1712,14 +1712,14 @@ function Dp() {
1712
1712
  let i = [];
1713
1713
  this.series.forEach(function(s) {
1714
1714
  let r = s.closestPointRange, o = s.getColumn("x");
1715
- o.length === 1 ? i.push(o[0]) : s.sorted && K(r) && s.reserveSpace() && (e = K(e) ? Math.min(e, r) : r);
1715
+ o.length === 1 ? i.push(o[0]) : s.sorted && q(r) && s.reserveSpace() && (e = q(e) ? Math.min(e, r) : r);
1716
1716
  }), i.length && (i.sort((s, r) => s - r), t = Po([i]));
1717
1717
  }
1718
1718
  return t && e ? Math.min(t, e) : t || e;
1719
1719
  }
1720
1720
  nameToX(t) {
1721
1721
  let e = Oo(this.options.categories), i = e ? this.categories : this.names, s = t.options.x, r;
1722
- return t.series.requireSorting = !1, K(s) || (s = this.uniqueNames && i ? e ? i.indexOf(t.name) : H(i.keys[t.name], -1) : t.series.autoIncrement()), s === -1 ? !e && i && (r = i.length) : R(s) && (r = s), r !== void 0 ? (this.names[r] = t.name, this.names.keys[t.name] = r) : t.x && (r = t.x), r;
1722
+ return t.series.requireSorting = !1, q(s) || (s = this.uniqueNames && i ? e ? i.indexOf(t.name) : H(i.keys[t.name], -1) : t.series.autoIncrement()), s === -1 ? !e && i && (r = i.length) : R(s) && (r = s), r !== void 0 ? (this.names[r] = t.name, this.names.keys[t.name] = r) : t.x && (r = t.x), r;
1723
1723
  }
1724
1724
  updateNames() {
1725
1725
  let t = this, e = this.names;
@@ -1742,7 +1742,7 @@ function Dp() {
1742
1742
  let x = p.is("xrange") ? !r : r;
1743
1743
  n = Math.max(n, x && Lo(g) ? 0 : u / 2), h = Math.max(h, x && g === "on" ? 0 : u);
1744
1744
  }
1745
- }), c = t.ordinal?.slope && a ? t.ordinal.slope / a : 1, t.minPointOffset = n *= c, t.pointRangePadding = h *= c, t.pointRange = Math.min(o, t.single && s ? 1 : e), r && (t.closestPointRange = a)), t.translationSlope = t.transA = d = t.staticScale || t.len / (e + h || 1), t.transB = t.horiz ? t.left : t.bottom, t.minPixelPadding = d * n, it(this, "afterSetAxisTranslation");
1745
+ }), c = t.ordinal?.slope && a ? t.ordinal.slope / a : 1, t.minPointOffset = n *= c, t.pointRangePadding = h *= c, t.pointRange = Math.min(o, t.single && s ? 1 : e), r && (t.closestPointRange = a)), t.translationSlope = t.transA = d = t.staticScale || t.len / (e + h || 1), t.transB = t.horiz ? t.left : t.bottom, t.minPixelPadding = d * n, et(this, "afterSetAxisTranslation");
1746
1746
  }
1747
1747
  minFromRange() {
1748
1748
  let { max: t, min: e } = this;
@@ -1750,26 +1750,26 @@ function Dp() {
1750
1750
  }
1751
1751
  setTickInterval(t) {
1752
1752
  let { categories: e, chart: i, dataMax: s, dataMin: r, dateTime: o, isXAxis: a, logarithmic: n, options: h, softThreshold: c } = this, d = i.time, p = R(this.threshold) ? this.threshold : void 0, u = this.minRange || 0, { ceiling: g, floor: x, linkedTo: m, softMax: f, softMin: y } = h, b = R(m) && i[this.coll]?.[m], v = h.tickPixelInterval, k = h.maxPadding, M = h.minPadding, S = 0, w, A = R(h.tickInterval) && h.tickInterval >= 0 ? h.tickInterval : void 0, P, T, L, I;
1753
- if (o || e || b || this.getTickAmount(), L = H(this.userMin, d.parse(h.min)), I = H(this.userMax, d.parse(h.max)), b ? (this.linkedParent = b, w = b.getExtremes(), this.min = H(w.min, w.dataMin), this.max = H(w.max, w.dataMax), this.type !== b.type && Hs(11, !0, i)) : (c && K(p) && R(s) && R(r) && (r >= p ? (P = p, M = 0) : s <= p && (T = p, k = 0)), this.min = H(L, P, r), this.max = H(I, T, s)), R(this.max) && R(this.min) && (n && (this.positiveValuesOnly && !t && 0 >= Math.min(this.min, H(r, this.min)) && Hs(10, !0, i), this.min = At(n.log2lin(this.min), 16), this.max = At(n.log2lin(this.max), 16)), this.range && R(r) && (this.userMin = this.min = L = Math.max(r, this.minFromRange() || 0), this.userMax = I = this.max, this.range = void 0)), it(this, "foundExtremes"), this.adjustForMinRange(), R(this.min) && R(this.max)) {
1754
- if (!R(this.userMin) && R(y) && y < this.min && (this.min = L = y), !R(this.userMax) && R(f) && f > this.max && (this.max = I = f), e || this.axisPointRange || this.stacking?.usePercentage || b || (S = this.max - this.min) && (!K(L) && M && (this.min -= S * M), !K(I) && k && (this.max += S * k)), !R(this.userMin) && R(x) && (this.min = Math.max(this.min, x)), !R(this.userMax) && R(g) && (this.max = Math.min(this.max, g)), c && R(r) && R(s)) {
1753
+ if (o || e || b || this.getTickAmount(), L = H(this.userMin, d.parse(h.min)), I = H(this.userMax, d.parse(h.max)), b ? (this.linkedParent = b, w = b.getExtremes(), this.min = H(w.min, w.dataMin), this.max = H(w.max, w.dataMax), this.type !== b.type && Hs(11, !0, i)) : (c && q(p) && R(s) && R(r) && (r >= p ? (P = p, M = 0) : s <= p && (T = p, k = 0)), this.min = H(L, P, r), this.max = H(I, T, s)), R(this.max) && R(this.min) && (n && (this.positiveValuesOnly && !t && 0 >= Math.min(this.min, H(r, this.min)) && Hs(10, !0, i), this.min = Ct(n.log2lin(this.min), 16), this.max = Ct(n.log2lin(this.max), 16)), this.range && R(r) && (this.userMin = this.min = L = Math.max(r, this.minFromRange() || 0), this.userMax = I = this.max, this.range = void 0)), et(this, "foundExtremes"), this.adjustForMinRange(), R(this.min) && R(this.max)) {
1754
+ if (!R(this.userMin) && R(y) && y < this.min && (this.min = L = y), !R(this.userMax) && R(f) && f > this.max && (this.max = I = f), e || this.axisPointRange || this.stacking?.usePercentage || b || (S = this.max - this.min) && (!q(L) && M && (this.min -= S * M), !q(I) && k && (this.max += S * k)), !R(this.userMin) && R(x) && (this.min = Math.max(this.min, x)), !R(this.userMax) && R(g) && (this.max = Math.min(this.max, g)), c && R(r) && R(s)) {
1755
1755
  let O = p || 0;
1756
- !K(L) && this.min < O && r >= O ? this.min = h.minRange ? Math.min(O, this.max - u) : O : !K(I) && this.max > O && s <= O && (this.max = h.minRange ? Math.max(O, this.min + u) : O);
1756
+ !q(L) && this.min < O && r >= O ? this.min = h.minRange ? Math.min(O, this.max - u) : O : !q(I) && this.max > O && s <= O && (this.max = h.minRange ? Math.max(O, this.min + u) : O);
1757
1757
  }
1758
- !i.polar && this.min > this.max && (K(h.min) ? this.max = this.min : K(h.max) && (this.min = this.max)), S = this.max - this.min;
1758
+ !i.polar && this.min > this.max && (q(h.min) ? this.max = this.min : q(h.max) && (this.min = this.max)), S = this.max - this.min;
1759
1759
  }
1760
1760
  if (this.min !== this.max && R(this.min) && R(this.max) ? b && !A && v === b.options.tickPixelInterval ? this.tickInterval = A = b.tickInterval : this.tickInterval = H(A, this.tickAmount ? S / Math.max(this.tickAmount - 1, 1) : void 0, e ? 1 : S * v / Math.max(this.len, v)) : this.tickInterval = 1, a && !t) {
1761
1761
  let O = this.min !== this.old?.min || this.max !== this.old?.max;
1762
1762
  this.series.forEach(function(E) {
1763
1763
  E.forceCrop = E.forceCropping?.(), E.processData(O);
1764
- }), it(this, "postProcessData", { hasExtremesChanged: O });
1764
+ }), et(this, "postProcessData", { hasExtremesChanged: O });
1765
1765
  }
1766
- this.setAxisTranslation(), it(this, "initialAxisTranslation"), this.pointRange && !A && (this.tickInterval = Math.max(this.pointRange, this.tickInterval));
1766
+ this.setAxisTranslation(), et(this, "initialAxisTranslation"), this.pointRange && !A && (this.tickInterval = Math.max(this.pointRange, this.tickInterval));
1767
1767
  let D = H(h.minTickInterval, o && !this.series.some((O) => !O.sorted) ? this.closestPointRange : 0);
1768
1768
  !A && D && this.tickInterval < D && (this.tickInterval = D), o || n || A || (this.tickInterval = Eo(this, this.tickInterval)), this.tickAmount || (this.tickInterval = this.unsquish()), this.setTickPositions();
1769
1769
  }
1770
1770
  setTickPositions() {
1771
1771
  let t = this.options, e = t.tickPositions, i = t.tickPositioner, s = this.getMinorTickInterval(), r = !this.isPanning, o = r && t.startOnTick, a = r && t.endOnTick, n = [], h;
1772
- if (this.tickmarkOffset = this.categories && t.tickmarkPlacement === "between" && this.tickInterval === 1 ? 0.5 : 0, this.single = this.min === this.max && K(this.min) && !this.tickAmount && (this.min % 1 == 0 || t.allowDecimals !== !1), e) n = e.slice();
1772
+ if (this.tickmarkOffset = this.categories && t.tickmarkPlacement === "between" && this.tickInterval === 1 ? 0.5 : 0, this.single = this.min === this.max && q(this.min) && !this.tickAmount && (this.min % 1 == 0 || t.allowDecimals !== !1), e) n = e.slice();
1773
1773
  else if (R(this.min) && R(this.max)) {
1774
1774
  if (!this.ordinal?.positions && (this.max - this.min) / this.tickInterval > Math.max(2 * this.len, 200)) n = [this.min, this.max], Hs(19, !1, this.chart);
1775
1775
  else if (this.dateTime) n = this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval, t.units), this.min, this.max, t.startOfWeek, this.ordinal?.positions, this.closestPointRange, !0);
@@ -1780,16 +1780,16 @@ function Dp() {
1780
1780
  }
1781
1781
  n.length > this.len && (n = [n[0], n[n.length - 1]])[0] === n[1] && (n.length = 1), i && (this.tickPositions = n, (h = i.apply(this, [this.min, this.max])) && (n = h));
1782
1782
  }
1783
- this.tickPositions = n, this.minorTickInterval = s === "auto" && this.tickInterval ? this.tickInterval / t.minorTicksPerMajor : s, this.paddedTicks = n.slice(0), this.trimTicks(n, o, a), !this.isLinked && R(this.min) && R(this.max) && (this.single && n.length < 2 && !this.categories && !this.series.some((c) => c.is("heatmap") && c.options.pointPlacement === "between") && (this.min -= 0.5, this.max += 0.5), e || h || this.adjustTickAmount()), it(this, "afterSetTickPositions");
1783
+ this.tickPositions = n, this.minorTickInterval = s === "auto" && this.tickInterval ? this.tickInterval / t.minorTicksPerMajor : s, this.paddedTicks = n.slice(0), this.trimTicks(n, o, a), !this.isLinked && R(this.min) && R(this.max) && (this.single && n.length < 2 && !this.categories && !this.series.some((c) => c.is("heatmap") && c.options.pointPlacement === "between") && (this.min -= 0.5, this.max += 0.5), e || h || this.adjustTickAmount()), et(this, "afterSetTickPositions");
1784
1784
  }
1785
1785
  trimTicks(t, e, i) {
1786
1786
  let s = t[0], r = t[t.length - 1], o = !this.isOrdinal && this.minPointOffset || 0;
1787
- if (it(this, "trimTicks"), !this.isLinked || !this.grid) {
1787
+ if (et(this, "trimTicks"), !this.isLinked || !this.grid) {
1788
1788
  if (e && s !== -1 / 0) this.min = s;
1789
1789
  else for (; this.min - o > t[0]; ) t.shift();
1790
1790
  if (i) this.max = r;
1791
1791
  else for (; this.max + o < t[t.length - 1]; ) t.pop();
1792
- t.length === 0 && K(s) && !this.options.tickPositions && t.push((r + s) / 2);
1792
+ t.length === 0 && q(s) && !this.options.tickPositions && t.push((r + s) / 2);
1793
1793
  }
1794
1794
  }
1795
1795
  alignToOthers() {
@@ -1824,10 +1824,10 @@ function Dp() {
1824
1824
  }
1825
1825
  getTickAmount() {
1826
1826
  let t = this.options, e = t.tickPixelInterval, i = t.tickAmount;
1827
- K(t.tickInterval) || i || !(this.len < e) || this.isRadial || this.logarithmic || !t.startOnTick || !t.endOnTick || (i = 2), !i && this.alignToOthers() && (i = Math.ceil(this.len / e) + 1), i < 4 && (this.finalTickAmt = i, i = 5), this.tickAmount = i;
1827
+ q(t.tickInterval) || i || !(this.len < e) || this.isRadial || this.logarithmic || !t.startOnTick || !t.endOnTick || (i = 2), !i && this.alignToOthers() && (i = Math.ceil(this.len / e) + 1), i < 4 && (this.finalTickAmt = i, i = 5), this.tickAmount = i;
1828
1828
  }
1829
1829
  adjustTickAmount() {
1830
- let t = this, { finalTickAmt: e, max: i, min: s, options: r, tickPositions: o, tickAmount: a, thresholdAlignment: n } = t, h = o?.length, c = H(t.threshold, t.softThreshold ? 0 : null), d, p, u = t.tickInterval, g, x = () => o.push(At(o[o.length - 1] + u)), m = () => o.unshift(At(o[0] - u));
1830
+ let t = this, { finalTickAmt: e, max: i, min: s, options: r, tickPositions: o, tickAmount: a, thresholdAlignment: n } = t, h = o?.length, c = H(t.threshold, t.softThreshold ? 0 : null), d, p, u = t.tickInterval, g, x = () => o.push(Ct(o[o.length - 1] + u)), m = () => o.unshift(Ct(o[0] - u));
1831
1831
  if (R(n) && (g = n < 0.5 ? Math.ceil(n * (a - 1)) : Math.floor(n * (a - 1)), r.reversed && (g = a - 1 - g)), t.hasData() && R(s) && R(i)) {
1832
1832
  let f = () => {
1833
1833
  t.transA *= (h - 1) / (a - 1), t.min = r.startOnTick ? o[0] : Math.min(s, o[0]), t.max = r.endOnTick ? o[o.length - 1] : Math.max(i, o[o.length - 1]);
@@ -1843,7 +1843,7 @@ function Dp() {
1843
1843
  for (; o.length < a; ) o.length % 2 || s === c ? x() : m();
1844
1844
  f();
1845
1845
  }
1846
- if (K(e)) {
1846
+ if (q(e)) {
1847
1847
  for (p = d = o.length; p--; ) (e === 3 && p % 2 == 1 || e <= 2 && p > 0 && p < d - 1) && o.splice(p, 1);
1848
1848
  t.finalTickAmt = void 0;
1849
1849
  }
@@ -1855,13 +1855,13 @@ function Dp() {
1855
1855
  i = i || o.isDirtyData || o.isDirty, s = s || o.xAxis?.isDirty || !1;
1856
1856
  }), this.setAxisSize();
1857
1857
  let r = this.len !== this.old?.len;
1858
- r || i || s || this.isLinked || this.forceRedraw || this.userMin !== this.old?.userMin || this.userMax !== this.old?.userMax || this.alignToOthers() ? (e && t === "yAxis" && e.buildStacks(), this.forceRedraw = !1, this.userMinRange || (this.minRange = void 0), this.getSeriesExtremes(), this.setTickInterval(), e && t === "xAxis" && e.buildStacks(), this.isDirty || (this.isDirty = r || this.min !== this.old?.min || this.max !== this.old?.max)) : e && e.cleanStacks(), i && delete this.allExtremes, it(this, "afterSetScale");
1858
+ r || i || s || this.isLinked || this.forceRedraw || this.userMin !== this.old?.userMin || this.userMax !== this.old?.userMax || this.alignToOthers() ? (e && t === "yAxis" && e.buildStacks(), this.forceRedraw = !1, this.userMinRange || (this.minRange = void 0), this.getSeriesExtremes(), this.setTickInterval(), e && t === "xAxis" && e.buildStacks(), this.isDirty || (this.isDirty = r || this.min !== this.old?.min || this.max !== this.old?.max)) : e && e.cleanStacks(), i && delete this.allExtremes, et(this, "afterSetScale");
1859
1859
  }
1860
1860
  setExtremes(t, e, i = !0, s, r) {
1861
1861
  let o = this.chart;
1862
1862
  this.series.forEach((a) => {
1863
1863
  delete a.kdTree;
1864
- }), t = o.time.parse(t), e = o.time.parse(e), it(this, "setExtremes", r = Bi(r, { min: t, max: e }), (a) => {
1864
+ }), t = o.time.parse(t), e = o.time.parse(e), et(this, "setExtremes", r = Bi(r, { min: t, max: e }), (a) => {
1865
1865
  this.userMin = a.min, this.userMax = a.max, this.eventArgs = a, i && o.redraw(s);
1866
1866
  });
1867
1867
  }
@@ -1871,7 +1871,7 @@ function Dp() {
1871
1871
  }
1872
1872
  getExtremes() {
1873
1873
  let t = this.logarithmic;
1874
- return { min: t ? At(t.lin2log(this.min)) : this.min, max: t ? At(t.lin2log(this.max)) : this.max, dataMin: this.dataMin, dataMax: this.dataMax, userMin: this.userMin, userMax: this.userMax };
1874
+ return { min: t ? Ct(t.lin2log(this.min)) : this.min, max: t ? Ct(t.lin2log(this.max)) : this.max, dataMin: this.dataMin, dataMax: this.dataMax, userMin: this.userMin, userMax: this.userMax };
1875
1875
  }
1876
1876
  getThreshold(t) {
1877
1877
  let e = this.logarithmic, i = e ? e.lin2log(this.min) : this.min, s = e ? e.lin2log(this.max) : this.max;
@@ -1879,7 +1879,7 @@ function Dp() {
1879
1879
  }
1880
1880
  autoLabelAlign(t) {
1881
1881
  let e = (H(t, 0) - 90 * this.side + 720) % 360, i = { align: "center" };
1882
- return it(this, "autoLabelAlign", i, function(s) {
1882
+ return et(this, "autoLabelAlign", i, function(s) {
1883
1883
  e > 15 && e < 165 ? s.align = "right" : e > 195 && e < 345 && (s.align = "left");
1884
1884
  }), i.align;
1885
1885
  }
@@ -1887,16 +1887,16 @@ function Dp() {
1887
1887
  let e = this.options, i = H(e[t === "tick" ? "tickWidth" : "minorTickWidth"], t === "tick" && this.isXAxis && !this.categories ? 1 : 0), s = e[t === "tick" ? "tickLength" : "minorTickLength"], r;
1888
1888
  i && s && (e[t + "Position"] === "inside" && (s = -s), r = [s, i]);
1889
1889
  let o = { tickSize: r };
1890
- return it(this, "afterTickSize", o), o.tickSize;
1890
+ return et(this, "afterTickSize", o), o.tickSize;
1891
1891
  }
1892
1892
  labelMetrics() {
1893
1893
  let t = this.chart.renderer, e = this.ticks, i = e[Object.keys(e)[0]] || {};
1894
1894
  return this.chart.renderer.fontMetrics(i.label || i.movedLabel || t.box);
1895
1895
  }
1896
1896
  unsquish() {
1897
- let t = this.options.labels, e = t.padding || 0, i = this.horiz, s = this.tickInterval, r = this.len / ((+!!this.categories + this.max - this.min) / s), o = t.rotation, a = At(0.8 * this.labelMetrics().h), n = Math.max(this.max - this.min, 0), h = function(g) {
1897
+ let t = this.options.labels, e = t.padding || 0, i = this.horiz, s = this.tickInterval, r = this.len / ((+!!this.categories + this.max - this.min) / s), o = t.rotation, a = Ct(0.8 * this.labelMetrics().h), n = Math.max(this.max - this.min, 0), h = function(g) {
1898
1898
  let x = (g + 2 * e) / (r || 1);
1899
- return (x = x > 1 ? Math.ceil(x) : 1) * s > n && g !== 1 / 0 && r !== 1 / 0 && n && (x = Math.ceil(n / s)), At(x * s);
1899
+ return (x = x > 1 ? Math.ceil(x) : 1) * s > n && g !== 1 / 0 && r !== 1 / 0 && n && (x = Math.ceil(n / s)), Ct(x * s);
1900
1900
  }, c = s, d, p = Number.MAX_VALUE, u;
1901
1901
  if (i) {
1902
1902
  if (!t.staggerLines && (R(o) ? u = [o] : r < t.autoRotationLimit && (u = t.autoRotation)), u) {
@@ -1932,7 +1932,7 @@ function Dp() {
1932
1932
  hasData() {
1933
1933
  return this.series.some(function(t) {
1934
1934
  return t.hasData();
1935
- }) || this.options.showEmpty && K(this.min) && K(this.max);
1935
+ }) || this.options.showEmpty && q(this.min) && q(this.max);
1936
1936
  }
1937
1937
  addTitle(t) {
1938
1938
  let e, i = this.chart.renderer, s = this.horiz, r = this.opposite, o = this.options.title, a = this.chart.styledMode;
@@ -1940,7 +1940,7 @@ function Dp() {
1940
1940
  }
1941
1941
  generateTick(t) {
1942
1942
  let e = this.ticks;
1943
- e[t] ? e[t].addLabel() : e[t] = new Ie(this, t);
1943
+ e[t] ? e[t].addLabel() : e[t] = new De(this, t);
1944
1944
  }
1945
1945
  createGroups() {
1946
1946
  let { axisParent: t, chart: e, coll: i, options: s } = this, r = e.renderer, o = (a, n, h) => r.g(a).attr({ zIndex: h }).addClass(`highcharts-${i.toLowerCase()}${n} ` + (this.isRadial ? `highcharts-radial-axis${n} ` : "") + (s.className || "")).add(t);
@@ -1954,13 +1954,13 @@ function Dp() {
1954
1954
  k = Math.max(o[w].getLabelSize(), k);
1955
1955
  }), t.staggerLines && (k *= t.staggerLines), t.labelOffset = k * (t.opposite ? -1 : 1)) : zi(o, function(w, A) {
1956
1956
  w.destroy(), delete o[A];
1957
- }), d?.text && d.enabled !== !1 && (t.addTitle(f), f && !u && d.reserveSpace !== !1 && (t.titleOffset = y = t.axisTitle.getBBox()[i ? "height" : "width"], v = K(b = d.offset) ? 0 : H(d.margin, i ? 5 : 10))), t.renderLine(), t.offset = m * H(s.offset, g[r] ? g[r] + (s.margin || 0) : 0), t.tickRotCorr = t.tickRotCorr || { x: 0, y: 0 }, S = r === 0 ? -t.labelMetrics().h : r === 2 ? t.tickRotCorr.y : 0, M = Math.abs(k) + v, k && (M -= S, M += m * (i ? H(p.y, t.tickRotCorr.y + m * p.distance) : H(p.x, m * p.distance))), t.axisTitleMargin = H(b, M), t.getMaxLabelDimensions && (t.maxLabelDimensions = t.getMaxLabelDimensions(o, a)), n !== "colorAxis" && x) {
1957
+ }), d?.text && d.enabled !== !1 && (t.addTitle(f), f && !u && d.reserveSpace !== !1 && (t.titleOffset = y = t.axisTitle.getBBox()[i ? "height" : "width"], v = q(b = d.offset) ? 0 : H(d.margin, i ? 5 : 10))), t.renderLine(), t.offset = m * H(s.offset, g[r] ? g[r] + (s.margin || 0) : 0), t.tickRotCorr = t.tickRotCorr || { x: 0, y: 0 }, S = r === 0 ? -t.labelMetrics().h : r === 2 ? t.tickRotCorr.y : 0, M = Math.abs(k) + v, k && (M -= S, M += m * (i ? H(p.y, t.tickRotCorr.y + m * p.distance) : H(p.x, m * p.distance))), t.axisTitleMargin = H(b, M), t.getMaxLabelDimensions && (t.maxLabelDimensions = t.getMaxLabelDimensions(o, a)), n !== "colorAxis" && x) {
1958
1958
  let w = this.tickSize("tick");
1959
1959
  g[r] = Math.max(g[r], (t.axisTitleMargin || 0) + y + m * t.offset, M, a?.length && w ? w[0] + m * t.offset : 0);
1960
1960
  let A = !t.axisLine || s.offset ? 0 : t.axisLine.strokeWidth() / 2;
1961
1961
  x[h] = Math.max(x[h], A);
1962
1962
  }
1963
- it(this, "afterGetOffset");
1963
+ et(this, "afterGetOffset");
1964
1964
  }
1965
1965
  getLinePath(t) {
1966
1966
  let e = this.chart, i = this.opposite, s = this.offset, r = this.horiz, o = this.left + (i ? this.width : 0) + s, a = e.chartHeight - this.bottom - (i ? this.height : 0) + s;
@@ -1971,15 +1971,15 @@ function Dp() {
1971
1971
  }
1972
1972
  getTitlePosition(t) {
1973
1973
  let e = this.horiz, i = this.left, s = this.top, r = this.len, o = this.options.title, a = e ? i : s, n = this.opposite, h = this.offset, c = o.x, d = o.y, p = this.chart.renderer.fontMetrics(t), u = t ? Math.max(t.getBBox(!1, 0).height - p.h - 1, 0) : 0, g = { low: a + (e ? 0 : r), middle: a + r / 2, high: a + (e ? r : 0) }[o.align], x = (e ? s + this.height : i) + (e ? 1 : -1) * (n ? -1 : 1) * (this.axisTitleMargin || 0) + [-u, u, p.f, -u][this.side], m = { x: e ? g + c : x + (n ? this.width : 0) + h + c, y: e ? x + d - (n ? this.height : 0) + h : g + d };
1974
- return it(this, "afterGetTitlePosition", { titlePosition: m }), m;
1974
+ return et(this, "afterGetTitlePosition", { titlePosition: m }), m;
1975
1975
  }
1976
1976
  renderMinorTick(t, e) {
1977
1977
  let i = this.minorTicks;
1978
- i[t] || (i[t] = new Ie(this, t, "minor")), e && i[t].isNew && i[t].render(null, !0), i[t].render(null, !1, 1);
1978
+ i[t] || (i[t] = new De(this, t, "minor")), e && i[t].isNew && i[t].render(null, !0), i[t].render(null, !1, 1);
1979
1979
  }
1980
1980
  renderTick(t, e, i) {
1981
1981
  let s = this.isLinked, r = this.ticks;
1982
- (!s || t >= this.min && t <= this.max || this.grid?.isColumn) && (r[t] || (r[t] = new Ie(this, t)), i && r[t].isNew && r[t].render(e, !0, -1), r[t].render(e));
1982
+ (!s || t >= this.min && t <= this.max || this.grid?.isColumn) && (r[t] || (r[t] = new De(this, t)), i && r[t].isNew && r[t].render(e, !0, -1), r[t].render(e));
1983
1983
  }
1984
1984
  render() {
1985
1985
  let t, e, i = this, s = i.chart, r = i.logarithmic, o = s.renderer, a = i.options, n = i.isLinked, h = i.tickPositions, c = i.axisTitle, d = i.ticks, p = i.minorTicks, u = i.alternateBands, g = a.stackLabels, x = a.alternateGridColor, m = a.crossing, f = i.tickmarkOffset, y = i.axisLine, b = i.showAxis, v = Jl(o.globalAnimation);
@@ -2000,7 +2000,7 @@ function Dp() {
2000
2000
  i.renderMinorTick(M, k);
2001
2001
  }), h.length && (h.forEach(function(M, S) {
2002
2002
  i.renderTick(M, S, k);
2003
- }), f && (i.min === 0 || i.single) && (d[-1] || (d[-1] = new Ie(i, -1, null, !0)), d[-1].render(-1))), x && h.forEach(function(M, S) {
2003
+ }), f && (i.min === 0 || i.single) && (d[-1] || (d[-1] = new De(i, -1, null, !0)), d[-1].render(-1))), x && h.forEach(function(M, S) {
2004
2004
  e = h[S + 1] !== void 0 ? h[S + 1] + f : i.max - f, S % 2 == 0 && M < i.max && e <= i.max + (s.polar ? -f : f) && (u[M] || (u[M] = new C.PlotLineOrBand(i, {})), t = M + f, u[M].options = { from: r ? r.lin2log(t) : t, to: r ? r.lin2log(e) : e, color: x, className: "highcharts-alternate-grid" }, u[M].render(), u[M].isActive = !0);
2005
2005
  }), i._addedPlotLB || (i._addedPlotLB = !0, (a.plotLines || []).concat(a.plotBands || []).forEach(function(M) {
2006
2006
  i.addPlotBandOrLine(M);
@@ -2014,7 +2014,7 @@ function Dp() {
2014
2014
  let w = M.length;
2015
2015
  for (; w--; ) k[M[w]] && !k[M[w]].isActive && (k[M[w]].destroy(), delete k[M[w]]);
2016
2016
  }, k !== u && s.hasRendered && S ? S : 0);
2017
- }), y && (y[y.isPlaced ? "animate" : "attr"]({ d: this.getLinePath(y.strokeWidth()) }), y.isPlaced = !0, y[b ? "show" : "hide"](b)), c && b && (c[c.isNew ? "attr" : "animate"](i.getTitlePosition(c)), c.isNew = !1), g?.enabled && i.stacking && i.stacking.renderStackTotals(), i.old = { len: i.len, max: i.max, min: i.min, transA: i.transA, userMax: i.userMax, userMin: i.userMin }, i.isDirty = !1, it(this, "afterRender");
2017
+ }), y && (y[y.isPlaced ? "animate" : "attr"]({ d: this.getLinePath(y.strokeWidth()) }), y.isPlaced = !0, y[b ? "show" : "hide"](b)), c && b && (c[c.isNew ? "attr" : "animate"](i.getTitlePosition(c)), c.isNew = !1), g?.enabled && i.stacking && i.stacking.renderStackTotals(), i.old = { len: i.len, max: i.max, min: i.min, transA: i.transA, userMax: i.userMax, userMin: i.userMin }, i.isDirty = !1, et(this, "afterRender");
2018
2018
  }
2019
2019
  redraw() {
2020
2020
  this.visible && (this.render(), this.plotLinesAndBands.forEach(function(t) {
@@ -2024,11 +2024,11 @@ function Dp() {
2024
2024
  });
2025
2025
  }
2026
2026
  getKeepProps() {
2027
- return this.keepProps || De.keepProps;
2027
+ return this.keepProps || Be.keepProps;
2028
2028
  }
2029
2029
  destroy(t) {
2030
2030
  let e = this, i = e.plotLinesAndBands, s = this.eventOptions;
2031
- if (it(this, "destroy", { keepEvents: t }), t || ah(e), [e.ticks, e.minorTicks, e.alternateBands].forEach(function(r) {
2031
+ if (et(this, "destroy", { keepEvents: t }), t || ah(e), [e.ticks, e.minorTicks, e.alternateBands].forEach(function(r) {
2032
2032
  sh(r);
2033
2033
  }), i) {
2034
2034
  let r = i.length;
@@ -2043,14 +2043,14 @@ function Dp() {
2043
2043
  }
2044
2044
  drawCrosshair(t, e) {
2045
2045
  let i = this.crosshair, s = i?.snap ?? !0, r = this.chart, o, a, n, h = this.cross, c;
2046
- if (it(this, "drawCrosshair", { e: t, point: e }), t || (t = this.cross?.e), i && (K(e) || !s) !== !1) {
2047
- if (s ? K(e) && (a = H(this.coll !== "colorAxis" ? e.crosshairPos : null, this.isXAxis ? e.plotX : this.len - e.plotY)) : a = t && (this.horiz ? t.chartX - this.pos : this.len - t.chartY + this.pos), K(a) && (c = { value: e && (this.isXAxis ? e.x : H(e.stackY, e.y)), translatedValue: a }, r.polar && Bi(c, { isCrosshair: !0, chartX: t?.chartX, chartY: t?.chartY, point: e }), o = this.getPlotLinePath(c) || null), !K(o)) return void this.hideCrosshair();
2048
- n = this.categories && !this.isRadial, h || (this.cross = h = r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-" + (n ? "category " : "thin ") + (i.className || "")).attr({ zIndex: H(i.zIndex, 2) }).add(), !r.styledMode && (h.attr({ stroke: i.color || (n ? et.parse("#ccd3ff").setOpacity(0.25).get() : "#cccccc"), "stroke-width": H(i.width, 1) }).css({ "pointer-events": "none" }), i.dashStyle && h.attr({ dashstyle: i.dashStyle }))), h.show().attr({ d: o }), n && !i.width && h.attr({ "stroke-width": this.transA }), this.cross.e = t;
2046
+ if (et(this, "drawCrosshair", { e: t, point: e }), t || (t = this.cross?.e), i && (q(e) || !s) !== !1) {
2047
+ if (s ? q(e) && (a = H(this.coll !== "colorAxis" ? e.crosshairPos : null, this.isXAxis ? e.plotX : this.len - e.plotY)) : a = t && (this.horiz ? t.chartX - this.pos : this.len - t.chartY + this.pos), q(a) && (c = { value: e && (this.isXAxis ? e.x : H(e.stackY, e.y)), translatedValue: a }, r.polar && Bi(c, { isCrosshair: !0, chartX: t?.chartX, chartY: t?.chartY, point: e }), o = this.getPlotLinePath(c) || null), !q(o)) return void this.hideCrosshair();
2048
+ n = this.categories && !this.isRadial, h || (this.cross = h = r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-" + (n ? "category " : "thin ") + (i.className || "")).attr({ zIndex: H(i.zIndex, 2) }).add(), !r.styledMode && (h.attr({ stroke: i.color || (n ? tt.parse("#ccd3ff").setOpacity(0.25).get() : "#cccccc"), "stroke-width": H(i.width, 1) }).css({ "pointer-events": "none" }), i.dashStyle && h.attr({ dashstyle: i.dashStyle }))), h.show().attr({ d: o }), n && !i.width && h.attr({ "stroke-width": this.transA }), this.cross.e = t;
2049
2049
  } else this.hideCrosshair();
2050
- it(this, "afterDrawCrosshair", { e: t, point: e });
2050
+ et(this, "afterDrawCrosshair", { e: t, point: e });
2051
2051
  }
2052
2052
  hideCrosshair() {
2053
- this.cross && this.cross.hide(), it(this, "afterHideCrosshair");
2053
+ this.cross && this.cross.hide(), et(this, "afterHideCrosshair");
2054
2054
  }
2055
2055
  update(t, e) {
2056
2056
  let i = this.chart;
@@ -2068,7 +2068,7 @@ function Dp() {
2068
2068
  this.update({ categories: t }, e);
2069
2069
  }
2070
2070
  }
2071
- De.keepProps = ["coll", "extKey", "hcEvents", "len", "names", "series", "userMax", "userMin"];
2071
+ Be.keepProps = ["coll", "extKey", "hcEvents", "len", "names", "series", "userMax", "userMin"];
2072
2072
  let { addEvent: hh, getMagnitude: dh, normalizeTickInterval: ch, timeUnits: Wi } = B;
2073
2073
  (function(l) {
2074
2074
  function t() {
@@ -2101,8 +2101,8 @@ function Dp() {
2101
2101
  }
2102
2102
  }
2103
2103
  l.Additions = i;
2104
- })(He || (He = {}));
2105
- let ph = He, { addEvent: Io, normalizeTickInterval: uh, pick: gh } = B;
2104
+ })(Dt || (Dt = {}));
2105
+ let ph = Dt, { addEvent: Io, normalizeTickInterval: uh, pick: gh } = B;
2106
2106
  (function(l) {
2107
2107
  function t() {
2108
2108
  this.type !== "logarithmic" ? this.logarithmic = void 0 : this.logarithmic ?? (this.logarithmic = new i(this));
@@ -2195,7 +2195,7 @@ function Dp() {
2195
2195
  return d.addPlotBand || (t = h, xh(d, { addPlotBand: e, addPlotLine: s, addPlotBandOrLine: i, getPlotBandPath: r, removePlotBand: o, removePlotLine: n, removePlotBandOrLine: a })), c;
2196
2196
  };
2197
2197
  })(Ge || (Ge = {}));
2198
- let yh = Ge, { addEvent: bh, arrayMax: Bo, arrayMin: No, defined: Ft, destroyObjectProperties: vh, erase: kh, fireEvent: wh, merge: zo, objectEach: Mh, pick: Sh } = B;
2198
+ let yh = Ge, { addEvent: bh, arrayMax: Bo, arrayMin: No, defined: Yt, destroyObjectProperties: vh, erase: kh, fireEvent: wh, merge: zo, objectEach: Mh, pick: Sh } = B;
2199
2199
  class Xi {
2200
2200
  static compose(t, e) {
2201
2201
  return bh(t, "afterInit", function() {
@@ -2211,32 +2211,32 @@ function Dp() {
2211
2211
  }
2212
2212
  render() {
2213
2213
  wh(this, "render");
2214
- let { axis: t, options: e } = this, { horiz: i, logarithmic: s } = t, { color: r, events: o, zIndex: a = 0 } = e, { renderer: n, time: h } = t.chart, c = {}, d = h.parse(e.to), p = h.parse(e.from), u = h.parse(e.value), g = e.borderWidth, x = e.label, { label: m, svgElem: f } = this, y = [], b, v = Ft(p) && Ft(d), k = Ft(u), M = !f, S = { class: "highcharts-plot-" + (v ? "band " : "line ") + (e.className || "") }, w = v ? "bands" : "lines";
2215
- if (!t.chart.styledMode && (k ? (S.stroke = r || "#999999", S["stroke-width"] = Sh(e.width, 1), e.dashStyle && (S.dashstyle = e.dashStyle)) : v && (S.fill = r || "#e6e9ff", g && (S.stroke = e.borderColor, S["stroke-width"] = g))), c.zIndex = a, w += "-" + a, (b = t.plotLinesAndBandsGroups[w]) || (t.plotLinesAndBandsGroups[w] = b = n.g("plot-" + w).attr(c).add()), f || (this.svgElem = f = n.path().attr(S).add(b)), Ft(u)) y = t.getPlotLinePath({ value: s?.log2lin(u) ?? u, lineWidth: f.strokeWidth(), acrossPanes: e.acrossPanes });
2214
+ let { axis: t, options: e } = this, { horiz: i, logarithmic: s } = t, { color: r, events: o, zIndex: a = 0 } = e, { renderer: n, time: h } = t.chart, c = {}, d = h.parse(e.to), p = h.parse(e.from), u = h.parse(e.value), g = e.borderWidth, x = e.label, { label: m, svgElem: f } = this, y = [], b, v = Yt(p) && Yt(d), k = Yt(u), M = !f, S = { class: "highcharts-plot-" + (v ? "band " : "line ") + (e.className || "") }, w = v ? "bands" : "lines";
2215
+ if (!t.chart.styledMode && (k ? (S.stroke = r || "#999999", S["stroke-width"] = Sh(e.width, 1), e.dashStyle && (S.dashstyle = e.dashStyle)) : v && (S.fill = r || "#e6e9ff", g && (S.stroke = e.borderColor, S["stroke-width"] = g))), c.zIndex = a, w += "-" + a, (b = t.plotLinesAndBandsGroups[w]) || (t.plotLinesAndBandsGroups[w] = b = n.g("plot-" + w).attr(c).add()), f || (this.svgElem = f = n.path().attr(S).add(b)), Yt(u)) y = t.getPlotLinePath({ value: s?.log2lin(u) ?? u, lineWidth: f.strokeWidth(), acrossPanes: e.acrossPanes });
2216
2216
  else {
2217
- if (!(Ft(p) && Ft(d))) return;
2217
+ if (!(Yt(p) && Yt(d))) return;
2218
2218
  y = t.getPlotBandPath(s?.log2lin(p) ?? p, s?.log2lin(d) ?? d, e);
2219
2219
  }
2220
2220
  return !this.eventsAdded && o && (Mh(o, (A, P) => {
2221
2221
  f?.on(P, (T) => {
2222
2222
  o[P].apply(this, [T]);
2223
2223
  });
2224
- }), this.eventsAdded = !0), (M || !f.d) && y?.length ? f.attr({ d: y }) : f && (y ? (f.show(), f.animate({ d: y })) : f.d && (f.hide(), m && (this.label = m = m.destroy()))), x && (Ft(x.text) || Ft(x.formatter)) && y?.length && t.width > 0 && t.height > 0 && !y.isFlat ? (x = zo({ align: i && v ? "center" : void 0, x: i ? !v && 4 : 10, verticalAlign: !i && v ? "middle" : void 0, y: i ? v ? 16 : 10 : v ? 6 : -4, rotation: i && !v ? 90 : 0, ...v ? { inside: !0 } : {} }, x), this.renderLabel(x, y, v, a)) : m && m.hide(), this;
2224
+ }), this.eventsAdded = !0), (M || !f.d) && y?.length ? f.attr({ d: y }) : f && (y ? (f.show(), f.animate({ d: y })) : f.d && (f.hide(), m && (this.label = m = m.destroy()))), x && (Yt(x.text) || Yt(x.formatter)) && y?.length && t.width > 0 && t.height > 0 && !y.isFlat ? (x = zo({ align: i && v ? "center" : void 0, x: i ? !v && 4 : 10, verticalAlign: !i && v ? "middle" : void 0, y: i ? v ? 16 : 10 : v ? 6 : -4, rotation: i && !v ? 90 : 0, ...v ? { inside: !0 } : {} }, x), this.renderLabel(x, y, v, a)) : m && m.hide(), this;
2225
2225
  }
2226
2226
  renderLabel(t, e, i, s) {
2227
2227
  let r = this.axis, o = r.chart.renderer, a = t.inside, n = this.label;
2228
2228
  n || (this.label = n = o.text(this.getLabelText(t), 0, 0, t.useHTML).attr({ align: t.textAlign || t.align, rotation: t.rotation, class: "highcharts-plot-" + (i ? "band" : "line") + "-label " + (t.className || ""), zIndex: s }), r.chart.styledMode || n.css(zo({ color: r.chart.options.title?.style?.color, fontSize: "0.8em", textOverflow: i && !a ? "" : "ellipsis" }, t.style)), n.add());
2229
2229
  let h = e.xBounds || [e[0][1], e[1][1], i ? e[2][1] : e[0][1]], c = e.yBounds || [e[0][2], e[1][2], i ? e[2][2] : e[0][2]], d = No(h), p = No(c), u = Bo(h) - d;
2230
- n.align(t, !1, { x: d, y: p, width: u, height: Bo(c) - p }), n.alignAttr.y -= o.fontMetrics(n).b, (!n.alignValue || n.alignValue === "left" || Ft(a)) && n.css({ width: (t.style?.width || (i && a ? u : n.rotation === 90 ? r.height - (n.alignAttr.y - r.top) : (t.clip ? r.width : r.chart.chartWidth) - (n.alignAttr.x - r.left))) + "px" }), n.show(!0);
2230
+ n.align(t, !1, { x: d, y: p, width: u, height: Bo(c) - p }), n.alignAttr.y -= o.fontMetrics(n).b, (!n.alignValue || n.alignValue === "left" || Yt(a)) && n.css({ width: (t.style?.width || (i && a ? u : n.rotation === 90 ? r.height - (n.alignAttr.y - r.top) : (t.clip ? r.width : r.chart.chartWidth) - (n.alignAttr.x - r.left))) + "px" }), n.show(!0);
2231
2231
  }
2232
2232
  getLabelText(t) {
2233
- return Ft(t.formatter) ? t.formatter.call(this) : t.text;
2233
+ return Yt(t.formatter) ? t.formatter.call(this) : t.text;
2234
2234
  }
2235
2235
  destroy() {
2236
2236
  kh(this.axis.plotLinesAndBands, this), delete this.axis, vh(this);
2237
2237
  }
2238
2238
  }
2239
- let { animObject: Th } = gt, { format: Ro } = Lt, { composed: Ah, dateFormats: Ch, doc: Wo, isSafari: Ph } = C, { distribute: Oh } = ki, { addEvent: Lh, clamp: Be, css: Xo, discardElement: Eh, extend: Ih, fireEvent: Fs, getAlignFactor: Ho, isArray: Dh, isNumber: Bh, isObject: Nh, isString: Gs, merge: zh, pick: Ne, pushUnique: Rh, splat: Ys, syncTimeout: Wh } = B;
2239
+ let { animObject: Th } = ft, { format: Ro } = Et, { composed: Ah, dateFormats: Ch, doc: Wo, isSafari: Ph } = C, { distribute: Oh } = ki, { addEvent: Lh, clamp: Ne, css: Xo, discardElement: Eh, extend: Ih, fireEvent: Fs, getAlignFactor: Ho, isArray: Dh, isNumber: Bh, isObject: Nh, isString: Gs, merge: zh, pick: ze, pushUnique: Rh, splat: Ys, syncTimeout: Wh } = B;
2240
2240
  class js {
2241
2241
  constructor(t, e, i) {
2242
2242
  this.allowShared = !0, this.crosshairs = [], this.distance = 0, this.isHidden = !0, this.isSticky = !1, this.options = {}, this.outside = !1, this.chart = t, this.init(t, e), this.pointer = i;
@@ -2276,7 +2276,7 @@ function Dp() {
2276
2276
  }
2277
2277
  getClassName(t, e, i) {
2278
2278
  let s = this.options, r = t.series, o = r.options;
2279
- return [s.className, "highcharts-label", i && "highcharts-tooltip-header", e ? "highcharts-tooltip-box" : "highcharts-tooltip", !i && "highcharts-color-" + Ne(t.colorIndex, r.colorIndex), o?.className].filter(Gs).join(" ");
2279
+ return [s.className, "highcharts-label", i && "highcharts-tooltip-header", e ? "highcharts-tooltip-box" : "highcharts-tooltip", !i && "highcharts-color-" + ze(t.colorIndex, r.colorIndex), o?.className].filter(Gs).join(" ");
2280
2280
  }
2281
2281
  getLabel({ anchorX: t, anchorY: e } = { anchorX: 0, anchorY: 0 }) {
2282
2282
  let i = this, s = this.chart.styledMode, r = this.options, o = this.split && this.allowShared, a = this.container, n = this.chart.renderer;
@@ -2311,18 +2311,18 @@ function Dp() {
2311
2311
  return [O, E ? f : m, E ? t : e].concat(o ? [E ? b(t) : v(e), E ? y.left - s + b(p + h) : y.top - s + v(u + c), 0, E ? f : m] : [E ? t : e, E ? p + h : u + c, E ? h : c, E ? h + r.plotWidth : c + r.plotHeight]);
2312
2312
  }, M = k("y"), S = k("x"), w, A = !!i.negative;
2313
2313
  !d && r.hoverSeries?.yAxis?.reversed && (A = !A);
2314
- let P = !this.followPointer && Ne(i.ttBelow, !d && !n === A), T = function(O, E, N, _, F, G, X) {
2315
- let W = o ? O === "y" ? v(s) : b(s) : s, V = (N - _) / 2, U = _ < F - s, $ = F + s + _ < E, Z = F - W - N + V, q = F + W - V;
2316
- if (P && $) g[O] = q;
2317
- else if (!P && U) g[O] = Z;
2318
- else if (U) g[O] = Math.min(X - _, Z - x < 0 ? Z : Z - x);
2314
+ let P = !this.followPointer && ze(i.ttBelow, !d && !n === A), T = function(O, E, N, K, F, G, X) {
2315
+ let W = o ? O === "y" ? v(s) : b(s) : s, U = (N - K) / 2, j = K < F - s, V = F + s + K < E, $ = F - W - N + U, Z = F + W - U;
2316
+ if (P && V) g[O] = Z;
2317
+ else if (!P && j) g[O] = $;
2318
+ else if (j) g[O] = Math.min(X - K, $ - x < 0 ? $ : $ - x);
2319
2319
  else {
2320
- if (!$) return g[O] = 0, !1;
2321
- g[O] = Math.max(G, q + x + N > E ? q : q + x);
2320
+ if (!V) return g[O] = 0, !1;
2321
+ g[O] = Math.max(G, Z + x + N > E ? Z : Z + x);
2322
2322
  }
2323
- }, L = function(O, E, N, _, F) {
2323
+ }, L = function(O, E, N, K, F) {
2324
2324
  if (F < s || F > E - s) return !1;
2325
- F < N / 2 ? g[O] = 1 : F > E - _ / 2 ? g[O] = E - _ - 2 : g[O] = F - N / 2;
2325
+ F < N / 2 ? g[O] = 1 : F > E - K / 2 ? g[O] = E - K - 2 : g[O] = F - N / 2;
2326
2326
  }, I = function(O) {
2327
2327
  [M, S] = [S, M], w = O;
2328
2328
  }, D = () => {
@@ -2336,7 +2336,7 @@ function Dp() {
2336
2336
  }
2337
2337
  hide(t) {
2338
2338
  let e = this;
2339
- B.clearTimeout(this.hideTimer), t = Ne(t, this.options.hideDelay), this.isHidden || (this.hideTimer = Wh(function() {
2339
+ B.clearTimeout(this.hideTimer), t = ze(t, this.options.hideDelay), this.isHidden || (this.hideTimer = Wh(function() {
2340
2340
  let i = e.getLabel();
2341
2341
  e.getLabel().animate({ opacity: 0 }, { duration: t && 150, complete: () => {
2342
2342
  i.hide(), e.container && e.container.remove();
@@ -2344,7 +2344,7 @@ function Dp() {
2344
2344
  }, t));
2345
2345
  }
2346
2346
  init(t, e) {
2347
- this.chart = t, this.options = e, this.crosshairs = [], this.isHidden = !0, this.split = e.split && !t.inverted && !t.polar, this.shared = e.shared || this.split, this.outside = Ne(e.outside, !!(t.scrollablePixelsX || t.scrollablePixelsY));
2347
+ this.chart = t, this.options = e, this.crosshairs = [], this.isHidden = !0, this.split = e.split && !t.inverted && !t.polar, this.shared = e.shared || this.split, this.outside = ze(e.outside, !!(t.scrollablePixelsX || t.scrollablePixelsY));
2348
2348
  }
2349
2349
  shouldStickOnContact(t) {
2350
2350
  return !!(!this.followPointer && this.options.stickOnContact && (!t || this.pointer.inClass(t.target, "highcharts-tooltip")));
@@ -2362,7 +2362,7 @@ function Dp() {
2362
2362
  let m = Gs(h) ? Ro(h, n, i) : c.call(n, this);
2363
2363
  n.points = void 0;
2364
2364
  let f = n.series;
2365
- if (this.distance = Ne(f.tooltipOptions.distance, 16), m === !1) this.hide();
2365
+ if (this.distance = ze(f.tooltipOptions.distance, 16), m === !1) this.hide();
2366
2366
  else {
2367
2367
  if (this.split && this.allowShared) this.renderSplit(m, a);
2368
2368
  else {
@@ -2370,7 +2370,7 @@ function Dp() {
2370
2370
  if (e && r.isDirectTouch && (y = e.chartX - i.plotLeft, b = e.chartY - i.plotTop), !(i.polar || f.options.clip === !1 || a.some((v) => r.isDirectTouch || v.series.shouldShowTooltip(y, b)))) return void this.hide();
2371
2371
  {
2372
2372
  let v = this.getLabel(p && this.tt || {});
2373
- (!s.style.width || d) && v.css({ width: (this.outside ? this.getPlayingField() : i.spacingBox).width + "px" }), v.attr({ class: this.getClassName(n), text: m && m.join ? m.join("") : m }), this.outside && v.attr({ x: Be(v.x || 0, 0, this.getPlayingField().width - (v.width || 0) - 1) }), d || v.attr({ stroke: s.borderColor || n.color || f.color || "#666666" }), this.updatePosition({ plotX: g, plotY: x, negative: n.negative, ttBelow: n.ttBelow, series: f, h: u[2] || 0 });
2373
+ (!s.style.width || d) && v.css({ width: (this.outside ? this.getPlayingField() : i.spacingBox).width + "px" }), v.attr({ class: this.getClassName(n), text: m && m.join ? m.join("") : m }), this.outside && v.attr({ x: Ne(v.x || 0, 0, this.getPlayingField().width - (v.width || 0) - 1) }), d || v.attr({ stroke: s.borderColor || n.color || f.color || "#666666" }), this.updatePosition({ plotX: g, plotY: x, negative: n.negative, ttBelow: n.ttBelow, series: f, h: u[2] || 0 });
2374
2374
  }
2375
2375
  }
2376
2376
  this.isHidden && this.label && this.label.attr({ opacity: 1 }).show(), this.isHidden = !1;
@@ -2378,40 +2378,40 @@ function Dp() {
2378
2378
  Fs(this, "refresh");
2379
2379
  }
2380
2380
  renderSplit(t, e) {
2381
- let i = this, { chart: s, chart: { chartWidth: r, plotHeight: o, plotLeft: a, plotTop: n, scrollablePixelsY: h = 0, scrollablePixelsX: c, styledMode: d }, distance: p, options: u, options: { fixed: g, position: x, positioner: m }, pointer: f } = i, { scrollLeft: y = 0, scrollTop: b = 0 } = s.scrollablePlotArea?.scrollingContainer || {}, v = i.outside && typeof c != "number" ? Wo.documentElement.getBoundingClientRect() : { left: y, right: y + r }, k = i.getLabel(), M = this.renderer || s.renderer, S = !!s.xAxis[0]?.opposite, { left: w, top: A } = f.getChartPosition(), P = m || g, T = n + b, L = 0, I = o - h, D = function(G, X, W, V = [0, 0], U = !0) {
2382
- let $, Z;
2383
- if (W.isHeader) Z = S ? 0 : I, $ = Be(V[0] - G / 2, v.left, v.right - G - (i.outside ? w : 0));
2381
+ let i = this, { chart: s, chart: { chartWidth: r, plotHeight: o, plotLeft: a, plotTop: n, scrollablePixelsY: h = 0, scrollablePixelsX: c, styledMode: d }, distance: p, options: u, options: { fixed: g, position: x, positioner: m }, pointer: f } = i, { scrollLeft: y = 0, scrollTop: b = 0 } = s.scrollablePlotArea?.scrollingContainer || {}, v = i.outside && typeof c != "number" ? Wo.documentElement.getBoundingClientRect() : { left: y, right: y + r }, k = i.getLabel(), M = this.renderer || s.renderer, S = !!s.xAxis[0]?.opposite, { left: w, top: A } = f.getChartPosition(), P = m || g, T = n + b, L = 0, I = o - h, D = function(G, X, W, U = [0, 0], j = !0) {
2382
+ let V, $;
2383
+ if (W.isHeader) $ = S ? 0 : I, V = Ne(U[0] - G / 2, v.left, v.right - G - (i.outside ? w : 0));
2384
2384
  else if (g && W) {
2385
- let q = i.getFixedPosition(G, X, W);
2386
- $ = q.x, Z = q.y - T;
2387
- } else Z = V[1] - T, $ = Be($ = U ? V[0] - G - p : V[0] + p, U ? $ : v.left, v.right);
2388
- return { x: $, y: Z };
2385
+ let Z = i.getFixedPosition(G, X, W);
2386
+ V = Z.x, $ = Z.y - T;
2387
+ } else $ = U[1] - T, V = Ne(V = j ? U[0] - G - p : U[0] + p, j ? V : v.left, v.right);
2388
+ return { x: V, y: $ };
2389
2389
  };
2390
2390
  Gs(t) && (t = [!1, t]);
2391
2391
  let O = t.slice(0, e.length + 1).reduce(function(G, X, W) {
2392
2392
  if (X !== !1 && X !== "") {
2393
- let V = e[W - 1] || { isHeader: !0, plotX: e[0].plotX, plotY: o, series: {} }, U = V.isHeader, $ = U ? i : V.series, Z = $.tt = (function(Nt, ft, ae) {
2394
- let Ct = Nt, { isHeader: ve, series: gi } = ft, zt = gi.tooltipOptions || u;
2395
- if (!Ct) {
2396
- let Xe = { padding: zt.padding, r: zt.borderRadius };
2397
- d || (Xe.fill = zt.backgroundColor, Xe["stroke-width"] = zt.borderWidth ?? (g && !ve ? 0 : 1)), Ct = M.label("", 0, 0, zt[ve ? "headerShape" : "shape"] || (g && !ve ? "rect" : "callout"), void 0, void 0, zt.useHTML).addClass(i.getClassName(ft, !0, ve)).attr(Xe).add(k);
2393
+ let U = e[W - 1] || { isHeader: !0, plotX: e[0].plotX, plotY: o, series: {} }, j = U.isHeader, V = j ? i : U.series, $ = V.tt = (function(Rt, mt, le) {
2394
+ let Pt = Rt, { isHeader: ke, series: gi } = mt, Wt = gi.tooltipOptions || u;
2395
+ if (!Pt) {
2396
+ let He = { padding: Wt.padding, r: Wt.borderRadius };
2397
+ d || (He.fill = Wt.backgroundColor, He["stroke-width"] = Wt.borderWidth ?? (g && !ke ? 0 : 1)), Pt = M.label("", 0, 0, Wt[ke ? "headerShape" : "shape"] || (g && !ke ? "rect" : "callout"), void 0, void 0, Wt.useHTML).addClass(i.getClassName(mt, !0, ke)).attr(He).add(k);
2398
2398
  }
2399
- return Ct.isActive = !0, Ct.attr({ text: ae }), d || Ct.css(zt.style).attr({ stroke: zt.borderColor || ft.color || gi.color || "#333333" }), Ct;
2400
- })($.tt, V, X.toString()), q = Z.getBBox(), vt = q.width + Z.strokeWidth();
2401
- U && (L = q.height, I += L, S && (T -= L));
2402
- let { anchorX: kt, anchorY: wt } = (function(Nt) {
2403
- let ft, ae, { isHeader: Ct, plotX: ve = 0, plotY: gi = 0, series: zt } = Nt;
2404
- if (Ct) ft = Math.max(a + ve, a), ae = n + o / 2;
2399
+ return Pt.isActive = !0, Pt.attr({ text: le }), d || Pt.css(Wt.style).attr({ stroke: Wt.borderColor || mt.color || gi.color || "#333333" }), Pt;
2400
+ })(V.tt, U, X.toString()), Z = $.getBBox(), kt = Z.width + $.strokeWidth();
2401
+ j && (L = Z.height, I += L, S && (T -= L));
2402
+ let { anchorX: wt, anchorY: Mt } = (function(Rt) {
2403
+ let mt, le, { isHeader: Pt, plotX: ke = 0, plotY: gi = 0, series: Wt } = Rt;
2404
+ if (Pt) mt = Math.max(a + ke, a), le = n + o / 2;
2405
2405
  else {
2406
- let { xAxis: Xe, yAxis: sn } = zt;
2407
- ft = Xe.pos + Be(ve, -p, Xe.len + p), zt.shouldShowTooltip(0, sn.pos - n + gi, { ignoreX: !0 }) && (ae = sn.pos + gi);
2406
+ let { xAxis: He, yAxis: sn } = Wt;
2407
+ mt = He.pos + Ne(ke, -p, He.len + p), Wt.shouldShowTooltip(0, sn.pos - n + gi, { ignoreX: !0 }) && (le = sn.pos + gi);
2408
2408
  }
2409
- return { anchorX: ft = Be(ft, v.left - p, v.right + p), anchorY: ae };
2410
- })(V);
2411
- if (typeof wt == "number") {
2412
- let Nt = q.height + 1, ft = (m || D).call(i, vt, Nt, V, [kt, wt]);
2413
- G.push({ align: P ? 0 : void 0, anchorX: kt, anchorY: wt, boxWidth: vt, point: V, rank: Ne(ft.rank, +!!U), size: Nt, target: ft.y, tt: Z, x: ft.x });
2414
- } else Z.isActive = !1;
2409
+ return { anchorX: mt = Ne(mt, v.left - p, v.right + p), anchorY: le };
2410
+ })(U);
2411
+ if (typeof Mt == "number") {
2412
+ let Rt = Z.height + 1, mt = (m || D).call(i, kt, Rt, U, [wt, Mt]);
2413
+ G.push({ align: P ? 0 : void 0, anchorX: wt, anchorY: Mt, boxWidth: kt, point: U, rank: ze(mt.rank, +!!j), size: Rt, target: mt.y, tt: $, x: mt.x });
2414
+ } else $.isActive = !1;
2415
2415
  }
2416
2416
  return G;
2417
2417
  }, []);
@@ -2424,20 +2424,20 @@ function Dp() {
2424
2424
  })), i.cleanSplit(), Oh(O, I);
2425
2425
  let E = { left: w, right: w };
2426
2426
  O.forEach(function(G) {
2427
- let { x: X, boxWidth: W, isHeader: V } = G;
2428
- !V && (i.outside && w + X < E.left && (E.left = w + X), !V && i.outside && E.left + W > E.right && (E.right = w + X));
2427
+ let { x: X, boxWidth: W, isHeader: U } = G;
2428
+ !U && (i.outside && w + X < E.left && (E.left = w + X), !U && i.outside && E.left + W > E.right && (E.right = w + X));
2429
2429
  }), O.forEach(function(G) {
2430
- let { x: X, anchorX: W, anchorY: V, pos: U, point: { isHeader: $ } } = G, Z = { visibility: U === void 0 ? "hidden" : "inherit", x: X, y: (U || 0) + T + (g && x.y || 0), anchorX: W, anchorY: V };
2430
+ let { x: X, anchorX: W, anchorY: U, pos: j, point: { isHeader: V } } = G, $ = { visibility: j === void 0 ? "hidden" : "inherit", x: X, y: (j || 0) + T + (g && x.y || 0), anchorX: W, anchorY: U };
2431
2431
  if (i.outside && X < W) {
2432
- let q = w - E.left;
2433
- q > 0 && ($ || (Z.x = X + q, Z.anchorX = W + q), $ && (Z.x = (E.right - E.left) / 2, Z.anchorX = W + q));
2432
+ let Z = w - E.left;
2433
+ Z > 0 && (V || ($.x = X + Z, $.anchorX = W + Z), V && ($.x = (E.right - E.left) / 2, $.anchorX = W + Z));
2434
2434
  }
2435
- G.tt.attr(Z);
2435
+ G.tt.attr($);
2436
2436
  });
2437
- let { container: N, outside: _, renderer: F } = i;
2438
- if (_ && N && F) {
2439
- let { width: G, height: X, x: W, y: V } = k.getBBox();
2440
- F.setSize(G + W, X + V, !1), N.style.left = E.left + "px", N.style.top = A + "px";
2437
+ let { container: N, outside: K, renderer: F } = i;
2438
+ if (K && N && F) {
2439
+ let { width: G, height: X, x: W, y: U } = k.getBBox();
2440
+ F.setSize(G + W, X + U, !1), N.style.left = E.left + "px", N.style.top = A + "px";
2441
2441
  }
2442
2442
  Ph && k.attr({ opacity: k.opacity === 1 ? 0.999 : 1 });
2443
2443
  }
@@ -2479,7 +2479,7 @@ function Dp() {
2479
2479
  let { scrollLeft: k = 0, scrollTop: M = 0 } = e.scrollablePlotArea?.scrollingContainer || {};
2480
2480
  m.x += k + p - s, m.y += M + u - s;
2481
2481
  }
2482
- v = (r.borderWidth || 0) + 2 * s + 2, a.setSize(Be(h + v, 0, f.documentElement.clientWidth) - 1, n + v, !1), (g !== 1 || x !== 1) && (Xo(i, { transform: `scale(${g}, ${x})` }), y *= g, b *= x), y += p - m.x, b += u - m.y;
2482
+ v = (r.borderWidth || 0) + 2 * s + 2, a.setSize(Ne(h + v, 0, f.documentElement.clientWidth) - 1, n + v, !1), (g !== 1 || x !== 1) && (Xo(i, { transform: `scale(${g}, ${x})` }), y *= g, b *= x), y += p - m.x, b += u - m.y;
2483
2483
  }
2484
2484
  this.move(Math.round(m.x), Math.round(m.y || 0), y, b);
2485
2485
  }
@@ -2492,7 +2492,7 @@ function Dp() {
2492
2492
  });
2493
2493
  };
2494
2494
  })(js || (js = {}));
2495
- let Fo = js, { animObject: Xh } = gt, { defaultOptions: Hh } = Ot, { format: Fh } = Lt, { addEvent: Gh, crisp: Yh, erase: jh, extend: Hi, fireEvent: Us, getNestedProperty: Uh, isArray: Vh, isFunction: $h, isNumber: _t, isObject: Fi, merge: Go, pick: Jt, syncTimeout: Zh, removeEvent: Yo, uniqueKey: qh } = B;
2495
+ let Fo = js, { animObject: Xh } = ft, { defaultOptions: Hh } = Lt, { format: Fh } = Et, { addEvent: Gh, crisp: Yh, erase: jh, extend: Hi, fireEvent: Us, getNestedProperty: Uh, isArray: Vh, isFunction: $h, isNumber: Qt, isObject: Fi, merge: Go, pick: te, syncTimeout: Zh, removeEvent: Yo, uniqueKey: qh } = B;
2496
2496
  class ii {
2497
2497
  animateBeforeDestroy() {
2498
2498
  let t = this, e = { x: t.startXPos, opacity: 0 }, i = t.getGraphicalProps();
@@ -2506,7 +2506,7 @@ function Dp() {
2506
2506
  }
2507
2507
  applyOptions(t, e) {
2508
2508
  let i = this.series, s = i.options.pointValKey || i.pointValKey;
2509
- return Hi(this, t = ii.prototype.optionsToObject.call(this, t)), this.options = this.options ? Hi(this.options, t) : t, t.group && delete this.group, t.dataLabels && delete this.dataLabels, s && (this.y = ii.prototype.getNestedProperty.call(this, s)), this.selected && (this.state = "select"), "name" in this && e === void 0 && i.xAxis && i.xAxis.hasNames && (this.x = i.xAxis.nameToX(this)), this.x === void 0 && i ? this.x = e ?? i.autoIncrement() : _t(t.x) && i.options.relativeXValue ? this.x = i.autoIncrement(t.x) : typeof this.x == "string" && (e ?? (e = i.chart.time.parse(this.x)), _t(e) && (this.x = e)), this.isNull = this.isValid && !this.isValid(), this.formatPrefix = this.isNull ? "null" : "point", this;
2509
+ return Hi(this, t = ii.prototype.optionsToObject.call(this, t)), this.options = this.options ? Hi(this.options, t) : t, t.group && delete this.group, t.dataLabels && delete this.dataLabels, s && (this.y = ii.prototype.getNestedProperty.call(this, s)), this.selected && (this.state = "select"), "name" in this && e === void 0 && i.xAxis && i.xAxis.hasNames && (this.x = i.xAxis.nameToX(this)), this.x === void 0 && i ? this.x = e ?? i.autoIncrement() : Qt(t.x) && i.options.relativeXValue ? this.x = i.autoIncrement(t.x) : typeof this.x == "string" && (e ?? (e = i.chart.time.parse(this.x)), Qt(e) && (this.x = e)), this.isNull = this.isValid && !this.isValid(), this.formatPrefix = this.isNull ? "null" : "point", this;
2510
2510
  }
2511
2511
  destroy() {
2512
2512
  if (!this.destroyed) {
@@ -2559,11 +2559,11 @@ function Dp() {
2559
2559
  this.formatPrefix = "point", this.visible = !0, this.point = this, this.series = t, this.applyOptions(e, i), this.id ?? (this.id = qh()), this.resolveColor(), this.dataLabelOnNull ?? (this.dataLabelOnNull = t.options.nullInteraction), t.chart.pointCount++, Us(this, "afterInit");
2560
2560
  }
2561
2561
  isValid() {
2562
- return (_t(this.x) || this.x instanceof Date) && _t(this.y);
2562
+ return (Qt(this.x) || this.x instanceof Date) && Qt(this.y);
2563
2563
  }
2564
2564
  optionsToObject(t) {
2565
2565
  let e = this.series, i = e.options.keys, s = i || e.pointArrayMap || ["y"], r = s.length, o = {}, a, n = 0, h = 0;
2566
- if (_t(t) || t === null) o[s[0]] = t;
2566
+ if (Qt(t) || t === null) o[s[0]] = t;
2567
2567
  else if (Vh(t)) for (!i && t.length > r && ((a = typeof t[0]) == "string" ? e.xAxis?.dateTime ? o.x = e.chart.time.parse(t[0]) : o.name = t[0] : a === "number" && (o.x = t[0]), n++); h < r; ) i && t[n] === void 0 || (s[h].indexOf(".") > 0 ? ii.prototype.setNestedProperty(o, t[n], s[h]) : o[s[h]] = t[n]), n++, h++;
2568
2568
  else typeof t == "object" && (o = t, t.dataLabels && (e.hasDataLabels = () => !0), t.marker && (e._hasPointMarkers = !0));
2569
2569
  return o;
@@ -2571,12 +2571,12 @@ function Dp() {
2571
2571
  pos(t, e = this.plotY) {
2572
2572
  if (!this.destroyed) {
2573
2573
  let { plotX: i, series: s } = this, { chart: r, xAxis: o, yAxis: a } = s, n = 0, h = 0;
2574
- if (_t(i) && _t(e)) return t && (n = o ? o.pos : r.plotLeft, h = a ? a.pos : r.plotTop), r.inverted && o && a ? [a.len - e + h, o.len - i + n] : [i + n, e + h];
2574
+ if (Qt(i) && Qt(e)) return t && (n = o ? o.pos : r.plotLeft, h = a ? a.pos : r.plotTop), r.inverted && o && a ? [a.len - e + h, o.len - i + n] : [i + n, e + h];
2575
2575
  }
2576
2576
  }
2577
2577
  resolveColor() {
2578
2578
  let t = this.series, e = t.chart.options.chart, i = t.chart.styledMode, s, r, o = e.colorCount, a;
2579
- delete this.nonZonedColor, t.options.colorByPoint ? (i || (s = (r = t.options.colors || t.chart.options.colors)[t.colorCounter], o = r.length), a = t.colorCounter, t.colorCounter++, t.colorCounter === o && (t.colorCounter = 0)) : (i || (s = t.color), a = t.colorIndex), this.colorIndex = Jt(this.options.colorIndex, a), this.color = Jt(this.options.color, s);
2579
+ delete this.nonZonedColor, t.options.colorByPoint ? (i || (s = (r = t.options.colors || t.chart.options.colors)[t.colorCounter], o = r.length), a = t.colorCounter, t.colorCounter++, t.colorCounter === o && (t.colorCounter = 0)) : (i || (s = t.color), a = t.colorIndex), this.colorIndex = te(this.options.colorIndex, a), this.color = te(this.options.color, s);
2580
2580
  }
2581
2581
  setNestedProperty(t, e, i) {
2582
2582
  return i.split(".").reduce(function(s, r, o, a) {
@@ -2601,16 +2601,16 @@ function Dp() {
2601
2601
  n && u && (o.graphic = n.destroy(), delete o.hasMockGraphic), Fi(t, !0) && (n?.element && t && t.marker && t.marker.symbol !== void 0 && (o.graphic = n.destroy()), t?.dataLabels && o.dataLabel && (o.dataLabel = o.dataLabel.destroy())), r = o.index;
2602
2602
  let g = {};
2603
2603
  for (let x of a.dataColumnKeys()) g[x] = o[x];
2604
- a.dataTable.setRow(g, r), c.data[r] = Fi(c.data[r], !0) || Fi(t, !0) ? o.options : Jt(t, c.data[r]), a.isDirty = a.isDirtyData = !0, !a.fixedBox && a.hasCartesianSeries && (h.isDirtyBox = !0), c.legendType === "point" && (h.isDirtyLegend = !0), e && h.redraw(i);
2604
+ a.dataTable.setRow(g, r), c.data[r] = Fi(c.data[r], !0) || Fi(t, !0) ? o.options : te(t, c.data[r]), a.isDirty = a.isDirtyData = !0, !a.fixedBox && a.hasCartesianSeries && (h.isDirtyBox = !0), c.legendType === "point" && (h.isDirtyLegend = !0), e && h.redraw(i);
2605
2605
  }
2606
- e = Jt(e, !0), s === !1 ? d() : o.firePointEvent("update", { options: t }, d);
2606
+ e = te(e, !0), s === !1 ? d() : o.firePointEvent("update", { options: t }, d);
2607
2607
  }
2608
2608
  remove(t, e) {
2609
2609
  this.series.removePoint(this.series.data.indexOf(this), t, e);
2610
2610
  }
2611
2611
  select(t, e) {
2612
2612
  let i = this, s = i.series, r = s.chart;
2613
- t = Jt(t, !i.selected), this.selectedStaging = t, i.firePointEvent(t ? "select" : "unselect", { accumulate: e }, function() {
2613
+ t = te(t, !i.selected), this.selectedStaging = t, i.firePointEvent(t ? "select" : "unselect", { accumulate: e }, function() {
2614
2614
  i.selected = i.options.selected = t, s.options.data[s.data.indexOf(i)] = i.options, i.setState(t && "select"), e || r.getSelectedPoints().forEach(function(o) {
2615
2615
  let a = o.series;
2616
2616
  o.selected && o !== i && (o.selected = o.options.selected = !1, a.options.data[a.data.indexOf(o)] = o.options, o.setState(r.hoverPoints && a.options.inactiveOtherPoints ? "inactive" : ""), o.firePointEvent("unselect"));
@@ -2636,23 +2636,23 @@ function Dp() {
2636
2636
  if ((t = t || "") === this.state && !e || this.selected && t !== "select" || r.enabled === !1 || t && (h || a && n.enabled === !1) || t && c.states && c.states[t] && c.states[t].enabled === !1) return;
2637
2637
  if (this.state = t, p && (g = i.markerAttribs(this, t)), this.graphic && !this.hasMockGraphic) {
2638
2638
  if (s && this.graphic.removeClass("highcharts-point-" + s), t && this.graphic.addClass("highcharts-point-" + t), !d.styledMode) {
2639
- x = i.pointAttribs(this, t), m = Jt(d.options.chart.animation, r.animation);
2639
+ x = i.pointAttribs(this, t), m = te(d.options.chart.animation, r.animation);
2640
2640
  let M = x.opacity;
2641
- i.options.inactiveOtherPoints && _t(M) && (this.dataLabels || []).forEach(function(S) {
2641
+ i.options.inactiveOtherPoints && Qt(M) && (this.dataLabels || []).forEach(function(S) {
2642
2642
  S && !S.hasClass("highcharts-data-label-hidden") && (S.animate({ opacity: M }, m), S.connector && S.connector.animate({ opacity: M }, m));
2643
2643
  }), this.graphic.animate(x, m);
2644
2644
  }
2645
- g && this.graphic.animate(g, Jt(d.options.chart.animation, n.animation, o.animation)), f && f.hide();
2645
+ g && this.graphic.animate(g, te(d.options.chart.animation, n.animation, o.animation)), f && f.hide();
2646
2646
  } else t && n && (y = c.symbol || i.symbol, f && f.currentSymbol !== y && (f = f.destroy()), g && (f ? f[e ? "animate" : "attr"]({ x: g.x, y: g.y }) : y && (i.stateMarkerGraphic = f = d.renderer.symbol(y, g.x, g.y, g.width, g.height, Go(o, n)).add(i.markerGroup), f.currentSymbol = y)), !d.styledMode && f && this.state !== "inactive" && f.attr(i.pointAttribs(this, t))), f && (f[t && this.isInside ? "show" : "hide"](), f.element.point = this, f.addClass(this.getClassName(), !0));
2647
2647
  let b = r.halo, v = this.graphic || f, k = v?.visibility || "inherit";
2648
- b?.size && v && k !== "hidden" && !this.isCluster ? (u || (i.halo = u = d.renderer.path().add(v.parentGroup)), u.show()[e ? "animate" : "attr"]({ d: this.haloPath(b.size) }), u.attr({ class: "highcharts-halo highcharts-color-" + Jt(this.colorIndex, i.colorIndex) + (this.className ? " " + this.className : ""), visibility: k, zIndex: -1 }), u.point = this, d.styledMode || u.attr(Hi({ fill: this.color || i.color, "fill-opacity": b.opacity }, tt.filterUserAttributes(b.attributes || {})))) : u?.point?.haloPath && !u.point.destroyed && u.animate({ d: u.point.haloPath(0) }, null, u.hide), Us(this, "afterSetState", { state: t });
2648
+ b?.size && v && k !== "hidden" && !this.isCluster ? (u || (i.halo = u = d.renderer.path().add(v.parentGroup)), u.show()[e ? "animate" : "attr"]({ d: this.haloPath(b.size) }), u.attr({ class: "highcharts-halo highcharts-color-" + te(this.colorIndex, i.colorIndex) + (this.className ? " " + this.className : ""), visibility: k, zIndex: -1 }), u.point = this, d.styledMode || u.attr(Hi({ fill: this.color || i.color, "fill-opacity": b.opacity }, Q.filterUserAttributes(b.attributes || {})))) : u?.point?.haloPath && !u.point.destroyed && u.animate({ d: u.point.haloPath(0) }, null, u.hide), Us(this, "afterSetState", { state: t });
2649
2649
  }
2650
2650
  haloPath(t) {
2651
2651
  let e = this.pos();
2652
2652
  return e ? this.series.chart.renderer.symbols.circle(Yh(e[0], 1) - t, e[1] - t, 2 * t, 2 * t) : [];
2653
2653
  }
2654
2654
  }
2655
- let Qt = ii, { parse: Kh } = et, { charts: Vs, composed: _h, isTouchDevice: Jh } = C, { addEvent: Et, attr: Qh, css: $s, extend: Zs, find: jo, fireEvent: te, isNumber: Gi, isObject: Yi, objectEach: td, offset: ed, pick: Gt, pushUnique: id, splat: Uo } = B;
2655
+ let ee = ii, { parse: Kh } = tt, { charts: Vs, composed: _h, isTouchDevice: Jh } = C, { addEvent: It, attr: Qh, css: $s, extend: Zs, find: jo, fireEvent: ie, isNumber: Gi, isObject: Yi, objectEach: td, offset: ed, pick: jt, pushUnique: id, splat: Uo } = B;
2656
2656
  class pt {
2657
2657
  applyInactiveState(t = []) {
2658
2658
  let e = [];
@@ -2672,7 +2672,7 @@ function Dp() {
2672
2672
  }
2673
2673
  getSelectionMarkerAttrs(t, e) {
2674
2674
  let i = { args: { chartX: t, chartY: e }, attrs: {}, shapeType: "rect" };
2675
- return te(this, "getSelectionMarkerAttrs", i, (s) => {
2675
+ return ie(this, "getSelectionMarkerAttrs", i, (s) => {
2676
2676
  let r, { chart: o, zoomHor: a, zoomVert: n } = this, { mouseDownX: h = 0, mouseDownY: c = 0 } = o, d = s.attrs;
2677
2677
  d.x = o.plotLeft, d.y = o.plotTop, d.width = a ? 1 : o.plotWidth, d.height = n ? 1 : o.plotHeight, a && (d.width = Math.max(1, Math.abs(r = t - h)), d.x = (r > 0 ? 0 : r) + h), n && (d.height = Math.max(1, Math.abs(r = e - c)), d.y = (r > 0 ? 0 : r) + c);
2678
2678
  }), i;
@@ -2691,7 +2691,7 @@ function Dp() {
2691
2691
  }
2692
2692
  getSelectionBox(t) {
2693
2693
  let e = { args: { marker: t }, result: t.getBBox() };
2694
- return te(this, "getSelectionBox", e), e.result;
2694
+ return ie(this, "getSelectionBox", e), e.result;
2695
2695
  }
2696
2696
  drop(t) {
2697
2697
  let e, { chart: i, selectionMarker: s } = this;
@@ -2737,9 +2737,9 @@ function Dp() {
2737
2737
  }
2738
2738
  getHoverData(t, e, i, s, r, o) {
2739
2739
  let a = [], n = function(u) {
2740
- return u.visible && !(!r && u.directTouch) && Gt(u.options.enableMouseTracking, !0);
2740
+ return u.visible && !(!r && u.directTouch) && jt(u.options.enableMouseTracking, !0);
2741
2741
  }, h = e, c, d = { chartX: o ? o.chartX : void 0, chartY: o ? o.chartY : void 0, shared: r };
2742
- te(this, "beforeGetHoverData", d), c = h && !h.stickyTracking ? [h] : i.filter((u) => u.stickyTracking && (d.filter || n)(u));
2742
+ ie(this, "beforeGetHoverData", d), c = h && !h.stickyTracking ? [h] : i.filter((u) => u.stickyTracking && (d.filter || n)(u));
2743
2743
  let p = s && t || !o ? t : this.findNearestKDPoint(c, r, o);
2744
2744
  return h = p?.series, p && (r && !h.noSharedTooltip ? (c = i.filter(function(u) {
2745
2745
  return d.filter ? d.filter(u) : n(u) && !u.noSharedTooltip;
@@ -2748,7 +2748,7 @@ function Dp() {
2748
2748
  return m.x === p.x && (!m.isNull || !!g);
2749
2749
  });
2750
2750
  Yi(x) && (u.boosted && u.boost && (x = u.boost.getPoint(x)), a.push(x));
2751
- }) : a.push(p)), te(this, "afterGetHoverData", d = { hoverPoint: p }), { hoverPoint: d.hoverPoint, hoverSeries: h, hoverPoints: a };
2751
+ }) : a.push(p)), ie(this, "afterGetHoverData", d = { hoverPoint: p }), { hoverPoint: d.hoverPoint, hoverSeries: h, hoverPoints: a };
2752
2752
  }
2753
2753
  getPointFromEvent(t) {
2754
2754
  let e = t.target, i;
@@ -2770,24 +2770,24 @@ function Dp() {
2770
2770
  }
2771
2771
  }
2772
2772
  constructor(t, e) {
2773
- this.hasDragged = 0, this.pointerCaptureEventsToUnbind = [], this.eventsToUnbind = [], this.options = e, this.chart = t, this.runChartClick = !!e.chart.events?.click, this.pinchDown = [], this.setDOMEvents(), te(this, "afterInit");
2773
+ this.hasDragged = 0, this.pointerCaptureEventsToUnbind = [], this.eventsToUnbind = [], this.options = e, this.chart = t, this.runChartClick = !!e.chart.events?.click, this.pinchDown = [], this.setDOMEvents(), ie(this, "afterInit");
2774
2774
  }
2775
2775
  normalize(t, e) {
2776
- let i = t.touches, s = i ? i.length ? i.item(0) : Gt(i.changedTouches, t.changedTouches)[0] : t;
2776
+ let i = t.touches, s = i ? i.length ? i.item(0) : jt(i.changedTouches, t.changedTouches)[0] : t;
2777
2777
  e || (e = this.getChartPosition());
2778
2778
  let r = s.pageX - e.left, o = s.pageY - e.top;
2779
2779
  return Zs(t, { chartX: Math.round(r /= e.scaleX), chartY: Math.round(o /= e.scaleY) });
2780
2780
  }
2781
2781
  onContainerClick(t) {
2782
2782
  let e = this.chart, i = e.hoverPoint, s = this.normalize(t), r = e.plotLeft, o = e.plotTop;
2783
- !e.cancelClick && (i && this.inClass(s.target, "highcharts-tracker") ? (te(i.series, "click", Zs(s, { point: i })), e.hoverPoint && i.firePointEvent("click", s)) : (Zs(s, this.getCoordinates(s)), e.isInsidePlot(s.chartX - r, s.chartY - o, { visiblePlotOnly: !0 }) && te(e, "click", s)));
2783
+ !e.cancelClick && (i && this.inClass(s.target, "highcharts-tracker") ? (ie(i.series, "click", Zs(s, { point: i })), e.hoverPoint && i.firePointEvent("click", s)) : (Zs(s, this.getCoordinates(s)), e.isInsidePlot(s.chartX - r, s.chartY - o, { visiblePlotOnly: !0 }) && ie(e, "click", s)));
2784
2784
  }
2785
2785
  onContainerMouseDown(t) {
2786
2786
  let e = (1 & (t.buttons || t.button)) == 1;
2787
2787
  t = this.normalize(t), C.isFirefox && t.button !== 0 && this.onContainerMouseMove(t), (t.button === void 0 || e) && (this.zoomOption(t), e && t.preventDefault?.(), this.dragStart(t));
2788
2788
  }
2789
2789
  onContainerMouseLeave(t) {
2790
- let { pointer: e } = Vs[Gt(pt.hoverChartIndex, -1)] || {};
2790
+ let { pointer: e } = Vs[jt(pt.hoverChartIndex, -1)] || {};
2791
2791
  t = this.normalize(t), this.onContainerMouseMove(t), e && !this.inClass(t.relatedTarget, "highcharts-tooltip") && (e.reset(), e.chartPosition = void 0);
2792
2792
  }
2793
2793
  onContainerMouseEnter() {
@@ -2811,11 +2811,11 @@ function Dp() {
2811
2811
  !s || e.isInsidePlot(r.chartX - e.plotLeft, r.chartY - e.plotTop, { visiblePlotOnly: !0 }) || i?.shouldStickOnContact(r) || r.target !== e.container.ownerDocument && this.inClass(r.target, "highcharts-tracker") || this.reset();
2812
2812
  }
2813
2813
  onDocumentMouseUp(t) {
2814
- t?.touches && this.hasPinchMoved && t?.preventDefault?.(), Vs[Gt(pt.hoverChartIndex, -1)]?.pointer?.drop(t);
2814
+ t?.touches && this.hasPinchMoved && t?.preventDefault?.(), Vs[jt(pt.hoverChartIndex, -1)]?.pointer?.drop(t);
2815
2815
  }
2816
2816
  pinch(t) {
2817
- let e = this, { chart: i, hasZoom: s, lastTouches: r } = e, o = [].map.call(t.touches || [], (d) => e.normalize(d)), a = o.length, n = a === 1 && (e.inClass(t.target, "highcharts-tracker") && i.runTrackerClick || e.runChartClick), h = i.tooltip, c = a === 1 && Gt(h?.options.followTouchMove, !0);
2818
- a > 1 ? e.initiated = !0 : c && (e.initiated = !1), s && e.initiated && !n && t.cancelable !== !1 && t.preventDefault(), t.type === "touchstart" ? (e.pinchDown = o, e.res = !0, i.mouseDownX = t.chartX) : c ? this.runPointActions(e.normalize(t)) : r && (te(i, "touchpan", { originalEvent: t, touches: o }, () => {
2817
+ let e = this, { chart: i, hasZoom: s, lastTouches: r } = e, o = [].map.call(t.touches || [], (d) => e.normalize(d)), a = o.length, n = a === 1 && (e.inClass(t.target, "highcharts-tracker") && i.runTrackerClick || e.runChartClick), h = i.tooltip, c = a === 1 && jt(h?.options.followTouchMove, !0);
2818
+ a > 1 ? e.initiated = !0 : c && (e.initiated = !1), s && e.initiated && !n && t.cancelable !== !1 && t.preventDefault(), t.type === "touchstart" ? (e.pinchDown = o, e.res = !0, i.mouseDownX = t.chartX) : c ? this.runPointActions(e.normalize(t)) : r && (ie(i, "touchpan", { originalEvent: t, touches: o }, () => {
2819
2819
  let d = (p) => {
2820
2820
  let u = p[0], g = p[1] || u;
2821
2821
  return { x: u.chartX, y: u.chartY, width: g.chartX - u.chartX, height: g.chartY - u.chartY };
@@ -2854,31 +2854,31 @@ function Dp() {
2854
2854
  let x = o.getAnchor([{}], t);
2855
2855
  s.isInsidePlot(x[0], x[1], { visiblePlotOnly: !0 }) && o.updatePosition({ plotX: x[0], plotY: x[1] });
2856
2856
  }
2857
- this.unDocMouseMove || (this.unDocMouseMove = Et(s.container.ownerDocument, "mousemove", (x) => Vs[pt.hoverChartIndex ?? -1]?.pointer?.onDocumentMouseMove(x)), this.eventsToUnbind.push(this.unDocMouseMove)), s.axes.forEach(function(x) {
2857
+ this.unDocMouseMove || (this.unDocMouseMove = It(s.container.ownerDocument, "mousemove", (x) => Vs[pt.hoverChartIndex ?? -1]?.pointer?.onDocumentMouseMove(x)), this.eventsToUnbind.push(this.unDocMouseMove)), s.axes.forEach(function(x) {
2858
2858
  let m, f = x.crosshair?.snap ?? !0;
2859
2859
  f && ((m = s.hoverPoint) && m.series[x.coll] === x || (m = jo(p, (y) => y.series?.[x.coll] === x))), m || !f ? x.drawCrosshair(t, m) : x.hideCrosshair();
2860
2860
  });
2861
2861
  }
2862
2862
  setDOMEvents() {
2863
2863
  let t = this.chart.container, e = t.ownerDocument;
2864
- t.onmousedown = this.onContainerMouseDown.bind(this), t.onmousemove = this.onContainerMouseMove.bind(this), t.onclick = this.onContainerClick.bind(this), this.eventsToUnbind.push(Et(t, "mouseenter", this.onContainerMouseEnter.bind(this)), Et(t, "mouseleave", this.onContainerMouseLeave.bind(this))), pt.unbindDocumentMouseUp.some((s) => s.doc === e) || pt.unbindDocumentMouseUp.push({ doc: e, unbind: Et(e, "mouseup", this.onDocumentMouseUp.bind(this)) });
2864
+ t.onmousedown = this.onContainerMouseDown.bind(this), t.onmousemove = this.onContainerMouseMove.bind(this), t.onclick = this.onContainerClick.bind(this), this.eventsToUnbind.push(It(t, "mouseenter", this.onContainerMouseEnter.bind(this)), It(t, "mouseleave", this.onContainerMouseLeave.bind(this))), pt.unbindDocumentMouseUp.some((s) => s.doc === e) || pt.unbindDocumentMouseUp.push({ doc: e, unbind: It(e, "mouseup", this.onDocumentMouseUp.bind(this)) });
2865
2865
  let i = this.chart.renderTo.parentElement;
2866
- for (; i && i.tagName !== "BODY"; ) this.eventsToUnbind.push(Et(i, "scroll", () => {
2866
+ for (; i && i.tagName !== "BODY"; ) this.eventsToUnbind.push(It(i, "scroll", () => {
2867
2867
  delete this.chartPosition;
2868
2868
  })), i = i.parentElement;
2869
- this.eventsToUnbind.push(Et(t, "touchstart", this.onContainerTouchStart.bind(this), { passive: !1 }), Et(t, "touchmove", this.onContainerTouchMove.bind(this), { passive: !1 })), pt.unbindDocumentTouchEnd || (pt.unbindDocumentTouchEnd = Et(e, "touchend", this.onDocumentTouchEnd.bind(this), { passive: !1 })), this.setPointerCapture(), Et(this.chart, "redraw", this.setPointerCapture.bind(this));
2869
+ this.eventsToUnbind.push(It(t, "touchstart", this.onContainerTouchStart.bind(this), { passive: !1 }), It(t, "touchmove", this.onContainerTouchMove.bind(this), { passive: !1 })), pt.unbindDocumentTouchEnd || (pt.unbindDocumentTouchEnd = It(e, "touchend", this.onDocumentTouchEnd.bind(this), { passive: !1 })), this.setPointerCapture(), It(this.chart, "redraw", this.setPointerCapture.bind(this));
2870
2870
  }
2871
2871
  setPointerCapture() {
2872
2872
  if (!Jh) return;
2873
- let t = this.pointerCaptureEventsToUnbind, e = this.chart, i = e.container, s = Gt(e.options.tooltip?.followTouchMove, !0) && e.series.some((r) => r.options.findNearestPointBy.indexOf("y") > -1);
2874
- !this.hasPointerCapture && s ? (t.push(Et(i, "pointerdown", (r) => {
2873
+ let t = this.pointerCaptureEventsToUnbind, e = this.chart, i = e.container, s = jt(e.options.tooltip?.followTouchMove, !0) && e.series.some((r) => r.options.findNearestPointBy.indexOf("y") > -1);
2874
+ !this.hasPointerCapture && s ? (t.push(It(i, "pointerdown", (r) => {
2875
2875
  r.target?.hasPointerCapture(r.pointerId) && r.target?.releasePointerCapture(r.pointerId);
2876
- }), Et(i, "pointermove", (r) => {
2876
+ }), It(i, "pointermove", (r) => {
2877
2877
  e.pointer?.getPointFromEvent(r)?.onMouseOver(r);
2878
- })), e.styledMode || $s(i, { "touch-action": "none" }), i.className += " highcharts-no-touch-action", this.hasPointerCapture = !0) : this.hasPointerCapture && !s && (t.forEach((r) => r()), t.length = 0, e.styledMode || $s(i, { "touch-action": Gt(e.options.chart.style?.["touch-action"], "manipulation") }), i.className = i.className.replace(" highcharts-no-touch-action", ""), this.hasPointerCapture = !1);
2878
+ })), e.styledMode || $s(i, { "touch-action": "none" }), i.className += " highcharts-no-touch-action", this.hasPointerCapture = !0) : this.hasPointerCapture && !s && (t.forEach((r) => r()), t.length = 0, e.styledMode || $s(i, { "touch-action": jt(e.options.chart.style?.["touch-action"], "manipulation") }), i.className = i.className.replace(" highcharts-no-touch-action", ""), this.hasPointerCapture = !1);
2879
2879
  }
2880
2880
  setHoverChartIndex(t) {
2881
- let e = this.chart, i = C.charts[Gt(pt.hoverChartIndex, -1)];
2881
+ let e = this.chart, i = C.charts[jt(pt.hoverChartIndex, -1)];
2882
2882
  if (i && i !== e) {
2883
2883
  let s = { relatedTarget: e.container };
2884
2884
  t && !t?.relatedTarget && Object.assign({}, t, s), i.pointer?.onContainerMouseLeave(t || s);
@@ -2887,19 +2887,19 @@ function Dp() {
2887
2887
  }
2888
2888
  touch(t, e) {
2889
2889
  let i, { chart: s, pinchDown: r = [] } = this;
2890
- this.setHoverChartIndex(), (t = this.normalize(t)).touches.length === 1 ? s.isInsidePlot(t.chartX - s.plotLeft, t.chartY - s.plotTop, { visiblePlotOnly: !0 }) && !s.exporting?.openMenu ? (e && this.runPointActions(t), t.type === "touchmove" && (this.hasPinchMoved = i = !!r[0] && Math.pow(r[0].chartX - t.chartX, 2) + Math.pow(r[0].chartY - t.chartY, 2) >= 16), Gt(i, !0) && this.pinch(t)) : e && this.reset() : t.touches.length === 2 && this.pinch(t);
2890
+ this.setHoverChartIndex(), (t = this.normalize(t)).touches.length === 1 ? s.isInsidePlot(t.chartX - s.plotLeft, t.chartY - s.plotTop, { visiblePlotOnly: !0 }) && !s.exporting?.openMenu ? (e && this.runPointActions(t), t.type === "touchmove" && (this.hasPinchMoved = i = !!r[0] && Math.pow(r[0].chartX - t.chartX, 2) + Math.pow(r[0].chartY - t.chartY, 2) >= 16), jt(i, !0) && this.pinch(t)) : e && this.reset() : t.touches.length === 2 && this.pinch(t);
2891
2891
  }
2892
2892
  touchSelect(t) {
2893
2893
  return !!(this.chart.zooming.singleTouch && t.touches && t.touches.length === 1);
2894
2894
  }
2895
2895
  zoomOption(t) {
2896
2896
  let e = this.chart, i = e.inverted, s = e.zooming.type || "", r, o;
2897
- /touch/.test(t.type) && (s = Gt(e.zooming.pinchType, s)), this.zoomX = r = /x/.test(s), this.zoomY = o = /y/.test(s), this.zoomHor = r && !i || o && i, this.zoomVert = o && !i || r && i, this.hasZoom = r || o;
2897
+ /touch/.test(t.type) && (s = jt(e.zooming.pinchType, s)), this.zoomX = r = /x/.test(s), this.zoomY = o = /y/.test(s), this.zoomHor = r && !i || o && i, this.zoomVert = o && !i || r && i, this.hasZoom = r || o;
2898
2898
  }
2899
2899
  }
2900
2900
  pt.unbindDocumentMouseUp = [], (function(l) {
2901
2901
  l.compose = function(t) {
2902
- id(_h, "Core.Pointer") && Et(t, "beforeRender", function() {
2902
+ id(_h, "Core.Pointer") && It(t, "beforeRender", function() {
2903
2903
  this.pointer = new l(this, this.options);
2904
2904
  });
2905
2905
  };
@@ -2913,8 +2913,8 @@ function Dp() {
2913
2913
  let o = Object.getPrototypeOf(t).constructor, a = t[s ? "subarray" : "slice"](e, e + i), n = new o(t.length - i + r.length);
2914
2914
  return n.set(t.subarray(0, e), 0), n.set(r, e), n.set(t.subarray(e + i), e + r.length), { removed: a, array: n };
2915
2915
  };
2916
- })(he || (he = {}));
2917
- let { setLength: sd, splice: $o } = he, { fireEvent: qs, objectEach: si, uniqueKey: ri } = B, ji = class {
2916
+ })(de || (de = {}));
2917
+ let { setLength: sd, splice: $o } = de, { fireEvent: qs, objectEach: si, uniqueKey: ri } = B, ji = class {
2918
2918
  constructor(l = {}) {
2919
2919
  this.autoId = !l.id, this.columns = {}, this.id = l.id || ri(), this.modified = this, this.rowCount = 0, this.versionTag = ri();
2920
2920
  let t = 0;
@@ -2980,48 +2980,48 @@ function Dp() {
2980
2980
  let s = i.legendItem || {}, r = e.options, o = e.symbolHeight, a = r.squareSymbol, n = a ? o : e.symbolWidth;
2981
2981
  s.symbol = this.chart.renderer.rect(a ? (e.symbolWidth - o) / 2 : 0, e.baseline - o + 1, n, o, Zo(e.options.symbolRadius, o / 2)).addClass("highcharts-point").attr({ zIndex: 3 }).add(s.group);
2982
2982
  };
2983
- })(we || (we = {}));
2984
- let qo = we, { defaultOptions: Ko } = Ot, { extend: ad, extendClass: nd, merge: ld } = B;
2983
+ })(Me || (Me = {}));
2984
+ let qo = Me, { defaultOptions: Ko } = Lt, { extend: ad, extendClass: nd, merge: ld } = B;
2985
2985
  (function(l) {
2986
2986
  function t(e, i) {
2987
2987
  let s = Ko.plotOptions || {}, r = i.defaultOptions, o = i.prototype;
2988
- return o.type = e, o.pointClass || (o.pointClass = Qt), !l.seriesTypes[e] && (r && (s[e] = r), l.seriesTypes[e] = i, !0);
2988
+ return o.type = e, o.pointClass || (o.pointClass = ee), !l.seriesTypes[e] && (r && (s[e] = r), l.seriesTypes[e] = i, !0);
2989
2989
  }
2990
2990
  l.seriesTypes = C.seriesTypes, l.registerSeriesType = t, l.seriesType = function(e, i, s, r, o) {
2991
2991
  let a = Ko.plotOptions || {};
2992
- if (i = i || "", a[e] = ld(a[i], s), delete l.seriesTypes[e], t(e, nd(l.seriesTypes[i] || Tt, r)), l.seriesTypes[e].prototype.type = e, o) {
2993
- class n extends Qt {
2992
+ if (i = i || "", a[e] = ld(a[i], s), delete l.seriesTypes[e], t(e, nd(l.seriesTypes[i] || At, r)), l.seriesTypes[e].prototype.type = e, o) {
2993
+ class n extends ee {
2994
2994
  }
2995
2995
  ad(n.prototype, o), l.seriesTypes[e].prototype.pointClass = n;
2996
2996
  }
2997
2997
  return l.seriesTypes[e];
2998
2998
  };
2999
- })(St || (St = {}));
3000
- let at = St, { animObject: _o, setAnimation: hd } = gt, { defaultOptions: Ui } = Ot, { registerEventOptions: dd } = Ei, { svg: cd, win: pd } = C, { seriesTypes: ze } = at, { format: ud } = Lt, { arrayMax: Ks, arrayMin: Jo, clamp: Qo, correctFloat: ta, crisp: gd, defined: ht, destroyObjectProperties: fd, diffObjects: md, erase: ea, error: Vi, extend: Re, find: xd, fireEvent: st, getClosestDistance: yd, getNestedProperty: ia, insertItem: sa, isArray: ra, isNumber: ut, isString: bd, merge: oi, objectEach: _s, pick: rt, removeEvent: vd, syncTimeout: oa } = B;
3001
- class It {
2999
+ })(Tt || (Tt = {}));
3000
+ let ot = Tt, { animObject: _o, setAnimation: hd } = ft, { defaultOptions: Ui } = Lt, { registerEventOptions: dd } = Ei, { svg: cd, win: pd } = C, { seriesTypes: Re } = ot, { format: ud } = Et, { arrayMax: Ks, arrayMin: Jo, clamp: Qo, correctFloat: ta, crisp: gd, defined: ht, destroyObjectProperties: fd, diffObjects: md, erase: ea, error: Vi, extend: We, find: xd, fireEvent: it, getClosestDistance: yd, getNestedProperty: ia, insertItem: sa, isArray: ra, isNumber: ut, isString: bd, merge: oi, objectEach: _s, pick: st, removeEvent: vd, syncTimeout: oa } = B;
3001
+ class Bt {
3002
3002
  constructor() {
3003
3003
  this.zoneAxis = "y";
3004
3004
  }
3005
3005
  init(t, e) {
3006
3006
  let i;
3007
- st(this, "init", { options: e }), this.dataTable ?? (this.dataTable = new ji());
3007
+ it(this, "init", { options: e }), this.dataTable ?? (this.dataTable = new ji());
3008
3008
  let s = t.series;
3009
3009
  this.eventsToUnbind = [], this.chart = t, this.options = this.setOptions(e);
3010
3010
  let r = this.options, o = r.visible !== !1;
3011
- this.linkedSeries = [], this.bindAxes(), Re(this, { name: r.name, state: "", visible: o, selected: r.selected === !0 }), dd(this, r), (r.events?.click || r.point?.events?.click || r.allowPointSelect) && (t.runTrackerClick = !0), this.getColor(), this.getSymbol(), this.isCartesian && (t.hasCartesianSeries = !0), s.length && (i = s[s.length - 1]), this._i = rt(i?._i, -1) + 1, this.opacity = this.options.opacity, t.orderItems("series", sa(this, s)), r.dataSorting?.enabled ? this.setDataSortingOptions() : this.points || this.data || this.setData(r.data, !1), st(this, "afterInit");
3011
+ this.linkedSeries = [], this.bindAxes(), We(this, { name: r.name, state: "", visible: o, selected: r.selected === !0 }), dd(this, r), (r.events?.click || r.point?.events?.click || r.allowPointSelect) && (t.runTrackerClick = !0), this.getColor(), this.getSymbol(), this.isCartesian && (t.hasCartesianSeries = !0), s.length && (i = s[s.length - 1]), this._i = st(i?._i, -1) + 1, this.opacity = this.options.opacity, t.orderItems("series", sa(this, s)), r.dataSorting?.enabled ? this.setDataSortingOptions() : this.points || this.data || this.setData(r.data, !1), it(this, "afterInit");
3012
3012
  }
3013
3013
  is(t) {
3014
- return ze[t] && this instanceof ze[t];
3014
+ return Re[t] && this instanceof Re[t];
3015
3015
  }
3016
3016
  bindAxes() {
3017
3017
  let t, e = this, i = e.options, s = e.chart;
3018
- st(this, "bindAxes", null, function() {
3018
+ it(this, "bindAxes", null, function() {
3019
3019
  (e.axisTypes || []).forEach(function(r) {
3020
3020
  (s[r] || []).forEach(function(o) {
3021
- t = o.options, (rt(i[r], 0) === o.index || i[r] !== void 0 && i[r] === t.id) && (sa(e, o.series), e[r] = o, o.isDirty = !0);
3021
+ t = o.options, (st(i[r], 0) === o.index || i[r] !== void 0 && i[r] === t.id) && (sa(e, o.series), e[r] = o, o.isDirty = !0);
3022
3022
  }), e[r] || e.optionalAxis === r || Vi(18, !0, s);
3023
3023
  });
3024
- }), st(this, "afterBindAxes");
3024
+ }), it(this, "afterBindAxes");
3025
3025
  }
3026
3026
  hasData() {
3027
3027
  return this.visible && this.dataMax !== void 0 && this.dataMin !== void 0 || this.visible && this.dataTable.rowCount > 0;
@@ -3032,7 +3032,7 @@ function Dp() {
3032
3032
  }
3033
3033
  autoIncrement(t) {
3034
3034
  let e, i = this.options, { pointIntervalUnit: s, relativeXValue: r } = this.options, o = this.chart.time, a = this.xIncrement ?? o.parse(i.pointStart) ?? 0;
3035
- if (this.pointInterval = e = rt(this.pointInterval, i.pointInterval, 1), r && ut(t) && (e *= t), s) {
3035
+ if (this.pointInterval = e = st(this.pointInterval, i.pointInterval, 1), r && ut(t) && (e *= t), s) {
3036
3036
  let n = o.toParts(a);
3037
3037
  s === "day" ? n[2] += e : s === "month" ? n[1] += e : s === "year" && (n[0] += e), e = o.makeTime.apply(o, n) - a;
3038
3038
  }
@@ -3040,24 +3040,24 @@ function Dp() {
3040
3040
  }
3041
3041
  setDataSortingOptions() {
3042
3042
  let t = this.options;
3043
- Re(this, { requireSorting: !1, sorted: !1, enabledDataSorting: !0, allowDG: !1 }), ht(t.pointRange) || (t.pointRange = 1);
3043
+ We(this, { requireSorting: !1, sorted: !1, enabledDataSorting: !0, allowDG: !1 }), ht(t.pointRange) || (t.pointRange = 1);
3044
3044
  }
3045
3045
  setOptions(t) {
3046
3046
  let e, i = this.chart, s = i.options.plotOptions, r = i.userOptions || {}, o = oi(t), a = i.styledMode, n = { plotOptions: s, userOptions: o };
3047
- st(this, "setOptions", n);
3047
+ it(this, "setOptions", n);
3048
3048
  let h = n.plotOptions[this.type], c = r.plotOptions || {}, d = c.series || {}, p = Ui.plotOptions[this.type] || {}, u = c[this.type] || {};
3049
3049
  h.dataLabels = this.mergeArrays(p.dataLabels, h.dataLabels), this.userOptions = n.userOptions;
3050
3050
  let g = oi(h, s.series, u, o);
3051
- this.tooltipOptions = oi(Ui.tooltip, Ui.plotOptions.series?.tooltip, p?.tooltip, i.userOptions.tooltip, c.series?.tooltip, u.tooltip, o.tooltip), this.stickyTracking = rt(o.stickyTracking, u.stickyTracking, d.stickyTracking, !!this.tooltipOptions.shared && !this.noSharedTooltip || g.stickyTracking), h.marker === null && delete g.marker, this.zoneAxis = g.zoneAxis || "y";
3051
+ this.tooltipOptions = oi(Ui.tooltip, Ui.plotOptions.series?.tooltip, p?.tooltip, i.userOptions.tooltip, c.series?.tooltip, u.tooltip, o.tooltip), this.stickyTracking = st(o.stickyTracking, u.stickyTracking, d.stickyTracking, !!this.tooltipOptions.shared && !this.noSharedTooltip || g.stickyTracking), h.marker === null && delete g.marker, this.zoneAxis = g.zoneAxis || "y";
3052
3052
  let x = this.zones = (g.zones || []).map((m) => ({ ...m }));
3053
- return (g.negativeColor || g.negativeFillColor) && !g.zones && (e = { value: g[this.zoneAxis + "Threshold"] || g.threshold || 0, className: "highcharts-negative" }, a || (e.color = g.negativeColor, e.fillColor = g.negativeFillColor), x.push(e)), x.length && ht(x[x.length - 1].value) && x.push(a ? {} : { color: this.color, fillColor: this.fillColor }), st(this, "afterSetOptions", { options: g }), g;
3053
+ return (g.negativeColor || g.negativeFillColor) && !g.zones && (e = { value: g[this.zoneAxis + "Threshold"] || g.threshold || 0, className: "highcharts-negative" }, a || (e.color = g.negativeColor, e.fillColor = g.negativeFillColor), x.push(e)), x.length && ht(x[x.length - 1].value) && x.push(a ? {} : { color: this.color, fillColor: this.fillColor }), it(this, "afterSetOptions", { options: g }), g;
3054
3054
  }
3055
3055
  getName() {
3056
3056
  return this.options.name ?? ud(this.chart.options.lang.seriesName, this, this.chart);
3057
3057
  }
3058
3058
  getCyclic(t, e, i) {
3059
3059
  let s, r, o = this.chart, a = `${t}Index`, n = `${t}Counter`, h = i?.length || o.options.chart.colorCount;
3060
- !e && (ht(r = rt(t === "color" ? this.options.colorIndex : void 0, this[a])) ? s = r : (o.series.length || (o[n] = 0), s = o[n] % h, o[n] += 1), i && (e = i[s])), s !== void 0 && (this[a] = s), this[t] = e;
3060
+ !e && (ht(r = st(t === "color" ? this.options.colorIndex : void 0, this[a])) ? s = r : (o.series.length || (o[n] = 0), s = o[n] % h, o[n] += 1), i && (e = i[s])), s !== void 0 && (this[a] = s), this[t] = e;
3061
3061
  }
3062
3062
  getColor() {
3063
3063
  this.chart.styledMode ? this.getCyclic("color") : this.options.colorByPoint ? this.color = "#cccccc" : this.getCyclic("color", this.options.color || Ui.plotOptions[this.type].color, this.chart.options.colors);
@@ -3076,7 +3076,7 @@ function Dp() {
3076
3076
  let i, s, r, { id: o, x: a } = t, n = this.points, h = this.options.dataSorting, c = this.cropStart || 0;
3077
3077
  if (o) {
3078
3078
  let d = this.chart.get(o);
3079
- d instanceof Qt && (i = d);
3079
+ d instanceof ee && (i = d);
3080
3080
  } else if (this.linkedParent || this.enabledDataSorting || this.options.relativeXValue) {
3081
3081
  let d = (p) => !p.touched && p.index === t.index;
3082
3082
  if (h?.matchByName ? d = (p) => !p.touched && p.name === t.name : this.options.relativeXValue && (d = (p) => !p.touched && p.options.x === t.x), !(i = xd(n, d))) return;
@@ -3172,7 +3172,7 @@ function Dp() {
3172
3172
  let e = this.xAxis, i = this.dataTable;
3173
3173
  if (this.isCartesian && !this.isDirty && !e.isDirty && !this.yAxis.isDirty && !t) return !1;
3174
3174
  let s = this.getProcessedData();
3175
- i.modified = s.modified, this.cropped = s.cropped, this.cropStart = s.cropStart, this.closestPointRange = this.basePointRange = s.closestPointRange, st(this, "afterProcessData");
3175
+ i.modified = s.modified, this.cropped = s.cropped, this.cropStart = s.cropStart, this.closestPointRange = this.basePointRange = s.closestPointRange, it(this, "afterProcessData");
3176
3176
  }
3177
3177
  cropData(t, e, i) {
3178
3178
  let s = t.getColumn("x", !0) || [], r = s.length, o = {}, a, n, h = 0, c = r;
@@ -3196,9 +3196,9 @@ function Dp() {
3196
3196
  let k = [];
3197
3197
  k.length = e?.length || 0, b = this.data = k;
3198
3198
  }
3199
- for (h && n && (this.options.keys = !1), y = 0; y < o; y++) m = a + y, n ? ((f = new r(this, i.getRow(y, g) || [])).dataGroup = this.groupMap[d + y], f.dataGroup?.options && (f.options = f.dataGroup.options, Re(f, f.dataGroup.options), delete f.dataLabels)) : (f = b[m], v = e ? e[m] : i.getRow(y, u), f || v === void 0 || (b[m] = f = new r(this, v, s[y]))), f && (f.index = n ? d + y : m, c[y] = f, f.category = p?.[f.x] ?? f.x, f.key = f.name ?? f.category);
3199
+ for (h && n && (this.options.keys = !1), y = 0; y < o; y++) m = a + y, n ? ((f = new r(this, i.getRow(y, g) || [])).dataGroup = this.groupMap[d + y], f.dataGroup?.options && (f.options = f.dataGroup.options, We(f, f.dataGroup.options), delete f.dataLabels)) : (f = b[m], v = e ? e[m] : i.getRow(y, u), f || v === void 0 || (b[m] = f = new r(this, v, s[y]))), f && (f.index = n ? d + y : m, c[y] = f, f.category = p?.[f.x] ?? f.x, f.key = f.name ?? f.category);
3200
3200
  if (this.options.keys = h, b && (o !== (x = b.length) || n)) for (y = 0; y < x; y++) y !== a || n || (y += o), b[y] && (b[y].destroyElements(), b[y].plotX = void 0);
3201
- this.data = b, this.points = c, st(this, "afterGeneratePoints");
3201
+ this.data = b, this.points = c, it(this, "afterGeneratePoints");
3202
3202
  }
3203
3203
  getXExtremes(t) {
3204
3204
  return { min: Jo(t), max: Ks(t) };
@@ -3210,7 +3210,7 @@ function Dp() {
3210
3210
  ut(M) && (M > 0 || !u) && d.push(M);
3211
3211
  }
3212
3212
  let v = { activeYData: d, dataMin: Jo(d), dataMax: Ks(d) };
3213
- return st(this, "afterGetExtremes", { dataExtremes: v }), v;
3213
+ return it(this, "afterGetExtremes", { dataExtremes: v }), v;
3214
3214
  }
3215
3215
  applyExtremes() {
3216
3216
  let t = this.getExtremes();
@@ -3231,9 +3231,9 @@ function Dp() {
3231
3231
  }
3232
3232
  for (u = 0; u < a; u++) {
3233
3233
  let b, v = o[u], k = v.x, M, S, w = v.y, A = v.low, P = e && r.stacking?.stacks[(this.negStacks && w < (d ? 0 : c) ? "-" : "") + this.stackKey];
3234
- v.plotX = ut(g = i.translate(k, !1, !1, !1, !0, n)) ? ta(y(g)) : void 0, e && this.visible && P && P[k] && (m = this.getStackIndicator(m, k, this.index), !v.isNull && m.key && (S = (M = P[k]).points[m.key]), M && ra(S) && (A = S[0], w = S[1], A === d && m.key === P[k].base && (A = rt(ut(c) ? c : r.min)), r.positiveValuesOnly && ht(A) && A <= 0 && (A = void 0), v.total = v.stackTotal = rt(M.total), v.percentage = ht(v.y) && M.total ? v.y / M.total * 100 : void 0, v.stackY = w, this.irregularWidths || M.setOffset(this.pointXOffset || 0, this.barW || 0, void 0, void 0, void 0, this.xAxis))), v.yBottom = ht(A) ? y(r.translate(A, !1, !0, !1, !0)) : void 0, this.dataModify && (w = this.dataModify.modifyValue(w, u)), ut(w) && v.plotX !== void 0 ? b = ut(b = r.translate(w, !1, !0, !1, !0)) ? y(b) : void 0 : !ut(w) && p && (b = p), v.plotY = b, v.isInside = this.isPointInside(v), v.clientX = h ? ta(i.translate(k, !1, !1, !1, !0, n)) : g, v.negative = (v.y || 0) < (c || 0), v.isNull || v.visible === !1 || (x !== void 0 && (f = Math.min(f, Math.abs(g - x))), x = g), v.zone = this.zones.length ? v.getZone() : void 0, !v.graphic && this.group && s && (v.isNew = !0);
3234
+ v.plotX = ut(g = i.translate(k, !1, !1, !1, !0, n)) ? ta(y(g)) : void 0, e && this.visible && P && P[k] && (m = this.getStackIndicator(m, k, this.index), !v.isNull && m.key && (S = (M = P[k]).points[m.key]), M && ra(S) && (A = S[0], w = S[1], A === d && m.key === P[k].base && (A = st(ut(c) ? c : r.min)), r.positiveValuesOnly && ht(A) && A <= 0 && (A = void 0), v.total = v.stackTotal = st(M.total), v.percentage = ht(v.y) && M.total ? v.y / M.total * 100 : void 0, v.stackY = w, this.irregularWidths || M.setOffset(this.pointXOffset || 0, this.barW || 0, void 0, void 0, void 0, this.xAxis))), v.yBottom = ht(A) ? y(r.translate(A, !1, !0, !1, !0)) : void 0, this.dataModify && (w = this.dataModify.modifyValue(w, u)), ut(w) && v.plotX !== void 0 ? b = ut(b = r.translate(w, !1, !0, !1, !0)) ? y(b) : void 0 : !ut(w) && p && (b = p), v.plotY = b, v.isInside = this.isPointInside(v), v.clientX = h ? ta(i.translate(k, !1, !1, !1, !0, n)) : g, v.negative = (v.y || 0) < (c || 0), v.isNull || v.visible === !1 || (x !== void 0 && (f = Math.min(f, Math.abs(g - x))), x = g), v.zone = this.zones.length ? v.getZone() : void 0, !v.graphic && this.group && s && (v.isNew = !0);
3235
3235
  }
3236
- this.closestPointRangePx = f, st(this, "afterTranslate");
3236
+ this.closestPointRangePx = f, it(this, "afterTranslate");
3237
3237
  }
3238
3238
  getValidPoints(t, e, i) {
3239
3239
  let s = this.chart;
@@ -3270,15 +3270,15 @@ function Dp() {
3270
3270
  afterAnimate() {
3271
3271
  this.setClip(), _s(this.chart.sharedClips, (t, e, i) => {
3272
3272
  t && !this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`) && (t.destroy(), delete i[e]);
3273
- }), this.finishedAnimating = !0, st(this, "afterAnimate");
3273
+ }), this.finishedAnimating = !0, it(this, "afterAnimate");
3274
3274
  }
3275
3275
  drawPoints(t = this.points) {
3276
- let e, i, s, r, o, a, n, h = this.chart, c = h.styledMode, { colorAxis: d, options: p } = this, u = p.marker, g = p.nullInteraction, x = this[this.specialGroup || "markerGroup"], m = this.xAxis, f = rt(u.enabled, !m || !!m.isRadial || null, this.closestPointRangePx >= u.enabledThreshold * u.radius);
3276
+ let e, i, s, r, o, a, n, h = this.chart, c = h.styledMode, { colorAxis: d, options: p } = this, u = p.marker, g = p.nullInteraction, x = this[this.specialGroup || "markerGroup"], m = this.xAxis, f = st(u.enabled, !m || !!m.isRadial || null, this.closestPointRangePx >= u.enabledThreshold * u.radius);
3277
3277
  if (u.enabled !== !1 || this._hasPointMarkers) for (e = 0; e < t.length; e++) {
3278
3278
  r = (s = (i = t[e]).graphic) ? "animate" : "attr", o = i.marker || {}, a = !!i.marker;
3279
3279
  let y = i.isNull;
3280
3280
  if ((f && !ht(o.enabled) || o.enabled) && (!y || g) && i.visible !== !1) {
3281
- let b = rt(o.symbol, this.symbol, "rect");
3281
+ let b = st(o.symbol, this.symbol, "rect");
3282
3282
  n = this.markerAttribs(i, i.selected && "select"), this.enabledDataSorting && (i.startXPos = m.reversed ? -(n.width || 0) : m.width);
3283
3283
  let v = i.isInside !== !1;
3284
3284
  if (!s && v && ((n.width || 0) > 0 || i.hasImage) && (i.graphic = s = h.renderer.symbol(b, n.x, n.y, n.width, n.height, a ? o : u).add(x), this.enabledDataSorting && h.hasRendered && (s.attr({ x: i.startXPos }), r = "animate")), s && r === "animate" && s[v ? "show" : "hide"](v).animate(n), s) {
@@ -3290,23 +3290,23 @@ function Dp() {
3290
3290
  }
3291
3291
  }
3292
3292
  markerAttribs(t, e) {
3293
- let i = this.options, s = i.marker, r = t.marker || {}, o = r.symbol || s.symbol, a = {}, n, h, c = rt(r.radius, s?.radius);
3294
- e && (n = s.states[e], h = r.states && r.states[e], c = rt(h?.radius, n?.radius, c && c + (n?.radiusPlus || 0))), t.hasImage = o && o.indexOf("url") === 0, t.hasImage && (c = 0);
3293
+ let i = this.options, s = i.marker, r = t.marker || {}, o = r.symbol || s.symbol, a = {}, n, h, c = st(r.radius, s?.radius);
3294
+ e && (n = s.states[e], h = r.states && r.states[e], c = st(h?.radius, n?.radius, c && c + (n?.radiusPlus || 0))), t.hasImage = o && o.indexOf("url") === 0, t.hasImage && (c = 0);
3295
3295
  let d = t.pos();
3296
3296
  return ut(c) && d && (i.crisp && (d[0] = gd(d[0], t.hasImage ? 0 : o === "rect" ? s?.lineWidth || 0 : 1)), a.x = d[0] - c, a.y = d[1] - c), c && (a.width = a.height = 2 * c), a;
3297
3297
  }
3298
3298
  pointAttribs(t, e) {
3299
- let i = this.options, s = i.marker, r = t?.options, o = r?.marker || {}, a = r?.color, n = t?.color, h = t?.zone?.color, c, d, p = this.color, u, g, x = rt(o.lineWidth, s.lineWidth), m = t?.isNull && i.nullInteraction ? 0 : 1;
3300
- return p = a || h || n || p, u = o.fillColor || s.fillColor || p, g = o.lineColor || s.lineColor || p, e = e || "normal", c = s.states[e] || {}, x = rt((d = o.states && o.states[e] || {}).lineWidth, c.lineWidth, x + rt(d.lineWidthPlus, c.lineWidthPlus, 0)), u = d.fillColor || c.fillColor || u, g = d.lineColor || c.lineColor || g, { stroke: g, "stroke-width": x, fill: u, opacity: m = rt(d.opacity, c.opacity, m) };
3299
+ let i = this.options, s = i.marker, r = t?.options, o = r?.marker || {}, a = r?.color, n = t?.color, h = t?.zone?.color, c, d, p = this.color, u, g, x = st(o.lineWidth, s.lineWidth), m = t?.isNull && i.nullInteraction ? 0 : 1;
3300
+ return p = a || h || n || p, u = o.fillColor || s.fillColor || p, g = o.lineColor || s.lineColor || p, e = e || "normal", c = s.states[e] || {}, x = st((d = o.states && o.states[e] || {}).lineWidth, c.lineWidth, x + st(d.lineWidthPlus, c.lineWidthPlus, 0)), u = d.fillColor || c.fillColor || u, g = d.lineColor || c.lineColor || g, { stroke: g, "stroke-width": x, fill: u, opacity: m = st(d.opacity, c.opacity, m) };
3301
3301
  }
3302
3302
  destroy(t) {
3303
3303
  let e, i, s = this, r = s.chart, o = /AppleWebKit\/533/.test(pd.navigator.userAgent), a = s.data || [];
3304
- for (st(s, "destroy", { keepEventsForUpdate: t }), this.removeEvents(t), (s.axisTypes || []).forEach(function(n) {
3304
+ for (it(s, "destroy", { keepEventsForUpdate: t }), this.removeEvents(t), (s.axisTypes || []).forEach(function(n) {
3305
3305
  i = s[n], i?.series && (ea(i.series, s), i.isDirty = i.forceRedraw = !0);
3306
3306
  }), s.legendItem && s.chart.legend.destroyItem(s), e = a.length; e--; ) a[e]?.destroy?.();
3307
3307
  for (let n of s.zones) fd(n, void 0, !0);
3308
3308
  B.clearTimeout(s.animationTimeout), _s(s, function(n, h) {
3309
- n instanceof Xt && !n.survive && n[o && h === "group" ? "hide" : "destroy"]();
3309
+ n instanceof Ft && !n.survive && n[o && h === "group" ? "hide" : "destroy"]();
3310
3310
  }), r.hoverSeries === s && (r.hoverSeries = void 0), ea(r.series, s), r.orderItems("series"), _s(s, function(n, h) {
3311
3311
  t && h === "hcEvents" || delete s[h];
3312
3312
  });
@@ -3324,7 +3324,7 @@ function Dp() {
3324
3324
  });
3325
3325
  };
3326
3326
  if (s.forEach((k) => {
3327
- k.lineClip = [], k.translated = Qo(d.toPixels(rt(k.value, f), !0) || 0, 0, u);
3327
+ k.lineClip = [], k.translated = Qo(d.toPixels(st(k.value, f), !0) || 0, 0, u);
3328
3328
  }), i && !this.showLine && i.hide(), t && t.hide(), n === "y" && r.length < o.len) for (let k of r) {
3329
3329
  let { plotX: M, plotY: S, zone: w } = k, A = w && s[s.indexOf(w) - 1];
3330
3330
  w && m(w, M, S), A && m(A, M, S);
@@ -3348,7 +3348,7 @@ function Dp() {
3348
3348
  let e = this.xAxis, i = this.yAxis, s = this.chart, r = s.inverted && !s.polar && e && this.invertible && t === "series";
3349
3349
  s.inverted && (e = i, i = this.xAxis);
3350
3350
  let o = { scale: 1, translateX: e ? e.left : s.plotLeft, translateY: i ? i.top : s.plotTop, name: t };
3351
- st(this, "getPlotBox", o);
3351
+ it(this, "getPlotBox", o);
3352
3352
  let { scale: a, translateX: n, translateY: h } = o;
3353
3353
  return { translateX: n, translateY: h, rotation: 90 * !!r, rotationOriginX: r ? a * (e.len - i.len) / 2 : 0, rotationOriginY: r ? a * (e.len + i.len) / 2 : 0, scaleX: r ? -a : a, scaleY: a };
3354
3354
  }
@@ -3360,9 +3360,9 @@ function Dp() {
3360
3360
  }
3361
3361
  render() {
3362
3362
  let t = this, { chart: e, options: i, hasRendered: s } = t, r = _o(i.animation), o = t.visible ? "inherit" : "hidden", a = i.zIndex, n = e.seriesGroup, h = t.finishedAnimating ? 0 : r.duration;
3363
- st(this, "render"), t.plotGroup("group", "series", o, a, n), t.markerGroup = t.plotGroup("markerGroup", "markers", o, a, n), i.clip !== !1 && t.setClip(), h && t.animate?.(!0), t.drawGraph && (t.drawGraph(), t.applyZones()), t.visible && t.drawPoints(), t.drawDataLabels?.(), t.redrawPoints?.(), i.enableMouseTracking && t.drawTracker?.(), h && t.animate?.(), s || (h && r.defer && (h += r.defer), t.animationTimeout = oa(() => {
3363
+ it(this, "render"), t.plotGroup("group", "series", o, a, n), t.markerGroup = t.plotGroup("markerGroup", "markers", o, a, n), i.clip !== !1 && t.setClip(), h && t.animate?.(!0), t.drawGraph && (t.drawGraph(), t.applyZones()), t.visible && t.drawPoints(), t.drawDataLabels?.(), t.redrawPoints?.(), i.enableMouseTracking && t.drawTracker?.(), h && t.animate?.(), s || (h && r.defer && (h += r.defer), t.animationTimeout = oa(() => {
3364
3364
  t.afterAnimate();
3365
- }, h || 0)), t.isDirty = !1, t.hasRendered = !0, st(t, "afterRender");
3365
+ }, h || 0)), t.isDirty = !1, t.hasRendered = !0, it(t, "afterRender");
3366
3366
  }
3367
3367
  redraw() {
3368
3368
  let t = this.isDirty || this.isDirtyData;
@@ -3393,8 +3393,8 @@ function Dp() {
3393
3393
  if (this.kdTree || this.buildingKdTree || this.buildKDTree(i), this.kdTree) return (function g(x, m, f, y) {
3394
3394
  let b = m.point, v = o.kdAxisArray[f % y], k = b, M = !1;
3395
3395
  (function(P, T) {
3396
- let L = P[a], I = T[a], D = ht(L) && ht(I) ? L - I : null, O = P[n], E = T[n], N = ht(O) && ht(E) ? O - E : 0, _ = d && T.marker?.radius || 0;
3397
- T.dist = Math.sqrt((D && D * D || 0) + N * N) - _, T.distX = ht(D) ? Math.abs(D) - _ : Number.MAX_VALUE;
3396
+ let L = P[a], I = T[a], D = ht(L) && ht(I) ? L - I : null, O = P[n], E = T[n], N = ht(O) && ht(E) ? O - E : 0, K = d && T.marker?.radius || 0;
3397
+ T.dist = Math.sqrt((D && D * D || 0) + N * N) - K, T.distX = ht(D) ? Math.abs(D) - K : Number.MAX_VALUE;
3398
3398
  })(x, b);
3399
3399
  let S = (x[v] || 0) - (b[v] || 0) + (d && b.marker?.radius || 0), w = S < 0 ? "left" : "right", A = S < 0 ? "right" : "left";
3400
3400
  return m[w] && ([k, M] = p(b, g(x, m[w], f + 1, y), h)), m[A] && u(Math.sqrt(S * S), k[h], M) && (k = p(k, g(x, m[A], f + 1, y), h)[0]), k;
@@ -3416,18 +3416,18 @@ function Dp() {
3416
3416
  p && (p.addClass("highcharts-tracker").on("mouseover", h).on("mouseout", (u) => {
3417
3417
  o?.onTrackerMouseOut(u);
3418
3418
  }), e.cursor && !r.styledMode && p.css({ cursor: e.cursor }), p.on("touchstart", h));
3419
- })), st(this, "afterDrawTracker");
3419
+ })), it(this, "afterDrawTracker");
3420
3420
  }
3421
3421
  addPoint(t, e, i, s, r) {
3422
3422
  let o, a, n = this.options, { chart: h, data: c, dataTable: d, xAxis: p } = this, u = p?.hasNames && p.names, g = n.data, x = this.getColumn("x");
3423
- e = rt(e, !0);
3423
+ e = st(e, !0);
3424
3424
  let m = { series: this };
3425
3425
  this.pointClass.prototype.applyOptions.apply(m, [t]);
3426
3426
  let f = m.x;
3427
3427
  if (a = x.length, this.requireSorting && f < x[a - 1]) for (o = !0; a && x[a - 1] > f; ) a--;
3428
3428
  d.setRow(m, a, !0, { addColumns: !1 }), u && m.name && (u[f] = m.name), g?.splice(a, 0, t), (o || this.processedData) && (this.data.splice(a, 0, null), this.processData()), n.legendType === "point" && this.generatePoints(), i && (c[0] && c[0].remove ? c[0].remove(!1) : ([c, g].filter(ht).forEach((y) => {
3429
3429
  y.shift();
3430
- }), d.deleteRows(0))), r !== !1 && st(this, "addPoint", { point: m }), this.isDirty = !0, this.isDirtyData = !0, e && h.redraw(s);
3430
+ }), d.deleteRows(0))), r !== !1 && it(this, "addPoint", { point: m }), this.isDirty = !0, this.isDirtyData = !0, e && h.redraw(s);
3431
3431
  }
3432
3432
  removePoint(t, e, i) {
3433
3433
  let s = this, { chart: r, data: o, points: a, dataTable: n } = s, h = o[t], c = function() {
@@ -3435,61 +3435,61 @@ function Dp() {
3435
3435
  d.splice(t, 1);
3436
3436
  }), n.deleteRows(t), h?.destroy(), s.isDirty = !0, s.isDirtyData = !0, e && r.redraw();
3437
3437
  };
3438
- hd(i, r), e = rt(e, !0), h ? h.firePointEvent("remove", null, c) : c();
3438
+ hd(i, r), e = st(e, !0), h ? h.firePointEvent("remove", null, c) : c();
3439
3439
  }
3440
3440
  remove(t, e, i, s) {
3441
3441
  let r = this, o = r.chart;
3442
3442
  function a() {
3443
- r.destroy(s), o.isDirtyLegend = o.isDirtyBox = !0, o.linkSeries(s), rt(t, !0) && o.redraw(e);
3443
+ r.destroy(s), o.isDirtyLegend = o.isDirtyBox = !0, o.linkSeries(s), st(t, !0) && o.redraw(e);
3444
3444
  }
3445
- i !== !1 ? st(r, "remove", null, a) : a();
3445
+ i !== !1 ? it(r, "remove", null, a) : a();
3446
3446
  }
3447
3447
  update(t, e) {
3448
- st(this, "update", { options: t = md(t, this.userOptions) });
3449
- let i = this, s = i.chart, r = i.userOptions, o = i.initialType || i.type, a = s.options.plotOptions, n = ze[o].prototype, h = i.finishedAnimating && { animation: !1 }, c = {}, d, p, u = It.keepProps.slice(), g = t.type || r.type || s.options.chart.type, x = !(this.hasDerivedData || g && g !== this.type || t.keys !== void 0 || t.pointStart !== void 0 || t.pointInterval !== void 0 || t.relativeXValue !== void 0 || t.joinBy || t.mapData || ["dataGrouping", "pointStart", "pointInterval", "pointIntervalUnit", "keys"].some((f) => i.hasOptionChanged(f)));
3450
- g = g || o, x ? (u.push.apply(u, It.keepPropsForPoints), t.visible !== !1 && u.push("area", "graph"), i.parallelArrays.forEach(function(f) {
3448
+ it(this, "update", { options: t = md(t, this.userOptions) });
3449
+ let i = this, s = i.chart, r = i.userOptions, o = i.initialType || i.type, a = s.options.plotOptions, n = Re[o].prototype, h = i.finishedAnimating && { animation: !1 }, c = {}, d, p, u = Bt.keepProps.slice(), g = t.type || r.type || s.options.chart.type, x = !(this.hasDerivedData || g && g !== this.type || t.keys !== void 0 || t.pointStart !== void 0 || t.pointInterval !== void 0 || t.relativeXValue !== void 0 || t.joinBy || t.mapData || ["dataGrouping", "pointStart", "pointInterval", "pointIntervalUnit", "keys"].some((f) => i.hasOptionChanged(f)));
3450
+ g = g || o, x ? (u.push.apply(u, Bt.keepPropsForPoints), t.visible !== !1 && u.push("area", "graph"), i.parallelArrays.forEach(function(f) {
3451
3451
  u.push(f + "Data");
3452
- }), t.data && (t.dataSorting && Re(i.options.dataSorting, t.dataSorting), this.setData(t.data, !1))) : this.dataTable.modified = this.dataTable, t = oi(r, { index: r.index === void 0 ? i.index : r.index, pointStart: a?.series?.pointStart ?? r.pointStart ?? i.getColumn("x")[0] }, !x && { data: i.options.data }, t, h), x && t.data && (t.data = i.options.data), (u = ["group", "markerGroup", "dataLabelsGroup", "transformGroup"].concat(u)).forEach(function(f) {
3452
+ }), t.data && (t.dataSorting && We(i.options.dataSorting, t.dataSorting), this.setData(t.data, !1))) : this.dataTable.modified = this.dataTable, t = oi(r, { index: r.index === void 0 ? i.index : r.index, pointStart: a?.series?.pointStart ?? r.pointStart ?? i.getColumn("x")[0] }, !x && { data: i.options.data }, t, h), x && t.data && (t.data = i.options.data), (u = ["group", "markerGroup", "dataLabelsGroup", "transformGroup"].concat(u)).forEach(function(f) {
3453
3453
  u[f] = i[f], delete i[f];
3454
3454
  });
3455
3455
  let m = !1;
3456
- if (ze[g]) {
3457
- if (m = g !== i.type, i.remove(!1, !1, !1, !0), m) if (s.propFromSeries(), Object.setPrototypeOf) Object.setPrototypeOf(i, ze[g].prototype);
3456
+ if (Re[g]) {
3457
+ if (m = g !== i.type, i.remove(!1, !1, !1, !0), m) if (s.propFromSeries(), Object.setPrototypeOf) Object.setPrototypeOf(i, Re[g].prototype);
3458
3458
  else {
3459
3459
  let f = Object.hasOwnProperty.call(i, "hcEvents") && i.hcEvents;
3460
3460
  for (p in n) i[p] = void 0;
3461
- Re(i, ze[g].prototype), f ? i.hcEvents = f : delete i.hcEvents;
3461
+ We(i, Re[g].prototype), f ? i.hcEvents = f : delete i.hcEvents;
3462
3462
  }
3463
3463
  } else Vi(17, !0, s, { missingModuleFor: g });
3464
3464
  if (u.forEach(function(f) {
3465
3465
  i[f] = u[f];
3466
3466
  }), i.init(s, t), x && this.points) for (let f of ((d = i.options).visible === !1 ? (c.graphic = 1, c.dataLabel = 1) : (this.hasMarkerChanged(d, r) && (c.graphic = 1), i.hasDataLabels?.() || (c.dataLabel = 1)), this.points)) f?.series && (f.resolveColor(), Object.keys(c).length && f.destroyElements(c), d.showInLegend === !1 && f.legendItem && s.legend.destroyItem(f));
3467
- i.initialType = o, s.linkSeries(), s.setSortedData(), m && i.linkedSeries.length && (i.isDirtyData = !0), st(this, "afterUpdate"), rt(e, !0) && s.redraw(!!x && void 0);
3467
+ i.initialType = o, s.linkSeries(), s.setSortedData(), m && i.linkedSeries.length && (i.isDirtyData = !0), it(this, "afterUpdate"), st(e, !0) && s.redraw(!!x && void 0);
3468
3468
  }
3469
3469
  setName(t) {
3470
3470
  this.name = this.options.name = this.userOptions.name = t, this.chart.isDirtyLegend = !0;
3471
3471
  }
3472
3472
  hasOptionChanged(t) {
3473
- let e = this.chart, i = this.options[t], s = e.options.plotOptions, r = this.userOptions[t], o = rt(s?.[this.type]?.[t], s?.series?.[t]);
3474
- return r && !ht(o) ? i !== r : i !== rt(o, i);
3473
+ let e = this.chart, i = this.options[t], s = e.options.plotOptions, r = this.userOptions[t], o = st(s?.[this.type]?.[t], s?.series?.[t]);
3474
+ return r && !ht(o) ? i !== r : i !== st(o, i);
3475
3475
  }
3476
3476
  onMouseOver() {
3477
3477
  let t = this.chart, e = t.hoverSeries;
3478
- t.pointer?.setHoverChartIndex(), e && e !== this && e.onMouseOut(), this.options.events.mouseOver && st(this, "mouseOver"), this.setState("hover"), t.hoverSeries = this;
3478
+ t.pointer?.setHoverChartIndex(), e && e !== this && e.onMouseOut(), this.options.events.mouseOver && it(this, "mouseOver"), this.setState("hover"), t.hoverSeries = this;
3479
3479
  }
3480
3480
  onMouseOut() {
3481
3481
  let t = this.options, e = this.chart, i = e.tooltip, s = e.hoverPoint;
3482
- e.hoverSeries = null, s && s.onMouseOut(), this && t.events.mouseOut && st(this, "mouseOut"), i && !this.stickyTracking && (!i.shared || this.noSharedTooltip) && i.hide(), e.series.forEach(function(r) {
3482
+ e.hoverSeries = null, s && s.onMouseOut(), this && t.events.mouseOut && it(this, "mouseOut"), i && !this.stickyTracking && (!i.shared || this.noSharedTooltip) && i.hide(), e.series.forEach(function(r) {
3483
3483
  r.setState("", !0);
3484
3484
  });
3485
3485
  }
3486
3486
  setState(t, e) {
3487
- let i = this, s = i.options, r = i.graph, o = s.inactiveOtherPoints, a = s.states, n = rt(a[t || "normal"] && a[t || "normal"].animation, i.chart.options.chart.animation), h = s.lineWidth, c = s.opacity;
3487
+ let i = this, s = i.options, r = i.graph, o = s.inactiveOtherPoints, a = s.states, n = st(a[t || "normal"] && a[t || "normal"].animation, i.chart.options.chart.animation), h = s.lineWidth, c = s.opacity;
3488
3488
  if (t = t || "", i.state !== t && ([i.group, i.markerGroup, i.dataLabelsGroup].forEach(function(d) {
3489
3489
  d && (i.state && d.removeClass("highcharts-series-" + i.state), t && d.addClass("highcharts-series-" + t));
3490
3490
  }), i.state = t, !i.chart.styledMode)) {
3491
3491
  if (a[t] && a[t].enabled === !1) return;
3492
- if (t && (h = a[t].lineWidth || h + (a[t].lineWidthPlus || 0), c = rt(a[t].opacity, c)), r && !r.dashstyle && ut(h)) for (let d of [r, ...this.zones.map((p) => p.graph)]) d?.animate({ "stroke-width": h }, n);
3492
+ if (t && (h = a[t].lineWidth || h + (a[t].lineWidthPlus || 0), c = st(a[t].opacity, c)), r && !r.dashstyle && ut(h)) for (let d of [r, ...this.zones.map((p) => p.graph)]) d?.animate({ "stroke-width": h }, n);
3493
3493
  o || [i.group, i.markerGroup, i.dataLabelsGroup, i.labelBySeries].forEach(function(d) {
3494
3494
  d && d.animate({ opacity: c }, n);
3495
3495
  });
@@ -3511,7 +3511,7 @@ function Dp() {
3511
3511
  n.options.stacking && n.visible && (n.isDirty = !0);
3512
3512
  }), i.linkedSeries.forEach((n) => {
3513
3513
  n.setVisible(t, !1);
3514
- }), r && (s.isDirtyBox = !0), st(i, a), e !== !1 && s.redraw();
3514
+ }), r && (s.isDirtyBox = !0), it(i, a), e !== !1 && s.redraw();
3515
3515
  }
3516
3516
  show() {
3517
3517
  this.setVisible(!0);
@@ -3520,7 +3520,7 @@ function Dp() {
3520
3520
  this.setVisible(!1);
3521
3521
  }
3522
3522
  select(t) {
3523
- this.selected = t = this.options.selected = t === void 0 ? !this.selected : t, this.checkbox && (this.checkbox.checked = t), st(this, t ? "select" : "unselect");
3523
+ this.selected = t = this.options.selected = t === void 0 ? !this.selected : t, this.checkbox && (this.checkbox.checked = t), it(this, t ? "select" : "unselect");
3524
3524
  }
3525
3525
  shouldShowTooltip(t, e, i = {}) {
3526
3526
  return i.series = this, i.visiblePlotOnly = !0, this.chart.isInsidePlot(t, e, i);
@@ -3529,11 +3529,11 @@ function Dp() {
3529
3529
  qo[this.options.legendSymbol || "rectangle"]?.call(this, t, e);
3530
3530
  }
3531
3531
  }
3532
- It.defaultOptions = { lineWidth: 2, allowPointSelect: !1, crisp: !0, showCheckbox: !1, animation: { duration: 1e3 }, enableMouseTracking: !0, events: {}, marker: { enabledThreshold: 2, lineColor: "#ffffff", lineWidth: 0, radius: 4, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, enabled: !0, radiusPlus: 2, lineWidthPlus: 1 }, select: { fillColor: "#cccccc", lineColor: "#000000", lineWidth: 2 } } }, point: { events: {} }, dataLabels: { animation: {}, align: "center", borderWidth: 0, defer: !0, formatter: function() {
3532
+ Bt.defaultOptions = { lineWidth: 2, allowPointSelect: !1, crisp: !0, showCheckbox: !1, animation: { duration: 1e3 }, enableMouseTracking: !0, events: {}, marker: { enabledThreshold: 2, lineColor: "#ffffff", lineWidth: 0, radius: 4, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, enabled: !0, radiusPlus: 2, lineWidthPlus: 1 }, select: { fillColor: "#cccccc", lineColor: "#000000", lineWidth: 2 } } }, point: { events: {} }, dataLabels: { animation: {}, align: "center", borderWidth: 0, defer: !0, formatter: function() {
3533
3533
  let { numberFormatter: l } = this.series.chart;
3534
3534
  return typeof this.y != "number" ? "" : l(this.y, -1);
3535
- }, padding: 5, style: { fontSize: "0.7em", fontWeight: "bold", color: "contrast", textOutline: "1px contrast" }, verticalAlign: "bottom", x: 0, y: 0 }, cropThreshold: 300, opacity: 1, pointRange: 0, softThreshold: !0, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, lineWidthPlus: 1, marker: {}, halo: { size: 10, opacity: 0.25 } }, select: { animation: { duration: 0 } }, inactive: { animation: { duration: 150 }, opacity: 0.2 } }, stickyTracking: !0, turboThreshold: 1e3, findNearestPointBy: "x" }, It.types = at.seriesTypes, It.registerType = at.registerSeriesType, It.keepProps = ["colorIndex", "eventOptions", "navigatorSeries", "symbolIndex", "baseSeries"], It.keepPropsForPoints = ["data", "isDirtyData", "isDirtyCanvas", "points", "dataTable", "processedData", "xIncrement", "cropped", "_hasPointMarkers", "hasDataLabels", "nodes", "layout", "level", "mapMap", "mapData", "minY", "maxY", "minX", "maxX", "transformGroups"], Re(It.prototype, { axisTypes: ["xAxis", "yAxis"], coll: "series", colorCounter: 0, directTouch: !1, invertible: !0, isCartesian: !0, kdAxisArray: ["clientX", "plotY"], parallelArrays: ["x", "y"], pointClass: Qt, requireSorting: !0, sorted: !0 }), at.series = It;
3536
- let Tt = It, { animObject: kd, setAnimation: wd } = gt, { registerEventOptions: aa } = Ei, { composed: Md, marginNames: na } = C, { distribute: Sd } = ki, { format: Td } = Lt, { addEvent: $i, createElement: Ad, css: Cd, defined: Js, discardElement: Pd, find: Od, fireEvent: Vt, isNumber: la, merge: me, pick: Dt, pushUnique: Ld, relativeLength: Ed, stableSort: Id, syncTimeout: Dd } = B;
3535
+ }, padding: 5, style: { fontSize: "0.7em", fontWeight: "bold", color: "contrast", textOutline: "1px contrast" }, verticalAlign: "bottom", x: 0, y: 0 }, cropThreshold: 300, opacity: 1, pointRange: 0, softThreshold: !0, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, lineWidthPlus: 1, marker: {}, halo: { size: 10, opacity: 0.25 } }, select: { animation: { duration: 0 } }, inactive: { animation: { duration: 150 }, opacity: 0.2 } }, stickyTracking: !0, turboThreshold: 1e3, findNearestPointBy: "x" }, Bt.types = ot.seriesTypes, Bt.registerType = ot.registerSeriesType, Bt.keepProps = ["colorIndex", "eventOptions", "navigatorSeries", "symbolIndex", "baseSeries"], Bt.keepPropsForPoints = ["data", "isDirtyData", "isDirtyCanvas", "points", "dataTable", "processedData", "xIncrement", "cropped", "_hasPointMarkers", "hasDataLabels", "nodes", "layout", "level", "mapMap", "mapData", "minY", "maxY", "minX", "maxX", "transformGroups"], We(Bt.prototype, { axisTypes: ["xAxis", "yAxis"], coll: "series", colorCounter: 0, directTouch: !1, invertible: !0, isCartesian: !0, kdAxisArray: ["clientX", "plotY"], parallelArrays: ["x", "y"], pointClass: ee, requireSorting: !0, sorted: !0 }), ot.series = Bt;
3536
+ let At = Bt, { animObject: kd, setAnimation: wd } = ft, { registerEventOptions: aa } = Ei, { composed: Md, marginNames: na } = C, { distribute: Sd } = ki, { format: Td } = Et, { addEvent: $i, createElement: Ad, css: Cd, defined: Js, discardElement: Pd, find: Od, fireEvent: Zt, isNumber: la, merge: xe, pick: Nt, pushUnique: Ld, relativeLength: Ed, stableSort: Id, syncTimeout: Dd } = B;
3537
3537
  class Qs {
3538
3538
  constructor(t, e) {
3539
3539
  this.allItems = [], this.initialItemY = 0, this.itemHeight = 0, this.itemMarginBottom = 0, this.itemMarginTop = 0, this.itemX = 0, this.itemY = 0, this.lastItemY = 0, this.lastLineHeight = 0, this.legendHeight = 0, this.legendWidth = 0, this.maxItemWidth = 0, this.maxLegendWidth = 0, this.offsetWidth = 0, this.padding = 0, this.pages = [], this.symbolHeight = 0, this.symbolWidth = 0, this.titleHeight = 0, this.totalItemWidth = 0, this.widthOption = 0, this.chart = t, this.setOptions(e), e.enabled && (this.render(), aa(this, e), $i(this.chart, "endResize", function() {
@@ -3543,20 +3543,20 @@ function Dp() {
3543
3543
  });
3544
3544
  }
3545
3545
  setOptions(t) {
3546
- let e = Dt(t.padding, 8);
3547
- this.options = t, this.chart.styledMode || (this.itemStyle = t.itemStyle, this.itemHiddenStyle = me(this.itemStyle, t.itemHiddenStyle)), this.itemMarginTop = t.itemMarginTop, this.itemMarginBottom = t.itemMarginBottom, this.padding = e, this.initialItemY = e - 5, this.symbolWidth = Dt(t.symbolWidth, 16), this.pages = [], this.proximate = t.layout === "proximate" && !this.chart.inverted, this.baseline = void 0;
3546
+ let e = Nt(t.padding, 8);
3547
+ this.options = t, this.chart.styledMode || (this.itemStyle = t.itemStyle, this.itemHiddenStyle = xe(this.itemStyle, t.itemHiddenStyle)), this.itemMarginTop = t.itemMarginTop, this.itemMarginBottom = t.itemMarginBottom, this.padding = e, this.initialItemY = e - 5, this.symbolWidth = Nt(t.symbolWidth, 16), this.pages = [], this.proximate = t.layout === "proximate" && !this.chart.inverted, this.baseline = void 0;
3548
3548
  }
3549
3549
  update(t, e) {
3550
3550
  let i = this.chart;
3551
- this.setOptions(me(!0, this.options, t)), "events" in this.options && aa(this, this.options), this.destroy(), i.isDirtyLegend = i.isDirtyBox = !0, Dt(e, !0) && i.redraw(), Vt(this, "afterUpdate", { redraw: e });
3551
+ this.setOptions(xe(!0, this.options, t)), "events" in this.options && aa(this, this.options), this.destroy(), i.isDirtyLegend = i.isDirtyBox = !0, Nt(e, !0) && i.redraw(), Zt(this, "afterUpdate", { redraw: e });
3552
3552
  }
3553
3553
  colorizeItem(t, e) {
3554
3554
  let i = t.color, { area: s, group: r, label: o, line: a, symbol: n } = t.legendItem || {};
3555
- if ((t instanceof Tt || t instanceof Qt) && (t.color = t.options?.legendSymbolColor || i), r?.[e ? "removeClass" : "addClass"]("highcharts-legend-item-hidden"), !this.chart.styledMode) {
3555
+ if ((t instanceof At || t instanceof ee) && (t.color = t.options?.legendSymbolColor || i), r?.[e ? "removeClass" : "addClass"]("highcharts-legend-item-hidden"), !this.chart.styledMode) {
3556
3556
  let { itemHiddenStyle: h = {} } = this, c = h.color, { fillColor: d, fillOpacity: p, lineColor: u, marker: g } = t.options, x = (m) => (!e && (m.fill && (m.fill = c), m.stroke && (m.stroke = c)), m);
3557
- o?.css(me(e ? this.itemStyle : h)), a?.attr(x({ stroke: u || t.color })), n && n.attr(x(g && n.isMarker ? t.pointAttribs() : { fill: t.color })), s?.attr(x({ fill: d || t.color, "fill-opacity": d ? 1 : p ?? 0.75 }));
3557
+ o?.css(xe(e ? this.itemStyle : h)), a?.attr(x({ stroke: u || t.color })), n && n.attr(x(g && n.isMarker ? t.pointAttribs() : { fill: t.color })), s?.attr(x({ fill: d || t.color, "fill-opacity": d ? 1 : p ?? 0.75 }));
3558
3558
  }
3559
- t.color = i, Vt(this, "afterColorizeItem", { item: t, visible: e });
3559
+ t.color = i, Zt(this, "afterColorizeItem", { item: t, visible: e });
3560
3560
  }
3561
3561
  positionItems() {
3562
3562
  this.allItems.forEach(this.positionItem, this), this.chart.isResizing || this.positionCheckboxes();
@@ -3566,7 +3566,7 @@ function Dp() {
3566
3566
  if (e?.element) {
3567
3567
  let h = { translateX: a ? i : this.legendWidth - i - 2 * o - 4, translateY: s };
3568
3568
  e[Js(e.translateY) ? "animate" : "attr"](h, void 0, () => {
3569
- Vt(this, "afterPositionItem", { item: t });
3569
+ Zt(this, "afterPositionItem", { item: t });
3570
3570
  });
3571
3571
  }
3572
3572
  n && (n.x = i, n.y = s);
@@ -3597,21 +3597,21 @@ function Dp() {
3597
3597
  t.legendItem.label.attr({ text: e.labelFormat ? Td(e.labelFormat, t, this.chart) : e.labelFormatter.call(t) });
3598
3598
  }
3599
3599
  renderItem(t) {
3600
- let e = t.legendItem = t.legendItem || {}, i = this.chart, s = i.renderer, r = this.options, o = r.layout === "horizontal", a = this.symbolWidth, n = r.symbolPadding || 0, h = this.itemStyle, c = this.itemHiddenStyle, d = o ? Dt(r.itemDistance, 20) : 0, p = !r.rtl, u = !t.series, g = !u && t.series.drawLegendSymbol ? t.series : t, x = g.options, m = !!this.createCheckboxForItem && x && x.showCheckbox, f = r.useHTML, y = t.options.className, b = e.label, v = a + n + d + 20 * !!m;
3601
- !b && (e.group = s.g("legend-item").addClass("highcharts-" + g.type + "-series highcharts-color-" + t.colorIndex + (y ? " " + y : "") + (u ? " highcharts-series-" + t.index : "")).attr({ zIndex: 1 }).add(this.scrollGroup), e.label = b = s.text("", p ? a + n : -n, this.baseline || 0, f), i.styledMode || b.css(me(t.visible ? h : c)), b.attr({ align: p ? "left" : "right", zIndex: 2 }).add(e.group), !this.baseline && (this.fontMetrics = s.fontMetrics(b), this.baseline = this.fontMetrics.f + 3 + this.itemMarginTop, b.attr("y", this.baseline), this.symbolHeight = Dt(r.symbolHeight, this.fontMetrics.f), r.squareSymbol && (this.symbolWidth = Dt(r.symbolWidth, Math.max(this.symbolHeight, 16)), v = this.symbolWidth + n + d + 20 * !!m, p && b.attr("x", this.symbolWidth + n))), g.drawLegendSymbol(this, t), this.setItemEvents && this.setItemEvents(t, b, f)), m && !t.checkbox && this.createCheckboxForItem && this.createCheckboxForItem(t), this.colorizeItem(t, t.visible), (i.styledMode || !h.width) && b.css({ width: (r.itemWidth || this.widthOption || i.spacingBox.width) - v + "px" }), this.setText(t);
3600
+ let e = t.legendItem = t.legendItem || {}, i = this.chart, s = i.renderer, r = this.options, o = r.layout === "horizontal", a = this.symbolWidth, n = r.symbolPadding || 0, h = this.itemStyle, c = this.itemHiddenStyle, d = o ? Nt(r.itemDistance, 20) : 0, p = !r.rtl, u = !t.series, g = !u && t.series.drawLegendSymbol ? t.series : t, x = g.options, m = !!this.createCheckboxForItem && x && x.showCheckbox, f = r.useHTML, y = t.options.className, b = e.label, v = a + n + d + 20 * !!m;
3601
+ !b && (e.group = s.g("legend-item").addClass("highcharts-" + g.type + "-series highcharts-color-" + t.colorIndex + (y ? " " + y : "") + (u ? " highcharts-series-" + t.index : "")).attr({ zIndex: 1 }).add(this.scrollGroup), e.label = b = s.text("", p ? a + n : -n, this.baseline || 0, f), i.styledMode || b.css(xe(t.visible ? h : c)), b.attr({ align: p ? "left" : "right", zIndex: 2 }).add(e.group), !this.baseline && (this.fontMetrics = s.fontMetrics(b), this.baseline = this.fontMetrics.f + 3 + this.itemMarginTop, b.attr("y", this.baseline), this.symbolHeight = Nt(r.symbolHeight, this.fontMetrics.f), r.squareSymbol && (this.symbolWidth = Nt(r.symbolWidth, Math.max(this.symbolHeight, 16)), v = this.symbolWidth + n + d + 20 * !!m, p && b.attr("x", this.symbolWidth + n))), g.drawLegendSymbol(this, t), this.setItemEvents && this.setItemEvents(t, b, f)), m && !t.checkbox && this.createCheckboxForItem && this.createCheckboxForItem(t), this.colorizeItem(t, t.visible), (i.styledMode || !h.width) && b.css({ width: (r.itemWidth || this.widthOption || i.spacingBox.width) - v + "px" }), this.setText(t);
3602
3602
  let k = b.getBBox(), M = this.fontMetrics?.h || 0;
3603
3603
  t.itemWidth = t.checkboxOffset = r.itemWidth || e.labelWidth || k.width + v, this.maxItemWidth = Math.max(this.maxItemWidth, t.itemWidth), this.totalItemWidth += t.itemWidth, this.itemHeight = t.itemHeight = Math.round(e.labelHeight || (k.height > 1.5 * M ? k.height : M));
3604
3604
  }
3605
3605
  layoutItem(t) {
3606
- let e = this.options, i = this.padding, s = e.layout === "horizontal", r = t.itemHeight, o = this.itemMarginBottom, a = this.itemMarginTop, n = s ? Dt(e.itemDistance, 20) : 0, h = this.maxLegendWidth, c = e.alignColumns && this.totalItemWidth > h ? this.maxItemWidth : t.itemWidth, d = t.legendItem || {};
3606
+ let e = this.options, i = this.padding, s = e.layout === "horizontal", r = t.itemHeight, o = this.itemMarginBottom, a = this.itemMarginTop, n = s ? Nt(e.itemDistance, 20) : 0, h = this.maxLegendWidth, c = e.alignColumns && this.totalItemWidth > h ? this.maxItemWidth : t.itemWidth, d = t.legendItem || {};
3607
3607
  s && this.itemX - i + c > h && (this.itemX = i, this.lastLineHeight && (this.itemY += a + this.lastLineHeight + o), this.lastLineHeight = 0), this.lastItemY = a + this.itemY + o, this.lastLineHeight = Math.max(r, this.lastLineHeight), d.x = this.itemX, d.y = this.itemY, s ? this.itemX += c : (this.itemY += a + r + o, this.lastLineHeight = r), this.offsetWidth = this.widthOption || Math.max((s ? this.itemX - i - (t.checkbox ? 0 : n) : c) + i, this.offsetWidth);
3608
3608
  }
3609
3609
  getAllItems() {
3610
3610
  let t = [];
3611
3611
  return this.chart.series.forEach(function(e) {
3612
3612
  let i = e?.options;
3613
- e && Dt(i.showInLegend, !Js(i.linkedTo) && void 0, !0) && (t = t.concat(e.legendItem?.labels || (i.legendType === "point" ? e.data : e)));
3614
- }), Vt(this, "afterGetAllItems", { allItems: t }), t;
3613
+ e && Nt(i.showInLegend, !Js(i.linkedTo) && void 0, !0) && (t = t.concat(e.legendItem?.labels || (i.legendType === "point" ? e.data : e)));
3614
+ }), Zt(this, "afterGetAllItems", { allItems: t }), t;
3615
3615
  }
3616
3616
  getAlignment() {
3617
3617
  let t = this.options;
@@ -3634,19 +3634,19 @@ function Dp() {
3634
3634
  }
3635
3635
  render() {
3636
3636
  let t = this.chart, e = t.renderer, i = this.options, s = this.padding, r = this.getAllItems(), o, a, n, h = this.group, c, d = this.box;
3637
- this.itemX = s, this.itemY = this.initialItemY, this.offsetWidth = 0, this.lastItemY = 0, this.widthOption = Ed(i.width, t.spacingBox.width - s), c = t.spacingBox.width - 2 * s - i.x, ["rm", "lm"].indexOf(this.getAlignment().substring(0, 2)) > -1 && (c /= 2), this.maxLegendWidth = this.widthOption || c, h || (this.group = h = e.g("legend").addClass(i.className || "").attr({ zIndex: 7 }).add(), this.contentGroup = e.g().attr({ zIndex: 1 }).add(h), this.scrollGroup = e.g().add(this.contentGroup)), this.renderTitle(), Id(r, (p, u) => (p.options?.legendIndex || 0) - (u.options?.legendIndex || 0)), i.reversed && r.reverse(), this.allItems = r, this.display = o = !!r.length, this.lastLineHeight = 0, this.maxItemWidth = 0, this.totalItemWidth = 0, this.itemHeight = 0, r.forEach(this.renderItem, this), r.forEach(this.layoutItem, this), a = (this.widthOption || this.offsetWidth) + s, n = this.lastItemY + this.lastLineHeight + this.titleHeight, n = this.handleOverflow(n) + s, d || (this.box = d = e.rect().addClass("highcharts-legend-box").attr({ r: i.borderRadius }).add(h)), t.styledMode || d.attr({ stroke: i.borderColor, "stroke-width": i.borderWidth || 0, fill: i.backgroundColor || "none" }).shadow(i.shadow), a > 0 && n > 0 && d[d.placed ? "animate" : "attr"](d.crisp.call({}, { x: 0, y: 0, width: a, height: n }, d.strokeWidth())), h[o ? "show" : "hide"](), t.styledMode && h.getStyle("display") === "none" && (a = n = 0), this.legendWidth = a, this.legendHeight = n, o && this.align(), this.proximate || this.positionItems(), Vt(this, "afterRender");
3637
+ this.itemX = s, this.itemY = this.initialItemY, this.offsetWidth = 0, this.lastItemY = 0, this.widthOption = Ed(i.width, t.spacingBox.width - s), c = t.spacingBox.width - 2 * s - i.x, ["rm", "lm"].indexOf(this.getAlignment().substring(0, 2)) > -1 && (c /= 2), this.maxLegendWidth = this.widthOption || c, h || (this.group = h = e.g("legend").addClass(i.className || "").attr({ zIndex: 7 }).add(), this.contentGroup = e.g().attr({ zIndex: 1 }).add(h), this.scrollGroup = e.g().add(this.contentGroup)), this.renderTitle(), Id(r, (p, u) => (p.options?.legendIndex || 0) - (u.options?.legendIndex || 0)), i.reversed && r.reverse(), this.allItems = r, this.display = o = !!r.length, this.lastLineHeight = 0, this.maxItemWidth = 0, this.totalItemWidth = 0, this.itemHeight = 0, r.forEach(this.renderItem, this), r.forEach(this.layoutItem, this), a = (this.widthOption || this.offsetWidth) + s, n = this.lastItemY + this.lastLineHeight + this.titleHeight, n = this.handleOverflow(n) + s, d || (this.box = d = e.rect().addClass("highcharts-legend-box").attr({ r: i.borderRadius }).add(h)), t.styledMode || d.attr({ stroke: i.borderColor, "stroke-width": i.borderWidth || 0, fill: i.backgroundColor || "none" }).shadow(i.shadow), a > 0 && n > 0 && d[d.placed ? "animate" : "attr"](d.crisp.call({}, { x: 0, y: 0, width: a, height: n }, d.strokeWidth())), h[o ? "show" : "hide"](), t.styledMode && h.getStyle("display") === "none" && (a = n = 0), this.legendWidth = a, this.legendHeight = n, o && this.align(), this.proximate || this.positionItems(), Zt(this, "afterRender");
3638
3638
  }
3639
3639
  align(t = this.chart.spacingBox) {
3640
3640
  let e = this.chart, i = this.options, s = t.y;
3641
- /(lth|ct|rth)/.test(this.getAlignment()) && e.titleOffset[0] > 0 ? s += e.titleOffset[0] : /(lbh|cb|rbh)/.test(this.getAlignment()) && e.titleOffset[2] > 0 && (s -= e.titleOffset[2]), s !== t.y && (t = me(t, { y: s })), e.hasRendered || (this.group.placed = !1), this.group.align(me(i, { width: this.legendWidth, height: this.legendHeight, verticalAlign: this.proximate ? "top" : i.verticalAlign }), !0, t);
3641
+ /(lth|ct|rth)/.test(this.getAlignment()) && e.titleOffset[0] > 0 ? s += e.titleOffset[0] : /(lbh|cb|rbh)/.test(this.getAlignment()) && e.titleOffset[2] > 0 && (s -= e.titleOffset[2]), s !== t.y && (t = xe(t, { y: s })), e.hasRendered || (this.group.placed = !1), this.group.align(xe(i, { width: this.legendWidth, height: this.legendHeight, verticalAlign: this.proximate ? "top" : i.verticalAlign }), !0, t);
3642
3642
  }
3643
3643
  handleOverflow(t) {
3644
- let e = this, i = this.chart, s = i.renderer, r = this.options, o = r.y, a = r.verticalAlign === "top", n = this.padding, h = r.maxHeight, c = r.navigation, d = Dt(c.animation, !0), p = c.arrowSize || 12, u = this.pages, g = this.allItems, x = function(w) {
3644
+ let e = this, i = this.chart, s = i.renderer, r = this.options, o = r.y, a = r.verticalAlign === "top", n = this.padding, h = r.maxHeight, c = r.navigation, d = Nt(c.animation, !0), p = c.arrowSize || 12, u = this.pages, g = this.allItems, x = function(w) {
3645
3645
  typeof w == "number" ? S.attr({ height: w }) : S && (e.clipRect = S.destroy(), e.contentGroup.clip()), e.contentGroup.div && (e.contentGroup.div.style.clip = w ? "rect(" + n + "px,9999px," + (n + w) + "px,0)" : "auto");
3646
3646
  }, m = function(w) {
3647
3647
  return e[w] = s.circle(0, 0, 1.3 * p).translate(p / 2, p / 2).add(M), i.styledMode || e[w].attr("fill", "rgba(0,0,0,0.0001)"), e[w];
3648
3648
  }, f, y, b, v, k = i.spacingBox.height + (a ? -o : o) - n, M = this.nav, S = this.clipRect;
3649
- return r.layout !== "horizontal" || r.verticalAlign === "middle" || r.floating || (k /= 2), h && (k = Math.min(k, h)), u.length = 0, t && k > 0 && t > k && c.enabled !== !1 ? (this.clipHeight = f = Math.max(k - 20 - this.titleHeight - n, 0), this.currentPage = Dt(this.currentPage, 1), this.fullHeight = t, g.forEach((w, A) => {
3649
+ return r.layout !== "horizontal" || r.verticalAlign === "middle" || r.floating || (k /= 2), h && (k = Math.min(k, h)), u.length = 0, t && k > 0 && t > k && c.enabled !== !1 ? (this.clipHeight = f = Math.max(k - 20 - this.titleHeight - n, 0), this.currentPage = Nt(this.currentPage, 1), this.fullHeight = t, g.forEach((w, A) => {
3650
3650
  let P = (b = w.legendItem || {}).y || 0, T = Math.round(b.label.getBBox().height), L = u.length;
3651
3651
  (!L || P - u[L - 1] > f && (y || P) !== u[L - 1]) && (u.push(y || P), L++), b.pageIx = L - 1, y && v && (v.pageIx = L - 1), A === g.length - 1 && P + T - u[L - 1] > f && P > u[L - 1] && (u.push(P), b.pageIx = L), P !== y && (y = P), v = b;
3652
3652
  }), S || (S = e.clipRect = s.clipRect(0, n - 2, 9999, 0), e.contentGroup.clip(S)), x(f), M || (this.nav = M = s.g().attr({ zIndex: 1 }).add(this.group), this.up = s.symbol("triangle", 0, 0, p, p).add(M), m("upTracker").on("click", function() {
@@ -3662,11 +3662,11 @@ function Dp() {
3662
3662
  }), n.attr({ text: c + "/" + r }), [this.down, this.downTracker].forEach(function(d) {
3663
3663
  d.attr({ x: 18 + this.pager.getBBox().width, class: c === r ? "highcharts-legend-nav-inactive" : "highcharts-legend-nav-active" });
3664
3664
  }, this), i.styledMode || (this.up.attr({ fill: c === 1 ? a.inactiveColor : a.activeColor }), this.upTracker.css({ cursor: c === 1 ? "default" : "pointer" }), this.down.attr({ fill: c === r ? a.inactiveColor : a.activeColor }), this.downTracker.css({ cursor: c === r ? "default" : "pointer" })), this.scrollOffset = -s[c - 1] + this.initialItemY, this.scrollGroup.animate({ translateY: this.scrollOffset }), this.currentPage = c, this.positionCheckboxes(), Dd(() => {
3665
- Vt(this, "afterScroll", { currentPage: c });
3666
- }, kd(Dt(e, i.renderer.globalAnimation, !0)).duration));
3665
+ Zt(this, "afterScroll", { currentPage: c });
3666
+ }, kd(Nt(e, i.renderer.globalAnimation, !0)).duration));
3667
3667
  }
3668
3668
  setItemEvents(t, e, i) {
3669
- let s = this, r = t.legendItem || {}, o = s.chart.renderer.boxWrapper, a = t instanceof Qt, n = t instanceof Tt, h = "highcharts-legend-" + (a ? "point" : "series") + "-active", c = s.chart.styledMode, d = i ? [e, r.symbol] : [r.group], p = (u) => {
3669
+ let s = this, r = t.legendItem || {}, o = s.chart.renderer.boxWrapper, a = t instanceof ee, n = t instanceof At, h = "highcharts-legend-" + (a ? "point" : "series") + "-active", c = s.chart.styledMode, d = i ? [e, r.symbol] : [r.group], p = (u) => {
3670
3670
  s.allItems.forEach((g) => {
3671
3671
  t !== g && [g].concat(g.linkedSeries || []).forEach((x) => {
3672
3672
  x.setState(u, !a);
@@ -3676,18 +3676,18 @@ function Dp() {
3676
3676
  for (let u of d) u && u.on("mouseover", function() {
3677
3677
  t.visible && p("inactive"), t.setState("hover"), t.visible && o.addClass(h), c || e.css(s.options.itemHoverStyle);
3678
3678
  }).on("mouseout", function() {
3679
- s.chart.styledMode || e.css(me(t.visible ? s.itemStyle : s.itemHiddenStyle)), p(""), o.removeClass(h), t.setState();
3679
+ s.chart.styledMode || e.css(xe(t.visible ? s.itemStyle : s.itemHiddenStyle)), p(""), o.removeClass(h), t.setState();
3680
3680
  }).on("click", function(g) {
3681
3681
  let x = function() {
3682
3682
  t.setVisible && t.setVisible(), p(t.visible ? "inactive" : "");
3683
3683
  };
3684
- o.removeClass(h), Vt(s, "itemClick", { browserEvent: g, legendItem: t }, x), a ? t.firePointEvent("legendItemClick", { browserEvent: g }) : n && Vt(t, "legendItemClick", { browserEvent: g });
3684
+ o.removeClass(h), Zt(s, "itemClick", { browserEvent: g, legendItem: t }, x), a ? t.firePointEvent("legendItemClick", { browserEvent: g }) : n && Zt(t, "legendItemClick", { browserEvent: g });
3685
3685
  });
3686
3686
  }
3687
3687
  createCheckboxForItem(t) {
3688
3688
  t.checkbox = Ad("input", { type: "checkbox", className: "highcharts-legend-checkbox", checked: t.selected, defaultChecked: t.selected }, this.options.itemCheckboxStyle, this.chart.container), $i(t.checkbox, "click", function(e) {
3689
3689
  let i = e.target;
3690
- Vt(t.series || t, "checkboxClick", { checked: i.checked, item: t }, function() {
3690
+ Zt(t.series || t, "checkboxClick", { checked: i.checked, item: t }, function() {
3691
3691
  t.select();
3692
3692
  });
3693
3693
  });
@@ -3700,10 +3700,10 @@ function Dp() {
3700
3700
  });
3701
3701
  };
3702
3702
  })(Qs || (Qs = {}));
3703
- let ha = Qs, { animate: tr, animObject: Bd, setAnimation: er } = gt, { defaultOptions: ir } = Ot, { numberFormat: Nd } = Lt, { registerEventOptions: da } = Ei, { charts: xe, doc: ai, marginNames: ca, svg: zd, win: pa } = C, { seriesTypes: sr } = at, { addEvent: rr, attr: ua, createElement: or, css: Bt, defined: ee, diffObjects: ga, discardElement: Rd, erase: Wd, error: ar, extend: ie, find: nr, fireEvent: Y, getAlignFactor: Xd, getStyle: lr, isArray: Hd, isNumber: We, isObject: Fd, isString: Zi, merge: Yt, objectEach: hr, pick: bt, pInt: Gd, relativeLength: fa, removeEvent: ma, splat: qi, syncTimeout: Yd, uniqueKey: jd } = B;
3704
- class se {
3703
+ let ha = Qs, { animate: tr, animObject: Bd, setAnimation: er } = ft, { defaultOptions: ir } = Lt, { numberFormat: Nd } = Et, { registerEventOptions: da } = Ei, { charts: ye, doc: ai, marginNames: ca, svg: zd, win: pa } = C, { seriesTypes: sr } = ot, { addEvent: rr, attr: ua, createElement: or, css: zt, defined: se, diffObjects: ga, discardElement: Rd, erase: Wd, error: ar, extend: re, find: nr, fireEvent: Y, getAlignFactor: Xd, getStyle: lr, isArray: Hd, isNumber: Xe, isObject: Fd, isString: Zi, merge: Ut, objectEach: hr, pick: vt, pInt: Gd, relativeLength: fa, removeEvent: ma, splat: qi, syncTimeout: Yd, uniqueKey: jd } = B;
3704
+ class oe {
3705
3705
  static chart(t, e, i) {
3706
- return new se(t, e, i);
3706
+ return new oe(t, e, i);
3707
3707
  }
3708
3708
  constructor(t, e, i) {
3709
3709
  this.sharedClips = {};
@@ -3712,12 +3712,12 @@ function Dp() {
3712
3712
  }
3713
3713
  setZoomOptions() {
3714
3714
  let t = this.options.chart, e = t.zooming;
3715
- this.zooming = { ...e, type: bt(t.zoomType, e.type), key: bt(t.zoomKey, e.key), pinchType: bt(t.pinchType, e.pinchType), singleTouch: bt(t.zoomBySingleTouch, e.singleTouch, !1), resetButton: Yt(e.resetButton, t.resetZoomButton) };
3715
+ this.zooming = { ...e, type: vt(t.zoomType, e.type), key: vt(t.zoomKey, e.key), pinchType: vt(t.pinchType, e.pinchType), singleTouch: vt(t.zoomBySingleTouch, e.singleTouch, !1), resetButton: Ut(e.resetButton, t.resetZoomButton) };
3716
3716
  }
3717
3717
  init(t, e) {
3718
3718
  Y(this, "init", { args: arguments }, function() {
3719
- let i = Yt(ir, t), s = i.chart, r = this.renderTo || s.renderTo;
3720
- this.userOptions = ie({}, t), (this.renderTo = Zi(r) ? ai.getElementById(r) : r) || ar(13, !0, this), this.margin = [], this.spacing = [], this.labelCollectors = [], this.callback = e, this.isResizing = 0, this.options = i, this.axes = [], this.series = [], this.locale = i.lang.locale ?? this.renderTo.closest("[lang]")?.lang, this.time = new ms(ie(i.time || {}, { locale: this.locale }), i.lang), i.time = this.time.options, this.numberFormatter = (s.numberFormatter || Nd).bind(this), this.styledMode = s.styledMode, this.hasCartesianSeries = s.showAxes, this.index = xe.length, xe.push(this), C.chartCount++, da(this, s), this.xAxis = [], this.yAxis = [], this.pointCount = this.colorCounter = this.symbolCounter = 0, this.setZoomOptions(), Y(this, "afterInit"), this.firstRender();
3719
+ let i = Ut(ir, t), s = i.chart, r = this.renderTo || s.renderTo;
3720
+ this.userOptions = re({}, t), (this.renderTo = Zi(r) ? ai.getElementById(r) : r) || ar(13, !0, this), this.margin = [], this.spacing = [], this.labelCollectors = [], this.callback = e, this.isResizing = 0, this.options = i, this.axes = [], this.series = [], this.locale = i.lang.locale ?? this.renderTo.closest("[lang]")?.lang, this.time = new ms(re(i.time || {}, { locale: this.locale }), i.lang), i.time = this.time.options, this.numberFormatter = (s.numberFormatter || Nd).bind(this), this.styledMode = s.styledMode, this.hasCartesianSeries = s.showAxes, this.index = ye.length, ye.push(this), C.chartCount++, da(this, s), this.xAxis = [], this.yAxis = [], this.pointCount = this.colorCounter = this.symbolCounter = 0, this.setZoomOptions(), Y(this, "afterInit"), this.firstRender();
3721
3721
  });
3722
3722
  }
3723
3723
  initSeries(t) {
@@ -3740,11 +3740,11 @@ function Dp() {
3740
3740
  let i = this[t], s = this.options[t] = qi(this.options[t]).slice(), r = this.userOptions[t] = this.userOptions[t] ? qi(this.userOptions[t]).slice() : [];
3741
3741
  if (this.hasRendered && (s.splice(e), r.splice(e)), i) for (let o = e, a = i.length; o < a; ++o) {
3742
3742
  let n = i[o];
3743
- n && (n.index = o, n instanceof Tt && (n.name = n.getName()), n.options.isInternal || (s[o] = n.options, r[o] = n.userOptions));
3743
+ n && (n.index = o, n instanceof At && (n.name = n.getName()), n.options.isInternal || (s[o] = n.options, r[o] = n.userOptions));
3744
3744
  }
3745
3745
  }
3746
3746
  getClipBox(t, e) {
3747
- let i = this.inverted, { xAxis: s, yAxis: r } = t || {}, { x: o, y: a, width: n, height: h } = Yt(this.clipBox);
3747
+ let i = this.inverted, { xAxis: s, yAxis: r } = t || {}, { x: o, y: a, width: n, height: h } = Ut(this.clipBox);
3748
3748
  return t && (s && s.len !== this.plotSizeX && (n = s.len), r && r.len !== this.plotSizeY && (h = r.len), i && !t.invertible && ([n, h] = [h, n])), e && (o += (i ? r : s)?.pos ?? this.plotLeft, a += (i ? s : r)?.pos ?? this.plotTop), { x: o, y: a, width: n, height: h };
3749
3749
  }
3750
3750
  isInsidePlot(t, e, i = {}) {
@@ -3776,7 +3776,7 @@ function Dp() {
3776
3776
  }), e.forEach(function(m) {
3777
3777
  let f = m.min + "," + m.max;
3778
3778
  m.extKey !== f && (m.extKey = f, h.push(function() {
3779
- Y(m, "afterSetExtremes", ie(m.eventArgs, m.getExtremes())), delete m.eventArgs;
3779
+ Y(m, "afterSetExtremes", re(m.eventArgs, m.getExtremes())), delete m.eventArgs;
3780
3780
  })), (u || d) && m.redraw();
3781
3781
  }), u && this.drawChartBox(), Y(this, "predraw"), i.forEach(function(m) {
3782
3782
  (u || m.isDirty) && m.visible && m.redraw(), m.isDirtyData = !1;
@@ -3795,12 +3795,12 @@ function Dp() {
3795
3795
  }
3796
3796
  createAxes() {
3797
3797
  let t = this.userOptions;
3798
- for (let e of (Y(this, "createAxes"), ["xAxis", "yAxis"])) for (let i of t[e] = qi(t[e] || {})) new De(this, i, e);
3798
+ for (let e of (Y(this, "createAxes"), ["xAxis", "yAxis"])) for (let i of t[e] = qi(t[e] || {})) new Be(this, i, e);
3799
3799
  Y(this, "afterCreateAxes");
3800
3800
  }
3801
3801
  getSelectedPoints() {
3802
3802
  return this.series.reduce((t, e) => (e.getPointsCollection().forEach((i) => {
3803
- bt(i.selectedStaging, i.selected) && t.push(i);
3803
+ vt(i.selectedStaging, i.selected) && t.push(i);
3804
3804
  }), t), []);
3805
3805
  }
3806
3806
  getSelectedSeries() {
@@ -3810,18 +3810,18 @@ function Dp() {
3810
3810
  this.applyDescription("title", t), this.applyDescription("subtitle", e), this.applyDescription("caption", void 0), this.layOutTitles(i);
3811
3811
  }
3812
3812
  applyDescription(t, e) {
3813
- let i = this, s = this.options[t] = Yt(this.options[t], e), r = this[t];
3813
+ let i = this, s = this.options[t] = Ut(this.options[t], e), r = this[t];
3814
3814
  r && e && (this[t] = r = r.destroy()), s && !r && ((r = this.renderer.text(s.text, 0, 0, s.useHTML).attr({ align: s.align, class: "highcharts-" + t, zIndex: s.zIndex || 4 }).css({ textOverflow: "ellipsis", whiteSpace: "nowrap" }).add()).update = function(o, a) {
3815
3815
  i.applyDescription(t, o), i.layOutTitles(a);
3816
- }, this.styledMode || r.css(ie(t === "title" ? { fontSize: this.options.isStock ? "1em" : "1.2em" } : {}, s.style)), r.textPxLength = r.getBBox().width, r.css({ whiteSpace: s.style?.whiteSpace }), this[t] = r);
3816
+ }, this.styledMode || r.css(re(t === "title" ? { fontSize: this.options.isStock ? "1em" : "1.2em" } : {}, s.style)), r.textPxLength = r.getBBox().width, r.css({ whiteSpace: s.style?.whiteSpace }), this[t] = r);
3817
3817
  }
3818
3818
  layOutTitles(t = !0) {
3819
3819
  let e = [0, 0, 0], { options: i, renderer: s, spacingBox: r } = this;
3820
3820
  ["title", "subtitle", "caption"].forEach((a) => {
3821
- let n = this[a], h = this.options[a], c = Yt(r), d = n?.textPxLength || 0;
3821
+ let n = this[a], h = this.options[a], c = Ut(r), d = n?.textPxLength || 0;
3822
3822
  if (n && h) {
3823
3823
  Y(this, "layOutTitle", { alignTo: c, key: a, textPxLength: d });
3824
- let p = s.fontMetrics(n), u = p.b, g = p.h, x = h.verticalAlign || "top", m = x === "top", f = m && h.minScale || 1, y = a === "title" ? m ? -3 : 0 : m ? e[0] + 2 : 0, b = Math.min(c.width / d, 1), v = Math.max(f, b), k = Yt({ y: x === "bottom" ? u : y + u }, { align: a === "title" ? b < f ? "left" : "center" : this.title?.alignValue }, h), M = (h.width || (b > f ? this.chartWidth : c.width) / v) + "px";
3824
+ let p = s.fontMetrics(n), u = p.b, g = p.h, x = h.verticalAlign || "top", m = x === "top", f = m && h.minScale || 1, y = a === "title" ? m ? -3 : 0 : m ? e[0] + 2 : 0, b = Math.min(c.width / d, 1), v = Math.max(f, b), k = Ut({ y: x === "bottom" ? u : y + u }, { align: a === "title" ? b < f ? "left" : "center" : this.title?.alignValue }, h), M = (h.width || (b > f ? this.chartWidth : c.width) / v) + "px";
3825
3825
  n.alignValue !== k.align && (n.placed = !1);
3826
3826
  let S = Math.round(n.css({ width: M }).getBBox(h.useHTML).height);
3827
3827
  if (k.height = S, n.align(k, !1, c).attr({ align: k.align, scaleX: v, scaleY: v, "transform-origin": `${c.x + d * v * Xd(k.align)} ${g}` }), !h.floating) {
@@ -3850,19 +3850,19 @@ function Dp() {
3850
3850
  }
3851
3851
  temporaryDisplay(t) {
3852
3852
  let e = this.renderTo, i;
3853
- if (t) for (; e?.style; ) e.hcOrigStyle && (Bt(e, e.hcOrigStyle), delete e.hcOrigStyle), e.hcOrigDetached && (ai.body.removeChild(e), e.hcOrigDetached = !1), e = e.parentNode;
3854
- else for (; e?.style && (ai.body.contains(e) || e.parentNode || (e.hcOrigDetached = !0, ai.body.appendChild(e)), (lr(e, "display", !1) === "none" || e.hcOricDetached) && (e.hcOrigStyle = { display: e.style.display, height: e.style.height, overflow: e.style.overflow }, i = { display: "block", overflow: "hidden" }, e !== this.renderTo && (i.height = 0), Bt(e, i), e.offsetWidth || e.style.setProperty("display", "block", "important")), (e = e.parentNode) !== ai.body); ) ;
3853
+ if (t) for (; e?.style; ) e.hcOrigStyle && (zt(e, e.hcOrigStyle), delete e.hcOrigStyle), e.hcOrigDetached && (ai.body.removeChild(e), e.hcOrigDetached = !1), e = e.parentNode;
3854
+ else for (; e?.style && (ai.body.contains(e) || e.parentNode || (e.hcOrigDetached = !0, ai.body.appendChild(e)), (lr(e, "display", !1) === "none" || e.hcOricDetached) && (e.hcOrigStyle = { display: e.style.display, height: e.style.height, overflow: e.style.overflow }, i = { display: "block", overflow: "hidden" }, e !== this.renderTo && (i.height = 0), zt(e, i), e.offsetWidth || e.style.setProperty("display", "block", "important")), (e = e.parentNode) !== ai.body); ) ;
3855
3855
  }
3856
3856
  setClassName(t) {
3857
3857
  this.container.className = "highcharts-container " + (t || "");
3858
3858
  }
3859
3859
  getContainer() {
3860
3860
  let t, e = this.options, i = e.chart, s = "data-highcharts-chart", r = jd(), o = this.renderTo, a = Gd(ua(o, s));
3861
- We(a) && xe[a] && xe[a].hasRendered && xe[a].destroy(), ua(o, s, this.index), o.innerHTML = tt.emptyHTML, i.skipClone || o.offsetWidth || this.temporaryDisplay(), this.getChartSize();
3861
+ Xe(a) && ye[a] && ye[a].hasRendered && ye[a].destroy(), ua(o, s, this.index), o.innerHTML = Q.emptyHTML, i.skipClone || o.offsetWidth || this.temporaryDisplay(), this.getChartSize();
3862
3862
  let n = this.chartHeight, h = this.chartWidth;
3863
- Bt(o, { overflow: "hidden" }), this.styledMode || (t = ie({ position: "relative", overflow: "hidden", width: h + "px", height: n + "px", textAlign: "left", lineHeight: "normal", zIndex: 0, "-webkit-tap-highlight-color": "rgba(0,0,0,0)", userSelect: "none", "touch-action": "manipulation", outline: "none", padding: "0px" }, i.style || {}));
3863
+ zt(o, { overflow: "hidden" }), this.styledMode || (t = re({ position: "relative", overflow: "hidden", width: h + "px", height: n + "px", textAlign: "left", lineHeight: "normal", zIndex: 0, "-webkit-tap-highlight-color": "rgba(0,0,0,0)", userSelect: "none", "touch-action": "manipulation", outline: "none", padding: "0px" }, i.style || {}));
3864
3864
  let c = or("div", { id: r }, t, o);
3865
- this.container = c, this.getChartSize(), h !== this.chartWidth && (h = this.chartWidth, this.styledMode || Bt(c, { width: bt(i.style?.width, h + "px") })), this.containerBox = this.getContainerBox(), this._cursor = c.style.cursor;
3865
+ this.container = c, this.getChartSize(), h !== this.chartWidth && (h = this.chartWidth, this.styledMode || zt(c, { width: vt(i.style?.width, h + "px") })), this.containerBox = this.getContainerBox(), this._cursor = c.style.cursor;
3866
3866
  let d = i.renderer || !zd ? Ke.getRendererType(i.renderer) : Oi;
3867
3867
  if (this.renderer = new d(c, h, n, void 0, i.forExport, e.exporting?.allowHTML, this.styledMode), er(void 0, this), this.setClassName(i.className), this.styledMode) for (let p in e.defs) this.renderer.definition(e.defs[p]);
3868
3868
  else this.renderer.setStyle(i.style);
@@ -3870,7 +3870,7 @@ function Dp() {
3870
3870
  }
3871
3871
  getMargins(t) {
3872
3872
  let { spacing: e, margin: i, titleOffset: s } = this;
3873
- this.resetMargins(), s[0] && !ee(i[0]) && (this.plotTop = Math.max(this.plotTop, s[0] + e[0])), s[2] && !ee(i[2]) && (this.marginBottom = Math.max(this.marginBottom, s[2] + e[2])), this.legend?.display && this.legend.adjustMargins(i, e), Y(this, "getMargins"), t || this.getAxisMargins();
3873
+ this.resetMargins(), s[0] && !se(i[0]) && (this.plotTop = Math.max(this.plotTop, s[0] + e[0])), s[2] && !se(i[2]) && (this.marginBottom = Math.max(this.marginBottom, s[2] + e[2])), this.legend?.display && this.legend.adjustMargins(i, e), Y(this, "getMargins"), t || this.getAxisMargins();
3874
3874
  }
3875
3875
  getAxisMargins() {
3876
3876
  let t = this, e = t.axisOffset = [0, 0, 0, 0], i = t.colorAxis, s = t.margin, r = (o) => {
@@ -3879,7 +3879,7 @@ function Dp() {
3879
3879
  });
3880
3880
  };
3881
3881
  t.hasCartesianSeries ? r(t.axes) : i?.length && r(i), ca.forEach((o, a) => {
3882
- ee(s[a]) || (t[o] += e[a]);
3882
+ se(s[a]) || (t[o] += e[a]);
3883
3883
  }), t.setChartSize();
3884
3884
  }
3885
3885
  getOptions() {
@@ -3907,7 +3907,7 @@ function Dp() {
3907
3907
  let o = r.globalAnimation;
3908
3908
  s.oldChartHeight = s.chartHeight, s.oldChartWidth = s.chartWidth, t !== void 0 && (s.options.chart.width = t), e !== void 0 && (s.options.chart.height = e), s.getChartSize();
3909
3909
  let { chartWidth: a, chartHeight: n, scrollablePixelsX: h = 0, scrollablePixelsY: c = 0 } = s;
3910
- (s.isDirtyBox || a !== s.oldChartWidth || n !== s.oldChartHeight) && (s.styledMode || (o ? tr : Bt)(s.container, { width: `${a + h}px`, height: `${n + c}px` }, o), s.setChartSize(!0), r.setSize(a, n, o), s.axes.forEach(function(d) {
3910
+ (s.isDirtyBox || a !== s.oldChartWidth || n !== s.oldChartHeight) && (s.styledMode || (o ? tr : zt)(s.container, { width: `${a + h}px`, height: `${n + c}px` }, o), s.setChartSize(!0), r.setSize(a, n, o), s.axes.forEach(function(d) {
3911
3911
  d.isDirty = !0, d.setScale();
3912
3912
  }), s.isDirtyLegend = !0, s.isDirtyBox = !0, s.layOutTitles(), s.getMargins(), s.redraw(o), s.oldChartHeight = void 0, Y(s, "resize"), setTimeout(() => {
3913
3913
  s && Y(s, "endResize");
@@ -3950,7 +3950,7 @@ function Dp() {
3950
3950
  let { linkedTo: r } = s.options;
3951
3951
  if (Zi(r)) {
3952
3952
  let o;
3953
- (o = r === ":previous" ? e.series[s.index - 1] : e.get(r)) && o.linkedParent !== s && (o.linkedSeries.push(s), s.linkedParent = o, o.enabledDataSorting && s.setDataSortingOptions(), s.visible = bt(s.options.visible, o.options.visible, s.visible));
3953
+ (o = r === ":previous" ? e.series[s.index - 1] : e.get(r)) && o.linkedParent !== s && (o.linkedSeries.push(s), s.linkedParent = o, o.enabledDataSorting && s.setDataSortingOptions(), s.visible = vt(s.options.visible, o.options.visible, s.visible));
3954
3954
  }
3955
3955
  }), Y(this, "afterLinkSeries", { isUpdating: t });
3956
3956
  }
@@ -3969,8 +3969,8 @@ function Dp() {
3969
3969
  let { options: d } = c, { labels: p } = d;
3970
3970
  if (this.hasCartesianSeries && c.horiz && c.visible && p.enabled && c.series.length && c.coll !== "colorAxis" && !this.polar) {
3971
3971
  o = d.tickLength, c.createGroups();
3972
- let u = new Ie(c, 0, "", !0), g = u.createLabel("x", p);
3973
- if (u.destroy(), g && bt(p.reserveSpace, !We(d.crossing)) && (o = g.getBBox().height + p.distance + Math.max(d.offset || 0, 0)), o) {
3972
+ let u = new De(c, 0, "", !0), g = u.createLabel("x", p);
3973
+ if (u.destroy(), g && vt(p.reserveSpace, !Xe(d.crossing)) && (o = g.getBBox().height + p.distance + Math.max(d.offset || 0, 0)), o) {
3974
3974
  g?.destroy();
3975
3975
  break;
3976
3976
  }
@@ -3984,7 +3984,7 @@ function Dp() {
3984
3984
  this.drawChartBox(), this.hasCartesianSeries ? r(t) : e?.length && r(e), this.seriesGroup || (this.seriesGroup = i.g("series-group").attr({ zIndex: 3 }).shadow(this.options.chart.seriesGroupShadow).add()), this.dataLabelsGroup || (this.dataLabelsGroup = i.g("datalabels-group").attr({ zIndex: 6 }).add()), this.renderSeries(), this.addCredits(), this.setResponsive && this.setResponsive(), this.hasRendered = !0;
3985
3985
  }
3986
3986
  addCredits(t) {
3987
- let e = this, i = Yt(!0, this.options.credits, t);
3987
+ let e = this, i = Ut(!0, this.options.credits, t);
3988
3988
  i.enabled && !this.credits && (this.credits = this.renderer.text(i.text + (this.mapCredits || ""), 0, 0).addClass("highcharts-credits").on("click", function() {
3989
3989
  i.href && (pa.location.href = i.href);
3990
3990
  }).attr({ align: i.position.align, zIndex: 8 }), e.styledMode || this.credits.css(i.style), this.credits.add().align(i.position), this.credits.update = function(s) {
@@ -3993,11 +3993,11 @@ function Dp() {
3993
3993
  }
3994
3994
  destroy() {
3995
3995
  let t, e = this, i = e.axes, s = e.series, r = e.container, o = r?.parentNode;
3996
- for (Y(e, "destroy"), e.renderer.forExport ? Wd(xe, e) : xe[e.index] = void 0, C.chartCount--, e.renderTo.removeAttribute("data-highcharts-chart"), ma(e), t = i.length; t--; ) i[t] = i[t].destroy();
3996
+ for (Y(e, "destroy"), e.renderer.forExport ? Wd(ye, e) : ye[e.index] = void 0, C.chartCount--, e.renderTo.removeAttribute("data-highcharts-chart"), ma(e), t = i.length; t--; ) i[t] = i[t].destroy();
3997
3997
  for (this.scroller?.destroy?.(), t = s.length; t--; ) s[t] = s[t].destroy();
3998
3998
  ["title", "subtitle", "chartBackground", "plotBackground", "plotBGImage", "plotBorder", "seriesGroup", "clipRect", "credits", "pointer", "rangeSelector", "legend", "resetZoomButton", "tooltip", "renderer"].forEach((a) => {
3999
3999
  e[a] = e[a]?.destroy?.();
4000
- }), r && (r.innerHTML = tt.emptyHTML, ma(r), o && Rd(r)), hr(e, function(a, n) {
4000
+ }), r && (r.innerHTML = Q.emptyHTML, ma(r), o && Rd(r)), hr(e, function(a, n) {
4001
4001
  delete e[n];
4002
4002
  });
4003
4003
  }
@@ -4012,7 +4012,7 @@ function Dp() {
4012
4012
  onload() {
4013
4013
  this.callbacks.concat([this.callback]).forEach(function(t) {
4014
4014
  t && this.index !== void 0 && t.apply(this, [this]);
4015
- }, this), Y(this, "load"), Y(this, "render"), ee(this.index) && this.setReflow(), this.warnIfA11yModuleNotLoaded(), this.hasLoaded = !0;
4015
+ }, this), Y(this, "load"), Y(this, "render"), se(this.index) && this.setReflow(), this.warnIfA11yModuleNotLoaded(), this.hasLoaded = !0;
4016
4016
  }
4017
4017
  warnIfA11yModuleNotLoaded() {
4018
4018
  let { options: t, title: e } = this;
@@ -4020,7 +4020,7 @@ function Dp() {
4020
4020
  }
4021
4021
  addSeries(t, e, i) {
4022
4022
  let s, r = this;
4023
- return t && (e = bt(e, !0), Y(r, "addSeries", { options: t }, function() {
4023
+ return t && (e = vt(e, !0), Y(r, "addSeries", { options: t }, function() {
4024
4024
  s = r.initSeries(t), r.isDirtyLegend = !0, r.linkSeries(), s.enabledDataSorting && s.setData(t.data, !1), Y(r, "afterAddSeries", { series: s }), e && r.redraw(i);
4025
4025
  })), s;
4026
4026
  }
@@ -4031,33 +4031,33 @@ function Dp() {
4031
4031
  return this.createAxis("colorAxis", { axis: t, redraw: e, animation: i });
4032
4032
  }
4033
4033
  createAxis(t, e) {
4034
- let i = new De(this, e.axis, t);
4035
- return bt(e.redraw, !0) && this.redraw(e.animation), i;
4034
+ let i = new Be(this, e.axis, t);
4035
+ return vt(e.redraw, !0) && this.redraw(e.animation), i;
4036
4036
  }
4037
4037
  showLoading(t) {
4038
4038
  let e = this, i = e.options, s = i.loading, r = function() {
4039
- o && Bt(o, { left: e.plotLeft + "px", top: e.plotTop + "px", width: e.plotWidth + "px", height: e.plotHeight + "px" });
4039
+ o && zt(o, { left: e.plotLeft + "px", top: e.plotTop + "px", width: e.plotWidth + "px", height: e.plotHeight + "px" });
4040
4040
  }, o = e.loadingDiv, a = e.loadingSpan;
4041
- o || (e.loadingDiv = o = or("div", { className: "highcharts-loading highcharts-loading-hidden" }, null, e.container)), a || (e.loadingSpan = a = or("span", { className: "highcharts-loading-inner" }, null, o), rr(e, "redraw", r)), o.className = "highcharts-loading", tt.setElementHTML(a, bt(t, i.lang.loading, "")), !e.styledMode && (Bt(o, ie(s.style, { zIndex: 10 })), Bt(a, s.labelStyle), e.loadingShown || (Bt(o, { opacity: 0, display: "" }), tr(o, { opacity: s.style.opacity || 0.5 }, { duration: s.showDuration || 0 }))), e.loadingShown = !0, r();
4041
+ o || (e.loadingDiv = o = or("div", { className: "highcharts-loading highcharts-loading-hidden" }, null, e.container)), a || (e.loadingSpan = a = or("span", { className: "highcharts-loading-inner" }, null, o), rr(e, "redraw", r)), o.className = "highcharts-loading", Q.setElementHTML(a, vt(t, i.lang.loading, "")), !e.styledMode && (zt(o, re(s.style, { zIndex: 10 })), zt(a, s.labelStyle), e.loadingShown || (zt(o, { opacity: 0, display: "" }), tr(o, { opacity: s.style.opacity || 0.5 }, { duration: s.showDuration || 0 }))), e.loadingShown = !0, r();
4042
4042
  }
4043
4043
  hideLoading() {
4044
4044
  let t = this.options, e = this.loadingDiv;
4045
4045
  e && (e.className = "highcharts-loading highcharts-loading-hidden", this.styledMode || tr(e, { opacity: 0 }, { duration: t.loading.hideDuration || 100, complete: function() {
4046
- Bt(e, { display: "none" });
4046
+ zt(e, { display: "none" });
4047
4047
  } })), this.loadingShown = !1;
4048
4048
  }
4049
4049
  update(t, e, i, s) {
4050
4050
  let r, o, a, n = this, h = { credits: "addCredits", title: "setTitle", subtitle: "setSubtitle", caption: "setCaption" }, c = t.isResponsiveOptions, d = [];
4051
- Y(n, "update", { options: t }), c || n.setResponsive(!1, !0), t = ga(t, n.options), n.userOptions = Yt(n.userOptions, t);
4051
+ Y(n, "update", { options: t }), c || n.setResponsive(!1, !0), t = ga(t, n.options), n.userOptions = Ut(n.userOptions, t);
4052
4052
  let p = t.chart;
4053
- p && (Yt(!0, n.options.chart, p), this.setZoomOptions(), "className" in p && n.setClassName(p.className), ("inverted" in p || "polar" in p || "type" in p) && (n.propFromSeries(), r = !0), "alignTicks" in p && (r = !0), "events" in p && da(this, p), hr(p, function(x, m) {
4053
+ p && (Ut(!0, n.options.chart, p), this.setZoomOptions(), "className" in p && n.setClassName(p.className), ("inverted" in p || "polar" in p || "type" in p) && (n.propFromSeries(), r = !0), "alignTicks" in p && (r = !0), "events" in p && da(this, p), hr(p, function(x, m) {
4054
4054
  n.propsRequireUpdateSeries.indexOf("chart." + m) !== -1 && (o = !0), n.propsRequireDirtyBox.indexOf(m) !== -1 && (n.isDirtyBox = !0), n.propsRequireReflow.indexOf(m) !== -1 && (n.isDirtyBox = !0, c || (a = !0));
4055
4055
  }), !n.styledMode && p.style && n.renderer.setStyle(n.options.chart.style || {})), !n.styledMode && t.colors && (this.options.colors = t.colors), hr(t, function(x, m) {
4056
- n[m] && typeof n[m].update == "function" ? n[m].update(x, !1) : typeof n[h[m]] == "function" ? n[h[m]](x) : m !== "colors" && n.collectionsWithUpdate.indexOf(m) === -1 && Yt(!0, n.options[m], t[m]), m !== "chart" && n.propsRequireUpdateSeries.indexOf(m) !== -1 && (o = !0);
4056
+ n[m] && typeof n[m].update == "function" ? n[m].update(x, !1) : typeof n[h[m]] == "function" ? n[h[m]](x) : m !== "colors" && n.collectionsWithUpdate.indexOf(m) === -1 && Ut(!0, n.options[m], t[m]), m !== "chart" && n.propsRequireUpdateSeries.indexOf(m) !== -1 && (o = !0);
4057
4057
  }), this.collectionsWithUpdate.forEach(function(x) {
4058
4058
  t[x] && (qi(t[x]).forEach(function(m, f) {
4059
- let y, b = ee(m.id);
4060
- b && (y = n.get(m.id)), !y && n[x] && (y = n[x][bt(m.index, f)]) && (b && ee(y.options.id) || y.options.isInternal) && (y = void 0), y && y.coll === x && (y.update(m, !1), i && (y.touched = !0)), !y && i && n.collectionsWithInit[x] && (n.collectionsWithInit[x][0].apply(n, [m].concat(n.collectionsWithInit[x][1] || []).concat([!1])).touched = !0);
4059
+ let y, b = se(m.id);
4060
+ b && (y = n.get(m.id)), !y && n[x] && (y = n[x][vt(m.index, f)]) && (b && se(y.options.id) || y.options.isInternal) && (y = void 0), y && y.coll === x && (y.update(m, !1), i && (y.touched = !0)), !y && i && n.collectionsWithInit[x] && (n.collectionsWithInit[x][0].apply(n, [m].concat(n.collectionsWithInit[x][1] || []).concat([!1])).touched = !0);
4061
4061
  }), i && n[x].forEach(function(m) {
4062
4062
  m.touched || m.options.isInternal ? delete m.touched : d.push(m);
4063
4063
  }));
@@ -4069,7 +4069,7 @@ function Dp() {
4069
4069
  x.chart && x.update({}, !1);
4070
4070
  }, this);
4071
4071
  let u = p?.width, g = p && (Zi(p.height) ? fa(p.height, u || n.chartWidth) : p.height);
4072
- a || We(u) && u !== n.chartWidth || We(g) && g !== n.chartHeight ? n.setSize(u, g, s) : bt(e, !0) && n.redraw(s), Y(n, "afterUpdate", { options: t, redraw: e, animation: s });
4072
+ a || Xe(u) && u !== n.chartWidth || Xe(g) && g !== n.chartHeight ? n.setSize(u, g, s) : vt(e, !0) && n.redraw(s), Y(n, "afterUpdate", { options: t, redraw: e, animation: s });
4073
4073
  }
4074
4074
  setSubtitle(t, e) {
4075
4075
  this.applyDescription("subtitle", t), this.layOutTitles(e);
@@ -4092,7 +4092,7 @@ function Dp() {
4092
4092
  pan(t, e) {
4093
4093
  let i = this, s = typeof e == "object" ? e : { enabled: e, type: "x" }, r = s.type, o = r && i[{ x: "xAxis", xy: "axes", y: "yAxis" }[r]].filter((n) => n.options.panningEnabled && !n.options.isInternal), a = i.options.chart;
4094
4094
  a?.panning && (a.panning = s), Y(this, "pan", { originalEvent: t }, () => {
4095
- i.transform({ axes: o, event: t, to: { x: t.chartX - (i.mouseDownX || 0), y: t.chartY - (i.mouseDownY || 0) }, trigger: "pan" }), Bt(i.container, { cursor: "move" });
4095
+ i.transform({ axes: o, event: t, to: { x: t.chartX - (i.mouseDownX || 0), y: t.chartY - (i.mouseDownY || 0) }, trigger: "pan" }), zt(i.container, { cursor: "move" });
4096
4096
  });
4097
4097
  }
4098
4098
  transform(t) {
@@ -4100,26 +4100,26 @@ function Dp() {
4100
4100
  this.hoverPoints?.forEach((g) => g.setState()), Y(this, "transform", t);
4101
4101
  let d = t.hasZoomed || !1, p, u;
4102
4102
  for (let g of e) {
4103
- let { horiz: x, len: m, minPointOffset: f = 0, options: y, reversed: b } = g, v = x ? "width" : "height", k = x ? "x" : "y", M = bt(a[v], g.len), S = bt(s[v], g.len), w = 10 > Math.abs(M) ? 1 : M / S, A = (s[k] || 0) + S / 2 - g.pos, P = A - ((a[k] ?? g.pos) + M / 2 - g.pos) / w, T = b && !h || !b && h ? -1 : 1;
4103
+ let { horiz: x, len: m, minPointOffset: f = 0, options: y, reversed: b } = g, v = x ? "width" : "height", k = x ? "x" : "y", M = vt(a[v], g.len), S = vt(s[v], g.len), w = 10 > Math.abs(M) ? 1 : M / S, A = (s[k] || 0) + S / 2 - g.pos, P = A - ((a[k] ?? g.pos) + M / 2 - g.pos) / w, T = b && !h || !b && h ? -1 : 1;
4104
4104
  if (!r && (A < 0 || A > g.len)) continue;
4105
4105
  let L = g.chart.polar || g.isOrdinal ? 0 : f * T || 0, I = g.toValue(P, !0), D = g.toValue(P + m / w, !0), O = I + L, E = D - L, N = g.allExtremes;
4106
4106
  if (o && o[g.coll].push({ axis: g, min: Math.min(I, D), max: Math.max(I, D) }), O > E && ([O, E] = [E, O]), w === 1 && !r && g.coll === "yAxis" && !N) {
4107
- for (let ae of g.series) {
4108
- let Ct = ae.getExtremes(ae.getProcessedData(!0).modified.getColumn("y") || [], !0);
4109
- N ?? (N = { dataMin: Number.MAX_VALUE, dataMax: -Number.MAX_VALUE }), We(Ct.dataMin) && We(Ct.dataMax) && (N.dataMin = Math.min(Ct.dataMin, N.dataMin), N.dataMax = Math.max(Ct.dataMax, N.dataMax));
4107
+ for (let le of g.series) {
4108
+ let Pt = le.getExtremes(le.getProcessedData(!0).modified.getColumn("y") || [], !0);
4109
+ N ?? (N = { dataMin: Number.MAX_VALUE, dataMax: -Number.MAX_VALUE }), Xe(Pt.dataMin) && Xe(Pt.dataMax) && (N.dataMin = Math.min(Pt.dataMin, N.dataMin), N.dataMax = Math.max(Pt.dataMax, N.dataMax));
4110
4110
  }
4111
4111
  g.allExtremes = N;
4112
4112
  }
4113
- let { dataMin: _, dataMax: F, min: G, max: X } = ie(g.getExtremes(), N || {}), W = c.parse(y.min), V = c.parse(y.max), U = _ ?? W, $ = F ?? V, Z = E - O, q = g.categories ? 0 : Math.min(Z, $ - U), vt = U - q * (ee(W) ? 0 : y.minPadding), kt = $ + q * (ee(V) ? 0 : y.maxPadding), wt = g.allowZoomOutside || w === 1 || n !== "zoom" && w > 1, Nt = Math.min(W ?? vt, vt, wt ? G : vt), ft = Math.max(V ?? kt, kt, wt ? X : kt);
4114
- (!g.isOrdinal || w !== 1 || r) && (O < Nt && (O = Nt, w >= 1 && (E = O + Z)), E > ft && (E = ft, w >= 1 && (O = E - Z)), (r || g.series.length && (O !== G || E !== X) && O >= Nt && E <= ft) && (o ? o[g.coll].push({ axis: g, min: O, max: E }) : (g.isPanning = n !== "zoom", g.isPanning && (u = !0), g.setExtremes(r ? void 0 : O, r ? void 0 : E, !1, !1, { move: P, trigger: n, scale: w }), !r && (O > Nt || E < ft) && n !== "mousewheel" && (p = !0)), d = !0), this.hasCartesianSeries || r || n === "mousewheel" || (p = !0), i && (this[x ? "mouseDownX" : "mouseDownY"] = i[x ? "chartX" : "chartY"]));
4113
+ let { dataMin: K, dataMax: F, min: G, max: X } = re(g.getExtremes(), N || {}), W = c.parse(y.min), U = c.parse(y.max), j = K ?? W, V = F ?? U, $ = E - O, Z = g.categories ? 0 : Math.min($, V - j), kt = j - Z * (se(W) ? 0 : y.minPadding), wt = V + Z * (se(U) ? 0 : y.maxPadding), Mt = g.allowZoomOutside || w === 1 || n !== "zoom" && w > 1, Rt = Math.min(W ?? kt, kt, Mt ? G : kt), mt = Math.max(U ?? wt, wt, Mt ? X : wt);
4114
+ (!g.isOrdinal || w !== 1 || r) && (O < Rt && (O = Rt, w >= 1 && (E = O + $)), E > mt && (E = mt, w >= 1 && (O = E - $)), (r || g.series.length && (O !== G || E !== X) && O >= Rt && E <= mt) && (o ? o[g.coll].push({ axis: g, min: O, max: E }) : (g.isPanning = n !== "zoom", g.isPanning && (u = !0), g.setExtremes(r ? void 0 : O, r ? void 0 : E, !1, !1, { move: P, trigger: n, scale: w }), !r && (O > Rt || E < mt) && n !== "mousewheel" && (p = !0)), d = !0), this.hasCartesianSeries || r || n === "mousewheel" || (p = !0), i && (this[x ? "mouseDownX" : "mouseDownY"] = i[x ? "chartX" : "chartY"]));
4115
4115
  }
4116
4116
  return d && (o ? Y(this, "selection", o, () => {
4117
4117
  delete t.selection, t.trigger = "zoom", this.transform(t);
4118
4118
  }) : (!p || u || this.resetZoomButton ? !p && this.resetZoomButton && (this.resetZoomButton = this.resetZoomButton.destroy()) : this.showResetZoom(), this.redraw(n === "zoom" && (this.options.chart.animation ?? this.pointCount < 100)))), d;
4119
4119
  }
4120
4120
  }
4121
- ie(se.prototype, { callbacks: [], collectionsWithInit: { xAxis: [se.prototype.addAxis, [!0]], yAxis: [se.prototype.addAxis, [!1]], series: [se.prototype.addSeries] }, collectionsWithUpdate: ["xAxis", "yAxis", "series"], propsRequireDirtyBox: ["backgroundColor", "borderColor", "borderWidth", "borderRadius", "plotBackgroundColor", "plotBackgroundImage", "plotBorderColor", "plotBorderWidth", "plotShadow", "shadow"], propsRequireReflow: ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "spacing", "spacingTop", "spacingRight", "spacingBottom", "spacingLeft"], propsRequireUpdateSeries: ["chart.inverted", "chart.polar", "chart.ignoreHiddenSeries", "chart.type", "colors", "plotOptions", "time", "tooltip"] });
4122
- let { stop: Ud } = gt, { composed: Vd } = C, { addEvent: re, createElement: Ki, css: dr, defined: cr, erase: $d, merge: xa, pushUnique: ya } = B;
4121
+ re(oe.prototype, { callbacks: [], collectionsWithInit: { xAxis: [oe.prototype.addAxis, [!0]], yAxis: [oe.prototype.addAxis, [!1]], series: [oe.prototype.addSeries] }, collectionsWithUpdate: ["xAxis", "yAxis", "series"], propsRequireDirtyBox: ["backgroundColor", "borderColor", "borderWidth", "borderRadius", "plotBackgroundColor", "plotBackgroundImage", "plotBorderColor", "plotBorderWidth", "plotShadow", "shadow"], propsRequireReflow: ["margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "spacing", "spacingTop", "spacingRight", "spacingBottom", "spacingLeft"], propsRequireUpdateSeries: ["chart.inverted", "chart.polar", "chart.ignoreHiddenSeries", "chart.type", "colors", "plotOptions", "time", "tooltip"] });
4122
+ let { stop: Ud } = ft, { composed: Vd } = C, { addEvent: ae, createElement: Ki, css: dr, defined: cr, erase: $d, merge: xa, pushUnique: ya } = B;
4123
4123
  function Zd() {
4124
4124
  let l = this.scrollablePlotArea;
4125
4125
  (this.scrollablePixelsX || this.scrollablePixelsY) && !l && (this.scrollablePlotArea = l = new ni(this)), l?.applyFixed();
@@ -4129,7 +4129,7 @@ function Dp() {
4129
4129
  }
4130
4130
  class ni {
4131
4131
  static compose(t, e, i) {
4132
- ya(Vd, this.compose) && (re(t, "afterInit", ba), re(e, "afterSetChartSize", (s) => this.afterSetSize(s.target, s)), re(e, "render", Zd), re(i, "show", ba));
4132
+ ya(Vd, this.compose) && (ae(t, "afterInit", ba), ae(e, "afterSetChartSize", (s) => this.afterSetSize(s.target, s)), ae(e, "render", Zd), ae(i, "show", ba));
4133
4133
  }
4134
4134
  static afterSetSize(t, e) {
4135
4135
  let i, s, r, { minWidth: o, minHeight: a } = t.options.chart.scrollablePlotArea || {}, { clipBox: n, plotBox: h, inverted: c, renderer: d } = t;
@@ -4141,7 +4141,7 @@ function Dp() {
4141
4141
  let e, i = t.options.chart, s = Ke.getRendererType(), r = i.scrollablePlotArea || {}, o = this.moveFixedElements.bind(this), a = { WebkitOverflowScrolling: "touch", overflowX: "hidden", overflowY: "hidden" };
4142
4142
  t.scrollablePixelsX && (a.overflowX = "auto"), t.scrollablePixelsY && (a.overflowY = "auto"), this.chart = t;
4143
4143
  let n = this.parentDiv = Ki("div", { className: "highcharts-scrolling-parent" }, { position: "relative" }, t.renderTo), h = this.scrollingContainer = Ki("div", { className: "highcharts-scrolling" }, a, n), c = this.innerContainer = Ki("div", { className: "highcharts-inner-container" }, void 0, h), d = this.fixedDiv = Ki("div", { className: "highcharts-fixed" }, { position: "absolute", overflow: "hidden", pointerEvents: "none", zIndex: (i.style?.zIndex || 0) + 2, top: 0 }, void 0, !0), p = this.fixedRenderer = new s(d, t.chartWidth, t.chartHeight, i.style);
4144
- this.mask = p.path().attr({ fill: i.backgroundColor || "#fff", "fill-opacity": r.opacity ?? 0.85, zIndex: -1 }).addClass("highcharts-scrollable-mask").add(), h.parentNode.insertBefore(d, h), dr(t.renderTo, { overflow: "visible" }), re(t, "afterShowResetZoom", o), re(t, "afterApplyDrilldown", o), re(t, "afterLayOutTitles", o), re(h, "scroll", () => {
4144
+ this.mask = p.path().attr({ fill: i.backgroundColor || "#fff", "fill-opacity": r.opacity ?? 0.85, zIndex: -1 }).addClass("highcharts-scrollable-mask").add(), h.parentNode.insertBefore(d, h), dr(t.renderTo, { overflow: "visible" }), ae(t, "afterShowResetZoom", o), ae(t, "afterApplyDrilldown", o), ae(t, "afterLayOutTitles", o), ae(h, "scroll", () => {
4145
4145
  let { pointer: u, hoverPoint: g } = t;
4146
4146
  u && (delete u.chartPosition, g && (e = g), u.runPointActions(void 0, e, !0));
4147
4147
  }), c.appendChild(t.container);
@@ -4162,7 +4162,7 @@ function Dp() {
4162
4162
  }
4163
4163
  }
4164
4164
  ni.fixedSelectors = [".highcharts-breadcrumbs-group", ".highcharts-contextbutton", ".highcharts-caption", ".highcharts-credits", ".highcharts-drillup-button", ".highcharts-legend", ".highcharts-legend-checkbox", ".highcharts-navigator-series", ".highcharts-navigator-xaxis", ".highcharts-navigator-yaxis", ".highcharts-navigator", ".highcharts-range-selector-group", ".highcharts-reset-zoom", ".highcharts-scrollbar", ".highcharts-subtitle", ".highcharts-title"];
4165
- let { format: qd } = Lt, { series: Kd } = at, { destroyObjectProperties: _d, fireEvent: va, getAlignFactor: pr, isNumber: ur, pick: li } = B, ka = class {
4165
+ let { format: qd } = Et, { series: Kd } = ot, { destroyObjectProperties: _d, fireEvent: va, getAlignFactor: pr, isNumber: ur, pick: li } = B, ka = class {
4166
4166
  constructor(l, t, e, i, s) {
4167
4167
  let r = l.chart.inverted, o = l.reversed;
4168
4168
  this.axis = l;
@@ -4199,7 +4199,7 @@ function Dp() {
4199
4199
  let t = this.axis, e = t.chart, { boxTop: i, defaultX: s, xOffset: r, width: o, boxBottom: a } = l, n = t.stacking.usePercentage ? 100 : li(i, this.total, 0), h = t.toPixels(n), c = l.xAxis || e.xAxis[0], d = li(s, c.translate(this.x)) + r, p = Math.abs(h - t.toPixels(a || ur(t.min) && t.logarithmic && t.logarithmic.lin2log(t.min) || 0)), u = e.inverted, g = this.isNegative;
4200
4200
  return u ? { x: (g ? h : h - p) - e.plotLeft, y: c.height - d - o + c.top - e.plotTop, width: p, height: o } : { x: d + c.transB - e.plotLeft, y: (g ? h - p : h) - e.plotTop, width: o, height: p };
4201
4201
  }
4202
- }, { getDeferredAnimation: Jd } = gt, { series: { prototype: Qd } } = at, { addEvent: wa, correctFloat: hi, defined: Ma, destroyObjectProperties: tc, fireEvent: ec, isNumber: gr, objectEach: ye, pick: fr } = B;
4202
+ }, { getDeferredAnimation: Jd } = ft, { series: { prototype: Qd } } = ot, { addEvent: wa, correctFloat: hi, defined: Ma, destroyObjectProperties: tc, fireEvent: ec, isNumber: gr, objectEach: be, pick: fr } = B;
4203
4203
  function ic() {
4204
4204
  let l = this.inverted;
4205
4205
  this.axes.forEach((t) => {
@@ -4213,7 +4213,7 @@ function Dp() {
4213
4213
  let l = this.stacking;
4214
4214
  if (l) {
4215
4215
  let t = l.stacks;
4216
- ye(t, (e, i) => {
4216
+ be(t, (e, i) => {
4217
4217
  tc(e), delete t[i];
4218
4218
  }), l.stackTotalGroup?.destroy();
4219
4219
  }
@@ -4261,23 +4261,23 @@ function Dp() {
4261
4261
  ec(i, "afterBuildStacks");
4262
4262
  }
4263
4263
  cleanStacks() {
4264
- this.oldStacks && (this.stacks = this.oldStacks, ye(this.stacks, (t) => {
4265
- ye(t, (e) => {
4264
+ this.oldStacks && (this.stacks = this.oldStacks, be(this.stacks, (t) => {
4265
+ be(t, (e) => {
4266
4266
  e.cumulative = e.total;
4267
4267
  });
4268
4268
  }));
4269
4269
  }
4270
4270
  resetStacks() {
4271
- ye(this.stacks, (t) => {
4272
- ye(t, (e, i) => {
4271
+ be(this.stacks, (t) => {
4272
+ be(t, (e, i) => {
4273
4273
  gr(e.touched) && e.touched < this.stacksTouched ? (e.destroy(), delete t[i]) : (e.total = null, e.cumulative = null);
4274
4274
  });
4275
4275
  });
4276
4276
  }
4277
4277
  renderStackTotals() {
4278
4278
  let t = this.axis, e = t.chart, i = e.renderer, s = this.stacks, r = Jd(e, t.options.stackLabels?.animation || !1), o = this.stackTotalGroup = this.stackTotalGroup || i.g("stack-labels").attr({ zIndex: 6, opacity: 0 }).add();
4279
- o.translate(e.plotLeft, e.plotTop), ye(s, (a) => {
4280
- ye(a, (n) => {
4279
+ o.translate(e.plotLeft, e.plotTop), be(s, (a) => {
4280
+ be(a, (n) => {
4281
4281
  n.render(o);
4282
4282
  });
4283
4283
  }), o.animate({ opacity: 1 }, r);
@@ -4288,7 +4288,7 @@ function Dp() {
4288
4288
  i.getStacks || (wa(l, "init", rc), wa(l, "destroy", sc), i.getStacks = ic, s.getStackIndicator = oc, s.modifyStacks = ac, s.percentStacker = nc, s.setGroupedPoints = lc, s.setStackedPoints = hc);
4289
4289
  };
4290
4290
  let cc = Ye, { defined: pc, merge: Sa, isObject: uc } = B;
4291
- class Ta extends Tt {
4291
+ class Ta extends At {
4292
4292
  drawGraph() {
4293
4293
  let t = this.options, e = (this.gappedPath || this.getGraphPath).call(this), i = this.chart.styledMode;
4294
4294
  [this, ...this.zones].forEach((s, r) => {
@@ -4304,8 +4304,8 @@ function Dp() {
4304
4304
  }), o.xMap = a, s.graphPath = o, o;
4305
4305
  }
4306
4306
  }
4307
- Ta.defaultOptions = Sa(Tt.defaultOptions, { legendSymbol: "lineMarker" }), at.registerSeriesType("line", Ta);
4308
- let { seriesTypes: { line: mr } } = at, { extend: gc, merge: fc, objectEach: mc, pick: _i } = B;
4307
+ Ta.defaultOptions = Sa(At.defaultOptions, { legendSymbol: "lineMarker" }), ot.registerSeriesType("line", Ta);
4308
+ let { seriesTypes: { line: mr } } = ot, { extend: gc, merge: fc, objectEach: mc, pick: _i } = B;
4309
4309
  class xr extends mr {
4310
4310
  drawGraph() {
4311
4311
  this.areaPath = [], super.drawGraph.apply(this);
@@ -4371,8 +4371,8 @@ function Dp() {
4371
4371
  return i;
4372
4372
  }
4373
4373
  }
4374
- xr.defaultOptions = fc(mr.defaultOptions, { threshold: 0, legendSymbol: "areaMarker" }), gc(xr.prototype, { singleStacks: !1 }), at.registerSeriesType("area", xr);
4375
- let { line: Aa } = at.seriesTypes, { merge: xc, pick: Ji } = B;
4374
+ xr.defaultOptions = fc(mr.defaultOptions, { threshold: 0, legendSymbol: "areaMarker" }), gc(xr.prototype, { singleStacks: !1 }), ot.registerSeriesType("area", xr);
4375
+ let { line: Aa } = ot.seriesTypes, { merge: xc, pick: Ji } = B;
4376
4376
  class yr extends Aa {
4377
4377
  getPointSpline(t, e, i) {
4378
4378
  let s, r, o, a, n = e.plotX || 0, h = e.plotY || 0, c = t[i - 1], d = t[i + 1];
@@ -4387,13 +4387,13 @@ function Dp() {
4387
4387
  return c.rightContX = c.rightContY = void 0, u;
4388
4388
  }
4389
4389
  }
4390
- yr.defaultOptions = xc(Aa.defaultOptions), at.registerSeriesType("spline", yr);
4391
- let Ca = yr, { area: yc, area: { prototype: br } } = at.seriesTypes, { extend: bc, merge: vc } = B;
4390
+ yr.defaultOptions = xc(Aa.defaultOptions), ot.registerSeriesType("spline", yr);
4391
+ let Ca = yr, { area: yc, area: { prototype: br } } = ot.seriesTypes, { extend: bc, merge: vc } = B;
4392
4392
  class vr extends Ca {
4393
4393
  }
4394
- vr.defaultOptions = vc(Ca.defaultOptions, yc.defaultOptions), bc(vr.prototype, { getGraphPath: br.getGraphPath, getStackPoints: br.getStackPoints, drawGraph: br.drawGraph }), at.registerSeriesType("areaspline", vr);
4395
- let { animObject: kc } = gt, { parse: wc } = et, { noop: Mc } = C, { clamp: Qi, crisp: ts, defined: Pa, extend: Oa, fireEvent: La, isArray: Ea, isNumber: es, merge: kr, pick: di, objectEach: Sc } = B;
4396
- class is extends Tt {
4394
+ vr.defaultOptions = vc(Ca.defaultOptions, yc.defaultOptions), bc(vr.prototype, { getGraphPath: br.getGraphPath, getStackPoints: br.getStackPoints, drawGraph: br.drawGraph }), ot.registerSeriesType("areaspline", vr);
4395
+ let { animObject: kc } = ft, { parse: wc } = tt, { noop: Mc } = C, { clamp: Qi, crisp: ts, defined: Pa, extend: Oa, fireEvent: La, isArray: Ea, isNumber: es, merge: kr, pick: di, objectEach: Sc } = B;
4396
+ class is extends At {
4397
4397
  animate(t) {
4398
4398
  let e, i, s = this, r = this.yAxis, o = r.pos, a = r.reversed, n = s.options, { clipOffset: h, inverted: c } = this.chart, d = {}, p = c ? "translateX" : "translateY";
4399
4399
  t && h ? (d.scaleY = 1e-3, i = Qi(r.toPixels(n.threshold || 0), o, o + r.len), c ? d.translateX = (i += a ? -Math.floor(h[0]) : Math.ceil(h[2])) - r.len : d.translateY = i += a ? Math.ceil(h[0]) : -Math.floor(h[2]), s.clipBox && s.setClip(), s.group.attr(d)) : (e = Number(s.group.attr(p)), s.group.animate({ scaleY: 1 }, Oa(kc(s.options.animation), { step: function(u, g) {
@@ -4444,7 +4444,7 @@ function Dp() {
4444
4444
  }
4445
4445
  translate() {
4446
4446
  let t = this, e = t.chart, i = t.options, s = t.dense = t.closestPointRange * t.xAxis.transA < 2, r = t.borderWidth = di(i.borderWidth, +!s), o = t.xAxis, a = t.yAxis, n = i.threshold, h = di(i.minPointLength, 5), c = t.getColumnMetrics(), d = c.width, p = t.pointXOffset = c.offset, u = t.dataMin, g = t.dataMax, x = t.translatedThreshold = a.getThreshold(n), m = t.barW = Math.max(d, 1 + 2 * r);
4447
- i.pointPadding && i.crisp && (m = Math.ceil(m)), Tt.prototype.translate.apply(t), t.points.forEach(function(f) {
4447
+ i.pointPadding && i.crisp && (m = Math.ceil(m)), At.prototype.translate.apply(t), t.points.forEach(function(f) {
4448
4448
  let y = di(f.yBottom, x), b = 999 + Math.abs(y), v = f.plotX || 0, k = Qi(f.plotY, -b, a.len + b), M, S = Math.min(k, y), w = Math.max(k, y) - S, A = d, P = v + p, T = m;
4449
4449
  h && Math.abs(w) < h && (w = h, M = !a.reversed && !f.negative || a.reversed && f.negative, es(n) && es(g) && f.y === n && g <= n && (a.min || 0) < n && (u !== g || (a.max || 0) <= n) && (M = !M, f.negative = !f.negative), S = Math.abs(S - x) > h ? y - h : x - (M ? h : 0)), Pa(f.options.pointWidth) && (P -= Math.round(((A = T = Math.ceil(f.options.pointWidth)) - d) / 2)), i.centerInCategory && (P = t.adjustForMissingColumns(P, A, f, c)), f.barX = P, f.pointWidth = A, f.tooltipPos = e.inverted ? [Qi(a.len + a.pos - e.plotLeft - k, a.pos - e.plotLeft, a.len + a.pos - e.plotLeft), o.len + o.pos - e.plotTop - P - T / 2, w] : [o.left - e.plotLeft + P + T / 2, Qi(k + a.pos - e.plotTop, a.pos - e.plotTop, a.len + a.pos - e.plotTop), w], f.shapeType = t.pointClass.prototype.shapeType || "roundedRect", f.shapeArgs = t.crispCol(P, S, T, f.isNull ? 0 : w);
4450
4450
  }), La(this, "afterColumnTranslate");
@@ -4485,17 +4485,17 @@ function Dp() {
4485
4485
  let t = this, e = t.chart;
4486
4486
  e.hasRendered && e.series.forEach(function(i) {
4487
4487
  i.type === t.type && (i.isDirty = !0);
4488
- }), Tt.prototype.remove.apply(t, arguments);
4488
+ }), At.prototype.remove.apply(t, arguments);
4489
4489
  }
4490
4490
  }
4491
- is.defaultOptions = kr(Tt.defaultOptions, { borderRadius: 3, centerInCategory: !1, groupPadding: 0.2, marker: null, pointPadding: 0.1, minPointLength: 0, cropThreshold: 50, pointRange: null, states: { hover: { halo: !1, brightness: 0.1 }, select: { color: "#cccccc", borderColor: "#000000" } }, dataLabels: { align: void 0, verticalAlign: void 0, y: void 0 }, startFromThreshold: !0, stickyTracking: !1, tooltip: { distance: 6 }, threshold: 0, borderColor: "#ffffff" }), Oa(is.prototype, { directTouch: !0, getSymbol: Mc, negStacks: !0, trackerGroups: ["group", "dataLabelsGroup"] }), at.registerSeriesType("column", is);
4492
- let ss = is, { getDeferredAnimation: Tc } = gt, { format: Ac } = Lt, { defined: be, extend: Ia, fireEvent: wr, getAlignFactor: Da, isArray: oe, isString: ci, merge: pi, objectEach: Cc, pick: ui, pInt: Pc, splat: Ba } = B;
4491
+ is.defaultOptions = kr(At.defaultOptions, { borderRadius: 3, centerInCategory: !1, groupPadding: 0.2, marker: null, pointPadding: 0.1, minPointLength: 0, cropThreshold: 50, pointRange: null, states: { hover: { halo: !1, brightness: 0.1 }, select: { color: "#cccccc", borderColor: "#000000" } }, dataLabels: { align: void 0, verticalAlign: void 0, y: void 0 }, startFromThreshold: !0, stickyTracking: !1, tooltip: { distance: 6 }, threshold: 0, borderColor: "#ffffff" }), Oa(is.prototype, { directTouch: !0, getSymbol: Mc, negStacks: !0, trackerGroups: ["group", "dataLabelsGroup"] }), ot.registerSeriesType("column", is);
4492
+ let ss = is, { getDeferredAnimation: Tc } = ft, { format: Ac } = Et, { defined: ve, extend: Ia, fireEvent: wr, getAlignFactor: Da, isArray: ne, isString: ci, merge: pi, objectEach: Cc, pick: ui, pInt: Pc, splat: Ba } = B;
4493
4493
  (function(l) {
4494
4494
  function t() {
4495
4495
  return n(this).some((c) => c?.enabled);
4496
4496
  }
4497
4497
  function e(c, d, p, u, g) {
4498
- let { chart: x, enabledDataSorting: m } = this, f = this.isCartesian && x.inverted, y = c.plotX, b = c.plotY, v = p.rotation || 0, k = be(y) && be(b) && x.isInsidePlot(y, Math.round(b), { inverted: f, paneCoordinates: !0, series: this }), M = v === 0 && ui(p.overflow, m ? "none" : "justify") === "justify", S = this.visible && c.visible !== !1 && be(y) && (c.series.forceDL || m && !M || k || ui(p.inside, !!this.options.stacking) && u && x.isInsidePlot(y, f ? u.x + 1 : u.y + u.height - 1, { inverted: f, paneCoordinates: !0, series: this })), w = c.pos();
4498
+ let { chart: x, enabledDataSorting: m } = this, f = this.isCartesian && x.inverted, y = c.plotX, b = c.plotY, v = p.rotation || 0, k = ve(y) && ve(b) && x.isInsidePlot(y, Math.round(b), { inverted: f, paneCoordinates: !0, series: this }), M = v === 0 && ui(p.overflow, m ? "none" : "justify") === "justify", S = this.visible && c.visible !== !1 && ve(y) && (c.series.forceDL || m && !M || k || ui(p.inside, !!this.options.stacking) && u && x.isInsidePlot(y, f ? u.x + 1 : u.y + u.height - 1, { inverted: f, paneCoordinates: !0, series: this })), w = c.pos();
4499
4499
  if (S && w) {
4500
4500
  var A;
4501
4501
  let P = d.getBBox(), T = d.getBBox(void 0, 0);
@@ -4522,17 +4522,17 @@ function Dp() {
4522
4522
  wr(this, "drawDataLabels"), p.hasDataLabels?.() && (d = this.initDataLabels(M), c.forEach((S) => {
4523
4523
  let w = S.dataLabels || [], A = S.color || p.color;
4524
4524
  Ba(a(b, S.dlOptions || S.options?.dataLabels)).forEach((T, L) => {
4525
- let I = T.enabled && (S.visible || S.dataLabelOnHidden) && (!S.isNull || S.dataLabelOnNull) && (function($, Z) {
4526
- let q = Z.filter;
4527
- if (q) {
4528
- let vt = q.operator, kt = $[q.property], wt = q.value;
4529
- return vt === ">" && kt > wt || vt === "<" && kt < wt || vt === ">=" && kt >= wt || vt === "<=" && kt <= wt || vt === "==" && kt == wt || vt === "===" && kt === wt || vt === "!=" && kt != wt || vt === "!==" && kt !== wt || !1;
4525
+ let I = T.enabled && (S.visible || S.dataLabelOnHidden) && (!S.isNull || S.dataLabelOnNull) && (function(V, $) {
4526
+ let Z = $.filter;
4527
+ if (Z) {
4528
+ let kt = Z.operator, wt = V[Z.property], Mt = Z.value;
4529
+ return kt === ">" && wt > Mt || kt === "<" && wt < Mt || kt === ">=" && wt >= Mt || kt === "<=" && wt <= Mt || kt === "==" && wt == Mt || kt === "===" && wt === Mt || kt === "!=" && wt != Mt || kt === "!==" && wt !== Mt || !1;
4530
4530
  }
4531
4531
  return !0;
4532
- })(S, T), { backgroundColor: D, borderColor: O, distance: E, style: N = {} } = T, _, F, G, X = {}, W = w[L], V = !W, U;
4533
- I && (F = be(_ = ui(T[S.formatPrefix + "Format"], T.format)) ? Ac(_, S, u) : (T[S.formatPrefix + "Formatter"] || T.formatter).call(S, T), G = T.rotation, !u.styledMode && (N.color = ui(T.color, N.color, ci(p.color) ? p.color : void 0, "#000000"), N.color === "contrast" ? (D !== "none" && (U = D), S.contrastColor = x.getContrast(U !== "auto" && ci(U) && U || (ci(A) ? A : "")), N.color = U || !be(E) && T.inside || 0 > Pc(E || 0) || g.stacking ? S.contrastColor : y) : delete S.contrastColor, g.cursor && (N.cursor = g.cursor)), X = { r: T.borderRadius || 0, rotation: G, padding: T.padding, zIndex: 1 }, u.styledMode || (X.fill = D === "auto" ? S.color : D, X.stroke = O === "auto" ? S.color : O, X["stroke-width"] = T.borderWidth), Cc(X, ($, Z) => {
4534
- $ === void 0 && delete X[Z];
4535
- })), !W || I && be(F) && !!(W.div || W.text?.foreignObject) == !!T.useHTML && (W.rotation && T.rotation || W.rotation === T.rotation) || (W = void 0, V = !0), I && be(F) && F !== "" && (W ? X.text = F : (W = x.label(F, 0, 0, T.shape, void 0, void 0, T.useHTML, void 0, "data-label")).addClass(" highcharts-data-label-color-" + S.colorIndex + " " + (T.className || "") + (T.useHTML ? " highcharts-tracker" : "")), W && (W.options = T, W.attr(X), u.styledMode ? N.width && W.css({ width: N.width, textOverflow: N.textOverflow, whiteSpace: N.whiteSpace }) : W.css(N).shadow(T.shadow), wr(W, "beforeAddingDataLabel", { labelOptions: T, point: S }), W.added || W.add(d), p.alignDataLabel(S, W, T, void 0, V), W.isActive = !0, w[L] && w[L] !== W && w[L].destroy(), w[L] = W));
4532
+ })(S, T), { backgroundColor: D, borderColor: O, distance: E, style: N = {} } = T, K, F, G, X = {}, W = w[L], U = !W, j;
4533
+ I && (F = ve(K = ui(T[S.formatPrefix + "Format"], T.format)) ? Ac(K, S, u) : (T[S.formatPrefix + "Formatter"] || T.formatter).call(S, T), G = T.rotation, !u.styledMode && (N.color = ui(T.color, N.color, ci(p.color) ? p.color : void 0, "#000000"), N.color === "contrast" ? (D !== "none" && (j = D), S.contrastColor = x.getContrast(j !== "auto" && ci(j) && j || (ci(A) ? A : "")), N.color = j || !ve(E) && T.inside || 0 > Pc(E || 0) || g.stacking ? S.contrastColor : y) : delete S.contrastColor, g.cursor && (N.cursor = g.cursor)), X = { r: T.borderRadius || 0, rotation: G, padding: T.padding, zIndex: 1 }, u.styledMode || (X.fill = D === "auto" ? S.color : D, X.stroke = O === "auto" ? S.color : O, X["stroke-width"] = T.borderWidth), Cc(X, (V, $) => {
4534
+ V === void 0 && delete X[$];
4535
+ })), !W || I && ve(F) && !!(W.div || W.text?.foreignObject) == !!T.useHTML && (W.rotation && T.rotation || W.rotation === T.rotation) || (W = void 0, U = !0), I && ve(F) && F !== "" && (W ? X.text = F : (W = x.label(F, 0, 0, T.shape, void 0, void 0, T.useHTML, void 0, "data-label")).addClass(" highcharts-data-label-color-" + S.colorIndex + " " + (T.className || "") + (T.useHTML ? " highcharts-tracker" : "")), W && (W.options = T, W.attr(X), u.styledMode ? N.width && W.css({ width: N.width, textOverflow: N.textOverflow, whiteSpace: N.whiteSpace }) : W.css(N).shadow(T.shadow), wr(W, "beforeAddingDataLabel", { labelOptions: T, point: S }), W.added || W.add(d), p.alignDataLabel(S, W, T, void 0, U), W.isActive = !0, w[L] && w[L] !== W && w[L].destroy(), w[L] = W));
4536
4536
  });
4537
4537
  let P = w.length;
4538
4538
  for (; P--; ) w[P]?.isActive ? w[P].isActive = !1 : (w[P]?.destroy(), w.splice(P, 1));
@@ -4545,14 +4545,14 @@ function Dp() {
4545
4545
  }
4546
4546
  function a(c, d) {
4547
4547
  let p = [], u;
4548
- if (oe(c) && !oe(d)) p = c.map(function(g) {
4548
+ if (ne(c) && !ne(d)) p = c.map(function(g) {
4549
4549
  return pi(g, d);
4550
4550
  });
4551
- else if (oe(d) && !oe(c)) p = d.map(function(g) {
4551
+ else if (ne(d) && !ne(c)) p = d.map(function(g) {
4552
4552
  return pi(c, g);
4553
4553
  });
4554
- else if (oe(c) || oe(d)) {
4555
- if (oe(c) && oe(d)) for (u = Math.max(c.length, d.length); u--; ) p[u] = pi(c[u], d[u]);
4554
+ else if (ne(c) || ne(d)) {
4555
+ if (ne(c) && ne(d)) for (u = Math.max(c.length, d.length); u--; ) p[u] = pi(c[u], d[u]);
4556
4556
  } else p = pi(c, d);
4557
4557
  return p;
4558
4558
  }
@@ -4568,8 +4568,8 @@ function Dp() {
4568
4568
  let d = c.prototype;
4569
4569
  d.initDataLabels || (d.initDataLabels = s, d.initDataLabelsGroup = i, d.alignDataLabel = e, d.drawDataLabels = r, d.justifyDataLabel = o, d.mergeArrays = a, d.setDataLabelStartPos = h, d.hasDataLabels = t);
4570
4570
  };
4571
- })(Me || (Me = {}));
4572
- let rs = Me, { composed: Oc } = C, { series: Na } = at, { merge: Lc, pushUnique: Ec } = B;
4571
+ })(Se || (Se = {}));
4572
+ let rs = Se, { composed: Oc } = C, { series: Na } = ot, { merge: Lc, pushUnique: Ec } = B;
4573
4573
  (function(l) {
4574
4574
  function t(e, i, s, r, o) {
4575
4575
  let { chart: a, options: n } = this, h = a.inverted, c = this.xAxis?.len || a.plotSizeX || 0, d = this.yAxis?.len || a.plotSizeY || 0, p = e.dlBox || e.shapeArgs, u = e.below ?? (e.plotY || 0) > (this.translatedThreshold ?? d), g = s.inside ?? !!n.stacking;
@@ -4586,12 +4586,12 @@ function Dp() {
4586
4586
  l.compose = function(e) {
4587
4587
  rs.compose(Na), Ec(Oc, "ColumnDataLabel") && (e.prototype.alignDataLabel = t);
4588
4588
  };
4589
- })(Se || (Se = {}));
4590
- let Ic = Se, { extend: Dc, merge: Bc } = B;
4589
+ })(Te || (Te = {}));
4590
+ let Ic = Te, { extend: Dc, merge: Bc } = B;
4591
4591
  class Mr extends ss {
4592
4592
  }
4593
- Mr.defaultOptions = Bc(ss.defaultOptions, {}), Dc(Mr.prototype, { inverted: !0 }), at.registerSeriesType("bar", Mr);
4594
- let { column: Nc, line: za } = at.seriesTypes, { addEvent: zc, extend: Rc, merge: Wc } = B;
4593
+ Mr.defaultOptions = Bc(ss.defaultOptions, {}), Dc(Mr.prototype, { inverted: !0 }), ot.registerSeriesType("bar", Mr);
4594
+ let { column: Nc, line: za } = ot.seriesTypes, { addEvent: zc, extend: Rc, merge: Wc } = B;
4595
4595
  class os extends za {
4596
4596
  applyJitter() {
4597
4597
  let t = this, e = this.options.jitter, i = this.points.length;
@@ -4616,22 +4616,22 @@ function Dp() {
4616
4616
  }
4617
4617
  os.defaultOptions = Wc(za.defaultOptions, { lineWidth: 0, findNearestPointBy: "xy", jitter: { x: 0, y: 0 }, marker: { enabled: !0 }, tooltip: { headerFormat: '<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>', pointFormat: "x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>" } }), Rc(os.prototype, { drawTracker: Nc.prototype.drawTracker, sorted: !1, requireSorting: !1, noSharedTooltip: !0, trackerGroups: ["group", "markerGroup", "dataLabelsGroup"] }), zc(os, "afterTranslate", function() {
4618
4618
  this.applyJitter();
4619
- }), at.registerSeriesType("scatter", os);
4619
+ }), ot.registerSeriesType("scatter", os);
4620
4620
  let { deg2rad: Ra } = C, { fireEvent: Xc, isNumber: Sr, pick: as, relativeLength: Hc } = B;
4621
4621
  (function(l) {
4622
4622
  l.getCenter = function() {
4623
4623
  let t = this.options, e = this.chart, i = 2 * (t.slicedOffset || 0), s = e.plotWidth - 2 * i, r = e.plotHeight - 2 * i, o = t.center, a = Math.min(s, r), n = t.thickness, h, c = t.size, d = t.innerSize || 0, p, u;
4624
4624
  typeof c == "string" && (c = parseFloat(c)), typeof d == "string" && (d = parseFloat(d));
4625
4625
  let g = [as(o?.[0], "50%"), as(o?.[1], "50%"), as(c && c < 0 ? void 0 : t.size, "100%"), as(d && d < 0 ? void 0 : t.innerSize || 0, "0%")];
4626
- for (!e.angular || this instanceof Tt || (g[3] = 0), p = 0; p < 4; ++p) u = g[p], h = p < 2 || p === 2 && /%$/.test(u), g[p] = Hc(u, [s, r, a, g[2]][p]) + (h ? i : 0);
4626
+ for (!e.angular || this instanceof At || (g[3] = 0), p = 0; p < 4; ++p) u = g[p], h = p < 2 || p === 2 && /%$/.test(u), g[p] = Hc(u, [s, r, a, g[2]][p]) + (h ? i : 0);
4627
4627
  return g[3] > g[2] && (g[3] = g[2]), Sr(n) && 2 * n < g[2] && n > 0 && (g[3] = g[2] - 2 * n), Xc(this, "afterGetCenter", { positions: g }), g;
4628
4628
  }, l.getStartAndEndRadians = function(t, e) {
4629
4629
  let i = Sr(t) ? t : 0, s = Sr(e) && e > i && e - i < 360 ? e : i + 360;
4630
4630
  return { start: Ra * (i + -90), end: Ra * (s + -90) };
4631
4631
  };
4632
4632
  })(z || (z = {}));
4633
- let Wa = z, { setAnimation: Fc } = gt, { addEvent: Xa, defined: Gc, extend: Yc, isNumber: jc, pick: Uc, relativeLength: Vc } = B;
4634
- class Ha extends Qt {
4633
+ let Wa = z, { setAnimation: Fc } = ft, { addEvent: Xa, defined: Gc, extend: Yc, isNumber: jc, pick: Uc, relativeLength: Vc } = B;
4634
+ class Ha extends ee {
4635
4635
  getConnectorPath(t) {
4636
4636
  let e = t.dataLabelPosition, i = t.options || {}, s = i.connectorShape, r = this.connectorShapes[s] || s;
4637
4637
  return e && r.call(this, { ...e.computed, alignment: e.alignment }, e.connectorPosition, i) || [];
@@ -4677,7 +4677,7 @@ function Dp() {
4677
4677
  return (u ? m <= g && m >= s.x : m >= g && m <= s.x) && f.push(["L", m, x]), f.push(["L", s.x, s.y], ["L", r.x, r.y]), f;
4678
4678
  } } });
4679
4679
  let { getStartAndEndRadians: $c } = Wa, { noop: Fa } = C, { clamp: Zc, extend: qc, fireEvent: Ga, merge: Tr, pick: Kc } = B;
4680
- class Ar extends Tt {
4680
+ class Ar extends At {
4681
4681
  animate(t) {
4682
4682
  let e = this, i = e.points, s = e.startAngleRad;
4683
4683
  t || i.forEach(function(r) {
@@ -4733,10 +4733,10 @@ function Dp() {
4733
4733
  for (s = 0, this.total = o; s < e; s++) (r = t[s]).percentage = o > 0 && (r.visible || !i) ? r.y / o * 100 : 0, r.total = o;
4734
4734
  }
4735
4735
  }
4736
- Ar.defaultOptions = Tr(Tt.defaultOptions, { borderRadius: 3, center: [null, null], clip: !1, colorByPoint: !0, dataLabels: { connectorPadding: 5, connectorShape: "crookedLine", crookDistance: void 0, distance: 30, enabled: !0, formatter: function() {
4736
+ Ar.defaultOptions = Tr(At.defaultOptions, { borderRadius: 3, center: [null, null], clip: !1, colorByPoint: !0, dataLabels: { connectorPadding: 5, connectorShape: "crookedLine", crookDistance: void 0, distance: 30, enabled: !0, formatter: function() {
4737
4737
  return this.isNull ? void 0 : this.name;
4738
- }, softConnector: !0, x: 0 }, fillColor: void 0, ignoreHiddenPoint: !0, inactiveOtherPoints: !0, legendType: "point", marker: null, size: null, showInLegend: !1, slicedOffset: 10, stickyTracking: !1, tooltip: { followPointer: !0 }, borderColor: "#ffffff", borderWidth: 1, lineWidth: void 0, states: { hover: { brightness: 0.1 } } }), qc(Ar.prototype, { axisTypes: [], directTouch: !0, drawGraph: void 0, drawTracker: ss.prototype.drawTracker, getCenter: Wa.getCenter, getSymbol: Fa, invertible: !1, isCartesian: !1, noSharedTooltip: !0, pointAttribs: ss.prototype.pointAttribs, pointClass: Ha, requireSorting: !1, searchPoint: Fa, trackerGroups: ["group", "dataLabelsGroup"] }), at.registerSeriesType("pie", Ar);
4739
- let { composed: _c, noop: Jc } = C, { distribute: Qc } = ki, { series: Ya } = at, { arrayMax: tp, clamp: ja, defined: Ua, isNumber: ep, pick: ip, pushUnique: sp, relativeLength: Va } = B;
4738
+ }, softConnector: !0, x: 0 }, fillColor: void 0, ignoreHiddenPoint: !0, inactiveOtherPoints: !0, legendType: "point", marker: null, size: null, showInLegend: !1, slicedOffset: 10, stickyTracking: !1, tooltip: { followPointer: !0 }, borderColor: "#ffffff", borderWidth: 1, lineWidth: void 0, states: { hover: { brightness: 0.1 } } }), qc(Ar.prototype, { axisTypes: [], directTouch: !0, drawGraph: void 0, drawTracker: ss.prototype.drawTracker, getCenter: Wa.getCenter, getSymbol: Fa, invertible: !1, isCartesian: !1, noSharedTooltip: !0, pointAttribs: ss.prototype.pointAttribs, pointClass: Ha, requireSorting: !1, searchPoint: Fa, trackerGroups: ["group", "dataLabelsGroup"] }), ot.registerSeriesType("pie", Ar);
4739
+ let { composed: _c, noop: Jc } = C, { distribute: Qc } = ki, { series: Ya } = ot, { arrayMax: tp, clamp: ja, defined: Ua, isNumber: ep, pick: ip, pushUnique: sp, relativeLength: Va } = B;
4740
4740
  (function(l) {
4741
4741
  let t = { radialDistributionY: function(o, a) {
4742
4742
  return (a.dataLabelPosition?.top || 0) + o.distributeBox.pos;
@@ -4780,22 +4780,22 @@ function Dp() {
4780
4780
  });
4781
4781
  }), Qc(P, D = L + I - T, D / 5)), S.forEach((O) => {
4782
4782
  (O.dataLabels || []).forEach((E) => {
4783
- let N = E.options || {}, _ = O.distributeBox, F = E.dataLabelPosition, G = F?.natural.y || 0, X = N.connectorPadding || 0, W = E.lineHeight || 21, V = (W - E.getBBox().height) / 2, U = 0, $ = G, Z = "inherit";
4783
+ let N = E.options || {}, K = O.distributeBox, F = E.dataLabelPosition, G = F?.natural.y || 0, X = N.connectorPadding || 0, W = E.lineHeight || 21, U = (W - E.getBBox().height) / 2, j = 0, V = G, $ = "inherit";
4784
4784
  if (F) {
4785
- if (P && Ua(_) && F.distance > 0 && (_.pos === void 0 ? Z = "hidden" : (k = _.size, $ = y.radialDistributionY(O, E))), N.justify) U = y.justify(O, E, g, u);
4785
+ if (P && Ua(K) && F.distance > 0 && (K.pos === void 0 ? $ = "hidden" : (k = K.size, V = y.radialDistributionY(O, E))), N.justify) j = y.justify(O, E, g, u);
4786
4786
  else switch (N.alignTo) {
4787
4787
  case "connectors":
4788
- U = y.alignToConnectors(S, w, h, d);
4788
+ j = y.alignToConnectors(S, w, h, d);
4789
4789
  break;
4790
4790
  case "plotEdges":
4791
- U = y.alignToPlotEdges(E, w, h, d);
4791
+ j = y.alignToPlotEdges(E, w, h, d);
4792
4792
  break;
4793
4793
  default:
4794
- U = y.radialDistributionX(o, O, $ - V, G, E);
4794
+ j = y.radialDistributionX(o, O, V - U, G, E);
4795
4795
  }
4796
- if (F.attribs = { visibility: Z, align: F.alignment }, F.posAttribs = { x: U + (N.x || 0) + ({ left: X, right: -X }[F.alignment] || 0), y: $ + (N.y || 0) - W / 2 }, F.computed.x = U, F.computed.y = $ - V, ip(N.crop, !0)) {
4797
- let q;
4798
- U - (v = E.getBBox().width) < X && w === 1 ? (q = Math.round(v - U + X), f[3] = Math.max(q, f[3])) : U + v > h - X && w === 0 && (q = Math.round(U + v - h + X), f[1] = Math.max(q, f[1])), $ - k / 2 < 0 ? f[0] = Math.max(Math.round(-$ + k / 2), f[0]) : $ + k / 2 > c && (f[2] = Math.max(Math.round($ + k / 2 - c), f[2])), F.sideOverflow = q;
4796
+ if (F.attribs = { visibility: $, align: F.alignment }, F.posAttribs = { x: j + (N.x || 0) + ({ left: X, right: -X }[F.alignment] || 0), y: V + (N.y || 0) - W / 2 }, F.computed.x = j, F.computed.y = V - U, ip(N.crop, !0)) {
4797
+ let Z;
4798
+ j - (v = E.getBBox().width) < X && w === 1 ? (Z = Math.round(v - j + X), f[3] = Math.max(Z, f[3])) : j + v > h - X && w === 0 && (Z = Math.round(j + v - h + X), f[1] = Math.max(Z, f[1])), V - k / 2 < 0 ? f[0] = Math.max(Math.round(-V + k / 2), f[0]) : V + k / 2 > c && (f[2] = Math.max(Math.round(V + k / 2 - c), f[2])), F.sideOverflow = Z;
4799
4799
  }
4800
4800
  }
4801
4801
  });
@@ -4828,8 +4828,8 @@ function Dp() {
4828
4828
  a.dataLabelPositioners = t, a.alignDataLabel = Jc, a.drawDataLabels = i, a.getDataLabelPosition = e, a.placeDataLabels = s, a.verifyDataLabelOverflow = r;
4829
4829
  }
4830
4830
  };
4831
- })(Q || (Q = {}));
4832
- let rp = Q;
4831
+ })(J || (J = {}));
4832
+ let rp = J;
4833
4833
  (function(l) {
4834
4834
  l.getCenterOfPoints = function(t) {
4835
4835
  let e = t.reduce((i, s) => (i.x += s.x, i.y += s.y, i), { x: 0, y: 0 });
@@ -4846,8 +4846,8 @@ function Dp() {
4846
4846
  }
4847
4847
  return a;
4848
4848
  };
4849
- })(ot || (ot = {}));
4850
- let { pointInPolygon: op } = ot, { addEvent: ap, getAlignFactor: np, fireEvent: $a, objectEach: Za, pick: lp } = B;
4849
+ })(rt || (rt = {}));
4850
+ let { pointInPolygon: op } = rt, { addEvent: ap, getAlignFactor: np, fireEvent: $a, objectEach: Za, pick: lp } = B;
4851
4851
  function hp(l) {
4852
4852
  let t = l.length, e = (c, d) => !(d.x >= c.x + c.width || d.x + d.width <= c.x || d.y >= c.y + c.height || d.y + d.height <= c.y), i = (c, d) => {
4853
4853
  for (let p of c) if (op({ x: p[0], y: p[1] }, d)) return !0;
@@ -4906,7 +4906,7 @@ function Dp() {
4906
4906
  let Ka = { compose: function(l) {
4907
4907
  let t = l.prototype;
4908
4908
  t.hideOverlappingLabels || (t.hideOverlappingLabels = hp, ap(l, "render", dp));
4909
- } }, { defaultOptions: cp } = Ot, { noop: _a } = C, { addEvent: Ja, extend: pp, isObject: Qa, merge: up, relativeLength: Cr } = B, gp = { radius: 0, scope: "stack", where: void 0 }, tn = _a, en = _a;
4909
+ } }, { defaultOptions: cp } = Lt, { noop: _a } = C, { addEvent: Ja, extend: pp, isObject: Qa, merge: up, relativeLength: Cr } = B, gp = { radius: 0, scope: "stack", where: void 0 }, tn = _a, en = _a;
4910
4910
  function fp(l, t, e, i, s = {}) {
4911
4911
  let r = tn(l, t, e, i, s), { brStart: o = !0, brEnd: a = !0, innerR: n = 0, r: h = e, start: c = 0, end: d = 0 } = s;
4912
4912
  if (s.open || !s.borderRadius) return r;
@@ -4914,8 +4914,8 @@ function Dp() {
4914
4914
  for (; m--; ) (o || m !== 0 && m !== 3) && (a || m !== 1 && m !== 2) && (function(f, y, b) {
4915
4915
  let v, k, M, S = f[y], w = f[y + 1];
4916
4916
  if (w[0] === "Z" && (w = f[0]), (S[0] === "M" || S[0] === "L") && w[0] === "A" ? (v = S, k = w, M = !0) : S[0] === "A" && (w[0] === "M" || w[0] === "L") && (v = w, k = S), v && k && k.params) {
4917
- let A = k[1], P = k[5], T = k.params, { start: L, end: I, cx: D, cy: O } = T, E = P ? A - b : A + b, N = E ? Math.asin(b / E) : 0, _ = P ? N : -N, F = Math.cos(N) * E;
4918
- M ? (T.start = L + _, v[1] = D + F * Math.cos(L), v[2] = O + F * Math.sin(L), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + A * Math.cos(T.start), O + A * Math.sin(T.start)])) : (T.end = I - _, k[6] = D + A * Math.cos(T.end), k[7] = O + A * Math.sin(T.end), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + F * Math.cos(I), O + F * Math.sin(I)])), k[4] = Math.abs(T.end - T.start) < Math.PI ? 0 : 1;
4917
+ let A = k[1], P = k[5], T = k.params, { start: L, end: I, cx: D, cy: O } = T, E = P ? A - b : A + b, N = E ? Math.asin(b / E) : 0, K = P ? N : -N, F = Math.cos(N) * E;
4918
+ M ? (T.start = L + K, v[1] = D + F * Math.cos(L), v[2] = O + F * Math.sin(L), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + A * Math.cos(T.start), O + A * Math.sin(T.start)])) : (T.end = I - K, k[6] = D + A * Math.cos(T.end), k[7] = O + A * Math.sin(T.end), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + F * Math.cos(I), O + F * Math.sin(I)])), k[4] = Math.abs(T.end - T.start) < Math.PI ? 0 : 1;
4919
4919
  }
4920
4920
  })(r, m, m > 1 ? x : g);
4921
4921
  return r;
@@ -4993,13 +4993,13 @@ function Dp() {
4993
4993
  };
4994
4994
  })(dt || (dt = {}));
4995
4995
  let Sp = dt;
4996
- C.AST = tt, C.Axis = De, C.Chart = se, C.Color = et, C.DataLabel = rs, C.DataTableCore = ji, C.Fx = yt, C.HTMLElement = Ee, C.Legend = ha, C.LegendSymbol = qo, C.OverlappingDataLabels = C.OverlappingDataLabels || Ka, C.PlotLineOrBand = Xi, C.Point = Qt, C.Pointer = Vo, C.RendererRegistry = Ke, C.Series = Tt, C.SeriesRegistry = at, C.StackItem = ka, C.SVGElement = Xt, C.SVGRenderer = Oi, C.Templating = Lt, C.Tick = Ie, C.Time = ms, C.Tooltip = Fo, C.animate = gt.animate, C.animObject = gt.animObject, C.chart = se.chart, C.color = et.parse, C.dateFormat = Lt.dateFormat, C.defaultOptions = Ot.defaultOptions, C.distribute = ki.distribute, C.format = Lt.format, C.getDeferredAnimation = gt.getDeferredAnimation, C.getOptions = Ot.getOptions, C.numberFormat = Lt.numberFormat, C.seriesType = at.seriesType, C.setAnimation = gt.setAnimation, C.setOptions = Ot.setOptions, C.stop = gt.stop, C.time = Ot.defaultTime, C.timers = yt.timers, { compose: function(l, t, e) {
4996
+ C.AST = Q, C.Axis = Be, C.Chart = oe, C.Color = tt, C.DataLabel = rs, C.DataTableCore = ji, C.Fx = bt, C.HTMLElement = Ie, C.Legend = ha, C.LegendSymbol = qo, C.OverlappingDataLabels = C.OverlappingDataLabels || Ka, C.PlotLineOrBand = Xi, C.Point = ee, C.Pointer = Vo, C.RendererRegistry = Ke, C.Series = At, C.SeriesRegistry = ot, C.StackItem = ka, C.SVGElement = Ft, C.SVGRenderer = Oi, C.Templating = Et, C.Tick = De, C.Time = ms, C.Tooltip = Fo, C.animate = ft.animate, C.animObject = ft.animObject, C.chart = oe.chart, C.color = tt.parse, C.dateFormat = Et.dateFormat, C.defaultOptions = Lt.defaultOptions, C.distribute = ki.distribute, C.format = Et.format, C.getDeferredAnimation = ft.getDeferredAnimation, C.getOptions = Lt.getOptions, C.numberFormat = Et.numberFormat, C.seriesType = ot.seriesType, C.setAnimation = ft.setAnimation, C.setOptions = Lt.setOptions, C.stop = ft.stop, C.time = Lt.defaultTime, C.timers = bt.timers, { compose: function(l, t, e) {
4997
4997
  let i = l.types.pie;
4998
4998
  if (!t.symbolCustomAttribs.includes("borderRadius")) {
4999
4999
  let s = e.prototype.symbols;
5000
5000
  Ja(l, "afterColumnTranslate", mp, { order: 9 }), Ja(i, "afterTranslate", xp), t.symbolCustomAttribs.push("borderRadius", "brBoxHeight", "brBoxY", "brEnd", "brStart"), tn = s.arc, en = s.roundedRect, s.arc = fp, s.roundedRect = yp;
5001
5001
  }
5002
- }, optionsToObject: Pr }.compose(C.Series, C.SVGElement, C.SVGRenderer), Ic.compose(C.Series.types.column), rs.compose(C.Series), ph.compose(C.Axis), Ee.compose(C.SVGRenderer), ha.compose(C.Chart), fh.compose(C.Axis), Ka.compose(C.Chart), rp.compose(C.Series.types.pie), Xi.compose(C.Chart, C.Axis), Vo.compose(C.Chart), Sp.compose(C.Chart), ni.compose(C.Axis, C.Chart, C.Series), cc.compose(C.Axis, C.Chart, C.Series), Fo.compose(C.Pointer), B.extend(C, B);
5002
+ }, optionsToObject: Pr }.compose(C.Series, C.SVGElement, C.SVGRenderer), Ic.compose(C.Series.types.column), rs.compose(C.Series), ph.compose(C.Axis), Ie.compose(C.SVGRenderer), ha.compose(C.Chart), fh.compose(C.Axis), Ka.compose(C.Chart), rp.compose(C.Series.types.pie), Xi.compose(C.Chart, C.Axis), Vo.compose(C.Chart), Sp.compose(C.Chart), ni.compose(C.Axis, C.Chart, C.Series), cc.compose(C.Axis, C.Chart, C.Series), Fo.compose(C.Pointer), B.extend(C, B);
5003
5003
  let Tp = C;
5004
5004
  return je.default;
5005
5005
  })());
@@ -5009,102 +5009,102 @@ var Bp = /* @__PURE__ */ Dp();
5009
5009
  const Np = /* @__PURE__ */ ln(Bp);
5010
5010
  var hs = { exports: {} }, zp = hs.exports, an;
5011
5011
  function Rp() {
5012
- return an || (an = 1, (function(ke, ne) {
5013
- (function(Pt, mt) {
5014
- ke.exports = mt(Cp);
5015
- })(typeof self < "u" ? self : zp, function(Pt) {
5016
- return (function(mt) {
5017
- function nt(j) {
5018
- if (Mt[j]) return Mt[j].exports;
5019
- var J = Mt[j] = { i: j, l: !1, exports: {} };
5020
- return mt[j].call(J.exports, J, J.exports, nt), J.l = !0, J.exports;
5021
- }
5022
- var Mt = {};
5023
- return nt.m = mt, nt.c = Mt, nt.d = function(j, J, le) {
5024
- nt.o(j, J) || Object.defineProperty(j, J, { configurable: !1, enumerable: !0, get: le });
5025
- }, nt.n = function(j) {
5026
- var J = j && j.__esModule ? function() {
5027
- return j.default;
5012
+ return an || (an = 1, (function(we, he) {
5013
+ (function(Ot, xt) {
5014
+ we.exports = xt(Cp);
5015
+ })(typeof self < "u" ? self : zp, function(Ot) {
5016
+ return (function(xt) {
5017
+ function at(_) {
5018
+ if (St[_]) return St[_].exports;
5019
+ var nt = St[_] = { i: _, l: !1, exports: {} };
5020
+ return xt[_].call(nt.exports, nt, nt.exports, at), nt.l = !0, nt.exports;
5021
+ }
5022
+ var St = {};
5023
+ return at.m = xt, at.c = St, at.d = function(_, nt, gt) {
5024
+ at.o(_, nt) || Object.defineProperty(_, nt, { configurable: !1, enumerable: !0, get: gt });
5025
+ }, at.n = function(_) {
5026
+ var nt = _ && _.__esModule ? function() {
5027
+ return _.default;
5028
5028
  } : function() {
5029
- return j;
5029
+ return _;
5030
5030
  };
5031
- return nt.d(J, "a", J), J;
5032
- }, nt.o = function(j, J) {
5033
- return Object.prototype.hasOwnProperty.call(j, J);
5034
- }, nt.p = "", nt(nt.s = 0);
5035
- })([function(mt, nt, Mt) {
5036
- function j() {
5037
- return j = Object.assign ? Object.assign.bind() : function(z) {
5038
- for (var Q = 1; Q < arguments.length; Q++) {
5039
- var ot = arguments[Q];
5040
- for (var dt in ot) Object.prototype.hasOwnProperty.call(ot, dt) && (z[dt] = ot[dt]);
5031
+ return at.d(nt, "a", nt), nt;
5032
+ }, at.o = function(_, nt) {
5033
+ return Object.prototype.hasOwnProperty.call(_, nt);
5034
+ }, at.p = "", at(at.s = 0);
5035
+ })([function(xt, at, St) {
5036
+ function _() {
5037
+ return _ = Object.assign ? Object.assign.bind() : function(z) {
5038
+ for (var J = 1; J < arguments.length; J++) {
5039
+ var rt = arguments[J];
5040
+ for (var dt in rt) Object.prototype.hasOwnProperty.call(rt, dt) && (z[dt] = rt[dt]);
5041
5041
  }
5042
5042
  return z;
5043
- }, j.apply(this, arguments);
5043
+ }, _.apply(this, arguments);
5044
5044
  }
5045
- function J(z) {
5046
- return Ge(z) || Fe(z) || He(z) || le();
5045
+ function nt(z) {
5046
+ return Ge(z) || Fe(z) || Dt(z) || gt();
5047
5047
  }
5048
- function le() {
5048
+ function gt() {
5049
5049
  throw new TypeError(`Invalid attempt to spread non-iterable instance.
5050
5050
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
5051
5051
  }
5052
- function He(z, Q) {
5052
+ function Dt(z, J) {
5053
5053
  if (z) {
5054
- if (typeof z == "string") return he(z, Q);
5055
- var ot = Object.prototype.toString.call(z).slice(8, -1);
5056
- return ot === "Object" && z.constructor && (ot = z.constructor.name), ot === "Map" || ot === "Set" ? Array.from(z) : ot === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ot) ? he(z, Q) : void 0;
5054
+ if (typeof z == "string") return de(z, J);
5055
+ var rt = Object.prototype.toString.call(z).slice(8, -1);
5056
+ return rt === "Object" && z.constructor && (rt = z.constructor.name), rt === "Map" || rt === "Set" ? Array.from(z) : rt === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(rt) ? de(z, J) : void 0;
5057
5057
  }
5058
5058
  }
5059
5059
  function Fe(z) {
5060
5060
  if (typeof Symbol < "u" && z[Symbol.iterator] != null || z["@@iterator"] != null) return Array.from(z);
5061
5061
  }
5062
5062
  function Ge(z) {
5063
- if (Array.isArray(z)) return he(z);
5063
+ if (Array.isArray(z)) return de(z);
5064
5064
  }
5065
- function he(z, Q) {
5066
- (Q == null || Q > z.length) && (Q = z.length);
5067
- for (var ot = 0, dt = new Array(Q); ot < Q; ot++) dt[ot] = z[ot];
5065
+ function de(z, J) {
5066
+ (J == null || J > z.length) && (J = z.length);
5067
+ for (var rt = 0, dt = new Array(J); rt < J; rt++) dt[rt] = z[rt];
5068
5068
  return dt;
5069
5069
  }
5070
- function we(z) {
5070
+ function Me(z) {
5071
5071
  "@babel/helpers - typeof";
5072
- return (we = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(Q) {
5073
- return typeof Q;
5074
- } : function(Q) {
5075
- return Q && typeof Symbol == "function" && Q.constructor === Symbol && Q !== Symbol.prototype ? "symbol" : typeof Q;
5072
+ return (Me = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(J) {
5073
+ return typeof J;
5074
+ } : function(J) {
5075
+ return J && typeof Symbol == "function" && J.constructor === Symbol && J !== Symbol.prototype ? "symbol" : typeof J;
5076
5076
  })(z);
5077
5077
  }
5078
- Object.defineProperty(nt, "__esModule", { value: !0 }), Mt.d(nt, "HighchartsReact", function() {
5079
- return Se;
5078
+ Object.defineProperty(at, "__esModule", { value: !0 }), St.d(at, "HighchartsReact", function() {
5079
+ return Te;
5080
5080
  });
5081
- var St = Mt(1), Ye = Mt.n(St), Me = typeof window < "u" ? St.useLayoutEffect : St.useEffect, Se = Object(St.memo)(Object(St.forwardRef)(function(z, Q) {
5082
- var ot = Object(St.useRef)(), dt = Object(St.useRef)(), $t = Object(St.useRef)(z.constructorType), je = Object(St.useRef)(z.highcharts);
5083
- return Me(function() {
5081
+ var Tt = St(1), Ye = St.n(Tt), Se = typeof window < "u" ? Tt.useLayoutEffect : Tt.useEffect, Te = Object(Tt.memo)(Object(Tt.forwardRef)(function(z, J) {
5082
+ var rt = Object(Tt.useRef)(), dt = Object(Tt.useRef)(), qt = Object(Tt.useRef)(z.constructorType), je = Object(Tt.useRef)(z.highcharts);
5083
+ return Se(function() {
5084
5084
  function C() {
5085
- var Zt = z.highcharts || (typeof window > "u" ? "undefined" : we(window)) === "object" && window.Highcharts, Rt = z.constructorType || "chart";
5086
- Zt ? Zt[Rt] ? z.options ? dt.current = Zt[Rt](ot.current, z.options, z.callback) : console.warn('The "options" property was not passed.') : console.warn('The "constructorType" property is incorrect or some required module is not imported.') : console.warn('The "highcharts" property was not passed.');
5085
+ var Kt = z.highcharts || (typeof window > "u" ? "undefined" : Me(window)) === "object" && window.Highcharts, Xt = z.constructorType || "chart";
5086
+ Kt ? Kt[Xt] ? z.options ? dt.current = Kt[Xt](rt.current, z.options, z.callback) : console.warn('The "options" property was not passed.') : console.warn('The "constructorType" property is incorrect or some required module is not imported.') : console.warn('The "highcharts" property was not passed.');
5087
5087
  }
5088
5088
  if (dt.current) {
5089
- if (z.allowChartUpdate !== !1) if (z.constructorType !== $t.current || z.highcharts !== je.current) $t.current = z.constructorType, je.current = z.highcharts, C();
5089
+ if (z.allowChartUpdate !== !1) if (z.constructorType !== qt.current || z.highcharts !== je.current) qt.current = z.constructorType, je.current = z.highcharts, C();
5090
5090
  else if (!z.immutable && dt.current) {
5091
5091
  var fi;
5092
- (fi = dt.current).update.apply(fi, [z.options].concat(J(z.updateArgs || [!0, !0])));
5092
+ (fi = dt.current).update.apply(fi, [z.options].concat(nt(z.updateArgs || [!0, !0])));
5093
5093
  } else C();
5094
5094
  } else C();
5095
- }, [z.options, z.allowChartUpdate, z.updateArgs, z.containerProps, z.highcharts, z.constructorType]), Me(function() {
5095
+ }, [z.options, z.allowChartUpdate, z.updateArgs, z.containerProps, z.highcharts, z.constructorType]), Se(function() {
5096
5096
  return function() {
5097
5097
  dt.current && (dt.current.destroy(), dt.current = null);
5098
5098
  };
5099
- }, []), Object(St.useImperativeHandle)(Q, function() {
5099
+ }, []), Object(Tt.useImperativeHandle)(J, function() {
5100
5100
  return { get chart() {
5101
5101
  return dt.current;
5102
- }, container: ot };
5103
- }, []), Ye.a.createElement("div", j({}, z.containerProps, { ref: ot }));
5102
+ }, container: rt };
5103
+ }, []), Ye.a.createElement("div", _({}, z.containerProps, { ref: rt }));
5104
5104
  }));
5105
- nt.default = Se;
5106
- }, function(mt, nt) {
5107
- mt.exports = Pt;
5105
+ at.default = Te;
5106
+ }, function(xt, at) {
5107
+ xt.exports = Ot;
5108
5108
  }]);
5109
5109
  });
5110
5110
  })(hs)), hs.exports;
@@ -5152,33 +5152,40 @@ const Xp = /* @__PURE__ */ ln(Wp), nn = {
5152
5152
  },
5153
5153
  series: []
5154
5154
  }, Hp = ({
5155
- tokenUsage: ke,
5156
- page: ne = 0
5155
+ tokenUsage: we,
5156
+ page: he = 0,
5157
+ viewMode: Ot = "token"
5157
5158
  }) => {
5158
- const Pt = Ep() ? Lp : rn, [mt, nt] = Pp(nn);
5159
+ const xt = Ep() ? Lp : rn, [at, St] = Pp(nn);
5159
5160
  return Op(() => {
5160
- const Mt = ke.map((j) => {
5161
- const J = j.data.slice(ne, ne + 3);
5161
+ const _ = we.map((gt) => {
5162
+ const Dt = gt.data.slice(he, he + 3);
5162
5163
  return {
5163
- name: j.name,
5164
- data: J
5164
+ name: gt.name,
5165
+ data: Dt
5165
5166
  };
5166
- }).filter((j) => j.data.some((J) => J !== 0));
5167
- nt((j) => {
5168
- const J = j.xAxis.categories || nn.xAxis.categories;
5167
+ }).filter((gt) => gt.data.some((Dt) => Dt !== 0)), nt = Ot === "model" ? "Usage Count" : "Tokens";
5168
+ St((gt) => {
5169
+ const Dt = gt.xAxis.categories || nn.xAxis.categories;
5169
5170
  return {
5170
- ...j,
5171
+ ...gt,
5171
5172
  title: {
5172
- text: Pt[ne].join(" - ")
5173
+ text: xt[he].join(" - ")
5174
+ },
5175
+ yAxis: {
5176
+ ...gt.yAxis,
5177
+ title: {
5178
+ text: nt
5179
+ }
5173
5180
  },
5174
5181
  xAxis: {
5175
- ...j.xAxis,
5176
- categories: rn[ne] || J
5182
+ ...gt.xAxis,
5183
+ categories: rn[he] || Dt
5177
5184
  },
5178
- series: Mt
5185
+ series: _
5179
5186
  };
5180
5187
  });
5181
- }, [ke, ne, Pt]), /* @__PURE__ */ Ap(Xp, { highcharts: Np, options: mt });
5188
+ }, [we, he, xt, Ot]), /* @__PURE__ */ Ap(Xp, { highcharts: Np, options: at });
5182
5189
  };
5183
5190
  Hp.displayName = "Chart";
5184
5191
  export {