@weretyczx/klinecharts-pro
Version:
Financial chart built out of the box based on KLineChart.
1,647 lines (1,646 loc) • 219 kB
JavaScript
var g5 = Object.defineProperty;
var d5 = (e, t, n) => t in e ? g5(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
var D1 = (e, t, n) => (d5(e, typeof t != "symbol" ? t + "" : t, n), n);
import { utils as F, init as h5, FormatDateType as Z1, DomPosition as F0, ActionType as y5, dispose as m5, TooltipIconPosition as Q1, registerOverlay as p5 } from "klinecharts";
function B1(e, t, n) {
const r = (e.x - t.x) * Math.cos(n) - (e.y - t.y) * Math.sin(n) + t.x, a = (e.x - t.x) * Math.sin(n) + (e.y - t.y) * Math.cos(n) + t.y;
return { x: r, y: a };
}
function d0(e, t) {
if (e.length > 1) {
let n;
return e[0].x === e[1].x && e[0].y !== e[1].y ? e[0].y < e[1].y ? n = {
x: e[0].x,
y: t.height
} : n = {
x: e[0].x,
y: 0
} : e[0].x > e[1].x ? n = {
x: 0,
y: F.getLinearYFromCoordinates(e[0], e[1], { x: 0, y: e[0].y })
} : n = {
x: t.width,
y: F.getLinearYFromCoordinates(e[0], e[1], { x: t.width, y: e[0].y })
}, { coordinates: [e[0], n] };
}
return [];
}
function A9(e, t) {
const n = Math.abs(e.x - t.x), r = Math.abs(e.y - t.y);
return Math.sqrt(n * n + r * r);
}
const v5 = {
name: "arrow",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
if (e.length > 1) {
const t = e[1].x > e[0].x ? 0 : 1, n = F.getLinearSlopeIntercept(e[0], e[1]);
let r;
n ? r = Math.atan(n[0]) + Math.PI * t : e[1].y > e[0].y ? r = Math.PI / 2 : r = Math.PI / 2 * 3;
const a = B1({ x: e[1].x - 8, y: e[1].y + 4 }, e[1], r), i = B1({ x: e[1].x - 8, y: e[1].y - 4 }, e[1], r);
return [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "line",
ignoreEvent: !0,
attrs: { coordinates: [a, e[1], i] }
}
];
}
return [];
}
}, _5 = {
name: "circle",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
circle: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e }) => {
if (e.length > 1) {
const t = A9(e[0], e[1]);
return {
type: "circle",
attrs: {
...e[0],
r: t
},
styles: { style: "stroke_fill" }
};
}
return [];
}
}, L5 = {
name: "rect",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
polygon: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e }) => e.length > 1 ? [
{
type: "polygon",
attrs: {
coordinates: [
e[0],
{ x: e[1].x, y: e[0].y },
e[1],
{ x: e[0].x, y: e[1].y }
]
},
styles: { style: "stroke_fill" }
}
] : []
}, $5 = {
name: "parallelogram",
totalStep: 4,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
polygon: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e }) => {
if (e.length === 2)
return [
{
type: "line",
ignoreEvent: !0,
attrs: { coordinates: e }
}
];
if (e.length === 3) {
const t = { x: e[0].x + (e[2].x - e[1].x), y: e[2].y };
return [
{
type: "polygon",
attrs: { coordinates: [e[0], e[1], e[2], t] },
styles: { style: "stroke_fill" }
}
];
}
return [];
},
performEventPressedMove: ({ points: e, performPointIndex: t, performPoint: n }) => {
t < 2 && (e[0].price = n.price, e[1].price = n.price);
},
performEventMoveForDrawing: ({ currentStep: e, points: t, performPoint: n }) => {
e === 2 && (t[0].price = n.price);
}
}, b5 = {
name: "triangle",
totalStep: 4,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
polygon: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e }) => [
{
type: "polygon",
attrs: { coordinates: e },
styles: { style: "stroke_fill" }
}
]
}, x5 = {
name: "fibonacciCircle",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
if (e.length > 1) {
const t = Math.abs(e[0].x - e[1].x), n = Math.abs(e[0].y - e[1].y), r = Math.sqrt(t * t + n * n), a = [0.236, 0.382, 0.5, 0.618, 0.786, 1], i = [], o = [];
return a.forEach((s) => {
const c = r * s;
i.push(
{ ...e[0], r: c }
), o.push({
x: e[0].x,
y: e[0].y + c + 6,
text: `${(s * 100).toFixed(1)}%`
});
}), [
{
type: "circle",
attrs: i,
styles: { style: "stroke" }
},
{
type: "text",
ignoreEvent: !0,
attrs: o
}
];
}
return [];
}
}, k5 = {
name: "fibonacciSegment",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e, overlay: t, precision: n }) => {
const r = [], a = [];
if (e.length > 1) {
const i = e[1].x > e[0].x ? e[0].x : e[1].x, o = [1, 0.786, 0.618, 0.5, 0.382, 0.236, 0], s = e[0].y - e[1].y, c = t.points, C = c[0].value - c[1].value;
o.forEach((l) => {
const d = e[1].y + s * l, p = (c[1].value + C * l).toFixed(n.price);
r.push({ coordinates: [{ x: e[0].x, y: d }, { x: e[1].x, y: d }] }), a.push({
x: i,
y: d,
text: `${p} (${(l * 100).toFixed(1)}%)`,
baseline: "bottom"
});
});
}
return [
{
type: "line",
attrs: r
},
{
type: "text",
ignoreEvent: !0,
attrs: a
}
];
}
}, A5 = {
name: "fibonacciSpiral",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e, bounding: t }) => {
if (e.length > 1) {
const n = A9(e[0], e[1]) / Math.sqrt(24), r = e[1].x > e[0].x ? 0 : 1, a = F.getLinearSlopeIntercept(e[0], e[1]);
let i;
a ? i = Math.atan(a[0]) + Math.PI * r : e[1].y > e[0].y ? i = Math.PI / 2 : i = Math.PI / 2 * 3;
const o = B1(
{ x: e[0].x - n, y: e[0].y },
e[0],
i
), s = B1(
{ x: e[0].x - n, y: e[0].y - n },
e[0],
i
), c = [{
...o,
r: n,
startAngle: i,
endAngle: i + Math.PI / 2
}, {
...s,
r: n * 2,
startAngle: i + Math.PI / 2,
endAngle: i + Math.PI
}];
let C = e[0].x - n, l = e[0].y - n;
for (let d = 2; d < 9; d++) {
const p = c[d - 2].r + c[d - 1].r;
let b = 0;
switch (d % 4) {
case 0: {
b = i, C -= c[d - 2].r;
break;
}
case 1: {
b = i + Math.PI / 2, l -= c[d - 2].r;
break;
}
case 2: {
b = i + Math.PI, C += c[d - 2].r;
break;
}
case 3: {
b = i + Math.PI / 2 * 3, l += c[d - 2].r;
break;
}
}
const S = b + Math.PI / 2, O = B1({ x: C, y: l }, e[0], i);
c.push({
...O,
r: p,
startAngle: b,
endAngle: S
});
}
return [
{
type: "arc",
attrs: c
},
{
type: "line",
attrs: d0(e, t)
}
];
}
return [];
}
}, w5 = {
name: "fibonacciSpeedResistanceFan",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e, bounding: t }) => {
const n = [];
let r = [];
const a = [];
if (e.length > 1) {
const i = e[1].x > e[0].x ? -38 : 4, o = e[1].y > e[0].y ? -2 : 20, s = e[1].x - e[0].x, c = e[1].y - e[0].y;
[1, 0.75, 0.618, 0.5, 0.382, 0.25, 0].forEach((l) => {
const d = e[1].x - s * l, p = e[1].y - c * l;
n.push({ coordinates: [{ x: d, y: e[0].y }, { x: d, y: e[1].y }] }), n.push({ coordinates: [{ x: e[0].x, y: p }, { x: e[1].x, y: p }] }), r = r.concat(d0([e[0], { x: d, y: e[1].y }], t)), r = r.concat(d0([e[0], { x: e[1].x, y: p }], t)), a.unshift({
x: e[0].x + i,
y: p + 10,
text: `${l.toFixed(3)}`
}), a.unshift({
x: d - 18,
y: e[0].y + o,
text: `${l.toFixed(3)}`
});
});
}
return [
{
type: "line",
attrs: n
},
{
type: "line",
attrs: r
},
{
type: "text",
ignoreEvent: !0,
attrs: a
}
];
}
}, M5 = {
name: "fibonacciExtension",
totalStep: 4,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e, overlay: t, precision: n }) => {
const r = [], a = [];
if (e.length > 2) {
const i = t.points, o = i[1].value - i[0].value, s = e[1].y - e[0].y, c = [0, 0.236, 0.382, 0.5, 0.618, 0.786, 1], C = e[2].x > e[1].x ? e[1].x : e[2].x;
c.forEach((l) => {
const d = e[2].y + s * l, p = (i[2].value + o * l).toFixed(n.price);
r.push({ coordinates: [{ x: e[1].x, y: d }, { x: e[2].x, y: d }] }), a.push({
x: C,
y: d,
text: `${p} (${(l * 100).toFixed(1)}%)`,
baseline: "bottom"
});
});
}
return [
{
type: "line",
attrs: { coordinates: e },
styles: { style: "dashed" }
},
{
type: "line",
attrs: r
},
{
type: "text",
ignoreEvent: !0,
attrs: a
}
];
}
}, S5 = {
name: "gannBox",
totalStep: 3,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
polygon: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e }) => {
if (e.length > 1) {
const t = (e[1].y - e[0].y) / 4, n = e[1].x - e[0].x, r = [
{ coordinates: [e[0], { x: e[1].x, y: e[1].y - t }] },
{ coordinates: [e[0], { x: e[1].x, y: e[1].y - t * 2 }] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, { x: e[1].x, y: e[0].y + t }] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, { x: e[1].x, y: e[0].y + t * 2 }] },
{ coordinates: [{ ...e[0] }, { x: e[0].x + n * 0.236, y: e[1].y }] },
{ coordinates: [{ ...e[0] }, { x: e[0].x + n * 0.5, y: e[1].y }] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, { x: e[0].x + n * 0.236, y: e[0].y }] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, { x: e[0].x + n * 0.5, y: e[0].y }] }
], a = [
{ coordinates: [e[0], e[1]] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, { x: e[1].x, y: e[0].y }] }
];
return [
{
type: "line",
attrs: [
{ coordinates: [e[0], { x: e[1].x, y: e[0].y }] },
{ coordinates: [{ x: e[1].x, y: e[0].y }, e[1]] },
{ coordinates: [e[1], { x: e[0].x, y: e[1].y }] },
{ coordinates: [{ x: e[0].x, y: e[1].y }, e[0]] }
]
},
{
type: "polygon",
ignoreEvent: !0,
attrs: {
coordinates: [
e[0],
{ x: e[1].x, y: e[0].y },
e[1],
{ x: e[0].x, y: e[1].y }
]
},
styles: { style: "fill" }
},
{
type: "line",
attrs: r,
styles: { style: "dashed" }
},
{
type: "line",
attrs: a
}
];
}
return [];
}
}, T5 = {
name: "threeWaves",
totalStep: 5,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
const t = e.map((n, r) => ({
...n,
text: `(${r})`,
baseline: "bottom"
}));
return [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "text",
ignoreEvent: !0,
attrs: t
}
];
}
}, N5 = {
name: "fiveWaves",
totalStep: 7,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
const t = e.map((n, r) => ({
...n,
text: `(${r})`,
baseline: "bottom"
}));
return [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "text",
ignoreEvent: !0,
attrs: t
}
];
}
}, I5 = {
name: "eightWaves",
totalStep: 10,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
const t = e.map((n, r) => ({
...n,
text: `(${r})`,
baseline: "bottom"
}));
return [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "text",
ignoreEvent: !0,
attrs: t
}
];
}
}, D5 = {
name: "anyWaves",
totalStep: Number.MAX_SAFE_INTEGER,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
const t = e.map((n, r) => ({
...n,
text: `(${r})`,
baseline: "bottom"
}));
return [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "text",
ignoreEvent: !0,
attrs: t
}
];
}
}, P5 = {
name: "abcd",
totalStep: 5,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
createPointFigures: ({ coordinates: e }) => {
let t = [], n = [];
const r = ["A", "B", "C", "D"], a = e.map((i, o) => ({
...i,
baseline: "bottom",
text: `(${r[o]})`
}));
return e.length > 2 && (t = [e[0], e[2]], e.length > 3 && (n = [e[1], e[3]])), [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "line",
attrs: [{ coordinates: t }, { coordinates: n }],
styles: { style: "dashed" }
},
{
type: "text",
ignoreEvent: !0,
attrs: a
}
];
}
}, B5 = {
name: "xabcd",
totalStep: 6,
needDefaultPointFigure: !0,
needDefaultXAxisFigure: !0,
needDefaultYAxisFigure: !0,
styles: {
polygon: {
color: "rgba(22, 119, 255, 0.15)"
}
},
createPointFigures: ({ coordinates: e, overlay: t }) => {
const n = [], r = [], a = ["X", "A", "B", "C", "D"], i = e.map((o, s) => ({
...o,
baseline: "bottom",
text: `(${a[s]})`
}));
return e.length > 2 && (n.push({ coordinates: [e[0], e[2]] }), r.push({ coordinates: [e[0], e[1], e[2]] }), e.length > 3 && (n.push({ coordinates: [e[1], e[3]] }), e.length > 4 && (n.push({ coordinates: [e[2], e[4]] }), r.push({ coordinates: [e[2], e[3], e[4]] })))), [
{
type: "line",
attrs: { coordinates: e }
},
{
type: "line",
attrs: n,
styles: { style: "dashed" }
},
{
type: "polygon",
ignoreEvent: !0,
attrs: r
},
{
type: "text",
ignoreEvent: !0,
attrs: i
}
];
}
}, O5 = [
v5,
_5,
L5,
b5,
$5,
x5,
k5,
A5,
w5,
M5,
S5,
T5,
N5,
I5,
D5,
P5,
B5
];
class vu {
constructor(t) {
D1(this, "_apiKey");
D1(this, "_prevSymbolMarket");
D1(this, "_ws");
this._apiKey = t;
}
async searchSymbols(t) {
return await ((await (await fetch(`https://api.polygon.io/v3/reference/tickers?apiKey=${this._apiKey}&active=true&search=${t ?? ""}`)).json()).results || []).map((a) => ({
ticker: a.ticker,
name: a.name,
shortName: a.ticker,
market: a.market,
exchange: a.primary_exchange,
priceCurrency: a.currency_name,
type: a.type,
logo: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAA66SURBVHic7Z17cFTVGcB/527AiKGgRA0ShGhKoQjFMb4qUMCMPIrWqdbHSEdlHDGgI9V2aq2d1hmKtVbRsSTGEcQRp4pStaZQlNYUwYLiSKU0SCMBDRCmoQSJGGF3T/84d2VZk+w9d899hf3NMBnl3ns+5vtyHt/5HoIehpQIaijDYjiSciRlwCCgBCgG+gNFQCGCAvUScaADaAfagFagBdiFoAlBI0m2UkWTEMgA/lmeIYIWIFdkLQNJMBbBJUjOA8agFOwF7cAmBO8hWUeMtWIWezwayxciZwByGb1pZTyCaUguA0YGLNIWBK8jWUExa8Q1HA5YHi0iYQByGTH2UYnkBmA6cHLQMnXBfqAOwXMMYLW4hkTQAmUj1AYgqzkLuAXBTUgGBi2PFoI9SJYAT4nZbA9anK4IpQHIhUzE4i4k04OWxQiCOpI8IubwZtCiZBIqA5A1TEdyH3Bh0LJ4xAYE80QVdUELkiIUBiCf4FIk85FcELQsviB4B8G94jb+GrwoASKfZBgJHkUyNUg5AkOwkhhzxa1sC06EAJALKUJwL3A30DsIGULEYeBhJPPFHNr9Htx3A5A1TECyGCjze+yQ04Rgpqii3s9BfTMAWUsfksxD8iO/xowkggVY3Cdmccif4XxAPskw4rwCjPBjvB5AAwVc6cfewPJ6AFnNzcTZSF75OowgzkZZzc1eD+SZAUiJkNX8FlgM9PVqnB5MX2CxrOa3Uno3U3vyYVlLPxIshR7iyQueOmLMELM4YPrDxg1A1jKQJKuQjDL97eMawWYsJpu+fjZqAPL3DMFiNVBu8rt5vqSRJJXidnaa+qAxA5CPU0aMvwFDTX0zT6fsIMEkcQdNJj5mxADs3/x68sr3ix0kmWBiJsjZAOyQrDXkp32/aSTG+Fz3BDkZgKylH0neym/4AkJtDMflcjpw7QeQEkGCpXnlB4hkFAmW5uIncO8IquFB8uf8MDDd1oUrXFmO7aJc7HbQPJ4wU8zmad2XtA3AvtjZSN69GzYOUkCF7gWSlgHIWvqQyF/shJgGYlToXCXr7QGSzCOv/DAzwtaRYxzPAHYkT+jCmvN0gmCi08giRwZgx/B9QD6MKyo0IRntJMbQ2RKgAjjzyo8OZbbOspJ1BrB3/ZvJR+9GjcMUMCrbqSD7DJDgUfLKjyK9bd11S7czgHyCS0my2pxMIaHvUCgshl5FUFQKQtWJ4FALHGmHz5rhizY43BaomEawqOwuA6mg25cl840L5DexQiithNMvhNMvglMr4IT+zt5t3QS762H332FXfTQNQumwy1zLLmcAO1HzNU+E8oNTK+AbN8KwGc4V3h3JODS9Av98GPauz/17fiK4vKuE1K4NoJr1RDFLd+BY+PYCOK3CuzH2rof3fg07Q5Pkm40NYjYXdfYXnRqAXMhEBH/zVibDFBbDRQ/AiFv8G3PbUlhTpfYNYUcyqbP6BJ2fAizu8lwgkwwcC9c3+Kt8UMvLtZuhZKy/47qhC51+ZQawy7J85LlApjhjAkx7Te3ogyIZhz9PhebQH5jOzixX09kM4POvUQ6cdTVc/kawygewCmDKy2omCjdf0e0xM4BdjeuTSBRk6jtUTb9BKz+djlZ4eRy0bQ1aks4R7GEAg9Orlx07A6hSbOFXPsCkp8OlfFAb0UnaQTn+IRnIPirT/1dBxgM3+CqQW0beptZ+NyTj0LIW9m6A//0L2puP/l1RKXytHAZ9RzmNYoX63z/9IrU53LbUnXxeo3S8KvWfXy4BdgXOFsJbhFFhFcAPP4E+JXrvJeOw+TH44NFjld4VfUrg3Htg5Cx9QzjUAn8YEVbP4X6KKUlVND26BLQynrArH9TGT1f5h1pg+fnw9o+dKT/1zrq58MeL4UCj3nh9StQsFU5OtnUNpBuAYFog4ugy5Lt6z3/RBq9OVH59N7RuUu93tOq9N3KWu/H8IE3XRw1AFV4OP2dO0Xt+4/2578o/a1YePx36DoXiMbmN6xVpurbAzu8Lvup2dgqL1R+nHGmHLU+YGfujl/RnkUGV2Z8JhpG2zu0ZIEHoPRgA9NPMP21eDYkOc+M3LNJ7/rTzzI1tGlvnygAElwQqjFPc7MZNouvq1TVYP7F1rgxAddrIkw3dvYTOcuU3ts4L7B47Id2tZHBwh97zXvwGNr4AfU539uyhvebHN8cYKREiUrd/sUK49XPnzyfj8FyZ87P/8cfZFhbDg5bCMYkOdSRzilUAFz/knTxRx2K4hYxYaZcdmmFY5ddBxa88ESXySMotu69edNi+XP+d838Jlz4bvtvDoJGUWaimitFhz1p3a/qwGXBdg/qZJ8UgC9VRMzokOuDdX7h7t6hUzQTX2fGDbq57exYlQlbzb6KY83/1uyr2PxeOtKtY/w+fUQkgybgJyaJEg5DV7IaIRAGlc8o58P1/mFvXj7SrOP+df4aP/6J/+xdN9ghZzadEtd7PmVNg6mvquGeSZFzNCB8th8bnwxrYYYKDQlZzGOgVtCSuGXELjK8xbwQpEh3KCLbURi8lLDtHhKwhiYcNCXzhzClw2YveH/N218O796ufPQGB7BkGANB/OEx9Wf30mubV8NYd4Q3/dopAWkh6xta3bSssO1clbZqMAeiM0kq45n3lYfRq6fEDSTzam8Cu6FcOYx/XDx9zw+56eON687EH/nDQAv+7VXrOgUaVq/fyOHXO9/J8f8YE+N6b4Q7+6Jr26DqCdOhXDufcrgpGmCgW0RmHWuCVcfoh5MHSIGQ1a4BxQUviC7FCtSycdRUMmW7eGNq2wkvnR6NegOItIatZBvwgaEl8xypQ03f5tcooTio1892ddbDicjPf8p4XC4BdQUsRCMm4Os6lAj1PrYCzr1bLhG7mUTpDpsM3boIPl5iQ0mt2WQgz3aciz383wvp74NnBsOoH7jOJAC5ZAL092muYRNBkIYjUrsVzknHY/hK8eK77490J/WH0XPOymUbQaJEk4u4sD2l8Hl4YBZ+syv5sJqPmhN9JlGSrRRVN9ERfgCk6WmHlldCyTu+9wmL3NQz8oZ0qmiwhkEAOC95xQKIDVl2tf7wbPNkbecywSQikmqME7yFDnB/Yq0jVBXDK5y0qqMMkh1rgg8fgvJ87fyes2cGgdE6qRIxkHXBnkPJ0i27tnb3rzRsAKLeyjgGE2T2sdG7nBsZYG6gw2dD15Zty6mTy3416z+fiT/AaW+cWgN1/dkugAnXHZ816629RqXeJmTqZSeGNOt6S6jmcXiLm9cDEcYLuJcsQj5qanhji32qnpOk6vUTMikCEcYru9DvMg4p3/cr1zvY6s4WfpOn6qAEUswbYH4Q8jtB1xpRWmp8Fvq6ZVfTpDrPjm2G/rWsgzQDsunHhLYD/8V9UxS8dxj1ubiN2UimMuVvvnX2hdK/UpWoEQmapWMFzvovjlCPt+jV6+g5V0Tp9h+Y2dp8SuMJFUeqPXbiQvSZDx8cawABWI9TuMJS8/xv9jJ3+w1VR6dFz3fnmB09RGUi60cZftIWvfLwqFn2MUMcYgLiGBJIlvgqlQ0crvP0T/fd6Fakr2hv3qJ+Dp3R/TDzlHPjmbXDVuzB9pbsZpGGR99HJukiWpFcKh6g2jJhWp18xtDMOtSglpa58+5QcbSeXC+3N6hYxfCllX2kY0XnPoBpeQ+LRQdoAJ5Wq7OCwetpWXB6+hlKCOlHFV2LVOu8ZlOQRzwXKhc+aVf3eMMbiNywKn/KhS51Gu21c/+Fqlx+WmWD7cnjjujDWGeiybVzXvYMF8zwTxxRtW1Usfi7xe6b48JmwKr9bXXbfO7iGDUguMC+RYawCuGAefOtu/8OwjrSrjOF//s7fcZ0ieEdUdT2Td9893GEP+sBJxlVE7/Mj1J29XzS9qnb7YVU+ZNVh1rRwWcMKJFPNSeQDp5yjHD/l15qvGZDoUEbWsCh8jp5MBCtFVfeNQLIbwJMMI85moLcxwfwilQo2eLJq5uQ2ROuLNnUbuX05/CcyJWMOU8AocSvbunvIUWEIWc184GdGxAqSXkWqzWvxGCgcoJw+J2Y4flI3eAd3qq5i+zZFLeEzxQNidvYl3JkBLKQIwQcQsaqixy9NSEaLOdnD/bvfBNqIObQjmJm7XHl8QTDTifLBoQEAiCrqESxwL1UeXxAsEFXUO33csQHYT98HNGiKlMc/GmwdOUa7Oph9KthIT6srFH0OUkBFtl1/JnozAGAPEN4kkuOXO3WVDy4MAEDM5mkg34ojPDxk60Qb1wUi7WZTf4IQxw0cH9RRxRV2kq82rmYAACGQxJiBYLPbb+TJEcFmYsxwq3zIwQAAxCwOYDEZ8lVGAqARi8liFgdy+UhOBgB2XmGSSmBHrt/K45gdJKlM5fflQs4GACBuZycJJpE3Aj/YQYJJ4nZ2mviYEQMAEHfQRJIJ5JcDL2kkyQRxh7nKbsbLxMtaBpJkFZJRpr99XCPYbK/5RhN3jM0AKcQs9mAxjjDnGUaPOizGmVY+eDADpLD9BA8CLlJ58qTxEFX8NJejXnd43ilEVnMz8Bj5uwNdDgJ3uvXwOcWXVjH2BdIr9PSy9OZooIAr3fj2dTG+B+gMcSvbiFGRjydwgGABMf1bPffD+YysYQKSxeTDyzJpQjBTJ5jDBL7MAOmIKuqRjAYegKOVKo5jDgMPIBntt/IhgBkgHfkkw0jwaOTyDkwhWEmMuX5N952LEALkE1yKZH4k0tBMIHgHwb3iNv4avCghQtYwHcl9hD0r2T0bEMwTVeFxkoXKAFLIhUzE4q5QF6nQQVBHkkfEHN4MWpRMQmkAKexyNbcguAkZsRb3gj12vaWnMsuyhIlQG0AKuYwY+6hEcgMqBO3koGXqgv1AHYLnGMDqzIJMYSQSBpCOXEZvWhmPYBqSy4CRAYu0BcHrSFZQzJr0IoxRIHIGkImsZSAJxiK4BMl5wBjAqz7y7cAmu8HGOmKs9eKGzk8ibwCZ2LeQZVgMR1KOpAwYBJQAxUB/lIEUIr5smBEHOlAKbgNagRZgF4ImBI0k2UoVTV7dygXF/wF+fTz59Jc5ygAAAABJRU5ErkJggg=="
}));
}
async getHistoryKLineData(t, n, r, a) {
return await ((await (await fetch(`https://api.polygon.io/v2/aggs/ticker/${t.ticker}/range/${n.multiplier}/${n.timespan}/${r}/${a}?apiKey=${this._apiKey}`)).json()).results || []).map((s) => ({
timestamp: s.t,
open: s.o,
high: s.h,
low: s.l,
close: s.c,
volume: s.v,
turnover: s.vw
}));
}
subscribe(t, n, r) {
var a, i;
this._prevSymbolMarket !== t.market ? ((a = this._ws) == null || a.close(), this._ws = new WebSocket(`wss://delayed.polygon.io/${t.market}`), this._ws.onopen = () => {
var o;
(o = this._ws) == null || o.send(JSON.stringify({ action: "auth", params: this._apiKey }));
}, this._ws.onmessage = (o) => {
var c;
const s = JSON.parse(o.data);
s[0].ev === "status" ? s[0].status === "auth_success" && ((c = this._ws) == null || c.send(JSON.stringify({ action: "subscribe", params: `T.${t.ticker}` }))) : "sym" in s && r({
timestamp: s.s,
open: s.o,
high: s.h,
low: s.l,
close: s.c,
volume: s.v,
turnover: s.vw
});
}) : (i = this._ws) == null || i.send(JSON.stringify({ action: "subscribe", params: `T.${t.ticker}` })), this._prevSymbolMarket = t.market;
}
unsubscribe(t, n) {
}
}
const H = {};
function E5(e) {
H.context = e;
}
const F5 = (e, t) => e === t, h0 = Symbol("solid-proxy"), K5 = Symbol("solid-track"), H1 = {
equals: F5
};
let w9 = I9;
const o1 = 1, G1 = 2, M9 = {
owned: null,
cleanups: null,
context: null,
owner: null
}, C0 = {};
var Q = null;
let h1 = null, B = null, V = null, i1 = null, b0 = 0;
function Y1(e, t) {
const n = B, r = Q, a = e.length === 0, i = a ? M9 : {
owned: null,
cleanups: null,
context: null,
owner: t === void 0 ? r : t
}, o = a ? e : () => e(() => s1(() => a0(i)));
Q = i, B = null;
try {
return u1(o, !0);
} finally {
B = n, Q = r;
}
}
function $(e, t) {
t = t ? Object.assign({}, H1, t) : H1;
const n = {
value: e,
observers: null,
observerSlots: null,
comparator: t.equals || void 0
}, r = (a) => (typeof a == "function" && (a = a(n.value)), N9(n, a));
return [T9.bind(n), r];
}
function K0(e, t, n) {
const r = r0(e, t, !0, o1);
v1(r);
}
function j(e, t, n) {
const r = r0(e, t, !1, o1);
v1(r);
}
function a1(e, t, n) {
w9 = U5;
const r = r0(e, t, !1, o1);
r.user = !0, i1 ? i1.push(r) : v1(r);
}
function D(e, t, n) {
n = n ? Object.assign({}, H1, n) : H1;
const r = r0(e, t, !0, 0);
return r.observers = null, r.observerSlots = null, r.comparator = n.equals || void 0, v1(r), T9.bind(r);
}
function j5(e, t, n) {
let r, a, i;
arguments.length === 2 && typeof t == "object" || arguments.length === 1 ? (r = !0, a = e, i = t || {}) : (r = e, a = t, i = n || {});
let o = null, s = C0, c = null, C = !1, l = "initialValue" in i, d = typeof r == "function" && D(r);
const p = /* @__PURE__ */ new Set(), [b, S] = (i.storage || $)(i.initialValue), [O, E] = $(void 0), [T, Z] = $(void 0, {
equals: !1
}), [A, L] = $(l ? "ready" : "unresolved");
if (H.context) {
c = `${H.context.id}${H.context.count++}`;
let k;
i.ssrLoadFrom === "initial" ? s = i.initialValue : H.load && (k = H.load(c)) && (s = k[0]);
}
function x(k, M, N, n1) {
return o === k && (o = null, l = !0, (k === s || M === s) && i.onHydrated && queueMicrotask(() => i.onHydrated(n1, {
value: M
})), s = C0, R(M, N)), M;
}
function R(k, M) {
u1(() => {
M === void 0 && S(() => k), L(M !== void 0 ? "errored" : "ready"), E(M);
for (const N of p.keys())
N.decrement();
p.clear();
}, !1);
}
function z() {
const k = Q5, M = b(), N = O();
if (N !== void 0 && !o)
throw N;
return B && !B.user && k && K0(() => {
T(), o && (k.resolved || p.has(k) || (k.increment(), p.add(k)));
}), M;
}
function W(k = !0) {
if (k !== !1 && C)
return;
C = !1;
const M = d ? d() : r;
if (M == null || M === !1) {
x(o, s1(b));
return;
}
const N = s !== C0 ? s : s1(() => a(M, {
value: b(),
refetching: k
}));
return typeof N != "object" || !(N && "then" in N) ? (x(o, N, void 0, M), N) : (o = N, C = !0, queueMicrotask(() => C = !1), u1(() => {
L(l ? "refreshing" : "pending"), Z();
}, !1), N.then((n1) => x(N, n1, void 0, M), (n1) => x(N, void 0, P9(n1), M)));
}
return Object.defineProperties(z, {
state: {
get: () => A()
},
error: {
get: () => O()
},
loading: {
get() {
const k = A();
return k === "pending" || k === "refreshing";
}
},
latest: {
get() {
if (!l)
return z();
const k = O();
if (k && !o)
throw k;
return b();
}
}
}), d ? K0(() => W(!1)) : W(!1), [z, {
refetch: W,
mutate: S
}];
}
function s1(e) {
if (B === null)
return e();
const t = B;
B = null;
try {
return e();
} finally {
B = t;
}
}
function S9(e) {
a1(() => s1(e));
}
function x0(e) {
return Q === null || (Q.cleanups === null ? Q.cleanups = [e] : Q.cleanups.push(e)), e;
}
function Z5(e) {
const t = B, n = Q;
return Promise.resolve().then(() => {
B = t, Q = n;
let r;
return u1(e, !1), B = Q = null, r ? r.done : void 0;
});
}
let Q5;
function T9() {
const e = h1;
if (this.sources && (this.state || e))
if (this.state === o1 || e)
v1(this);
else {
const t = V;
V = null, u1(() => J1(this), !1), V = t;
}
if (B) {
const t = this.observers ? this.observers.length : 0;
B.sources ? (B.sources.push(this), B.sourceSlots.push(t)) : (B.sources = [this], B.sourceSlots = [t]), this.observers ? (this.observers.push(B), this.observerSlots.push(B.sources.length - 1)) : (this.observers = [B], this.observerSlots = [B.sources.length - 1]);
}
return this.value;
}
function N9(e, t, n) {
let r = e.value;
return (!e.comparator || !e.comparator(r, t)) && (e.value = t, e.observers && e.observers.length && u1(() => {
for (let a = 0; a < e.observers.length; a += 1) {
const i = e.observers[a], o = h1 && h1.running;
o && h1.disposed.has(i), (o && !i.tState || !o && !i.state) && (i.pure ? V.push(i) : i1.push(i), i.observers && D9(i)), o || (i.state = o1);
}
if (V.length > 1e6)
throw V = [], new Error();
}, !1)), t;
}
function v1(e) {
if (!e.fn)
return;
a0(e);
const t = Q, n = B, r = b0;
B = Q = e, R5(e, e.value, r), B = n, Q = t;
}
function R5(e, t, n) {
let r;
try {
r = e.fn(t);
} catch (a) {
e.pure && (e.state = o1, e.owned && e.owned.forEach(a0), e.owned = null), B9(a);
}
(!e.updatedAt || e.updatedAt <= n) && (e.updatedAt != null && "observers" in e ? N9(e, r) : e.value = r, e.updatedAt = n);
}
function r0(e, t, n, r = o1, a) {
const i = {
fn: e,
state: r,
updatedAt: null,
owned: null,
sources: null,
sourceSlots: null,
cleanups: null,
value: t,
owner: Q,
context: null,
pure: n
};
return Q === null || Q !== M9 && (Q.owned ? Q.owned.push(i) : Q.owned = [i]), i;
}
function X1(e) {
const t = h1;
if (e.state === 0 || t)
return;
if (e.state === G1 || t)
return J1(e);
if (e.suspense && s1(e.suspense.inFallback))
return e.suspense.effects.push(e);
const n = [e];
for (; (e = e.owner) && (!e.updatedAt || e.updatedAt < b0); )
(e.state || t) && n.push(e);
for (let r = n.length - 1; r >= 0; r--)
if (e = n[r], e.state === o1 || t)
v1(e);
else if (e.state === G1 || t) {
const a = V;
V = null, u1(() => J1(e, n[0]), !1), V = a;
}
}
function u1(e, t) {
if (V)
return e();
let n = !1;
t || (V = []), i1 ? n = !0 : i1 = [], b0++;
try {
const r = e();
return z5(n), r;
} catch (r) {
n || (i1 = null), V = null, B9(r);
}
}
function z5(e) {
if (V && (I9(V), V = null), e)
return;
const t = i1;
i1 = null, t.length && u1(() => w9(t), !1);
}
function I9(e) {
for (let t = 0; t < e.length; t++)
X1(e[t]);
}
function U5(e) {
let t, n = 0;
for (t = 0; t < e.length; t++) {
const r = e[t];
r.user ? e[n++] = r : X1(r);
}
for (H.context && E5(), t = 0; t < n; t++)
X1(e[t]);
}
function J1(e, t) {
const n = h1;
e.state = 0;
for (let r = 0; r < e.sources.length; r += 1) {
const a = e.sources[r];
a.sources && (a.state === o1 || n ? a !== t && X1(a) : (a.state === G1 || n) && J1(a, t));
}
}
function D9(e) {
const t = h1;
for (let n = 0; n < e.observers.length; n += 1) {
const r = e.observers[n];
(!r.state || t) && (r.state = G1, r.pure ? V.push(r) : i1.push(r), r.observers && D9(r));
}
}
function a0(e) {
let t;
if (e.sources)
for (; e.sources.length; ) {
const n = e.sources.pop(), r = e.sourceSlots.pop(), a = n.observers;
if (a && a.length) {
const i = a.pop(), o = n.observerSlots.pop();
r < a.length && (i.sourceSlots[o] = r, a[r] = i, n.observerSlots[r] = o);
}
}
if (e.owned) {
for (t = 0; t < e.owned.length; t++)
a0(e.owned[t]);
e.owned = null;
}
if (e.cleanups) {
for (t = 0; t < e.cleanups.length; t++)
e.cleanups[t]();
e.cleanups = null;
}
e.state = 0, e.context = null;
}
function P9(e) {
return e instanceof Error || typeof e == "string" ? e : new Error("Unknown error");
}
function B9(e) {
throw e = P9(e), e;
}
const Y5 = Symbol("fallback");
function j0(e) {
for (let t = 0; t < e.length; t++)
e[t]();
}
function V5(e, t, n = {}) {
let r = [], a = [], i = [], o = 0, s = t.length > 1 ? [] : null;
return x0(() => j0(i)), () => {
let c = e() || [], C, l;
return c[K5], s1(() => {
let p = c.length, b, S, O, E, T, Z, A, L, x;
if (p === 0)
o !== 0 && (j0(i), i = [], r = [], a = [], o = 0, s && (s = [])), n.fallback && (r = [Y5], a[0] = Y1((R) => (i[0] = R, n.fallback())), o = 1);
else if (o === 0) {
for (a = new Array(p), l = 0; l < p; l++)
r[l] = c[l], a[l] = Y1(d);
o = p;
} else {
for (O = new Array(p), E = new Array(p), s && (T = new Array(p)), Z = 0, A = Math.min(o, p); Z < A && r[Z] === c[Z]; Z++)
;
for (A = o - 1, L = p - 1; A >= Z && L >= Z && r[A] === c[L]; A--, L--)
O[L] = a[A], E[L] = i[A], s && (T[L] = s[A]);
for (b = /* @__PURE__ */ new Map(), S = new Array(L + 1), l = L; l >= Z; l--)
x = c[l], C = b.get(x), S[l] = C === void 0 ? -1 : C, b.set(x, l);
for (C = Z; C <= A; C++)
x = r[C], l = b.get(x), l !== void 0 && l !== -1 ? (O[l] = a[C], E[l] = i[C], s && (T[l] = s[C]), l = S[l], b.set(x, l)) : i[C]();
for (l = Z; l < p; l++)
l in O ? (a[l] = O[l], i[l] = E[l], s && (s[l] = T[l], s[l](l))) : a[l] = Y1(d);
a = a.slice(0, o = p), r = c.slice(0);
}
return a;
});
function d(p) {
if (i[l] = p, s) {
const [b, S] = $(l);
return s[l] = S, t(c[l], b);
}
return t(c[l]);
}
};
}
function y(e, t) {
return s1(() => e(t || {}));
}
function R1() {
return !0;
}
const H5 = {
get(e, t, n) {
return t === h0 ? n : e.get(t);
},
has(e, t) {
return t === h0 ? !0 : e.has(t);
},
set: R1,
deleteProperty: R1,
getOwnPropertyDescriptor(e, t) {
return {
configurable: !0,
enumerable: !0,
get() {
return e.get(t);
},
set: R1,
deleteProperty: R1
};
},
ownKeys(e) {
return e.keys();
}
};
function f0(e) {
return (e = typeof e == "function" ? e() : e) ? e : {};
}
function O9(...e) {
let t = !1;
for (let r = 0; r < e.length; r++) {
const a = e[r];
t = t || !!a && h0 in a, e[r] = typeof a == "function" ? (t = !0, D(a)) : a;
}
if (t)
return new Proxy({
get(r) {
for (let a = e.length - 1; a >= 0; a--) {
const i = f0(e[a])[r];
if (i !== void 0)
return i;
}
},
has(r) {
for (let a = e.length - 1; a >= 0; a--)
if (r in f0(e[a]))
return !0;
return !1;
},
keys() {
const r = [];
for (let a = 0; a < e.length; a++)
r.push(...Object.keys(f0(e[a])));
return [...new Set(r)];
}
}, H5);
const n = {};
for (let r = e.length - 1; r >= 0; r--)
if (e[r]) {
const a = Object.getOwnPropertyDescriptors(e[r]);
for (const i in a)
i in n || Object.defineProperty(n, i, {
enumerable: !0,
get() {
for (let o = e.length - 1; o >= 0; o--) {
const s = (e[o] || {})[i];
if (s !== void 0)
return s;
}
}
});
}
return n;
}
function G5(e) {
const t = "fallback" in e && {
fallback: () => e.fallback
};
return D(V5(() => e.each, e.children, t || void 0));
}
function Y(e) {
let t = !1;
const n = e.keyed, r = D(() => e.when, void 0, {
equals: (a, i) => t ? a === i : !a == !i
});
return D(() => {
const a = r();
if (a) {
const i = e.children, o = typeof i == "function" && i.length > 0;
return t = n || o, o ? s1(() => i(a)) : i;
}
return e.fallback;
}, void 0, void 0);
}
function X5(e, t, n) {
let r = n.length, a = t.length, i = r, o = 0, s = 0, c = t[a - 1].nextSibling, C = null;
for (; o < a || s < i; ) {
if (t[o] === n[s]) {
o++, s++;
continue;
}
for (; t[a - 1] === n[i - 1]; )
a--, i--;
if (a === o) {
const l = i < r ? s ? n[s - 1].nextSibling : n[i - s] : c;
for (; s < i; )
e.insertBefore(n[s++], l);
} else if (i === s)
for (; o < a; )
(!C || !C.has(t[o])) && t[o].remove(), o++;
else if (t[o] === n[i - 1] && n[s] === t[a - 1]) {
const l = t[--a].nextSibling;
e.insertBefore(n[s++], t[o++].nextSibling), e.insertBefore(n[--i], l), t[a] = n[i];
} else {
if (!C) {
C = /* @__PURE__ */ new Map();
let d = s;
for (; d < i; )
C.set(n[d], d++);
}
const l = C.get(t[o]);
if (l != null)
if (s < l && l < i) {
let d = o, p = 1, b;
for (; ++d < a && d < i && !((b = C.get(t[d])) == null || b !== l + p); )
p++;
if (p > l - s) {
const S = t[o];
for (; s < l; )
e.insertBefore(n[s++], S);
} else
e.replaceChild(n[s++], t[o++]);
} else
o++;
else
t[o++].remove();
}
}
}
const Z0 = "_$DX_DELEGATE";
function J5(e, t, n, r = {}) {
let a;
return Y1((i) => {
a = i, t === document ? e() : m(t, e(), t.firstChild ? null : void 0, n);
}, r.owner), () => {
a(), t.textContent = "";
};
}
function f(e, t, n) {
const r = document.createElement("template");
r.innerHTML = e;
let a = r.content.firstChild;
return n && (a = a.firstChild), a;
}
function e1(e, t = window.document) {
const n = t[Z0] || (t[Z0] = /* @__PURE__ */ new Set());
for (let r = 0, a = e.length; r < a; r++) {
const i = e[r];
n.has(i) || (n.add(i), t.addEventListener(i, W5));
}
}
function G(e, t, n) {
n == null ? e.removeAttribute(t) : e.setAttribute(t, n);
}
function C1(e, t) {
t == null ? e.removeAttribute("class") : e.className = t;
}
function l1(e, t, n, r) {
if (r)
Array.isArray(n) ? (e[`$$${t}`] = n[0], e[`$$${t}Data`] = n[1]) : e[`$$${t}`] = n;
else if (Array.isArray(n)) {
const a = n[0];
e.addEventListener(t, n[0] = (i) => a.call(e, n[1], i));
} else
e.addEventListener(t, n);
}
function _1(e, t, n) {
if (!t)
return n ? G(e, "style") : t;
const r = e.style;
if (typeof t == "string")
return r.cssText = t;
typeof n == "string" && (r.cssText = n = void 0), n || (n = {}), t || (t = {});
let a, i;
for (i in n)
t[i] == null && r.removeProperty(i), delete n[i];
for (i in t)
a = t[i], a !== n[i] && (r.setProperty(i, a), n[i] = a);
return n;
}
function k0(e, t, n) {
return s1(() => e(t, n));
}
function m(e, t, n, r) {
if (n !== void 0 && !r && (r = []), typeof t != "function")
return W1(e, t, r, n);
j((a) => W1(e, t(), a, n), r);
}
function W5(e) {
const t = `$$${e.type}`;
let n = e.composedPath && e.composedPath()[0] || e.target;
for (e.target !== n && Object.defineProperty(e, "target", {
configurable: !0,
value: n
}), Object.defineProperty(e, "currentTarget", {
configurable: !0,
get() {
return n || document;
}
}), H.registry && !H.done && (H.done = !0, document.querySelectorAll("[id^=pl-]").forEach((r) => {
for (; r && r.nodeType !== 8 && r.nodeValue !== "pl-" + e; ) {
let a = r.nextSibling;
r.remove(), r = a;
}
r && r.remove();
})); n; ) {
const r = n[t];
if (r && !n.disabled) {
const a = n[`${t}Data`];
if (a !== void 0 ? r.call(n, a, e) : r.call(n, e), e.cancelBubble)
return;
}
n = n._$host || n.parentNode || n.host;
}
}
function W1(e, t, n, r, a) {
for (H.context && !n && (n = [...e.childNodes]); typeof n == "function"; )
n = n();
if (t === n)
return n;
const i = typeof t, o = r !== void 0;
if (e = o && n[0] && n[0].parentNode || e, i === "string" || i === "number") {
if (H.context)
return n;
if (i === "number" && (t = t.toString()), o) {
let s = n[0];
s && s.nodeType === 3 ? s.data = t : s = document.createTextNode(t), n = p1(e, n, r, s);
} else
n !== "" && typeof n == "string" ? n = e.firstChild.data = t : n = e.textContent = t;
} else if (t == null || i === "boolean") {
if (H.context)
return n;
n = p1(e, n, r);
} else {
if (i === "function")
return j(() => {
let s = t();
for (; typeof s == "function"; )
s = s();
n = W1(e, s, n, r);
}), () => n;
if (Array.isArray(t)) {
const s = [], c = n && Array.isArray(n);
if (y0(s, t, n, a))
return j(() => n = W1(e, s, n, r, !0)), () => n;
if (H.context) {
if (!s.length)
return n;
for (let C = 0; C < s.length; C++)
if (s[C].parentNode)
return n = s;
}
if (s.length === 0) {
if (n = p1(e, n, r), o)
return n;
} else
c ? n.length === 0 ? Q0(e, s, r) : X5(e, n, s) : (n && p1(e), Q0(e, s));
n = s;
} else if (t instanceof Node) {
if (H.context && t.parentNode)
return n = o ? [t] : t;
if (Array.isArray(n)) {
if (o)
return n = p1(e, n, r, t);
p1(e, n, null, t);
} else
n == null || n === "" || !e.firstChild ? e.appendChild(t) : e.replaceChild(t, e.firstChild);
n = t;
}
}
return n;
}
function y0(e, t, n, r) {
let a = !1;
for (let i = 0, o = t.length; i < o; i++) {
let s = t[i], c = n && n[i];
if (s instanceof Node)
e.push(s);
else if (!(s == null || s === !0 || s === !1))
if (Array.isArray(s))
a = y0(e, s, c) || a;
else if (typeof s == "function")
if (r) {
for (; typeof s == "function"; )
s = s();
a = y0(e, Array.isArray(s) ? s : [s], Array.isArray(c) ? c : [c]) || a;
} else
e.push(s), a = !0;
else {
const C = String(s);
c && c.nodeType === 3 && c.data === C ? e.push(c) : e.push(document.createTextNode(C));
}
}
return a;
}
function Q0(e, t, n = null) {
for (let r = 0, a = t.length; r < a; r++)
e.insertBefore(t[r], n);
}
function p1(e, t, n, r) {
if (n === void 0)
return e.textContent = "";
const a = r || document.createTextNode("");
if (t.length) {
let i = !1;
for (let o = t.length - 1; o >= 0; o--) {
const s = t[o];
if (a !== s) {
const c = s.parentNode === e;
!i && !o ? c ? e.replaceChild(a, s) : e.insertBefore(a, n) : c && s.remove();
} else
i = !0;
}
} else
e.insertBefore(a, n);
return [a];
}
var z1 = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function E9(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var q5 = typeof z1 == "object" && z1 && z1.Object === Object && z1, F9 = q5, e6 = F9, t6 = typeof self == "object" && self && self.Object === Object && self, n6 = e6 || t6 || Function("return this")(), t1 = n6, r6 = t1, a6 = r6.Symbol, i0 = a6, R0 = i0, K9 = Object.prototype, i6 = K9.hasOwnProperty, s6 = K9.toString, P1 = R0 ? R0.toStringTag : void 0;
function o6(e) {
var t = i6.call(e, P1), n = e[P1];
try {
e[P1] = void 0;
var r = !0;
} catch {
}
var a = s6.call(e);
return r && (t ? e[P1] = n : delete e[P1]), a;
}
var c6 = o6, l6 = Object.prototype, u6 = l6.toString;
function C6(e) {
return u6.call(e);
}
var f6 = C6, z0 = i0, g6 = c6, d6 = f6, h6 = "[object Null]", y6 = "[object Undefined]", U0 = z0 ? z0.toStringTag : void 0;
function m6(e) {
return e == null ? e === void 0 ? y6 : h6 : U0 && U0 in Object(e) ? g6(e) : d6(e);
}
var O1 = m6;
function p6(e) {
var t = typeof e;
return e != null && (t == "object" || t == "function");
}
var L1 = p6, v6 = O1, _6 = L1, L6 = "[object AsyncFunction]", $6 = "[object Function]", b6 = "[object GeneratorFunction]", x6 = "[object Proxy]";
function k6(e) {
if (!_6(e))
return !1;
var t = v6(e);
return t == $6 || t == b6 || t == L6 || t == x6;
}
var j9 = k6, A6 = t1, w6 = A6["__core-js_shared__"], M6 = w6, g0 = M6, Y0 = function() {
var e = /[^.]+$/.exec(g0 && g0.keys && g0.keys.IE_PROTO || "");
return e ? "Symbol(src)_1." + e : "";
}();
function S6(e) {
return !!Y0 && Y0 in e;
}
var T6 = S6, N6 = Function.prototype, I6 = N6.toString;
function D6(e) {
if (e != null) {
try {
return I6.call(e);
} catch {
}
try {
return e + "";
} catch {
}
}
return "";
}
var Z9 = D6, P6 = j9, B6 = T6, O6 = L1, E6 = Z9, F6 = /[\\^$.*+?()[\]{}|]/g, K6 = /^\[object .+?Constructor\]$/, j6 = Function.prototype, Z6 = Object.prototype, Q6 = j6.toString, R6 = Z6.hasOwnProperty, z6 = RegExp(
"^" + Q6.call(R6).replace(F6, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
);
function U6(e) {
if (!O6(e) || B6(e))
return !1;
var t = P6(e) ? z6 : K6;
return t.test(E6(e));
}
var Y6 = U6;
function V6(e, t) {
return e == null ? void 0 : e[t];
}
var H6 = V6, G6 = Y6, X6 = H6;
function J6(e, t) {
var n = X6(e, t);
return G6(n) ? n : void 0;
}
var y1 = J6, W6 = y1, q6 = function() {
try {
var e = W6(Object, "defineProperty");
return e({}, "", {}), e;
} catch {
}
}(), ee = q6, V0 = ee;
function te(e, t, n) {
t == "__proto__" && V0 ? V0(e, t, {
configurable: !0,
enumerable: !0,
value: n,
writable: !0
}) : e[t] = n;
}
var Q9 = te;
function ne(e, t) {
return e === t || e !== e && t !== t;
}
var R9 = ne, re = Q9, ae = R9, ie = Object.prototype, se = ie.hasOwnProperty;
function oe(e, t, n) {
var r = e[t];
(!(se.call(e, t) && ae(r, n)) || n === void 0 && !(t in e)) && re(e, t, n);
}
var A0 = oe, ce = Array.isArray, $1 = ce;
function le(e) {
return e != null && typeof e == "object";
}
var b1 = le, ue = O1, Ce = b1, fe = "[object Symbol]";
function ge(e) {
return typeof e == "symbol" || Ce(e) && ue(e) == fe;
}
var w0 = ge, de = $1, he = w0, ye = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, me = /^\w*$/;
function pe(e, t) {
if (de(e))
return !1;
var n = typeof e;
return n == "number" || n == "symbol" || n == "boolean" || e == null || he(e) ? !0 : me.test(e) || !ye.test(e) || t != null && e in Object(t);
}
var ve = pe, _e = y1, Le = _e(Object, "create"), s0 = Le, H0 = s0;
function $e() {
this.__data__ = H0 ? H0(null) : {}, this.size = 0;
}
var be = $e;
function xe(e) {
var t = this.has(e) && delete this.__data__[e];
return this.size -= t ? 1 : 0, t;
}
var ke = xe, Ae = s0, we = "__lodash_hash_undefined__", Me = Object.prototype, Se = Me.hasOwnProperty;
function Te(e) {
var t = this.__data__;
if (Ae) {
var n = t[e];
return n === we ? void 0 : n;
}
return Se.call(t, e) ? t[e] : void 0;
}
var Ne = Te, Ie = s0, De = Object.prototype, Pe = De.hasOwnProperty;
function Be(e) {
var t = this.__data__;
return Ie ? t[e] !== void 0 : Pe.call(t, e);
}
var Oe = Be, Ee = s0, Fe = "__lodash_hash_undefined__";
function Ke(e, t) {
var n = this.__data__;
return this.size += this.has(e) ? 0 : 1, n[e] = Ee && t === void 0 ? Fe : t, this;
}
var je = Ke, Ze = be, Qe = ke, Re = Ne, ze = Oe, Ue = je;
function x1(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
x1.prototype.clear = Ze;
x1.prototype.delete = Qe;
x1.prototype.get = Re;
x1.prototype.has = ze;
x1.prototype.set = Ue;
var Ye = x1;
function Ve() {
this.__data__ = [], this.size = 0;
}
var He = Ve, Ge = R9;
function Xe(e, t) {
for (var n = e.length; n--; )
if (Ge(e[n][0], t))
return n;
return -1;
}
var o0 = Xe, Je = o0, We = Array.prototype, qe = We.splice;
function e2(e) {
var t = this.__data__, n = Je(t, e);
if (n < 0)
return !1;
var r = t.length - 1;
return n == r ? t.pop() : qe.call(t, n, 1), --this.size, !0;
}
var t2 = e2, n2 = o0;
function r2(e) {
var t = this.__data__, n = n2(t, e);
return n < 0 ? void 0 : t[n][1];
}
var a2 = r2, i2 = o0;
function s2(e) {
return i2(this.__data__, e) > -1;
}
var o2 = s2, c2 = o0;
function l2(e, t) {
var n = this.__data__, r = c2(n, e);
return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;
}
var u2 = l2, C2 = He, f2 = t2, g2 = a2, d2 = o2, h2 = u2;
function k1(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
k1.prototype.clear = C2;
k1.prototype.delete = f2;
k1.prototype.get = g2;
k1.prototype.has = d2;
k1.prototype.set = h2;
var c0 = k1, y2 = y1, m2 = t1, p2 = y2(m2, "Map"), M0 = p2, G0 = Ye, v2 = c0, _2 = M0;
function L2() {
this.size = 0, this.__data__ = {
hash: new G0(),
map: new (_2 || v2)(),
string: new G0()
};
}
var $2 = L2;
function b2(e) {
var t = typeof e;
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
}
var x2 = b2, k2 = x2;
function A2(e, t) {
var n = e.__data__;
return k2(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
}
var l0 = A2, w2 = l0;
function M2(e) {
var t = w2(this, e).delete(e);
return this.size -= t ? 1 : 0, t;
}
var S2 = M2, T2 = l0;
function N2(e) {
return T2(this, e).get(e);
}
var I2 = N2, D2 = l0;
function P2(e) {
return D2(this, e).has(e);
}
var B2 = P2, O2 = l0;
function E2(e, t) {
var n = O2(this, e), r = n.size;
return n.set(e, t), this.size += n.size == r ? 0 : 1, this;
}
var F2 = E2, K2 = $2, j2 = S2, Z2 = I2, Q2 = B2, R2 = F2;
function A1(e) {
var t = -1, n = e == null ? 0 : e.length;
for (this.clear(); ++t < n; ) {
var r = e[t];
this.set(r[0], r[1]);
}
}
A1.prototype.clear = K2;
A1.prototype.delete = j2;
A1.prototype.get = Z2;
A1.prototype.has = Q2;
A1.prototype.set = R2;
var z9 = A1, U9 = z9, z2 = "Expected a function";
function S0(e, t) {
if (typeof e != "function" || t != null && typeof t != "function")
throw new TypeError(z2);
var n = function() {
var r = arguments, a = t ? t.apply(this, r) : r[0], i = n.cache;
if (i.has(a))
return i.get(a);
var o = e.apply(this, r);
return n.cache = i.set(a, o) || i, o;
};
return n.cache = new (S0.Cache || U9)(), n;
}
S0.Cache = U9;
var U2 = S0, Y2 = U2, V2 = 500;
function H2(e) {
var t = Y2(e, function(r) {
return n.size === V2 && n.clear(), r;
}), n = t.cache;
return t;
}
var G2 = H2, X2 = G2, J2 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, W2 = /\\(\\)?/g, q2 = X2(function(e) {
var t = [];
return e.charCodeAt(0) === 46 && t.push(""), e.replace(J2, function(n, r, a, i) {
t.push(a ? i.replace(W2, "$1") : r || n);
}), t;
}), e3 = q2;
function t3(e, t) {
for (var n = -1, r = e == null ? 0 : e.length, a = Array(r); ++n < r; )
a[n] = t(e[n], n, e);
return a;
}
var n3 = t3, X0 = i0, r3 = n3, a3 = $1, i3 = w0, s3 = 1 / 0, J0 = X0 ? X0.prototype : void 0, W0 = J0 ? J0.toString : void 0;
function Y9(e) {