hrms-manual/node_modules/structure-chart/dist/index.es-ebdebaec.js
2023-09-06 14:51:44 +07:00

5768 lines
206 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { _ as Ya } from "./index-d950fc13.js";
import "vue";
import "pinia";
var gr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Gt = function(a) {
return a && a.Math == Math && a;
}, z = (
// eslint-disable-next-line es/no-global-this -- safe
Gt(typeof globalThis == "object" && globalThis) || Gt(typeof window == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe
Gt(typeof self == "object" && self) || Gt(typeof gr == "object" && gr) || // eslint-disable-next-line no-new-func -- fallback
function() {
return this;
}() || Function("return this")()
), ut = {}, L = function(a) {
try {
return !!a();
} catch {
return !0;
}
}, Pl = L, ce = !Pl(function() {
return Object.defineProperty({}, 1, { get: function() {
return 7;
} })[1] != 7;
}), Rl = L, Sr = !Rl(function() {
var a = function() {
}.bind();
return typeof a != "function" || a.hasOwnProperty("prototype");
}), Il = Sr, Ht = Function.prototype.call, Y = Il ? Ht.bind(Ht) : function() {
return Ht.apply(Ht, arguments);
}, Lo = {}, ko = {}.propertyIsEnumerable, Bo = Object.getOwnPropertyDescriptor, Nl = Bo && !ko.call({ 1: 2 }, 1);
Lo.f = Nl ? function(e) {
var t = Bo(this, e);
return !!t && t.enumerable;
} : ko;
var Or = function(a, e) {
return {
enumerable: !(a & 1),
configurable: !(a & 2),
writable: !(a & 4),
value: e
};
}, Fo = Sr, jo = Function.prototype, Xa = jo.call, Ml = Fo && jo.bind.bind(Xa, Xa), k = Fo ? Ml : function(a) {
return function() {
return Xa.apply(a, arguments);
};
}, Uo = k, _l = Uo({}.toString), Dl = Uo("".slice), je = function(a) {
return Dl(_l(a), 8, -1);
}, Vl = k, Ll = L, kl = je, ea = Object, Bl = Vl("".split), zo = Ll(function() {
return !ea("z").propertyIsEnumerable(0);
}) ? function(a) {
return kl(a) == "String" ? Bl(a, "") : ea(a);
} : ea, Ue = function(a) {
return a == null;
}, Fl = Ue, jl = TypeError, ge = function(a) {
if (Fl(a))
throw jl("Can't call method on " + a);
return a;
}, Ul = zo, zl = ge, Ct = function(a) {
return Ul(zl(a));
}, Wa = typeof document == "object" && document.all, Gl = typeof Wa > "u" && Wa !== void 0, Go = {
all: Wa,
IS_HTMLDDA: Gl
}, Ho = Go, Hl = Ho.all, D = Ho.IS_HTMLDDA ? function(a) {
return typeof a == "function" || a === Hl;
} : function(a) {
return typeof a == "function";
}, bn = D, Yo = Go, Yl = Yo.all, Te = Yo.IS_HTMLDDA ? function(a) {
return typeof a == "object" ? a !== null : bn(a) || a === Yl;
} : function(a) {
return typeof a == "object" ? a !== null : bn(a);
}, ta = z, Xl = D, Wl = function(a) {
return Xl(a) ? a : void 0;
}, ze = function(a, e) {
return arguments.length < 2 ? Wl(ta[a]) : ta[a] && ta[a][e];
}, ql = k, Er = ql({}.isPrototypeOf), $r = typeof navigator < "u" && String(navigator.userAgent) || "", Xo = z, ra = $r, xn = Xo.process, Tn = Xo.Deno, Sn = xn && xn.versions || Tn && Tn.version, On = Sn && Sn.v8, ue, dr;
On && (ue = On.split("."), dr = ue[0] > 0 && ue[0] < 4 ? 1 : +(ue[0] + ue[1]));
!dr && ra && (ue = ra.match(/Edge\/(\d+)/), (!ue || ue[1] >= 74) && (ue = ra.match(/Chrome\/(\d+)/), ue && (dr = +ue[1])));
var $i = dr, En = $i, Ql = L, Wo = !!Object.getOwnPropertySymbols && !Ql(function() {
var a = Symbol();
return !String(a) || !(Object(a) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
!Symbol.sham && En && En < 41;
}), Kl = Wo, qo = Kl && !Symbol.sham && typeof Symbol.iterator == "symbol", Zl = ze, Jl = D, eh = Er, th = qo, rh = Object, Qo = th ? function(a) {
return typeof a == "symbol";
} : function(a) {
var e = Zl("Symbol");
return Jl(e) && eh(e.prototype, rh(a));
}, ah = String, wr = function(a) {
try {
return ah(a);
} catch {
return "Object";
}
}, ih = D, nh = wr, sh = TypeError, Se = function(a) {
if (ih(a))
return a;
throw sh(nh(a) + " is not a function");
}, oh = Se, uh = Ue, lt = function(a, e) {
var t = a[e];
return uh(t) ? void 0 : oh(t);
}, aa = Y, ia = D, na = Te, lh = TypeError, hh = function(a, e) {
var t, r;
if (e === "string" && ia(t = a.toString) && !na(r = aa(t, a)) || ia(t = a.valueOf) && !na(r = aa(t, a)) || e !== "string" && ia(t = a.toString) && !na(r = aa(t, a)))
return r;
throw lh("Can't convert object to primitive value");
}, Ot = {}, vh = {
get exports() {
return Ot;
},
set exports(a) {
Ot = a;
}
}, $n = z, fh = Object.defineProperty, wi = function(a, e) {
try {
fh($n, a, { value: e, configurable: !0, writable: !0 });
} catch {
$n[a] = e;
}
return e;
}, ch = z, gh = wi, wn = "__core-js_shared__", dh = ch[wn] || gh(wn, {}), Ci = dh, Cn = Ci;
(vh.exports = function(a, e) {
return Cn[a] || (Cn[a] = e !== void 0 ? e : {});
})("versions", []).push({
version: "3.30.1",
mode: "global",
copyright: "© 2014-2023 Denis Pushkarev (zloirock.ru)",
license: "https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE",
source: "https://github.com/zloirock/core-js"
});
var ph = ge, yh = Object, Cr = function(a) {
return yh(ph(a));
}, mh = k, bh = Cr, xh = mh({}.hasOwnProperty), le = Object.hasOwn || function(e, t) {
return xh(bh(e), t);
}, Th = k, Sh = 0, Oh = Math.random(), Eh = Th(1 .toString), Ko = function(a) {
return "Symbol(" + (a === void 0 ? "" : a) + ")_" + Eh(++Sh + Oh, 36);
}, $h = z, wh = Ot, An = le, Ch = Ko, Ah = Wo, Ph = qo, et = $h.Symbol, sa = wh("wks"), Rh = Ph ? et.for || et : et && et.withoutSetter || Ch, G = function(a) {
return An(sa, a) || (sa[a] = Ah && An(et, a) ? et[a] : Rh("Symbol." + a)), sa[a];
}, Ih = Y, Pn = Te, Rn = Qo, Nh = lt, Mh = hh, _h = G, Dh = TypeError, Vh = _h("toPrimitive"), Lh = function(a, e) {
if (!Pn(a) || Rn(a))
return a;
var t = Nh(a, Vh), r;
if (t) {
if (e === void 0 && (e = "default"), r = Ih(t, a, e), !Pn(r) || Rn(r))
return r;
throw Dh("Can't convert object to primitive value");
}
return e === void 0 && (e = "number"), Mh(a, e);
}, kh = Lh, Bh = Qo, Ai = function(a) {
var e = kh(a, "string");
return Bh(e) ? e : e + "";
}, Fh = z, In = Te, qa = Fh.document, jh = In(qa) && In(qa.createElement), Ar = function(a) {
return jh ? qa.createElement(a) : {};
}, Uh = ce, zh = L, Gh = Ar, Zo = !Uh && !zh(function() {
return Object.defineProperty(Gh("div"), "a", {
get: function() {
return 7;
}
}).a != 7;
}), Hh = ce, Yh = Y, Xh = Lo, Wh = Or, qh = Ct, Qh = Ai, Kh = le, Zh = Zo, Nn = Object.getOwnPropertyDescriptor;
ut.f = Hh ? Nn : function(e, t) {
if (e = qh(e), t = Qh(t), Zh)
try {
return Nn(e, t);
} catch {
}
if (Kh(e, t))
return Wh(!Yh(Xh.f, e, t), e[t]);
};
var de = {}, Jh = ce, ev = L, Jo = Jh && ev(function() {
return Object.defineProperty(function() {
}, "prototype", {
value: 42,
writable: !1
}).prototype != 42;
}), tv = Te, rv = String, av = TypeError, K = function(a) {
if (tv(a))
return a;
throw av(rv(a) + " is not an object");
}, iv = ce, nv = Zo, sv = Jo, Yt = K, Mn = Ai, ov = TypeError, oa = Object.defineProperty, uv = Object.getOwnPropertyDescriptor, ua = "enumerable", la = "configurable", ha = "writable";
de.f = iv ? sv ? function(e, t, r) {
if (Yt(e), t = Mn(t), Yt(r), typeof e == "function" && t === "prototype" && "value" in r && ha in r && !r[ha]) {
var i = uv(e, t);
i && i[ha] && (e[t] = r.value, r = {
configurable: la in r ? r[la] : i[la],
enumerable: ua in r ? r[ua] : i[ua],
writable: !1
});
}
return oa(e, t, r);
} : oa : function(e, t, r) {
if (Yt(e), t = Mn(t), Yt(r), nv)
try {
return oa(e, t, r);
} catch {
}
if ("get" in r || "set" in r)
throw ov("Accessors not supported");
return "value" in r && (e[t] = r.value), e;
};
var lv = ce, hv = de, vv = Or, At = lv ? function(a, e, t) {
return hv.f(a, e, vv(1, t));
} : function(a, e, t) {
return a[e] = t, a;
}, pr = {}, fv = {
get exports() {
return pr;
},
set exports(a) {
pr = a;
}
}, Qa = ce, cv = le, eu = Function.prototype, gv = Qa && Object.getOwnPropertyDescriptor, Pi = cv(eu, "name"), dv = Pi && function() {
}.name === "something", pv = Pi && (!Qa || Qa && gv(eu, "name").configurable), Pr = {
EXISTS: Pi,
PROPER: dv,
CONFIGURABLE: pv
}, yv = k, mv = D, Ka = Ci, bv = yv(Function.toString);
mv(Ka.inspectSource) || (Ka.inspectSource = function(a) {
return bv(a);
});
var Ri = Ka.inspectSource, xv = z, Tv = D, _n = xv.WeakMap, Sv = Tv(_n) && /native code/.test(String(_n)), Ov = Ot, Ev = Ko, Dn = Ov("keys"), Ii = function(a) {
return Dn[a] || (Dn[a] = Ev(a));
}, Ni = {}, $v = Sv, tu = z, wv = Te, Cv = At, va = le, fa = Ci, Av = Ii, Pv = Ni, Vn = "Object already initialized", Za = tu.TypeError, Rv = tu.WeakMap, yr, Et, mr, Iv = function(a) {
return mr(a) ? Et(a) : yr(a, {});
}, Nv = function(a) {
return function(e) {
var t;
if (!wv(e) || (t = Et(e)).type !== a)
throw Za("Incompatible receiver, " + a + " required");
return t;
};
};
if ($v || fa.state) {
var fe = fa.state || (fa.state = new Rv());
fe.get = fe.get, fe.has = fe.has, fe.set = fe.set, yr = function(a, e) {
if (fe.has(a))
throw Za(Vn);
return e.facade = a, fe.set(a, e), e;
}, Et = function(a) {
return fe.get(a) || {};
}, mr = function(a) {
return fe.has(a);
};
} else {
var We = Av("state");
Pv[We] = !0, yr = function(a, e) {
if (va(a, We))
throw Za(Vn);
return e.facade = a, Cv(a, We, e), e;
}, Et = function(a) {
return va(a, We) ? a[We] : {};
}, mr = function(a) {
return va(a, We);
};
}
var Rr = {
set: yr,
get: Et,
has: mr,
enforce: Iv,
getterFor: Nv
}, Mi = k, Mv = L, _v = D, Xt = le, Ja = ce, Dv = Pr.CONFIGURABLE, Vv = Ri, ru = Rr, Lv = ru.enforce, kv = ru.get, Ln = String, ur = Object.defineProperty, Bv = Mi("".slice), Fv = Mi("".replace), jv = Mi([].join), Uv = Ja && !Mv(function() {
return ur(function() {
}, "length", { value: 8 }).length !== 8;
}), zv = String(String).split("String"), Gv = fv.exports = function(a, e, t) {
Bv(Ln(e), 0, 7) === "Symbol(" && (e = "[" + Fv(Ln(e), /^Symbol\(([^)]*)\)/, "$1") + "]"), t && t.getter && (e = "get " + e), t && t.setter && (e = "set " + e), (!Xt(a, "name") || Dv && a.name !== e) && (Ja ? ur(a, "name", { value: e, configurable: !0 }) : a.name = e), Uv && t && Xt(t, "arity") && a.length !== t.arity && ur(a, "length", { value: t.arity });
try {
t && Xt(t, "constructor") && t.constructor ? Ja && ur(a, "prototype", { writable: !1 }) : a.prototype && (a.prototype = void 0);
} catch {
}
var r = Lv(a);
return Xt(r, "source") || (r.source = jv(zv, typeof e == "string" ? e : "")), a;
};
Function.prototype.toString = Gv(function() {
return _v(this) && kv(this).source || Vv(this);
}, "toString");
var Hv = D, Yv = de, Xv = pr, Wv = wi, Ge = function(a, e, t, r) {
r || (r = {});
var i = r.enumerable, n = r.name !== void 0 ? r.name : e;
if (Hv(t) && Xv(t, n, r), r.global)
i ? a[e] = t : Wv(e, t);
else {
try {
r.unsafe ? a[e] && (i = !0) : delete a[e];
} catch {
}
i ? a[e] = t : Yv.f(a, e, {
value: t,
enumerable: !1,
configurable: !r.nonConfigurable,
writable: !r.nonWritable
});
}
return a;
}, au = {}, qv = Math.ceil, Qv = Math.floor, Kv = Math.trunc || function(e) {
var t = +e;
return (t > 0 ? Qv : qv)(t);
}, Zv = Kv, Ir = function(a) {
var e = +a;
return e !== e || e === 0 ? 0 : Zv(e);
}, Jv = Ir, ef = Math.max, tf = Math.min, iu = function(a, e) {
var t = Jv(a);
return t < 0 ? ef(t + e, 0) : tf(t, e);
}, rf = Ir, af = Math.min, ht = function(a) {
return a > 0 ? af(rf(a), 9007199254740991) : 0;
}, nf = ht, Nr = function(a) {
return nf(a.length);
}, sf = Ct, of = iu, uf = Nr, kn = function(a) {
return function(e, t, r) {
var i = sf(e), n = uf(i), o = of(r, n), s;
if (a && t != t) {
for (; n > o; )
if (s = i[o++], s != s)
return !0;
} else
for (; n > o; o++)
if ((a || o in i) && i[o] === t)
return a || o || 0;
return !a && -1;
};
}, nu = {
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
includes: kn(!0),
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf: kn(!1)
}, lf = k, ca = le, hf = Ct, vf = nu.indexOf, ff = Ni, Bn = lf([].push), su = function(a, e) {
var t = hf(a), r = 0, i = [], n;
for (n in t)
!ca(ff, n) && ca(t, n) && Bn(i, n);
for (; e.length > r; )
ca(t, n = e[r++]) && (~vf(i, n) || Bn(i, n));
return i;
}, _i = [
"constructor",
"hasOwnProperty",
"isPrototypeOf",
"propertyIsEnumerable",
"toLocaleString",
"toString",
"valueOf"
], cf = su, gf = _i, df = gf.concat("length", "prototype");
au.f = Object.getOwnPropertyNames || function(e) {
return cf(e, df);
};
var ou = {};
ou.f = Object.getOwnPropertySymbols;
var pf = ze, yf = k, mf = au, bf = ou, xf = K, Tf = yf([].concat), Sf = pf("Reflect", "ownKeys") || function(e) {
var t = mf.f(xf(e)), r = bf.f;
return r ? Tf(t, r(e)) : t;
}, Fn = le, Of = Sf, Ef = ut, $f = de, wf = function(a, e, t) {
for (var r = Of(e), i = $f.f, n = Ef.f, o = 0; o < r.length; o++) {
var s = r[o];
!Fn(a, s) && !(t && Fn(t, s)) && i(a, s, n(e, s));
}
}, Cf = L, Af = D, Pf = /#|\.prototype\./, Pt = function(a, e) {
var t = If[Rf(a)];
return t == Mf ? !0 : t == Nf ? !1 : Af(e) ? Cf(e) : !!e;
}, Rf = Pt.normalize = function(a) {
return String(a).replace(Pf, ".").toLowerCase();
}, If = Pt.data = {}, Nf = Pt.NATIVE = "N", Mf = Pt.POLYFILL = "P", uu = Pt, ga = z, _f = ut.f, Df = At, Vf = Ge, Lf = wi, kf = wf, Bf = uu, ee = function(a, e) {
var t = a.target, r = a.global, i = a.stat, n, o, s, u, l, h;
if (r ? o = ga : i ? o = ga[t] || Lf(t, {}) : o = (ga[t] || {}).prototype, o)
for (s in e) {
if (l = e[s], a.dontCallGetSet ? (h = _f(o, s), u = h && h.value) : u = o[s], n = Bf(r ? s : t + (i ? "." : "#") + s, a.forced), !n && u !== void 0) {
if (typeof l == typeof u)
continue;
kf(l, u);
}
(a.sham || u && u.sham) && Df(l, "sham", !0), Vf(o, s, l, a);
}
}, Ff = je, Rt = typeof process < "u" && Ff(process) == "process", jf = k, Uf = Se, zf = function(a, e, t) {
try {
return jf(Uf(Object.getOwnPropertyDescriptor(a, e)[t]));
} catch {
}
}, Gf = D, Hf = String, Yf = TypeError, Xf = function(a) {
if (typeof a == "object" || Gf(a))
return a;
throw Yf("Can't set " + Hf(a) + " as a prototype");
}, Wf = zf, qf = K, Qf = Xf, lu = Object.setPrototypeOf || ("__proto__" in {} ? function() {
var a = !1, e = {}, t;
try {
t = Wf(Object.prototype, "__proto__", "set"), t(e, []), a = e instanceof Array;
} catch {
}
return function(i, n) {
return qf(i), Qf(n), a ? t(i, n) : i.__proto__ = n, i;
};
}() : void 0), Kf = de.f, Zf = le, Jf = G, jn = Jf("toStringTag"), Di = function(a, e, t) {
a && !t && (a = a.prototype), a && !Zf(a, jn) && Kf(a, jn, { configurable: !0, value: e });
}, Un = pr, ec = de, tc = function(a, e, t) {
return t.get && Un(t.get, e, { getter: !0 }), t.set && Un(t.set, e, { setter: !0 }), ec.f(a, e, t);
}, rc = ze, ac = tc, ic = G, nc = ce, zn = ic("species"), sc = function(a) {
var e = rc(a);
nc && e && !e[zn] && ac(e, zn, {
configurable: !0,
get: function() {
return this;
}
});
}, oc = Er, uc = TypeError, lc = function(a, e) {
if (oc(e, a))
return a;
throw uc("Incorrect invocation");
}, hc = G, vc = hc("toStringTag"), hu = {};
hu[vc] = "z";
var fc = String(hu) === "[object z]", cc = fc, gc = D, lr = je, dc = G, pc = dc("toStringTag"), yc = Object, mc = lr(function() {
return arguments;
}()) == "Arguments", bc = function(a, e) {
try {
return a[e];
} catch {
}
}, Vi = cc ? lr : function(a) {
var e, t, r;
return a === void 0 ? "Undefined" : a === null ? "Null" : typeof (t = bc(e = yc(a), pc)) == "string" ? t : mc ? lr(e) : (r = lr(e)) == "Object" && gc(e.callee) ? "Arguments" : r;
}, xc = k, Tc = L, vu = D, Sc = Vi, Oc = ze, Ec = Ri, fu = function() {
}, $c = [], cu = Oc("Reflect", "construct"), Li = /^\s*(?:class|function)\b/, wc = xc(Li.exec), Cc = !Li.exec(fu), ct = function(e) {
if (!vu(e))
return !1;
try {
return cu(fu, $c, e), !0;
} catch {
return !1;
}
}, gu = function(e) {
if (!vu(e))
return !1;
switch (Sc(e)) {
case "AsyncFunction":
case "GeneratorFunction":
case "AsyncGeneratorFunction":
return !1;
}
try {
return Cc || !!wc(Li, Ec(e));
} catch {
return !0;
}
};
gu.sham = !0;
var Ac = !cu || Tc(function() {
var a;
return ct(ct.call) || !ct(Object) || !ct(function() {
a = !0;
}) || a;
}) ? gu : ct, Pc = Ac, Rc = wr, Ic = TypeError, Nc = function(a) {
if (Pc(a))
return a;
throw Ic(Rc(a) + " is not a constructor");
}, Gn = K, Mc = Nc, _c = Ue, Dc = G, Vc = Dc("species"), du = function(a, e) {
var t = Gn(a).constructor, r;
return t === void 0 || _c(r = Gn(t)[Vc]) ? e : Mc(r);
}, Lc = Sr, pu = Function.prototype, Hn = pu.apply, Yn = pu.call, ki = typeof Reflect == "object" && Reflect.apply || (Lc ? Yn.bind(Hn) : function() {
return Yn.apply(Hn, arguments);
}), kc = je, Bc = k, It = function(a) {
if (kc(a) === "Function")
return Bc(a);
}, Xn = It, Fc = Se, jc = Sr, Uc = Xn(Xn.bind), Bi = function(a, e) {
return Fc(a), e === void 0 ? a : jc ? Uc(a, e) : function() {
return a.apply(e, arguments);
};
}, zc = ze, yu = zc("document", "documentElement"), Gc = k, Hc = Gc([].slice), Yc = TypeError, Xc = function(a, e) {
if (a < e)
throw Yc("Not enough arguments");
return a;
}, Wc = $r, mu = /(?:ipad|iphone|ipod).*applewebkit/i.test(Wc), ae = z, qc = ki, Qc = Bi, Wn = D, Kc = le, bu = L, qn = yu, Zc = Hc, Qn = Ar, Jc = Xc, eg = mu, tg = Rt, ei = ae.setImmediate, ti = ae.clearImmediate, rg = ae.process, da = ae.Dispatch, ag = ae.Function, Kn = ae.MessageChannel, ig = ae.String, pa = 0, Tt = {}, Zn = "onreadystatechange", $t, Ne, ya, ma;
bu(function() {
$t = ae.location;
});
var Fi = function(a) {
if (Kc(Tt, a)) {
var e = Tt[a];
delete Tt[a], e();
}
}, ba = function(a) {
return function() {
Fi(a);
};
}, Jn = function(a) {
Fi(a.data);
}, es = function(a) {
ae.postMessage(ig(a), $t.protocol + "//" + $t.host);
};
(!ei || !ti) && (ei = function(e) {
Jc(arguments.length, 1);
var t = Wn(e) ? e : ag(e), r = Zc(arguments, 1);
return Tt[++pa] = function() {
qc(t, void 0, r);
}, Ne(pa), pa;
}, ti = function(e) {
delete Tt[e];
}, tg ? Ne = function(a) {
rg.nextTick(ba(a));
} : da && da.now ? Ne = function(a) {
da.now(ba(a));
} : Kn && !eg ? (ya = new Kn(), ma = ya.port2, ya.port1.onmessage = Jn, Ne = Qc(ma.postMessage, ma)) : ae.addEventListener && Wn(ae.postMessage) && !ae.importScripts && $t && $t.protocol !== "file:" && !bu(es) ? (Ne = es, ae.addEventListener("message", Jn, !1)) : Zn in Qn("script") ? Ne = function(a) {
qn.appendChild(Qn("script"))[Zn] = function() {
qn.removeChild(this), Fi(a);
};
} : Ne = function(a) {
setTimeout(ba(a), 0);
});
var xu = {
set: ei,
clear: ti
}, Tu = function() {
this.head = null, this.tail = null;
};
Tu.prototype = {
add: function(a) {
var e = { item: a, next: null }, t = this.tail;
t ? t.next = e : this.head = e, this.tail = e;
},
get: function() {
var a = this.head;
if (a) {
var e = this.head = a.next;
return e === null && (this.tail = null), a.item;
}
}
};
var Su = Tu, ng = $r, sg = /ipad|iphone|ipod/i.test(ng) && typeof Pebble < "u", og = $r, ug = /web0s(?!.*chrome)/i.test(og), ke = z, ts = Bi, lg = ut.f, xa = xu.set, hg = Su, vg = mu, fg = sg, cg = ug, Ta = Rt, rs = ke.MutationObserver || ke.WebKitMutationObserver, as = ke.document, is = ke.process, Wt = ke.Promise, ns = lg(ke, "queueMicrotask"), ri = ns && ns.value, qe, Sa, Oa, qt, ss;
if (!ri) {
var Qt = new hg(), Kt = function() {
var a, e;
for (Ta && (a = is.domain) && a.exit(); e = Qt.get(); )
try {
e();
} catch (t) {
throw Qt.head && qe(), t;
}
a && a.enter();
};
!vg && !Ta && !cg && rs && as ? (Sa = !0, Oa = as.createTextNode(""), new rs(Kt).observe(Oa, { characterData: !0 }), qe = function() {
Oa.data = Sa = !Sa;
}) : !fg && Wt && Wt.resolve ? (qt = Wt.resolve(void 0), qt.constructor = Wt, ss = ts(qt.then, qt), qe = function() {
ss(Kt);
}) : Ta ? qe = function() {
is.nextTick(Kt);
} : (xa = ts(xa, ke), qe = function() {
xa(Kt);
}), ri = function(a) {
Qt.head || qe(), Qt.add(a);
};
}
var gg = ri, dg = function(a, e) {
try {
arguments.length == 1 ? console.error(a) : console.error(a, e);
} catch {
}
}, ji = function(a) {
try {
return { error: !1, value: a() };
} catch (e) {
return { error: !0, value: e };
}
}, pg = z, Mr = pg.Promise, Ou = typeof Deno == "object" && Deno && typeof Deno.version == "object", yg = Ou, mg = Rt, bg = !yg && !mg && typeof window == "object" && typeof document == "object", xg = z, St = Mr, Tg = D, Sg = uu, Og = Ri, Eg = G, $g = bg, wg = Ou, Ea = $i;
St && St.prototype;
var Cg = Eg("species"), ai = !1, Eu = Tg(xg.PromiseRejectionEvent), Ag = Sg("Promise", function() {
var a = Og(St), e = a !== String(St);
if (!e && Ea === 66)
return !0;
if (!Ea || Ea < 51 || !/native code/.test(a)) {
var t = new St(function(n) {
n(1);
}), r = function(n) {
n(function() {
}, function() {
});
}, i = t.constructor = {};
if (i[Cg] = r, ai = t.then(function() {
}) instanceof r, !ai)
return !0;
}
return !e && ($g || wg) && !Eu;
}), Nt = {
CONSTRUCTOR: Ag,
REJECTION_EVENT: Eu,
SUBCLASSING: ai
}, vt = {}, os = Se, Pg = TypeError, Rg = function(a) {
var e, t;
this.promise = new a(function(r, i) {
if (e !== void 0 || t !== void 0)
throw Pg("Bad Promise constructor");
e = r, t = i;
}), this.resolve = os(e), this.reject = os(t);
};
vt.f = function(a) {
return new Rg(a);
};
var Ig = ee, br = Rt, we = z, st = Y, us = Ge, ls = lu, Ng = Di, Mg = sc, _g = Se, hr = D, Dg = Te, Vg = lc, Lg = du, $u = xu.set, Ui = gg, kg = dg, Bg = ji, Fg = Su, wu = Rr, xr = Mr, zi = Nt, Cu = vt, _r = "Promise", Au = zi.CONSTRUCTOR, jg = zi.REJECTION_EVENT, Ug = zi.SUBCLASSING, $a = wu.getterFor(_r), zg = wu.set, Je = xr && xr.prototype, Ve = xr, Zt = Je, Pu = we.TypeError, ii = we.document, Gi = we.process, ni = Cu.f, Gg = ni, Hg = !!(ii && ii.createEvent && we.dispatchEvent), Ru = "unhandledrejection", Yg = "rejectionhandled", hs = 0, Iu = 1, Xg = 2, Hi = 1, Nu = 2, Jt, vs, Wg, fs, Mu = function(a) {
var e;
return Dg(a) && hr(e = a.then) ? e : !1;
}, _u = function(a, e) {
var t = e.value, r = e.state == Iu, i = r ? a.ok : a.fail, n = a.resolve, o = a.reject, s = a.domain, u, l, h;
try {
i ? (r || (e.rejection === Nu && Qg(e), e.rejection = Hi), i === !0 ? u = t : (s && s.enter(), u = i(t), s && (s.exit(), h = !0)), u === a.promise ? o(Pu("Promise-chain cycle")) : (l = Mu(u)) ? st(l, u, n, o) : n(u)) : o(t);
} catch (f) {
s && !h && s.exit(), o(f);
}
}, Du = function(a, e) {
a.notified || (a.notified = !0, Ui(function() {
for (var t = a.reactions, r; r = t.get(); )
_u(r, a);
a.notified = !1, e && !a.rejection && qg(a);
}));
}, Vu = function(a, e, t) {
var r, i;
Hg ? (r = ii.createEvent("Event"), r.promise = e, r.reason = t, r.initEvent(a, !1, !0), we.dispatchEvent(r)) : r = { promise: e, reason: t }, !jg && (i = we["on" + a]) ? i(r) : a === Ru && kg("Unhandled promise rejection", t);
}, qg = function(a) {
st($u, we, function() {
var e = a.facade, t = a.value, r = cs(a), i;
if (r && (i = Bg(function() {
br ? Gi.emit("unhandledRejection", t, e) : Vu(Ru, e, t);
}), a.rejection = br || cs(a) ? Nu : Hi, i.error))
throw i.value;
});
}, cs = function(a) {
return a.rejection !== Hi && !a.parent;
}, Qg = function(a) {
st($u, we, function() {
var e = a.facade;
br ? Gi.emit("rejectionHandled", e) : Vu(Yg, e, a.value);
});
}, tt = function(a, e, t) {
return function(r) {
a(e, r, t);
};
}, at = function(a, e, t) {
a.done || (a.done = !0, t && (a = t), a.value = e, a.state = Xg, Du(a, !0));
}, si = function(a, e, t) {
if (!a.done) {
a.done = !0, t && (a = t);
try {
if (a.facade === e)
throw Pu("Promise can't be resolved itself");
var r = Mu(e);
r ? Ui(function() {
var i = { done: !1 };
try {
st(
r,
e,
tt(si, i, a),
tt(at, i, a)
);
} catch (n) {
at(i, n, a);
}
}) : (a.value = e, a.state = Iu, Du(a, !1));
} catch (i) {
at({ done: !1 }, i, a);
}
}
};
if (Au && (Ve = function(e) {
Vg(this, Zt), _g(e), st(Jt, this);
var t = $a(this);
try {
e(tt(si, t), tt(at, t));
} catch (r) {
at(t, r);
}
}, Zt = Ve.prototype, Jt = function(e) {
zg(this, {
type: _r,
done: !1,
notified: !1,
parent: !1,
reactions: new Fg(),
rejection: !1,
state: hs,
value: void 0
});
}, Jt.prototype = us(Zt, "then", function(e, t) {
var r = $a(this), i = ni(Lg(this, Ve));
return r.parent = !0, i.ok = hr(e) ? e : !0, i.fail = hr(t) && t, i.domain = br ? Gi.domain : void 0, r.state == hs ? r.reactions.add(i) : Ui(function() {
_u(i, r);
}), i.promise;
}), vs = function() {
var a = new Jt(), e = $a(a);
this.promise = a, this.resolve = tt(si, e), this.reject = tt(at, e);
}, Cu.f = ni = function(a) {
return a === Ve || a === Wg ? new vs(a) : Gg(a);
}, hr(xr) && Je !== Object.prototype)) {
fs = Je.then, Ug || us(Je, "then", function(e, t) {
var r = this;
return new Ve(function(i, n) {
st(fs, r, i, n);
}).then(e, t);
}, { unsafe: !0 });
try {
delete Je.constructor;
} catch {
}
ls && ls(Je, Zt);
}
Ig({ global: !0, constructor: !0, wrap: !0, forced: Au }, {
Promise: Ve
});
Ng(Ve, _r, !1);
Mg(_r);
var Mt = {}, Kg = G, Zg = Mt, Jg = Kg("iterator"), ed = Array.prototype, td = function(a) {
return a !== void 0 && (Zg.Array === a || ed[Jg] === a);
}, rd = Vi, gs = lt, ad = Ue, id = Mt, nd = G, sd = nd("iterator"), Lu = function(a) {
if (!ad(a))
return gs(a, sd) || gs(a, "@@iterator") || id[rd(a)];
}, od = Y, ud = Se, ld = K, hd = wr, vd = Lu, fd = TypeError, cd = function(a, e) {
var t = arguments.length < 2 ? vd(a) : e;
if (ud(t))
return ld(od(t, a));
throw fd(hd(a) + " is not iterable");
}, gd = Y, ds = K, dd = lt, pd = function(a, e, t) {
var r, i;
ds(a);
try {
if (r = dd(a, "return"), !r) {
if (e === "throw")
throw t;
return t;
}
r = gd(r, a);
} catch (n) {
i = !0, r = n;
}
if (e === "throw")
throw t;
if (i)
throw r;
return ds(r), t;
}, yd = Bi, md = Y, bd = K, xd = wr, Td = td, Sd = Nr, ps = Er, Od = cd, Ed = Lu, ys = pd, $d = TypeError, vr = function(a, e) {
this.stopped = a, this.result = e;
}, ms = vr.prototype, ku = function(a, e, t) {
var r = t && t.that, i = !!(t && t.AS_ENTRIES), n = !!(t && t.IS_RECORD), o = !!(t && t.IS_ITERATOR), s = !!(t && t.INTERRUPTED), u = yd(e, r), l, h, f, c, v, d, g, p = function(x) {
return l && ys(l, "normal", x), new vr(!0, x);
}, y = function(x) {
return i ? (bd(x), s ? u(x[0], x[1], p) : u(x[0], x[1])) : s ? u(x, p) : u(x);
};
if (n)
l = a.iterator;
else if (o)
l = a;
else {
if (h = Ed(a), !h)
throw $d(xd(a) + " is not iterable");
if (Td(h)) {
for (f = 0, c = Sd(a); c > f; f++)
if (v = y(a[f]), v && ps(ms, v))
return v;
return new vr(!1);
}
l = Od(a, h);
}
for (d = n ? a.next : l.next; !(g = md(d, l)).done; ) {
try {
v = y(g.value);
} catch (x) {
ys(l, "throw", x);
}
if (typeof v == "object" && v && ps(ms, v))
return v;
}
return new vr(!1);
}, wd = G, Bu = wd("iterator"), Fu = !1;
try {
var Cd = 0, bs = {
next: function() {
return { done: !!Cd++ };
},
return: function() {
Fu = !0;
}
};
bs[Bu] = function() {
return this;
}, Array.from(bs, function() {
throw 2;
});
} catch {
}
var Ad = function(a, e) {
if (!e && !Fu)
return !1;
var t = !1;
try {
var r = {};
r[Bu] = function() {
return {
next: function() {
return { done: t = !0 };
}
};
}, a(r);
} catch {
}
return t;
}, Pd = Mr, Rd = Ad, Id = Nt.CONSTRUCTOR, ju = Id || !Rd(function(a) {
Pd.all(a).then(void 0, function() {
});
}), Nd = ee, Md = Y, _d = Se, Dd = vt, Vd = ji, Ld = ku, kd = ju;
Nd({ target: "Promise", stat: !0, forced: kd }, {
all: function(e) {
var t = this, r = Dd.f(t), i = r.resolve, n = r.reject, o = Vd(function() {
var s = _d(t.resolve), u = [], l = 0, h = 1;
Ld(e, function(f) {
var c = l++, v = !1;
h++, Md(s, t, f).then(function(d) {
v || (v = !0, u[c] = d, --h || i(u));
}, n);
}), --h || i(u);
});
return o.error && n(o.value), r.promise;
}
});
var Bd = ee, Fd = Nt.CONSTRUCTOR, oi = Mr, jd = ze, Ud = D, zd = Ge, xs = oi && oi.prototype;
Bd({ target: "Promise", proto: !0, forced: Fd, real: !0 }, {
catch: function(a) {
return this.then(void 0, a);
}
});
if (Ud(oi)) {
var Ts = jd("Promise").prototype.catch;
xs.catch !== Ts && zd(xs, "catch", Ts, { unsafe: !0 });
}
var Gd = ee, Hd = Y, Yd = Se, Xd = vt, Wd = ji, qd = ku, Qd = ju;
Gd({ target: "Promise", stat: !0, forced: Qd }, {
race: function(e) {
var t = this, r = Xd.f(t), i = r.reject, n = Wd(function() {
var o = Yd(t.resolve);
qd(e, function(s) {
Hd(o, t, s).then(r.resolve, i);
});
});
return n.error && i(n.value), r.promise;
}
});
var Kd = ee, Zd = Y, Jd = vt, ep = Nt.CONSTRUCTOR;
Kd({ target: "Promise", stat: !0, forced: ep }, {
reject: function(e) {
var t = Jd.f(this);
return Zd(t.reject, void 0, e), t.promise;
}
});
var tp = K, rp = Te, ap = vt, ip = function(a, e) {
if (tp(a), rp(e) && e.constructor === a)
return e;
var t = ap.f(a), r = t.resolve;
return r(e), t.promise;
}, np = ee, sp = ze, op = Nt.CONSTRUCTOR, up = ip;
sp("Promise");
np({ target: "Promise", stat: !0, forced: op }, {
resolve: function(e) {
return up(this, e);
}
});
function Ss(a, e, t, r, i, n, o) {
try {
var s = a[n](o), u = s.value;
} catch (l) {
t(l);
return;
}
s.done ? e(u) : Promise.resolve(u).then(r, i);
}
function xe(a) {
return function() {
var e = this, t = arguments;
return new Promise(function(r, i) {
var n = a.apply(e, t);
function o(u) {
Ss(n, r, i, o, s, "next", u);
}
function s(u) {
Ss(n, r, i, o, s, "throw", u);
}
o(void 0);
});
};
}
var lp = Vi, hp = String, pe = function(a) {
if (lp(a) === "Symbol")
throw TypeError("Cannot convert a Symbol value to a string");
return hp(a);
}, vp = K, Uu = function() {
var a = vp(this), e = "";
return a.hasIndices && (e += "d"), a.global && (e += "g"), a.ignoreCase && (e += "i"), a.multiline && (e += "m"), a.dotAll && (e += "s"), a.unicode && (e += "u"), a.unicodeSets && (e += "v"), a.sticky && (e += "y"), e;
}, Yi = L, fp = z, Xi = fp.RegExp, Wi = Yi(function() {
var a = Xi("a", "y");
return a.lastIndex = 2, a.exec("abcd") != null;
}), cp = Wi || Yi(function() {
return !Xi("a", "y").sticky;
}), gp = Wi || Yi(function() {
var a = Xi("^r", "gy");
return a.lastIndex = 2, a.exec("str") != null;
}), zu = {
BROKEN_CARET: gp,
MISSED_STICKY: cp,
UNSUPPORTED_Y: Wi
}, Gu = {}, dp = su, pp = _i, yp = Object.keys || function(e) {
return dp(e, pp);
}, mp = ce, bp = Jo, xp = de, Tp = K, Sp = Ct, Op = yp;
Gu.f = mp && !bp ? Object.defineProperties : function(e, t) {
Tp(e);
for (var r = Sp(t), i = Op(t), n = i.length, o = 0, s; n > o; )
xp.f(e, s = i[o++], r[s]);
return e;
};
var Ep = K, $p = Gu, Os = _i, wp = Ni, Cp = yu, Ap = Ar, Pp = Ii, Es = ">", $s = "<", ui = "prototype", li = "script", Hu = Pp("IE_PROTO"), wa = function() {
}, Yu = function(a) {
return $s + li + Es + a + $s + "/" + li + Es;
}, ws = function(a) {
a.write(Yu("")), a.close();
var e = a.parentWindow.Object;
return a = null, e;
}, Rp = function() {
var a = Ap("iframe"), e = "java" + li + ":", t;
return a.style.display = "none", Cp.appendChild(a), a.src = String(e), t = a.contentWindow.document, t.open(), t.write(Yu("document.F=Object")), t.close(), t.F;
}, er, fr = function() {
try {
er = new ActiveXObject("htmlfile");
} catch {
}
fr = typeof document < "u" ? document.domain && er ? ws(er) : Rp() : ws(er);
for (var a = Os.length; a--; )
delete fr[ui][Os[a]];
return fr();
};
wp[Hu] = !0;
var qi = Object.create || function(e, t) {
var r;
return e !== null ? (wa[ui] = Ep(e), r = new wa(), wa[ui] = null, r[Hu] = e) : r = fr(), t === void 0 ? r : $p.f(r, t);
}, Ip = L, Np = z, Mp = Np.RegExp, _p = Ip(function() {
var a = Mp(".", "s");
return !(a.dotAll && a.exec(`
`) && a.flags === "s");
}), Dp = L, Vp = z, Lp = Vp.RegExp, kp = Dp(function() {
var a = Lp("(?<a>b)", "g");
return a.exec("b").groups.a !== "b" || "b".replace(a, "$<a>c") !== "bc";
}), rt = Y, Dr = k, Bp = pe, Fp = Uu, jp = zu, Up = Ot, zp = qi, Gp = Rr.get, Hp = _p, Yp = kp, Xp = Up("native-string-replace", String.prototype.replace), Tr = RegExp.prototype.exec, hi = Tr, Wp = Dr("".charAt), qp = Dr("".indexOf), Qp = Dr("".replace), Ca = Dr("".slice), vi = function() {
var a = /a/, e = /b*/g;
return rt(Tr, a, "a"), rt(Tr, e, "a"), a.lastIndex !== 0 || e.lastIndex !== 0;
}(), Xu = jp.BROKEN_CARET, fi = /()??/.exec("")[1] !== void 0, Kp = vi || fi || Xu || Hp || Yp;
Kp && (hi = function(e) {
var t = this, r = Gp(t), i = Bp(e), n = r.raw, o, s, u, l, h, f, c;
if (n)
return n.lastIndex = t.lastIndex, o = rt(hi, n, i), t.lastIndex = n.lastIndex, o;
var v = r.groups, d = Xu && t.sticky, g = rt(Fp, t), p = t.source, y = 0, x = i;
if (d && (g = Qp(g, "y", ""), qp(g, "g") === -1 && (g += "g"), x = Ca(i, t.lastIndex), t.lastIndex > 0 && (!t.multiline || t.multiline && Wp(i, t.lastIndex - 1) !== `
`) && (p = "(?: " + p + ")", x = " " + x, y++), s = new RegExp("^(?:" + p + ")", g)), fi && (s = new RegExp("^" + p + "$(?!\\s)", g)), vi && (u = t.lastIndex), l = rt(Tr, d ? s : t, x), d ? l ? (l.input = Ca(l.input, y), l[0] = Ca(l[0], y), l.index = t.lastIndex, t.lastIndex += l[0].length) : t.lastIndex = 0 : vi && l && (t.lastIndex = t.global ? l.index + l[0].length : u), fi && l && l.length > 1 && rt(Xp, l[0], s, function() {
for (h = 1; h < arguments.length - 2; h++)
arguments[h] === void 0 && (l[h] = void 0);
}), l && v)
for (l.groups = f = zp(null), h = 0; h < v.length; h++)
c = v[h], f[c[0]] = l[c[1]];
return l;
});
var Vr = hi, Zp = ee, Cs = Vr;
Zp({ target: "RegExp", proto: !0, forced: /./.exec !== Cs }, {
exec: Cs
});
var As = It, Ps = Ge, Jp = Vr, Rs = L, Wu = G, ey = At, ty = Wu("species"), Aa = RegExp.prototype, Qi = function(a, e, t, r) {
var i = Wu(a), n = !Rs(function() {
var l = {};
return l[i] = function() {
return 7;
}, ""[a](l) != 7;
}), o = n && !Rs(function() {
var l = !1, h = /a/;
return a === "split" && (h = {}, h.constructor = {}, h.constructor[ty] = function() {
return h;
}, h.flags = "", h[i] = /./[i]), h.exec = function() {
return l = !0, null;
}, h[i](""), !l;
});
if (!n || !o || t) {
var s = As(/./[i]), u = e(i, ""[a], function(l, h, f, c, v) {
var d = As(l), g = h.exec;
return g === Jp || g === Aa.exec ? n && !v ? { done: !0, value: s(h, f, c) } : { done: !0, value: d(f, h, c) } : { done: !1 };
});
Ps(String.prototype, a, u[0]), Ps(Aa, i, u[1]);
}
r && ey(Aa[i], "sham", !0);
}, Ki = k, ry = Ir, ay = pe, iy = ge, ny = Ki("".charAt), Is = Ki("".charCodeAt), sy = Ki("".slice), Ns = function(a) {
return function(e, t) {
var r = ay(iy(e)), i = ry(t), n = r.length, o, s;
return i < 0 || i >= n ? a ? "" : void 0 : (o = Is(r, i), o < 55296 || o > 56319 || i + 1 === n || (s = Is(r, i + 1)) < 56320 || s > 57343 ? a ? ny(r, i) : o : a ? sy(r, i, i + 2) : (o - 55296 << 10) + (s - 56320) + 65536);
};
}, oy = {
// `String.prototype.codePointAt` method
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
codeAt: Ns(!1),
// `String.prototype.at` method
// https://github.com/mathiasbynens/String.prototype.at
charAt: Ns(!0)
}, uy = oy.charAt, Zi = function(a, e, t) {
return e + (t ? uy(a, e).length : 1);
}, Ms = Y, ly = K, hy = D, vy = je, fy = Vr, cy = TypeError, Ji = function(a, e) {
var t = a.exec;
if (hy(t)) {
var r = Ms(t, a, e);
return r !== null && ly(r), r;
}
if (vy(a) === "RegExp")
return Ms(fy, a, e);
throw cy("RegExp#exec called on incompatible receiver");
}, gy = Y, dy = Qi, py = K, yy = Ue, my = ht, Pa = pe, by = ge, xy = lt, Ty = Zi, _s = Ji;
dy("match", function(a, e, t) {
return [
// `String.prototype.match` method
// https://tc39.es/ecma262/#sec-string.prototype.match
function(i) {
var n = by(this), o = yy(i) ? void 0 : xy(i, a);
return o ? gy(o, i, n) : new RegExp(i)[a](Pa(n));
},
// `RegExp.prototype[@@match]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@match
function(r) {
var i = py(this), n = Pa(r), o = t(e, i, n);
if (o.done)
return o.value;
if (!i.global)
return _s(i, n);
var s = i.unicode;
i.lastIndex = 0;
for (var u = [], l = 0, h; (h = _s(i, n)) !== null; ) {
var f = Pa(h[0]);
u[l] = f, f === "" && (i.lastIndex = Ty(n, my(i.lastIndex), s)), l++;
}
return l === 0 ? null : u;
}
];
});
var en = k, Sy = Cr, Oy = Math.floor, Ra = en("".charAt), Ey = en("".replace), Ia = en("".slice), $y = /\$([$&'`]|\d{1,2}|<[^>]*>)/g, wy = /\$([$&'`]|\d{1,2})/g, Cy = function(a, e, t, r, i, n) {
var o = t + a.length, s = r.length, u = wy;
return i !== void 0 && (i = Sy(i), u = $y), Ey(n, u, function(l, h) {
var f;
switch (Ra(h, 0)) {
case "$":
return "$";
case "&":
return a;
case "`":
return Ia(e, 0, t);
case "'":
return Ia(e, o);
case "<":
f = i[Ia(h, 1, -1)];
break;
default:
var c = +h;
if (c === 0)
return l;
if (c > s) {
var v = Oy(c / 10);
return v === 0 ? l : v <= s ? r[v - 1] === void 0 ? Ra(h, 1) : r[v - 1] + Ra(h, 1) : l;
}
f = r[c - 1];
}
return f === void 0 ? "" : f;
});
}, Ay = ki, Ds = Y, Lr = k, Py = Qi, Ry = L, Iy = K, Ny = D, My = Ue, _y = Ir, Dy = ht, Qe = pe, Vy = ge, Ly = Zi, ky = lt, By = Cy, Fy = Ji, jy = G, ci = jy("replace"), Uy = Math.max, zy = Math.min, Gy = Lr([].concat), Na = Lr([].push), Vs = Lr("".indexOf), Ls = Lr("".slice), Hy = function(a) {
return a === void 0 ? a : String(a);
}, Yy = function() {
return "a".replace(/./, "$0") === "$0";
}(), ks = function() {
return /./[ci] ? /./[ci]("a", "$0") === "" : !1;
}(), Xy = !Ry(function() {
var a = /./;
return a.exec = function() {
var e = [];
return e.groups = { a: "7" }, e;
}, "".replace(a, "$<a>") !== "7";
});
Py("replace", function(a, e, t) {
var r = ks ? "$" : "$0";
return [
// `String.prototype.replace` method
// https://tc39.es/ecma262/#sec-string.prototype.replace
function(n, o) {
var s = Vy(this), u = My(n) ? void 0 : ky(n, ci);
return u ? Ds(u, n, s, o) : Ds(e, Qe(s), n, o);
},
// `RegExp.prototype[@@replace]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
function(i, n) {
var o = Iy(this), s = Qe(i);
if (typeof n == "string" && Vs(n, r) === -1 && Vs(n, "$<") === -1) {
var u = t(e, o, s, n);
if (u.done)
return u.value;
}
var l = Ny(n);
l || (n = Qe(n));
var h = o.global;
if (h) {
var f = o.unicode;
o.lastIndex = 0;
}
for (var c = []; ; ) {
var v = Fy(o, s);
if (v === null || (Na(c, v), !h))
break;
var d = Qe(v[0]);
d === "" && (o.lastIndex = Ly(s, Dy(o.lastIndex), f));
}
for (var g = "", p = 0, y = 0; y < c.length; y++) {
v = c[y];
for (var x = Qe(v[0]), b = Uy(zy(_y(v.index), s.length), 0), T = [], $ = 1; $ < v.length; $++)
Na(T, Hy(v[$]));
var E = v.groups;
if (l) {
var S = Gy([x], T, b, s);
E !== void 0 && Na(S, E);
var C = Qe(Ay(n, void 0, S));
} else
C = By(x, s, b, T, E, n);
b >= p && (g += Ls(s, p, b) + C, p = b + x.length);
}
return g + Ls(s, p);
}
];
}, !Xy || !Yy || ks);
var Wy = Te, qy = je, Qy = G, Ky = Qy("match"), qu = function(a) {
var e;
return Wy(a) && ((e = a[Ky]) !== void 0 ? !!e : qy(a) == "RegExp");
}, Zy = qu, Jy = TypeError, tn = function(a) {
if (Zy(a))
throw Jy("The method doesn't accept regular expressions");
return a;
}, em = G, tm = em("match"), rn = function(a) {
var e = /./;
try {
"/./"[a](e);
} catch {
try {
return e[tm] = !1, "/./"[a](e);
} catch {
}
}
return !1;
}, rm = ee, Qu = It, am = ut.f, im = ht, Bs = pe, nm = tn, sm = ge, om = rn, Fs = Qu("".startsWith), um = Qu("".slice), lm = Math.min, Ku = om("startsWith"), hm = !Ku && !!function() {
var a = am(String.prototype, "startsWith");
return a && !a.writable;
}();
rm({ target: "String", proto: !0, forced: !hm && !Ku }, {
startsWith: function(e) {
var t = Bs(sm(this));
nm(e);
var r = im(lm(arguments.length > 1 ? arguments[1] : void 0, t.length)), i = Bs(e);
return Fs ? Fs(t, i, r) : um(t, r, r + i.length) === i;
}
});
var vm = G, fm = qi, cm = de.f, gi = vm("unscopables"), di = Array.prototype;
di[gi] == null && cm(di, gi, {
configurable: !0,
value: fm(null)
});
var gm = function(a) {
di[gi][a] = !0;
}, dm = L, pm = !dm(function() {
function a() {
}
return a.prototype.constructor = null, Object.getPrototypeOf(new a()) !== a.prototype;
}), ym = le, mm = D, bm = Cr, xm = Ii, Tm = pm, js = xm("IE_PROTO"), pi = Object, Sm = pi.prototype, Zu = Tm ? pi.getPrototypeOf : function(a) {
var e = bm(a);
if (ym(e, js))
return e[js];
var t = e.constructor;
return mm(t) && e instanceof t ? t.prototype : e instanceof pi ? Sm : null;
}, Om = L, Em = D, $m = Te, Us = Zu, wm = Ge, Cm = G, yi = Cm("iterator"), Ju = !1, Be, Ma, _a;
[].keys && (_a = [].keys(), "next" in _a ? (Ma = Us(Us(_a)), Ma !== Object.prototype && (Be = Ma)) : Ju = !0);
var Am = !$m(Be) || Om(function() {
var a = {};
return Be[yi].call(a) !== a;
});
Am && (Be = {});
Em(Be[yi]) || wm(Be, yi, function() {
return this;
});
var el = {
IteratorPrototype: Be,
BUGGY_SAFARI_ITERATORS: Ju
}, Pm = el.IteratorPrototype, Rm = qi, Im = Or, Nm = Di, Mm = Mt, _m = function() {
return this;
}, Dm = function(a, e, t, r) {
var i = e + " Iterator";
return a.prototype = Rm(Pm, { next: Im(+!r, t) }), Nm(a, i, !1), Mm[i] = _m, a;
}, Vm = ee, Lm = Y, tl = Pr, km = D, Bm = Dm, zs = Zu, Gs = lu, Fm = Di, jm = At, Da = Ge, Um = G, zm = Mt, rl = el, Gm = tl.PROPER, Hm = tl.CONFIGURABLE, Hs = rl.IteratorPrototype, tr = rl.BUGGY_SAFARI_ITERATORS, gt = Um("iterator"), Ys = "keys", dt = "values", Xs = "entries", Ym = function() {
return this;
}, Xm = function(a, e, t, r, i, n, o) {
Bm(t, e, r);
var s = function(y) {
if (y === i && c)
return c;
if (!tr && y in h)
return h[y];
switch (y) {
case Ys:
return function() {
return new t(this, y);
};
case dt:
return function() {
return new t(this, y);
};
case Xs:
return function() {
return new t(this, y);
};
}
return function() {
return new t(this);
};
}, u = e + " Iterator", l = !1, h = a.prototype, f = h[gt] || h["@@iterator"] || i && h[i], c = !tr && f || s(i), v = e == "Array" && h.entries || f, d, g, p;
if (v && (d = zs(v.call(new a())), d !== Object.prototype && d.next && (zs(d) !== Hs && (Gs ? Gs(d, Hs) : km(d[gt]) || Da(d, gt, Ym)), Fm(d, u, !0))), Gm && i == dt && f && f.name !== dt && (Hm ? jm(h, "name", dt) : (l = !0, c = function() {
return Lm(f, this);
})), i)
if (g = {
values: s(dt),
keys: n ? c : s(Ys),
entries: s(Xs)
}, o)
for (p in g)
(tr || l || !(p in h)) && Da(h, p, g[p]);
else
Vm({ target: e, proto: !0, forced: tr || l }, g);
return h[gt] !== c && Da(h, gt, c, { name: i }), zm[e] = c, g;
}, Wm = function(a, e) {
return { value: a, done: e };
}, qm = Ct, an = gm, Ws = Mt, al = Rr, Qm = de.f, Km = Xm, rr = Wm, Zm = ce, il = "Array Iterator", Jm = al.set, e0 = al.getterFor(il), t0 = Km(Array, "Array", function(a, e) {
Jm(this, {
type: il,
target: qm(a),
// target
index: 0,
// next index
kind: e
// kind
});
}, function() {
var a = e0(this), e = a.target, t = a.kind, r = a.index++;
return !e || r >= e.length ? (a.target = void 0, rr(void 0, !0)) : t == "keys" ? rr(r, !1) : t == "values" ? rr(e[r], !1) : rr([r, e[r]], !1);
}, "values"), qs = Ws.Arguments = Ws.Array;
an("keys");
an("values");
an("entries");
if (Zm && qs.name !== "values")
try {
Qm(qs, "name", { value: "values" });
} catch {
}
var r0 = {
CSSRuleList: 0,
CSSStyleDeclaration: 0,
CSSValueList: 0,
ClientRectList: 0,
DOMRectList: 0,
DOMStringList: 0,
DOMTokenList: 1,
DataTransferItemList: 0,
FileList: 0,
HTMLAllCollection: 0,
HTMLCollection: 0,
HTMLFormElement: 0,
HTMLSelectElement: 0,
MediaList: 0,
MimeTypeArray: 0,
NamedNodeMap: 0,
NodeList: 1,
PaintRequestList: 0,
Plugin: 0,
PluginArray: 0,
SVGLengthList: 0,
SVGNumberList: 0,
SVGPathSegList: 0,
SVGPointList: 0,
SVGStringList: 0,
SVGTransformList: 0,
SourceBufferList: 0,
StyleSheetList: 0,
TextTrackCueList: 0,
TextTrackList: 0,
TouchList: 0
}, a0 = Ar, Va = a0("span").classList, Qs = Va && Va.constructor && Va.constructor.prototype, i0 = Qs === Object.prototype ? void 0 : Qs, Ks = z, nl = r0, n0 = i0, bt = t0, La = At, sl = G, ka = sl("iterator"), Zs = sl("toStringTag"), Ba = bt.values, ol = function(a, e) {
if (a) {
if (a[ka] !== Ba)
try {
La(a, ka, Ba);
} catch {
a[ka] = Ba;
}
if (a[Zs] || La(a, Zs, e), nl[e]) {
for (var t in bt)
if (a[t] !== bt[t])
try {
La(a, t, bt[t]);
} catch {
a[t] = bt[t];
}
}
}
};
for (var Fa in nl)
ol(Ks[Fa] && Ks[Fa].prototype, Fa);
ol(n0, "DOMTokenList");
function s0(a, e) {
if (Ya(a) !== "object" || a === null)
return a;
var t = a[Symbol.toPrimitive];
if (t !== void 0) {
var r = t.call(a, e || "default");
if (Ya(r) !== "object")
return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (e === "string" ? String : Number)(a);
}
function o0(a) {
var e = s0(a, "string");
return Ya(e) === "symbol" ? e : String(e);
}
function nn(a, e, t) {
return e = o0(e), e in a ? Object.defineProperty(a, e, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : a[e] = t, a;
}
var u0 = Se, l0 = Cr, h0 = zo, v0 = Nr, f0 = TypeError, Js = function(a) {
return function(e, t, r, i) {
u0(t);
var n = l0(e), o = h0(n), s = v0(n), u = a ? s - 1 : 0, l = a ? -1 : 1;
if (r < 2)
for (; ; ) {
if (u in o) {
i = o[u], u += l;
break;
}
if (u += l, a ? u < 0 : s <= u)
throw f0("Reduce of empty array with no initial value");
}
for (; a ? u >= 0 : s > u; u += l)
u in o && (i = t(i, o[u], u, n));
return i;
};
}, c0 = {
// `Array.prototype.reduce` method
// https://tc39.es/ecma262/#sec-array.prototype.reduce
left: Js(!1),
// `Array.prototype.reduceRight` method
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
right: Js(!0)
}, g0 = L, ul = function(a, e) {
var t = [][a];
return !!t && g0(function() {
t.call(null, e || function() {
return 1;
}, 1);
});
}, d0 = ee, p0 = c0.left, y0 = ul, eo = $i, m0 = Rt, b0 = !m0 && eo > 79 && eo < 83, x0 = b0 || !y0("reduce");
d0({ target: "Array", proto: !0, forced: x0 }, {
reduce: function(e) {
var t = arguments.length;
return p0(this, e, t, t > 1 ? arguments[1] : void 0);
}
});
var T0 = ee, ll = It, S0 = ut.f, O0 = ht, to = pe, E0 = tn, $0 = ge, w0 = rn, ro = ll("".endsWith), C0 = ll("".slice), A0 = Math.min, hl = w0("endsWith"), P0 = !hl && !!function() {
var a = S0(String.prototype, "endsWith");
return a && !a.writable;
}();
T0({ target: "String", proto: !0, forced: !P0 && !hl }, {
endsWith: function(e) {
var t = to($0(this));
E0(e);
var r = arguments.length > 1 ? arguments[1] : void 0, i = t.length, n = r === void 0 ? i : A0(O0(r), i), o = to(e);
return ro ? ro(t, o, n) : C0(t, n - o.length, n) === o;
}
});
var R0 = Ai, I0 = de, N0 = Or, M0 = function(a, e, t) {
var r = R0(e);
r in a ? I0.f(a, r, N0(0, t)) : a[r] = t;
}, ao = iu, _0 = Nr, D0 = M0, V0 = Array, L0 = Math.max, k0 = function(a, e, t) {
for (var r = _0(a), i = ao(e, r), n = ao(t === void 0 ? r : t, r), o = V0(L0(n - i, 0)), s = 0; i < n; i++, s++)
D0(o, s, a[i]);
return o.length = s, o;
}, B0 = ki, pt = Y, sn = k, F0 = Qi, j0 = K, U0 = Ue, z0 = qu, io = ge, G0 = du, H0 = Zi, Y0 = ht, ja = pe, X0 = lt, no = k0, so = Ji, W0 = Vr, q0 = zu, Q0 = L, Ke = q0.UNSUPPORTED_Y, oo = 4294967295, K0 = Math.min, vl = [].push, Z0 = sn(/./.exec), Ze = sn(vl), yt = sn("".slice), J0 = !Q0(function() {
var a = /(?:)/, e = a.exec;
a.exec = function() {
return e.apply(this, arguments);
};
var t = "ab".split(a);
return t.length !== 2 || t[0] !== "a" || t[1] !== "b";
});
F0("split", function(a, e, t) {
var r;
return "abbc".split(/(b)*/)[1] == "c" || // eslint-disable-next-line regexp/no-empty-group -- required for testing
"test".split(/(?:)/, -1).length != 4 || "ab".split(/(?:ab)*/).length != 2 || ".".split(/(.?)(.?)/).length != 4 || // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
".".split(/()()/).length > 1 || "".split(/.?/).length ? r = function(i, n) {
var o = ja(io(this)), s = n === void 0 ? oo : n >>> 0;
if (s === 0)
return [];
if (i === void 0)
return [o];
if (!z0(i))
return pt(e, o, i, s);
for (var u = [], l = (i.ignoreCase ? "i" : "") + (i.multiline ? "m" : "") + (i.unicode ? "u" : "") + (i.sticky ? "y" : ""), h = 0, f = new RegExp(i.source, l + "g"), c, v, d; (c = pt(W0, f, o)) && (v = f.lastIndex, !(v > h && (Ze(u, yt(o, h, c.index)), c.length > 1 && c.index < o.length && B0(vl, u, no(c, 1)), d = c[0].length, h = v, u.length >= s))); )
f.lastIndex === c.index && f.lastIndex++;
return h === o.length ? (d || !Z0(f, "")) && Ze(u, "") : Ze(u, yt(o, h)), u.length > s ? no(u, 0, s) : u;
} : "0".split(void 0, 0).length ? r = function(i, n) {
return i === void 0 && n === 0 ? [] : pt(e, this, i, n);
} : r = e, [
// `String.prototype.split` method
// https://tc39.es/ecma262/#sec-string.prototype.split
function(n, o) {
var s = io(this), u = U0(n) ? void 0 : X0(n, a);
return u ? pt(u, n, s, o) : pt(r, ja(s), n, o);
},
// `RegExp.prototype[@@split]` method
// https://tc39.es/ecma262/#sec-regexp.prototype-@@split
//
// NOTE: This cannot be properly polyfilled in engines that don't support
// the 'y' flag.
function(i, n) {
var o = j0(this), s = ja(i), u = t(r, o, s, n, r !== e);
if (u.done)
return u.value;
var l = G0(o, RegExp), h = o.unicode, f = (o.ignoreCase ? "i" : "") + (o.multiline ? "m" : "") + (o.unicode ? "u" : "") + (Ke ? "g" : "y"), c = new l(Ke ? "^(?:" + o.source + ")" : o, f), v = n === void 0 ? oo : n >>> 0;
if (v === 0)
return [];
if (s.length === 0)
return so(c, s) === null ? [s] : [];
for (var d = 0, g = 0, p = []; g < s.length; ) {
c.lastIndex = Ke ? 0 : g;
var y = so(c, Ke ? yt(s, g) : s), x;
if (y === null || (x = K0(Y0(c.lastIndex + (Ke ? g : 0)), s.length)) === d)
g = H0(s, g, h);
else {
if (Ze(p, yt(s, d, g)), p.length === v)
return p;
for (var b = 1; b <= y.length - 1; b++)
if (Ze(p, y[b]), p.length === v)
return p;
g = d = x;
}
}
return Ze(p, yt(s, d)), p;
}
];
}, !J0, Ke);
var Le = {}, eb = {
get exports() {
return Le;
},
set exports(a) {
Le = a;
}
}, mi = {}, ar = {
get exports() {
return mi;
},
set exports(a) {
mi = a;
}
};
(function() {
var a, e, t, r, i, n;
typeof performance < "u" && performance !== null && performance.now ? ar.exports = function() {
return performance.now();
} : typeof process < "u" && process !== null && process.hrtime ? (ar.exports = function() {
return (a() - i) / 1e6;
}, e = process.hrtime, a = function() {
var o;
return o = e(), o[0] * 1e9 + o[1];
}, r = a(), n = process.uptime() * 1e9, i = r - n) : Date.now ? (ar.exports = function() {
return Date.now() - t;
}, t = Date.now()) : (ar.exports = function() {
return (/* @__PURE__ */ new Date()).getTime() - t;
}, t = (/* @__PURE__ */ new Date()).getTime());
}).call(gr);
var tb = mi, be = typeof window > "u" ? gr : window, ir = ["moz", "webkit"], it = "AnimationFrame", ot = be["request" + it], wt = be["cancel" + it] || be["cancelRequest" + it];
for (var mt = 0; !ot && mt < ir.length; mt++)
ot = be[ir[mt] + "Request" + it], wt = be[ir[mt] + "Cancel" + it] || be[ir[mt] + "CancelRequest" + it];
if (!ot || !wt) {
var Ua = 0, uo = 0, Me = [], rb = 1e3 / 60;
ot = function(a) {
if (Me.length === 0) {
var e = tb(), t = Math.max(0, rb - (e - Ua));
Ua = t + e, setTimeout(function() {
var r = Me.slice(0);
Me.length = 0;
for (var i = 0; i < r.length; i++)
if (!r[i].cancelled)
try {
r[i].callback(Ua);
} catch (n) {
setTimeout(function() {
throw n;
}, 0);
}
}, Math.round(t));
}
return Me.push({
handle: ++uo,
callback: a,
cancelled: !1
}), uo;
}, wt = function(a) {
for (var e = 0; e < Me.length; e++)
Me[e].handle === a && (Me[e].cancelled = !0);
};
}
eb.exports = function(a) {
return ot.call(be, a);
};
Le.cancel = function() {
wt.apply(be, arguments);
};
Le.polyfill = function(a) {
a || (a = be), a.requestAnimationFrame = ot, a.cancelAnimationFrame = wt;
};
var fl = `
\v\f\r    \u2028\u2029\uFEFF`, ab = k, ib = ge, nb = pe, bi = fl, lo = ab("".replace), sb = RegExp("^[" + bi + "]+"), ob = RegExp("(^|[^" + bi + "])[" + bi + "]+$"), za = function(a) {
return function(e) {
var t = nb(ib(e));
return a & 1 && (t = lo(t, sb, "")), a & 2 && (t = lo(t, ob, "$1")), t;
};
}, ub = {
// `String.prototype.{ trimLeft, trimStart }` methods
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
start: za(1),
// `String.prototype.{ trimRight, trimEnd }` methods
// https://tc39.es/ecma262/#sec-string.prototype.trimend
end: za(2),
// `String.prototype.trim` method
// https://tc39.es/ecma262/#sec-string.prototype.trim
trim: za(3)
}, lb = Pr.PROPER, hb = L, ho = fl, vo = "…", vb = function(a) {
return hb(function() {
return !!ho[a]() || vo[a]() !== vo || lb && ho[a].name !== a;
});
}, fb = ee, cb = ub.trim, gb = vb;
fb({ target: "String", proto: !0, forced: gb("trim") }, {
trim: function() {
return cb(this);
}
});
var xi = function(a) {
this.ok = !1, this.alpha = 1, a.charAt(0) == "#" && (a = a.substr(1, 6)), a = a.replace(/ /g, ""), a = a.toLowerCase();
var e = {
aliceblue: "f0f8ff",
antiquewhite: "faebd7",
aqua: "00ffff",
aquamarine: "7fffd4",
azure: "f0ffff",
beige: "f5f5dc",
bisque: "ffe4c4",
black: "000000",
blanchedalmond: "ffebcd",
blue: "0000ff",
blueviolet: "8a2be2",
brown: "a52a2a",
burlywood: "deb887",
cadetblue: "5f9ea0",
chartreuse: "7fff00",
chocolate: "d2691e",
coral: "ff7f50",
cornflowerblue: "6495ed",
cornsilk: "fff8dc",
crimson: "dc143c",
cyan: "00ffff",
darkblue: "00008b",
darkcyan: "008b8b",
darkgoldenrod: "b8860b",
darkgray: "a9a9a9",
darkgreen: "006400",
darkkhaki: "bdb76b",
darkmagenta: "8b008b",
darkolivegreen: "556b2f",
darkorange: "ff8c00",
darkorchid: "9932cc",
darkred: "8b0000",
darksalmon: "e9967a",
darkseagreen: "8fbc8f",
darkslateblue: "483d8b",
darkslategray: "2f4f4f",
darkturquoise: "00ced1",
darkviolet: "9400d3",
deeppink: "ff1493",
deepskyblue: "00bfff",
dimgray: "696969",
dodgerblue: "1e90ff",
feldspar: "d19275",
firebrick: "b22222",
floralwhite: "fffaf0",
forestgreen: "228b22",
fuchsia: "ff00ff",
gainsboro: "dcdcdc",
ghostwhite: "f8f8ff",
gold: "ffd700",
goldenrod: "daa520",
gray: "808080",
green: "008000",
greenyellow: "adff2f",
honeydew: "f0fff0",
hotpink: "ff69b4",
indianred: "cd5c5c",
indigo: "4b0082",
ivory: "fffff0",
khaki: "f0e68c",
lavender: "e6e6fa",
lavenderblush: "fff0f5",
lawngreen: "7cfc00",
lemonchiffon: "fffacd",
lightblue: "add8e6",
lightcoral: "f08080",
lightcyan: "e0ffff",
lightgoldenrodyellow: "fafad2",
lightgrey: "d3d3d3",
lightgreen: "90ee90",
lightpink: "ffb6c1",
lightsalmon: "ffa07a",
lightseagreen: "20b2aa",
lightskyblue: "87cefa",
lightslateblue: "8470ff",
lightslategray: "778899",
lightsteelblue: "b0c4de",
lightyellow: "ffffe0",
lime: "00ff00",
limegreen: "32cd32",
linen: "faf0e6",
magenta: "ff00ff",
maroon: "800000",
mediumaquamarine: "66cdaa",
mediumblue: "0000cd",
mediumorchid: "ba55d3",
mediumpurple: "9370d8",
mediumseagreen: "3cb371",
mediumslateblue: "7b68ee",
mediumspringgreen: "00fa9a",
mediumturquoise: "48d1cc",
mediumvioletred: "c71585",
midnightblue: "191970",
mintcream: "f5fffa",
mistyrose: "ffe4e1",
moccasin: "ffe4b5",
navajowhite: "ffdead",
navy: "000080",
oldlace: "fdf5e6",
olive: "808000",
olivedrab: "6b8e23",
orange: "ffa500",
orangered: "ff4500",
orchid: "da70d6",
palegoldenrod: "eee8aa",
palegreen: "98fb98",
paleturquoise: "afeeee",
palevioletred: "d87093",
papayawhip: "ffefd5",
peachpuff: "ffdab9",
peru: "cd853f",
pink: "ffc0cb",
plum: "dda0dd",
powderblue: "b0e0e6",
purple: "800080",
rebeccapurple: "663399",
red: "ff0000",
rosybrown: "bc8f8f",
royalblue: "4169e1",
saddlebrown: "8b4513",
salmon: "fa8072",
sandybrown: "f4a460",
seagreen: "2e8b57",
seashell: "fff5ee",
sienna: "a0522d",
silver: "c0c0c0",
skyblue: "87ceeb",
slateblue: "6a5acd",
slategray: "708090",
snow: "fffafa",
springgreen: "00ff7f",
steelblue: "4682b4",
tan: "d2b48c",
teal: "008080",
thistle: "d8bfd8",
tomato: "ff6347",
turquoise: "40e0d0",
violet: "ee82ee",
violetred: "d02090",
wheat: "f5deb3",
white: "ffffff",
whitesmoke: "f5f5f5",
yellow: "ffff00",
yellowgreen: "9acd32"
};
a = e[a] || a;
for (var t = [
{
re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/,
example: ["rgba(123, 234, 45, 0.8)", "rgba(255,234,245,1.0)"],
process: function(u) {
return [
parseInt(u[1]),
parseInt(u[2]),
parseInt(u[3]),
parseFloat(u[4])
];
}
},
{
re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
example: ["rgb(123, 234, 45)", "rgb(255,234,245)"],
process: function(u) {
return [
parseInt(u[1]),
parseInt(u[2]),
parseInt(u[3])
];
}
},
{
re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
example: ["#00ff00", "336699"],
process: function(u) {
return [
parseInt(u[1], 16),
parseInt(u[2], 16),
parseInt(u[3], 16)
];
}
},
{
re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
example: ["#fb0", "f0f"],
process: function(u) {
return [
parseInt(u[1] + u[1], 16),
parseInt(u[2] + u[2], 16),
parseInt(u[3] + u[3], 16)
];
}
}
], r = 0; r < t.length; r++) {
var i = t[r].re, n = t[r].process, o = i.exec(a);
if (o) {
var s = n(o);
this.r = s[0], this.g = s[1], this.b = s[2], s.length > 3 && (this.alpha = s[3]), this.ok = !0;
}
}
this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.alpha = this.alpha < 0 ? 0 : this.alpha > 1 || isNaN(this.alpha) ? 1 : this.alpha, this.toRGB = function() {
return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")";
}, this.toRGBA = function() {
return "rgba(" + this.r + ", " + this.g + ", " + this.b + ", " + this.alpha + ")";
}, this.toHex = function() {
var u = this.r.toString(16), l = this.g.toString(16), h = this.b.toString(16);
return u.length == 1 && (u = "0" + u), l.length == 1 && (l = "0" + l), h.length == 1 && (h = "0" + h), "#" + u + l + h;
}, this.getHelpXML = function() {
for (var u = new Array(), l = 0; l < t.length; l++)
for (var h = t[l].example, f = 0; f < h.length; f++)
u[u.length] = h[f];
for (var c in e)
u[u.length] = c;
var v = document.createElement("ul");
v.setAttribute("id", "rgbcolor-examples");
for (var l = 0; l < u.length; l++)
try {
var d = document.createElement("li"), g = new RGBColor(u[l]), p = document.createElement("div");
p.style.cssText = "margin: 3px; border: 1px solid black; background:" + g.toHex() + "; color:" + g.toHex(), p.appendChild(document.createTextNode("test"));
var y = document.createTextNode(
" " + u[l] + " -> " + g.toRGB() + " -> " + g.toHex()
);
d.appendChild(p), d.appendChild(y), v.appendChild(d);
} catch {
}
return v;
};
}, db = ee, pb = It, yb = nu.indexOf, mb = ul, Ti = pb([].indexOf), cl = !!Ti && 1 / Ti([1], 1, -0) < 0, bb = cl || !mb("indexOf");
db({ target: "Array", proto: !0, forced: bb }, {
indexOf: function(e) {
var t = arguments.length > 1 ? arguments[1] : void 0;
return cl ? Ti(this, e, t) || 0 : yb(this, e, t);
}
});
var xb = ee, Tb = k, Sb = tn, Ob = ge, fo = pe, Eb = rn, $b = Tb("".indexOf);
xb({ target: "String", proto: !0, forced: !Eb("includes") }, {
includes: function(e) {
return !!~$b(
fo(Ob(this)),
fo(Sb(e)),
arguments.length > 1 ? arguments[1] : void 0
);
}
});
var wb = je, Cb = Array.isArray || function(e) {
return wb(e) == "Array";
}, Ab = ee, Pb = k, Rb = Cb, Ib = Pb([].reverse), co = [1, 2];
Ab({ target: "Array", proto: !0, forced: String(co) === String(co.reverse()) }, {
reverse: function() {
return Rb(this) && (this.length = this.length), Ib(this);
}
});
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var gl = function(a, e) {
return (gl = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, r) {
t.__proto__ = r;
} || function(t, r) {
for (var i in r)
Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]);
})(a, e);
};
function dl(a, e) {
if (typeof e != "function" && e !== null)
throw new TypeError("Class extends value " + String(e) + " is not a constructor or null");
function t() {
this.constructor = a;
}
gl(a, e), a.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t());
}
function Nb(a) {
var e = "";
Array.isArray(a) || (a = [a]);
for (var t = 0; t < a.length; t++) {
var r = a[t];
if (r.type === m.CLOSE_PATH)
e += "z";
else if (r.type === m.HORIZ_LINE_TO)
e += (r.relative ? "h" : "H") + r.x;
else if (r.type === m.VERT_LINE_TO)
e += (r.relative ? "v" : "V") + r.y;
else if (r.type === m.MOVE_TO)
e += (r.relative ? "m" : "M") + r.x + " " + r.y;
else if (r.type === m.LINE_TO)
e += (r.relative ? "l" : "L") + r.x + " " + r.y;
else if (r.type === m.CURVE_TO)
e += (r.relative ? "c" : "C") + r.x1 + " " + r.y1 + " " + r.x2 + " " + r.y2 + " " + r.x + " " + r.y;
else if (r.type === m.SMOOTH_CURVE_TO)
e += (r.relative ? "s" : "S") + r.x2 + " " + r.y2 + " " + r.x + " " + r.y;
else if (r.type === m.QUAD_TO)
e += (r.relative ? "q" : "Q") + r.x1 + " " + r.y1 + " " + r.x + " " + r.y;
else if (r.type === m.SMOOTH_QUAD_TO)
e += (r.relative ? "t" : "T") + r.x + " " + r.y;
else {
if (r.type !== m.ARC)
throw new Error('Unexpected command type "' + r.type + '" at index ' + t + ".");
e += (r.relative ? "a" : "A") + r.rX + " " + r.rY + " " + r.xRot + " " + +r.lArcFlag + " " + +r.sweepFlag + " " + r.x + " " + r.y;
}
}
return e;
}
function Si(a, e) {
var t = a[0], r = a[1];
return [t * Math.cos(e) - r * Math.sin(e), t * Math.sin(e) + r * Math.cos(e)];
}
function oe() {
for (var a = [], e = 0; e < arguments.length; e++)
a[e] = arguments[e];
for (var t = 0; t < a.length; t++)
if (typeof a[t] != "number")
throw new Error("assertNumbers arguments[" + t + "] is not a number. " + typeof a[t] + " == typeof " + a[t]);
return !0;
}
var Ee = Math.PI;
function Ga(a, e, t) {
a.lArcFlag = a.lArcFlag === 0 ? 0 : 1, a.sweepFlag = a.sweepFlag === 0 ? 0 : 1;
var r = a.rX, i = a.rY, n = a.x, o = a.y;
r = Math.abs(a.rX), i = Math.abs(a.rY);
var s = Si([(e - n) / 2, (t - o) / 2], -a.xRot / 180 * Ee), u = s[0], l = s[1], h = Math.pow(u, 2) / Math.pow(r, 2) + Math.pow(l, 2) / Math.pow(i, 2);
1 < h && (r *= Math.sqrt(h), i *= Math.sqrt(h)), a.rX = r, a.rY = i;
var f = Math.pow(r, 2) * Math.pow(l, 2) + Math.pow(i, 2) * Math.pow(u, 2), c = (a.lArcFlag !== a.sweepFlag ? 1 : -1) * Math.sqrt(Math.max(0, (Math.pow(r, 2) * Math.pow(i, 2) - f) / f)), v = r * l / i * c, d = -i * u / r * c, g = Si([v, d], a.xRot / 180 * Ee);
a.cX = g[0] + (e + n) / 2, a.cY = g[1] + (t + o) / 2, a.phi1 = Math.atan2((l - d) / i, (u - v) / r), a.phi2 = Math.atan2((-l - d) / i, (-u - v) / r), a.sweepFlag === 0 && a.phi2 > a.phi1 && (a.phi2 -= 2 * Ee), a.sweepFlag === 1 && a.phi2 < a.phi1 && (a.phi2 += 2 * Ee), a.phi1 *= 180 / Ee, a.phi2 *= 180 / Ee;
}
function go(a, e, t) {
oe(a, e, t);
var r = a * a + e * e - t * t;
if (0 > r)
return [];
if (r === 0)
return [[a * t / (a * a + e * e), e * t / (a * a + e * e)]];
var i = Math.sqrt(r);
return [[(a * t + e * i) / (a * a + e * e), (e * t - a * i) / (a * a + e * e)], [(a * t - e * i) / (a * a + e * e), (e * t + a * i) / (a * a + e * e)]];
}
var j, ye = Math.PI / 180;
function po(a, e, t) {
return (1 - t) * a + t * e;
}
function yo(a, e, t, r) {
return a + Math.cos(r / 180 * Ee) * e + Math.sin(r / 180 * Ee) * t;
}
function mo(a, e, t, r) {
var i = 1e-6, n = e - a, o = t - e, s = 3 * n + 3 * (r - t) - 6 * o, u = 6 * (o - n), l = 3 * n;
return Math.abs(s) < i ? [-l / u] : function(h, f, c) {
c === void 0 && (c = 1e-6);
var v = h * h / 4 - f;
if (v < -c)
return [];
if (v <= c)
return [-h / 2];
var d = Math.sqrt(v);
return [-h / 2 - d, -h / 2 + d];
}(u / s, l / s, i);
}
function bo(a, e, t, r, i) {
var n = 1 - i;
return a * (n * n * n) + e * (3 * n * n * i) + t * (3 * n * i * i) + r * (i * i * i);
}
(function(a) {
function e() {
return i(function(s, u, l) {
return s.relative && (s.x1 !== void 0 && (s.x1 += u), s.y1 !== void 0 && (s.y1 += l), s.x2 !== void 0 && (s.x2 += u), s.y2 !== void 0 && (s.y2 += l), s.x !== void 0 && (s.x += u), s.y !== void 0 && (s.y += l), s.relative = !1), s;
});
}
function t() {
var s = NaN, u = NaN, l = NaN, h = NaN;
return i(function(f, c, v) {
return f.type & m.SMOOTH_CURVE_TO && (f.type = m.CURVE_TO, s = isNaN(s) ? c : s, u = isNaN(u) ? v : u, f.x1 = f.relative ? c - s : 2 * c - s, f.y1 = f.relative ? v - u : 2 * v - u), f.type & m.CURVE_TO ? (s = f.relative ? c + f.x2 : f.x2, u = f.relative ? v + f.y2 : f.y2) : (s = NaN, u = NaN), f.type & m.SMOOTH_QUAD_TO && (f.type = m.QUAD_TO, l = isNaN(l) ? c : l, h = isNaN(h) ? v : h, f.x1 = f.relative ? c - l : 2 * c - l, f.y1 = f.relative ? v - h : 2 * v - h), f.type & m.QUAD_TO ? (l = f.relative ? c + f.x1 : f.x1, h = f.relative ? v + f.y1 : f.y1) : (l = NaN, h = NaN), f;
});
}
function r() {
var s = NaN, u = NaN;
return i(function(l, h, f) {
if (l.type & m.SMOOTH_QUAD_TO && (l.type = m.QUAD_TO, s = isNaN(s) ? h : s, u = isNaN(u) ? f : u, l.x1 = l.relative ? h - s : 2 * h - s, l.y1 = l.relative ? f - u : 2 * f - u), l.type & m.QUAD_TO) {
s = l.relative ? h + l.x1 : l.x1, u = l.relative ? f + l.y1 : l.y1;
var c = l.x1, v = l.y1;
l.type = m.CURVE_TO, l.x1 = ((l.relative ? 0 : h) + 2 * c) / 3, l.y1 = ((l.relative ? 0 : f) + 2 * v) / 3, l.x2 = (l.x + 2 * c) / 3, l.y2 = (l.y + 2 * v) / 3;
} else
s = NaN, u = NaN;
return l;
});
}
function i(s) {
var u = 0, l = 0, h = NaN, f = NaN;
return function(c) {
if (isNaN(h) && !(c.type & m.MOVE_TO))
throw new Error("path must start with moveto");
var v = s(c, u, l, h, f);
return c.type & m.CLOSE_PATH && (u = h, l = f), c.x !== void 0 && (u = c.relative ? u + c.x : c.x), c.y !== void 0 && (l = c.relative ? l + c.y : c.y), c.type & m.MOVE_TO && (h = u, f = l), v;
};
}
function n(s, u, l, h, f, c) {
return oe(s, u, l, h, f, c), i(function(v, d, g, p) {
var y = v.x1, x = v.x2, b = v.relative && !isNaN(p), T = v.x !== void 0 ? v.x : b ? 0 : d, $ = v.y !== void 0 ? v.y : b ? 0 : g;
function E(ne) {
return ne * ne;
}
v.type & m.HORIZ_LINE_TO && u !== 0 && (v.type = m.LINE_TO, v.y = v.relative ? 0 : g), v.type & m.VERT_LINE_TO && l !== 0 && (v.type = m.LINE_TO, v.x = v.relative ? 0 : d), v.x !== void 0 && (v.x = v.x * s + $ * l + (b ? 0 : f)), v.y !== void 0 && (v.y = T * u + v.y * h + (b ? 0 : c)), v.x1 !== void 0 && (v.x1 = v.x1 * s + v.y1 * l + (b ? 0 : f)), v.y1 !== void 0 && (v.y1 = y * u + v.y1 * h + (b ? 0 : c)), v.x2 !== void 0 && (v.x2 = v.x2 * s + v.y2 * l + (b ? 0 : f)), v.y2 !== void 0 && (v.y2 = x * u + v.y2 * h + (b ? 0 : c));
var S = s * h - u * l;
if (v.xRot !== void 0 && (s !== 1 || u !== 0 || l !== 0 || h !== 1))
if (S === 0)
delete v.rX, delete v.rY, delete v.xRot, delete v.lArcFlag, delete v.sweepFlag, v.type = m.LINE_TO;
else {
var C = v.xRot * Math.PI / 180, N = Math.sin(C), _ = Math.cos(C), B = 1 / E(v.rX), P = 1 / E(v.rY), X = E(_) * B + E(N) * P, W = 2 * N * _ * (B - P), U = E(N) * B + E(_) * P, q = X * h * h - W * u * h + U * u * u, H = W * (s * h + u * l) - 2 * (X * l * h + U * s * u), Q = X * l * l - W * s * l + U * s * s, R = (Math.atan2(H, q - Q) + Math.PI) % Math.PI / 2, M = Math.sin(R), Z = Math.cos(R);
v.rX = Math.abs(S) / Math.sqrt(q * E(Z) + H * M * Z + Q * E(M)), v.rY = Math.abs(S) / Math.sqrt(q * E(M) - H * M * Z + Q * E(Z)), v.xRot = 180 * R / Math.PI;
}
return v.sweepFlag !== void 0 && 0 > S && (v.sweepFlag = +!v.sweepFlag), v;
});
}
function o() {
return function(s) {
var u = {};
for (var l in s)
u[l] = s[l];
return u;
};
}
a.ROUND = function(s) {
function u(l) {
return Math.round(l * s) / s;
}
return s === void 0 && (s = 1e13), oe(s), function(l) {
return l.x1 !== void 0 && (l.x1 = u(l.x1)), l.y1 !== void 0 && (l.y1 = u(l.y1)), l.x2 !== void 0 && (l.x2 = u(l.x2)), l.y2 !== void 0 && (l.y2 = u(l.y2)), l.x !== void 0 && (l.x = u(l.x)), l.y !== void 0 && (l.y = u(l.y)), l.rX !== void 0 && (l.rX = u(l.rX)), l.rY !== void 0 && (l.rY = u(l.rY)), l;
};
}, a.TO_ABS = e, a.TO_REL = function() {
return i(function(s, u, l) {
return s.relative || (s.x1 !== void 0 && (s.x1 -= u), s.y1 !== void 0 && (s.y1 -= l), s.x2 !== void 0 && (s.x2 -= u), s.y2 !== void 0 && (s.y2 -= l), s.x !== void 0 && (s.x -= u), s.y !== void 0 && (s.y -= l), s.relative = !0), s;
});
}, a.NORMALIZE_HVZ = function(s, u, l) {
return s === void 0 && (s = !0), u === void 0 && (u = !0), l === void 0 && (l = !0), i(function(h, f, c, v, d) {
if (isNaN(v) && !(h.type & m.MOVE_TO))
throw new Error("path must start with moveto");
return u && h.type & m.HORIZ_LINE_TO && (h.type = m.LINE_TO, h.y = h.relative ? 0 : c), l && h.type & m.VERT_LINE_TO && (h.type = m.LINE_TO, h.x = h.relative ? 0 : f), s && h.type & m.CLOSE_PATH && (h.type = m.LINE_TO, h.x = h.relative ? v - f : v, h.y = h.relative ? d - c : d), h.type & m.ARC && (h.rX === 0 || h.rY === 0) && (h.type = m.LINE_TO, delete h.rX, delete h.rY, delete h.xRot, delete h.lArcFlag, delete h.sweepFlag), h;
});
}, a.NORMALIZE_ST = t, a.QT_TO_C = r, a.INFO = i, a.SANITIZE = function(s) {
s === void 0 && (s = 0), oe(s);
var u = NaN, l = NaN, h = NaN, f = NaN;
return i(function(c, v, d, g, p) {
var y = Math.abs, x = !1, b = 0, T = 0;
if (c.type & m.SMOOTH_CURVE_TO && (b = isNaN(u) ? 0 : v - u, T = isNaN(l) ? 0 : d - l), c.type & (m.CURVE_TO | m.SMOOTH_CURVE_TO) ? (u = c.relative ? v + c.x2 : c.x2, l = c.relative ? d + c.y2 : c.y2) : (u = NaN, l = NaN), c.type & m.SMOOTH_QUAD_TO ? (h = isNaN(h) ? v : 2 * v - h, f = isNaN(f) ? d : 2 * d - f) : c.type & m.QUAD_TO ? (h = c.relative ? v + c.x1 : c.x1, f = c.relative ? d + c.y1 : c.y2) : (h = NaN, f = NaN), c.type & m.LINE_COMMANDS || c.type & m.ARC && (c.rX === 0 || c.rY === 0 || !c.lArcFlag) || c.type & m.CURVE_TO || c.type & m.SMOOTH_CURVE_TO || c.type & m.QUAD_TO || c.type & m.SMOOTH_QUAD_TO) {
var $ = c.x === void 0 ? 0 : c.relative ? c.x : c.x - v, E = c.y === void 0 ? 0 : c.relative ? c.y : c.y - d;
b = isNaN(h) ? c.x1 === void 0 ? b : c.relative ? c.x : c.x1 - v : h - v, T = isNaN(f) ? c.y1 === void 0 ? T : c.relative ? c.y : c.y1 - d : f - d;
var S = c.x2 === void 0 ? 0 : c.relative ? c.x : c.x2 - v, C = c.y2 === void 0 ? 0 : c.relative ? c.y : c.y2 - d;
y($) <= s && y(E) <= s && y(b) <= s && y(T) <= s && y(S) <= s && y(C) <= s && (x = !0);
}
return c.type & m.CLOSE_PATH && y(v - g) <= s && y(d - p) <= s && (x = !0), x ? [] : c;
});
}, a.MATRIX = n, a.ROTATE = function(s, u, l) {
u === void 0 && (u = 0), l === void 0 && (l = 0), oe(s, u, l);
var h = Math.sin(s), f = Math.cos(s);
return n(f, h, -h, f, u - u * f + l * h, l - u * h - l * f);
}, a.TRANSLATE = function(s, u) {
return u === void 0 && (u = 0), oe(s, u), n(1, 0, 0, 1, s, u);
}, a.SCALE = function(s, u) {
return u === void 0 && (u = s), oe(s, u), n(s, 0, 0, u, 0, 0);
}, a.SKEW_X = function(s) {
return oe(s), n(1, 0, Math.atan(s), 1, 0, 0);
}, a.SKEW_Y = function(s) {
return oe(s), n(1, Math.atan(s), 0, 1, 0, 0);
}, a.X_AXIS_SYMMETRY = function(s) {
return s === void 0 && (s = 0), oe(s), n(-1, 0, 0, 1, s, 0);
}, a.Y_AXIS_SYMMETRY = function(s) {
return s === void 0 && (s = 0), oe(s), n(1, 0, 0, -1, 0, s);
}, a.A_TO_C = function() {
return i(function(s, u, l) {
return m.ARC === s.type ? function(h, f, c) {
var v, d, g, p;
h.cX || Ga(h, f, c);
for (var y = Math.min(h.phi1, h.phi2), x = Math.max(h.phi1, h.phi2) - y, b = Math.ceil(x / 90), T = new Array(b), $ = f, E = c, S = 0; S < b; S++) {
var C = po(h.phi1, h.phi2, S / b), N = po(h.phi1, h.phi2, (S + 1) / b), _ = N - C, B = 4 / 3 * Math.tan(_ * ye / 4), P = [Math.cos(C * ye) - B * Math.sin(C * ye), Math.sin(C * ye) + B * Math.cos(C * ye)], X = P[0], W = P[1], U = [Math.cos(N * ye), Math.sin(N * ye)], q = U[0], H = U[1], Q = [q + B * Math.sin(N * ye), H - B * Math.cos(N * ye)], R = Q[0], M = Q[1];
T[S] = { relative: h.relative, type: m.CURVE_TO };
var Z = function(ne, ve) {
var Oe = Si([ne * h.rX, ve * h.rY], h.xRot), Ye = Oe[0], Dt = Oe[1];
return [h.cX + Ye, h.cY + Dt];
};
v = Z(X, W), T[S].x1 = v[0], T[S].y1 = v[1], d = Z(R, M), T[S].x2 = d[0], T[S].y2 = d[1], g = Z(q, H), T[S].x = g[0], T[S].y = g[1], h.relative && (T[S].x1 -= $, T[S].y1 -= E, T[S].x2 -= $, T[S].y2 -= E, T[S].x -= $, T[S].y -= E), $ = (p = [T[S].x, T[S].y])[0], E = p[1];
}
return T;
}(s, s.relative ? 0 : u, s.relative ? 0 : l) : s;
});
}, a.ANNOTATE_ARCS = function() {
return i(function(s, u, l) {
return s.relative && (u = 0, l = 0), m.ARC === s.type && Ga(s, u, l), s;
});
}, a.CLONE = o, a.CALCULATE_BOUNDS = function() {
var s = function(c) {
var v = {};
for (var d in c)
v[d] = c[d];
return v;
}, u = e(), l = r(), h = t(), f = i(function(c, v, d) {
var g = h(l(u(s(c))));
function p(M) {
M > f.maxX && (f.maxX = M), M < f.minX && (f.minX = M);
}
function y(M) {
M > f.maxY && (f.maxY = M), M < f.minY && (f.minY = M);
}
if (g.type & m.DRAWING_COMMANDS && (p(v), y(d)), g.type & m.HORIZ_LINE_TO && p(g.x), g.type & m.VERT_LINE_TO && y(g.y), g.type & m.LINE_TO && (p(g.x), y(g.y)), g.type & m.CURVE_TO) {
p(g.x), y(g.y);
for (var x = 0, b = mo(v, g.x1, g.x2, g.x); x < b.length; x++)
0 < (R = b[x]) && 1 > R && p(bo(v, g.x1, g.x2, g.x, R));
for (var T = 0, $ = mo(d, g.y1, g.y2, g.y); T < $.length; T++)
0 < (R = $[T]) && 1 > R && y(bo(d, g.y1, g.y2, g.y, R));
}
if (g.type & m.ARC) {
p(g.x), y(g.y), Ga(g, v, d);
for (var E = g.xRot / 180 * Math.PI, S = Math.cos(E) * g.rX, C = Math.sin(E) * g.rX, N = -Math.sin(E) * g.rY, _ = Math.cos(E) * g.rY, B = g.phi1 < g.phi2 ? [g.phi1, g.phi2] : -180 > g.phi2 ? [g.phi2 + 360, g.phi1 + 360] : [g.phi2, g.phi1], P = B[0], X = B[1], W = function(M) {
var Z = M[0], ne = M[1], ve = 180 * Math.atan2(ne, Z) / Math.PI;
return ve < P ? ve + 360 : ve;
}, U = 0, q = go(N, -S, 0).map(W); U < q.length; U++)
(R = q[U]) > P && R < X && p(yo(g.cX, S, N, R));
for (var H = 0, Q = go(_, -C, 0).map(W); H < Q.length; H++) {
var R;
(R = Q[H]) > P && R < X && y(yo(g.cY, C, _, R));
}
}
return c;
});
return f.minX = 1 / 0, f.maxX = -1 / 0, f.minY = 1 / 0, f.maxY = -1 / 0, f;
};
})(j || (j = {}));
var se, pl = function() {
function a() {
}
return a.prototype.round = function(e) {
return this.transform(j.ROUND(e));
}, a.prototype.toAbs = function() {
return this.transform(j.TO_ABS());
}, a.prototype.toRel = function() {
return this.transform(j.TO_REL());
}, a.prototype.normalizeHVZ = function(e, t, r) {
return this.transform(j.NORMALIZE_HVZ(e, t, r));
}, a.prototype.normalizeST = function() {
return this.transform(j.NORMALIZE_ST());
}, a.prototype.qtToC = function() {
return this.transform(j.QT_TO_C());
}, a.prototype.aToC = function() {
return this.transform(j.A_TO_C());
}, a.prototype.sanitize = function(e) {
return this.transform(j.SANITIZE(e));
}, a.prototype.translate = function(e, t) {
return this.transform(j.TRANSLATE(e, t));
}, a.prototype.scale = function(e, t) {
return this.transform(j.SCALE(e, t));
}, a.prototype.rotate = function(e, t, r) {
return this.transform(j.ROTATE(e, t, r));
}, a.prototype.matrix = function(e, t, r, i, n, o) {
return this.transform(j.MATRIX(e, t, r, i, n, o));
}, a.prototype.skewX = function(e) {
return this.transform(j.SKEW_X(e));
}, a.prototype.skewY = function(e) {
return this.transform(j.SKEW_Y(e));
}, a.prototype.xSymmetry = function(e) {
return this.transform(j.X_AXIS_SYMMETRY(e));
}, a.prototype.ySymmetry = function(e) {
return this.transform(j.Y_AXIS_SYMMETRY(e));
}, a.prototype.annotateArcs = function() {
return this.transform(j.ANNOTATE_ARCS());
}, a;
}(), Mb = function(a) {
return a === " " || a === " " || a === "\r" || a === `
`;
}, xo = function(a) {
return "0".charCodeAt(0) <= a.charCodeAt(0) && a.charCodeAt(0) <= "9".charCodeAt(0);
}, _b = function(a) {
function e() {
var t = a.call(this) || this;
return t.curNumber = "", t.curCommandType = -1, t.curCommandRelative = !1, t.canParseCommandOrComma = !0, t.curNumberHasExp = !1, t.curNumberHasExpDigits = !1, t.curNumberHasDecimal = !1, t.curArgs = [], t;
}
return dl(e, a), e.prototype.finish = function(t) {
if (t === void 0 && (t = []), this.parse(" ", t), this.curArgs.length !== 0 || !this.canParseCommandOrComma)
throw new SyntaxError("Unterminated command at the path end.");
return t;
}, e.prototype.parse = function(t, r) {
var i = this;
r === void 0 && (r = []);
for (var n = function(f) {
r.push(f), i.curArgs.length = 0, i.canParseCommandOrComma = !0;
}, o = 0; o < t.length; o++) {
var s = t[o], u = !(this.curCommandType !== m.ARC || this.curArgs.length !== 3 && this.curArgs.length !== 4 || this.curNumber.length !== 1 || this.curNumber !== "0" && this.curNumber !== "1"), l = xo(s) && (this.curNumber === "0" && s === "0" || u);
if (!xo(s) || l)
if (s !== "e" && s !== "E")
if (s !== "-" && s !== "+" || !this.curNumberHasExp || this.curNumberHasExpDigits)
if (s !== "." || this.curNumberHasExp || this.curNumberHasDecimal || u) {
if (this.curNumber && this.curCommandType !== -1) {
var h = Number(this.curNumber);
if (isNaN(h))
throw new SyntaxError("Invalid number ending at " + o);
if (this.curCommandType === m.ARC) {
if (this.curArgs.length === 0 || this.curArgs.length === 1) {
if (0 > h)
throw new SyntaxError('Expected positive number, got "' + h + '" at index "' + o + '"');
} else if ((this.curArgs.length === 3 || this.curArgs.length === 4) && this.curNumber !== "0" && this.curNumber !== "1")
throw new SyntaxError('Expected a flag, got "' + this.curNumber + '" at index "' + o + '"');
}
this.curArgs.push(h), this.curArgs.length === Db[this.curCommandType] && (m.HORIZ_LINE_TO === this.curCommandType ? n({ type: m.HORIZ_LINE_TO, relative: this.curCommandRelative, x: h }) : m.VERT_LINE_TO === this.curCommandType ? n({ type: m.VERT_LINE_TO, relative: this.curCommandRelative, y: h }) : this.curCommandType === m.MOVE_TO || this.curCommandType === m.LINE_TO || this.curCommandType === m.SMOOTH_QUAD_TO ? (n({ type: this.curCommandType, relative: this.curCommandRelative, x: this.curArgs[0], y: this.curArgs[1] }), m.MOVE_TO === this.curCommandType && (this.curCommandType = m.LINE_TO)) : this.curCommandType === m.CURVE_TO ? n({ type: m.CURVE_TO, relative: this.curCommandRelative, x1: this.curArgs[0], y1: this.curArgs[1], x2: this.curArgs[2], y2: this.curArgs[3], x: this.curArgs[4], y: this.curArgs[5] }) : this.curCommandType === m.SMOOTH_CURVE_TO ? n({ type: m.SMOOTH_CURVE_TO, relative: this.curCommandRelative, x2: this.curArgs[0], y2: this.curArgs[1], x: this.curArgs[2], y: this.curArgs[3] }) : this.curCommandType === m.QUAD_TO ? n({ type: m.QUAD_TO, relative: this.curCommandRelative, x1: this.curArgs[0], y1: this.curArgs[1], x: this.curArgs[2], y: this.curArgs[3] }) : this.curCommandType === m.ARC && n({ type: m.ARC, relative: this.curCommandRelative, rX: this.curArgs[0], rY: this.curArgs[1], xRot: this.curArgs[2], lArcFlag: this.curArgs[3], sweepFlag: this.curArgs[4], x: this.curArgs[5], y: this.curArgs[6] })), this.curNumber = "", this.curNumberHasExpDigits = !1, this.curNumberHasExp = !1, this.curNumberHasDecimal = !1, this.canParseCommandOrComma = !0;
}
if (!Mb(s))
if (s === "," && this.canParseCommandOrComma)
this.canParseCommandOrComma = !1;
else if (s !== "+" && s !== "-" && s !== ".")
if (l)
this.curNumber = s, this.curNumberHasDecimal = !1;
else {
if (this.curArgs.length !== 0)
throw new SyntaxError("Unterminated command at index " + o + ".");
if (!this.canParseCommandOrComma)
throw new SyntaxError('Unexpected character "' + s + '" at index ' + o + ". Command cannot follow comma");
if (this.canParseCommandOrComma = !1, s !== "z" && s !== "Z")
if (s === "h" || s === "H")
this.curCommandType = m.HORIZ_LINE_TO, this.curCommandRelative = s === "h";
else if (s === "v" || s === "V")
this.curCommandType = m.VERT_LINE_TO, this.curCommandRelative = s === "v";
else if (s === "m" || s === "M")
this.curCommandType = m.MOVE_TO, this.curCommandRelative = s === "m";
else if (s === "l" || s === "L")
this.curCommandType = m.LINE_TO, this.curCommandRelative = s === "l";
else if (s === "c" || s === "C")
this.curCommandType = m.CURVE_TO, this.curCommandRelative = s === "c";
else if (s === "s" || s === "S")
this.curCommandType = m.SMOOTH_CURVE_TO, this.curCommandRelative = s === "s";
else if (s === "q" || s === "Q")
this.curCommandType = m.QUAD_TO, this.curCommandRelative = s === "q";
else if (s === "t" || s === "T")
this.curCommandType = m.SMOOTH_QUAD_TO, this.curCommandRelative = s === "t";
else {
if (s !== "a" && s !== "A")
throw new SyntaxError('Unexpected character "' + s + '" at index ' + o + ".");
this.curCommandType = m.ARC, this.curCommandRelative = s === "a";
}
else
r.push({ type: m.CLOSE_PATH }), this.canParseCommandOrComma = !0, this.curCommandType = -1;
}
else
this.curNumber = s, this.curNumberHasDecimal = s === ".";
} else
this.curNumber += s, this.curNumberHasDecimal = !0;
else
this.curNumber += s;
else
this.curNumber += s, this.curNumberHasExp = !0;
else
this.curNumber += s, this.curNumberHasExpDigits = this.curNumberHasExp;
}
return r;
}, e.prototype.transform = function(t) {
return Object.create(this, { parse: { value: function(r, i) {
i === void 0 && (i = []);
for (var n = 0, o = Object.getPrototypeOf(this).parse.call(this, r); n < o.length; n++) {
var s = o[n], u = t(s);
Array.isArray(u) ? i.push.apply(i, u) : i.push(u);
}
return i;
} } });
}, e;
}(pl), m = function(a) {
function e(t) {
var r = a.call(this) || this;
return r.commands = typeof t == "string" ? e.parse(t) : t, r;
}
return dl(e, a), e.prototype.encode = function() {
return e.encode(this.commands);
}, e.prototype.getBounds = function() {
var t = j.CALCULATE_BOUNDS();
return this.transform(t), t;
}, e.prototype.transform = function(t) {
for (var r = [], i = 0, n = this.commands; i < n.length; i++) {
var o = t(n[i]);
Array.isArray(o) ? r.push.apply(r, o) : r.push(o);
}
return this.commands = r, this;
}, e.encode = function(t) {
return Nb(t);
}, e.parse = function(t) {
var r = new _b(), i = [];
return r.parse(t, i), r.finish(i), i;
}, e.CLOSE_PATH = 1, e.MOVE_TO = 2, e.HORIZ_LINE_TO = 4, e.VERT_LINE_TO = 8, e.LINE_TO = 16, e.CURVE_TO = 32, e.SMOOTH_CURVE_TO = 64, e.QUAD_TO = 128, e.SMOOTH_QUAD_TO = 256, e.ARC = 512, e.LINE_COMMANDS = e.LINE_TO | e.HORIZ_LINE_TO | e.VERT_LINE_TO, e.DRAWING_COMMANDS = e.HORIZ_LINE_TO | e.VERT_LINE_TO | e.LINE_TO | e.CURVE_TO | e.SMOOTH_CURVE_TO | e.QUAD_TO | e.SMOOTH_QUAD_TO | e.ARC, e;
}(pl), Db = ((se = {})[m.MOVE_TO] = 2, se[m.LINE_TO] = 2, se[m.HORIZ_LINE_TO] = 1, se[m.VERT_LINE_TO] = 1, se[m.CLOSE_PATH] = 0, se[m.QUAD_TO] = 4, se[m.SMOOTH_QUAD_TO] = 2, se[m.CURVE_TO] = 6, se[m.SMOOTH_CURVE_TO] = 4, se[m.ARC] = 7, se), Vb = Y, Lb = le, kb = Er, Bb = Uu, To = RegExp.prototype, Fb = function(a) {
var e = a.flags;
return e === void 0 && !("flags" in To) && !Lb(a, "flags") && kb(To, a) ? Vb(Bb, a) : e;
}, jb = Pr.PROPER, Ub = Ge, zb = K, So = pe, Gb = L, Hb = Fb, on = "toString", Yb = RegExp.prototype, yl = Yb[on], Xb = Gb(function() {
return yl.call({ source: "a", flags: "b" }) != "/a/b";
}), Wb = jb && yl.name != on;
(Xb || Wb) && Ub(RegExp.prototype, on, function() {
var e = zb(this), t = So(e.source), r = So(Hb(e));
return "/" + t + "/" + r;
}, { unsafe: !0 });
function cr(a) {
return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? cr = function(e) {
return typeof e;
} : cr = function(e) {
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
}, cr(a);
}
function qb(a, e) {
if (!(a instanceof e))
throw new TypeError("Cannot call a class as a function");
}
var Qb = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259], Kb = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
function Zb(a, e, t, r, i) {
if (typeof a == "string" && (a = document.getElementById(a)), !a || cr(a) !== "object" || !("getContext" in a))
throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!");
var n = a.getContext("2d");
try {
return n.getImageData(e, t, r, i);
} catch (o) {
throw new Error("unable to access image data: " + o);
}
}
function Jb(a, e, t, r, i, n) {
if (!(isNaN(n) || n < 1)) {
n |= 0;
var o = Zb(a, e, t, r, i);
o = e1(o, e, t, r, i, n), a.getContext("2d").putImageData(o, e, t);
}
}
function e1(a, e, t, r, i, n) {
for (var o = a.data, s = 2 * n + 1, u = r - 1, l = i - 1, h = n + 1, f = h * (h + 1) / 2, c = new Oo(), v = c, d, g = 1; g < s; g++)
v = v.next = new Oo(), g === h && (d = v);
v.next = c;
for (var p = null, y = null, x = 0, b = 0, T = Qb[n], $ = Kb[n], E = 0; E < i; E++) {
v = c;
for (var S = o[b], C = o[b + 1], N = o[b + 2], _ = o[b + 3], B = 0; B < h; B++)
v.r = S, v.g = C, v.b = N, v.a = _, v = v.next;
for (var P = 0, X = 0, W = 0, U = 0, q = h * S, H = h * C, Q = h * N, R = h * _, M = f * S, Z = f * C, ne = f * N, ve = f * _, Oe = 1; Oe < h; Oe++) {
var Ye = b + ((u < Oe ? u : Oe) << 2), Dt = o[Ye], hn = o[Ye + 1], vn = o[Ye + 2], fn = o[Ye + 3], Vt = h - Oe;
M += (v.r = Dt) * Vt, Z += (v.g = hn) * Vt, ne += (v.b = vn) * Vt, ve += (v.a = fn) * Vt, P += Dt, X += hn, W += vn, U += fn, v = v.next;
}
p = c, y = d;
for (var Ur = 0; Ur < r; Ur++) {
var zr = ve * T >> $;
if (o[b + 3] = zr, zr !== 0) {
var Gr = 255 / zr;
o[b] = (M * T >> $) * Gr, o[b + 1] = (Z * T >> $) * Gr, o[b + 2] = (ne * T >> $) * Gr;
} else
o[b] = o[b + 1] = o[b + 2] = 0;
M -= q, Z -= H, ne -= Q, ve -= R, q -= p.r, H -= p.g, Q -= p.b, R -= p.a;
var Ae = Ur + n + 1;
Ae = x + (Ae < u ? Ae : u) << 2, P += p.r = o[Ae], X += p.g = o[Ae + 1], W += p.b = o[Ae + 2], U += p.a = o[Ae + 3], M += P, Z += X, ne += W, ve += U, p = p.next;
var Lt = y, cn = Lt.r, gn = Lt.g, dn = Lt.b, pn = Lt.a;
q += cn, H += gn, Q += dn, R += pn, P -= cn, X -= gn, W -= dn, U -= pn, y = y.next, b += 4;
}
x += r;
}
for (var Xe = 0; Xe < r; Xe++) {
b = Xe << 2;
var Pe = o[b], Re = o[b + 1], Ie = o[b + 2], te = o[b + 3], Hr = h * Pe, Yr = h * Re, Xr = h * Ie, Wr = h * te, kt = f * Pe, Bt = f * Re, Ft = f * Ie, jt = f * te;
v = c;
for (var yn = 0; yn < h; yn++)
v.r = Pe, v.g = Re, v.b = Ie, v.a = te, v = v.next;
for (var mn = r, qr = 0, Qr = 0, Kr = 0, Zr = 0, Ut = 1; Ut <= n; Ut++) {
b = mn + Xe << 2;
var zt = h - Ut;
kt += (v.r = Pe = o[b]) * zt, Bt += (v.g = Re = o[b + 1]) * zt, Ft += (v.b = Ie = o[b + 2]) * zt, jt += (v.a = te = o[b + 3]) * zt, Zr += Pe, qr += Re, Qr += Ie, Kr += te, v = v.next, Ut < l && (mn += r);
}
b = Xe, p = c, y = d;
for (var Jr = 0; Jr < i; Jr++) {
var re = b << 2;
o[re + 3] = te = jt * T >> $, te > 0 ? (te = 255 / te, o[re] = (kt * T >> $) * te, o[re + 1] = (Bt * T >> $) * te, o[re + 2] = (Ft * T >> $) * te) : o[re] = o[re + 1] = o[re + 2] = 0, kt -= Hr, Bt -= Yr, Ft -= Xr, jt -= Wr, Hr -= p.r, Yr -= p.g, Xr -= p.b, Wr -= p.a, re = Xe + ((re = Jr + h) < l ? re : l) * r << 2, kt += Zr += p.r = o[re], Bt += qr += p.g = o[re + 1], Ft += Qr += p.b = o[re + 2], jt += Kr += p.a = o[re + 3], p = p.next, Hr += Pe = y.r, Yr += Re = y.g, Xr += Ie = y.b, Wr += te = y.a, Zr -= Pe, qr -= Re, Qr -= Ie, Kr -= te, y = y.next, b += r;
}
}
return a;
}
var Oo = (
/**
* Set properties.
*/
function a() {
qb(this, a), this.r = 0, this.g = 0, this.b = 0, this.a = 0, this.next = null;
}
);
function t1() {
var {
DOMParser: a
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, e = {
window: null,
ignoreAnimation: !0,
ignoreMouse: !0,
DOMParser: a,
createCanvas(t, r) {
return new OffscreenCanvas(t, r);
},
createImage(t) {
return xe(function* () {
var r = yield fetch(t), i = yield r.blob(), n = yield createImageBitmap(i);
return n;
})();
}
};
return (typeof DOMParser < "u" || typeof a > "u") && Reflect.deleteProperty(e, "DOMParser"), e;
}
function r1(a) {
var {
DOMParser: e,
canvas: t,
fetch: r
} = a;
return {
window: null,
ignoreAnimation: !0,
ignoreMouse: !0,
DOMParser: e,
fetch: r,
createCanvas: t.createCanvas,
createImage: t.loadImage
};
}
var p2 = /* @__PURE__ */ Object.freeze({
__proto__: null,
offscreen: t1,
node: r1
});
function ft(a) {
return a.replace(/(?!\u3000)\s+/gm, " ");
}
function a1(a) {
return a.replace(/^[\n \t]+/, "");
}
function i1(a) {
return a.replace(/[\n \t]+$/, "");
}
function ie(a) {
var e = (a || "").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm) || [];
return e.map(parseFloat);
}
var n1 = /^[A-Z-]+$/;
function s1(a) {
return n1.test(a) ? a.toLowerCase() : a;
}
function ml(a) {
var e = /url\(('([^']+)'|"([^"]+)"|([^'")]+))\)/.exec(a) || [];
return e[2] || e[3] || e[4];
}
function o1(a) {
if (!a.startsWith("rgb"))
return a;
var e = 3, t = a.replace(/\d+(\.\d+)?/g, (r, i) => e-- && i ? String(Math.round(parseFloat(r))) : r);
return t;
}
var u1 = /(\[[^\]]+\])/g, l1 = /(#[^\s+>~.[:]+)/g, h1 = /(\.[^\s+>~.[:]+)/g, v1 = /(::[^\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi, f1 = /(:[\w-]+\([^)]*\))/gi, c1 = /(:[^\s+>~.[:]+)/g, g1 = /([^\s+>~.[:]+)/g;
function _e(a, e) {
var t = e.exec(a);
return t ? [a.replace(e, " "), t.length] : [a, 0];
}
function d1(a) {
var e = [0, 0, 0], t = a.replace(/:not\(([^)]*)\)/g, " $1 ").replace(/{[\s\S]*/gm, " "), r = 0;
return [t, r] = _e(t, u1), e[1] += r, [t, r] = _e(t, l1), e[0] += r, [t, r] = _e(t, h1), e[1] += r, [t, r] = _e(t, v1), e[2] += r, [t, r] = _e(t, f1), e[1] += r, [t, r] = _e(t, c1), e[1] += r, t = t.replace(/[*\s+>~]/g, " ").replace(/[#.]/g, " "), [t, r] = _e(t, g1), e[2] += r, e.join("");
}
var nt = 1e-8;
function Eo(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2));
}
function Oi(a, e) {
return (a[0] * e[0] + a[1] * e[1]) / (Eo(a) * Eo(e));
}
function $o(a, e) {
return (a[0] * e[1] < a[1] * e[0] ? -1 : 1) * Math.acos(Oi(a, e));
}
function wo(a) {
return a * a * a;
}
function Co(a) {
return 3 * a * a * (1 - a);
}
function Ao(a) {
return 3 * a * (1 - a) * (1 - a);
}
function Po(a) {
return (1 - a) * (1 - a) * (1 - a);
}
function Ro(a) {
return a * a;
}
function Io(a) {
return 2 * a * (1 - a);
}
function No(a) {
return (1 - a) * (1 - a);
}
class O {
constructor(e, t, r) {
this.document = e, this.name = t, this.value = r, this.isNormalizedColor = !1;
}
static empty(e) {
return new O(e, "EMPTY", "");
}
split() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : " ", {
document: t,
name: r
} = this;
return ft(this.getString()).trim().split(e).map((i) => new O(t, r, i));
}
hasValue(e) {
var {
value: t
} = this;
return t !== null && t !== "" && (e || t !== 0) && typeof t < "u";
}
isString(e) {
var {
value: t
} = this, r = typeof t == "string";
return !r || !e ? r : e.test(t);
}
isUrlDefinition() {
return this.isString(/^url\(/);
}
isPixels() {
if (!this.hasValue())
return !1;
var e = this.getString();
switch (!0) {
case e.endsWith("px"):
case /^[0-9]+$/.test(e):
return !0;
default:
return !1;
}
}
setValue(e) {
return this.value = e, this;
}
getValue(e) {
return typeof e > "u" || this.hasValue() ? this.value : e;
}
getNumber(e) {
if (!this.hasValue())
return typeof e > "u" ? 0 : parseFloat(e);
var {
value: t
} = this, r = parseFloat(t);
return this.isString(/%$/) && (r /= 100), r;
}
getString(e) {
return typeof e > "u" || this.hasValue() ? typeof this.value > "u" ? "" : String(this.value) : String(e);
}
getColor(e) {
var t = this.getString(e);
return this.isNormalizedColor || (this.isNormalizedColor = !0, t = o1(t), this.value = t), t;
}
getDpi() {
return 96;
}
getRem() {
return this.document.rootEmSize;
}
getEm() {
return this.document.emSize;
}
getUnits() {
return this.getString().replace(/[0-9.-]/g, "");
}
getPixels(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (!this.hasValue())
return 0;
var [r, i] = typeof e == "boolean" ? [void 0, e] : [e], {
viewPort: n
} = this.document.screen;
switch (!0) {
case this.isString(/vmin$/):
return this.getNumber() / 100 * Math.min(n.computeSize("x"), n.computeSize("y"));
case this.isString(/vmax$/):
return this.getNumber() / 100 * Math.max(n.computeSize("x"), n.computeSize("y"));
case this.isString(/vw$/):
return this.getNumber() / 100 * n.computeSize("x");
case this.isString(/vh$/):
return this.getNumber() / 100 * n.computeSize("y");
case this.isString(/rem$/):
return this.getNumber() * this.getRem();
case this.isString(/em$/):
return this.getNumber() * this.getEm();
case this.isString(/ex$/):
return this.getNumber() * this.getEm() / 2;
case this.isString(/px$/):
return this.getNumber();
case this.isString(/pt$/):
return this.getNumber() * this.getDpi() * (1 / 72);
case this.isString(/pc$/):
return this.getNumber() * 15;
case this.isString(/cm$/):
return this.getNumber() * this.getDpi() / 2.54;
case this.isString(/mm$/):
return this.getNumber() * this.getDpi() / 25.4;
case this.isString(/in$/):
return this.getNumber() * this.getDpi();
case (this.isString(/%$/) && i):
return this.getNumber() * this.getEm();
case this.isString(/%$/):
return this.getNumber() * n.computeSize(r);
default: {
var o = this.getNumber();
return t && o < 1 ? o * n.computeSize(r) : o;
}
}
}
getMilliseconds() {
return this.hasValue() ? this.isString(/ms$/) ? this.getNumber() : this.getNumber() * 1e3 : 0;
}
getRadians() {
if (!this.hasValue())
return 0;
switch (!0) {
case this.isString(/deg$/):
return this.getNumber() * (Math.PI / 180);
case this.isString(/grad$/):
return this.getNumber() * (Math.PI / 200);
case this.isString(/rad$/):
return this.getNumber();
default:
return this.getNumber() * (Math.PI / 180);
}
}
getDefinition() {
var e = this.getString(), t = /#([^)'"]+)/.exec(e);
return t && (t = t[1]), t || (t = e), this.document.definitions[t];
}
getFillStyleDefinition(e, t) {
var r = this.getDefinition();
if (!r)
return null;
if (typeof r.createGradient == "function")
return r.createGradient(this.document.ctx, e, t);
if (typeof r.createPattern == "function") {
if (r.getHrefAttribute().hasValue()) {
var i = r.getAttribute("patternTransform");
r = r.getHrefAttribute().getDefinition(), i.hasValue() && r.getAttribute("patternTransform", !0).setValue(i.value);
}
return r.createPattern(this.document.ctx, e, t);
}
return null;
}
getTextBaseline() {
return this.hasValue() ? O.textBaselineMapping[this.getString()] : null;
}
addOpacity(e) {
for (var t = this.getColor(), r = t.length, i = 0, n = 0; n < r && (t[n] === "," && i++, i !== 3); n++)
;
if (e.hasValue() && this.isString() && i !== 3) {
var o = new xi(t);
o.ok && (o.alpha = e.getNumber(), t = o.toRGBA());
}
return new O(this.document, this.name, t);
}
}
O.textBaselineMapping = {
baseline: "alphabetic",
"before-edge": "top",
"text-before-edge": "top",
middle: "middle",
central: "middle",
"after-edge": "bottom",
"text-after-edge": "bottom",
ideographic: "ideographic",
alphabetic: "alphabetic",
hanging: "hanging",
mathematical: "alphabetic"
};
class p1 {
constructor() {
this.viewPorts = [];
}
clear() {
this.viewPorts = [];
}
setCurrent(e, t) {
this.viewPorts.push({
width: e,
height: t
});
}
removeCurrent() {
this.viewPorts.pop();
}
getCurrent() {
var {
viewPorts: e
} = this;
return e[e.length - 1];
}
get width() {
return this.getCurrent().width;
}
get height() {
return this.getCurrent().height;
}
computeSize(e) {
return typeof e == "number" ? e : e === "x" ? this.width : e === "y" ? this.height : Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2);
}
}
class V {
constructor(e, t) {
this.x = e, this.y = t;
}
static parse(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, [r = t, i = t] = ie(e);
return new V(r, i);
}
static parseScale(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1, [r = t, i = r] = ie(e);
return new V(r, i);
}
static parsePath(e) {
for (var t = ie(e), r = t.length, i = [], n = 0; n < r; n += 2)
i.push(new V(t[n], t[n + 1]));
return i;
}
angleTo(e) {
return Math.atan2(e.y - this.y, e.x - this.x);
}
applyTransform(e) {
var {
x: t,
y: r
} = this, i = t * e[0] + r * e[2] + e[4], n = t * e[1] + r * e[3] + e[5];
this.x = i, this.y = n;
}
}
class y1 {
constructor(e) {
this.screen = e, this.working = !1, this.events = [], this.eventElements = [], this.onClick = this.onClick.bind(this), this.onMouseMove = this.onMouseMove.bind(this);
}
isWorking() {
return this.working;
}
start() {
if (!this.working) {
var {
screen: e,
onClick: t,
onMouseMove: r
} = this, i = e.ctx.canvas;
i.onclick = t, i.onmousemove = r, this.working = !0;
}
}
stop() {
if (this.working) {
var e = this.screen.ctx.canvas;
this.working = !1, e.onclick = null, e.onmousemove = null;
}
}
hasEvents() {
return this.working && this.events.length > 0;
}
runEvents() {
if (this.working) {
var {
screen: e,
events: t,
eventElements: r
} = this, {
style: i
} = e.ctx.canvas;
i && (i.cursor = ""), t.forEach((n, o) => {
for (var {
run: s
} = n, u = r[o]; u; )
s(u), u = u.parent;
}), this.events = [], this.eventElements = [];
}
}
checkPath(e, t) {
if (!(!this.working || !t)) {
var {
events: r,
eventElements: i
} = this;
r.forEach((n, o) => {
var {
x: s,
y: u
} = n;
!i[o] && t.isPointInPath && t.isPointInPath(s, u) && (i[o] = e);
});
}
}
checkBoundingBox(e, t) {
if (!(!this.working || !t)) {
var {
events: r,
eventElements: i
} = this;
r.forEach((n, o) => {
var {
x: s,
y: u
} = n;
!i[o] && t.isPointInBox(s, u) && (i[o] = e);
});
}
}
mapXY(e, t) {
for (var {
window: r,
ctx: i
} = this.screen, n = new V(e, t), o = i.canvas; o; )
n.x -= o.offsetLeft, n.y -= o.offsetTop, o = o.offsetParent;
return r.scrollX && (n.x += r.scrollX), r.scrollY && (n.y += r.scrollY), n;
}
onClick(e) {
var {
x: t,
y: r
} = this.mapXY(e.clientX, e.clientY);
this.events.push({
type: "onclick",
x: t,
y: r,
run(i) {
i.onClick && i.onClick();
}
});
}
onMouseMove(e) {
var {
x: t,
y: r
} = this.mapXY(e.clientX, e.clientY);
this.events.push({
type: "onmousemove",
x: t,
y: r,
run(i) {
i.onMouseMove && i.onMouseMove();
}
});
}
}
var bl = typeof window < "u" ? window : null, xl = typeof fetch < "u" ? fetch.bind(void 0) : null;
class kr {
constructor(e) {
var {
fetch: t = xl,
window: r = bl
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
this.ctx = e, this.FRAMERATE = 30, this.MAX_VIRTUAL_PIXELS = 3e4, this.CLIENT_WIDTH = 800, this.CLIENT_HEIGHT = 600, this.viewPort = new p1(), this.mouse = new y1(this), this.animations = [], this.waits = [], this.frameDuration = 0, this.isReadyLock = !1, this.isFirstRender = !0, this.intervalId = null, this.window = r, this.fetch = t;
}
wait(e) {
this.waits.push(e);
}
ready() {
return this.readyPromise ? this.readyPromise : Promise.resolve();
}
isReady() {
if (this.isReadyLock)
return !0;
var e = this.waits.every((t) => t());
return e && (this.waits = [], this.resolveReady && this.resolveReady()), this.isReadyLock = e, e;
}
setDefaults(e) {
e.strokeStyle = "rgba(0,0,0,0)", e.lineCap = "butt", e.lineJoin = "miter", e.miterLimit = 4;
}
setViewBox(e) {
var {
document: t,
ctx: r,
aspectRatio: i,
width: n,
desiredWidth: o,
height: s,
desiredHeight: u,
minX: l = 0,
minY: h = 0,
refX: f,
refY: c,
clip: v = !1,
clipX: d = 0,
clipY: g = 0
} = e, p = ft(i).replace(/^defer\s/, ""), [y, x] = p.split(" "), b = y || "xMidYMid", T = x || "meet", $ = n / o, E = s / u, S = Math.min($, E), C = Math.max($, E), N = o, _ = u;
T === "meet" && (N *= S, _ *= S), T === "slice" && (N *= C, _ *= C);
var B = new O(t, "refX", f), P = new O(t, "refY", c), X = B.hasValue() && P.hasValue();
if (X && r.translate(-S * B.getPixels("x"), -S * P.getPixels("y")), v) {
var W = S * d, U = S * g;
r.beginPath(), r.moveTo(W, U), r.lineTo(n, U), r.lineTo(n, s), r.lineTo(W, s), r.closePath(), r.clip();
}
if (!X) {
var q = T === "meet" && S === E, H = T === "slice" && C === E, Q = T === "meet" && S === $, R = T === "slice" && C === $;
b.startsWith("xMid") && (q || H) && r.translate(n / 2 - N / 2, 0), b.endsWith("YMid") && (Q || R) && r.translate(0, s / 2 - _ / 2), b.startsWith("xMax") && (q || H) && r.translate(n - N, 0), b.endsWith("YMax") && (Q || R) && r.translate(0, s - _);
}
switch (!0) {
case b === "none":
r.scale($, E);
break;
case T === "meet":
r.scale(S, S);
break;
case T === "slice":
r.scale(C, C);
break;
}
r.translate(-l, -h);
}
start(e) {
var {
enableRedraw: t = !1,
ignoreMouse: r = !1,
ignoreAnimation: i = !1,
ignoreDimensions: n = !1,
ignoreClear: o = !1,
forceRedraw: s,
scaleWidth: u,
scaleHeight: l,
offsetX: h,
offsetY: f
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, {
FRAMERATE: c,
mouse: v
} = this, d = 1e3 / c;
if (this.frameDuration = d, this.readyPromise = new Promise((b) => {
this.resolveReady = b;
}), this.isReady() && this.render(e, n, o, u, l, h, f), !!t) {
var g = Date.now(), p = g, y = 0, x = () => {
g = Date.now(), y = g - p, y >= d && (p = g - y % d, this.shouldUpdate(i, s) && (this.render(e, n, o, u, l, h, f), v.runEvents())), this.intervalId = Le(x);
};
r || v.start(), this.intervalId = Le(x);
}
}
stop() {
this.intervalId && (Le.cancel(this.intervalId), this.intervalId = null), this.mouse.stop();
}
shouldUpdate(e, t) {
if (!e) {
var {
frameDuration: r
} = this, i = this.animations.reduce((n, o) => o.update(r) || n, !1);
if (i)
return !0;
}
return !!(typeof t == "function" && t() || !this.isReadyLock && this.isReady() || this.mouse.hasEvents());
}
render(e, t, r, i, n, o, s) {
var {
CLIENT_WIDTH: u,
CLIENT_HEIGHT: l,
viewPort: h,
ctx: f,
isFirstRender: c
} = this, v = f.canvas;
h.clear(), v.width && v.height ? h.setCurrent(v.width, v.height) : h.setCurrent(u, l);
var d = e.getStyle("width"), g = e.getStyle("height");
!t && (c || typeof i != "number" && typeof n != "number") && (d.hasValue() && (v.width = d.getPixels("x"), v.style && (v.style.width = "".concat(v.width, "px"))), g.hasValue() && (v.height = g.getPixels("y"), v.style && (v.style.height = "".concat(v.height, "px"))));
var p = v.clientWidth || v.width, y = v.clientHeight || v.height;
if (t && d.hasValue() && g.hasValue() && (p = d.getPixels("x"), y = g.getPixels("y")), h.setCurrent(p, y), typeof o == "number" && e.getAttribute("x", !0).setValue(o), typeof s == "number" && e.getAttribute("y", !0).setValue(s), typeof i == "number" || typeof n == "number") {
var x = ie(e.getAttribute("viewBox").getString()), b = 0, T = 0;
if (typeof i == "number") {
var $ = e.getStyle("width");
$.hasValue() ? b = $.getPixels("x") / i : isNaN(x[2]) || (b = x[2] / i);
}
if (typeof n == "number") {
var E = e.getStyle("height");
E.hasValue() ? T = E.getPixels("y") / n : isNaN(x[3]) || (T = x[3] / n);
}
b || (b = T), T || (T = b), e.getAttribute("width", !0).setValue(i), e.getAttribute("height", !0).setValue(n);
var S = e.getStyle("transform", !0, !0);
S.setValue("".concat(S.getString(), " scale(").concat(1 / b, ", ").concat(1 / T, ")"));
}
r || f.clearRect(0, 0, p, y), e.render(f), c && (this.isFirstRender = !1);
}
}
kr.defaultWindow = bl;
kr.defaultFetch = xl;
var {
defaultFetch: m1
} = kr, b1 = typeof DOMParser < "u" ? DOMParser : null;
class Ha {
constructor() {
var {
fetch: e = m1,
DOMParser: t = b1
} = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
this.fetch = e, this.DOMParser = t;
}
parse(e) {
var t = this;
return xe(function* () {
return e.startsWith("<") ? t.parseFromString(e) : t.load(e);
})();
}
parseFromString(e) {
var t = new this.DOMParser();
try {
return this.checkDocument(t.parseFromString(e, "image/svg+xml"));
} catch {
return this.checkDocument(t.parseFromString(e, "text/xml"));
}
}
checkDocument(e) {
var t = e.getElementsByTagName("parsererror")[0];
if (t)
throw new Error(t.textContent);
return e;
}
load(e) {
var t = this;
return xe(function* () {
var r = yield t.fetch(e), i = yield r.text();
return t.parseFromString(i);
})();
}
}
class x1 {
constructor(e, t) {
this.type = "translate", this.point = null, this.point = V.parse(t);
}
apply(e) {
var {
x: t,
y: r
} = this.point;
e.translate(t || 0, r || 0);
}
unapply(e) {
var {
x: t,
y: r
} = this.point;
e.translate(-1 * t || 0, -1 * r || 0);
}
applyToPoint(e) {
var {
x: t,
y: r
} = this.point;
e.applyTransform([1, 0, 0, 1, t || 0, r || 0]);
}
}
class T1 {
constructor(e, t, r) {
this.type = "rotate", this.angle = null, this.originX = null, this.originY = null, this.cx = 0, this.cy = 0;
var i = ie(t);
this.angle = new O(e, "angle", i[0]), this.originX = r[0], this.originY = r[1], this.cx = i[1] || 0, this.cy = i[2] || 0;
}
apply(e) {
var {
cx: t,
cy: r,
originX: i,
originY: n,
angle: o
} = this, s = t + i.getPixels("x"), u = r + n.getPixels("y");
e.translate(s, u), e.rotate(o.getRadians()), e.translate(-s, -u);
}
unapply(e) {
var {
cx: t,
cy: r,
originX: i,
originY: n,
angle: o
} = this, s = t + i.getPixels("x"), u = r + n.getPixels("y");
e.translate(s, u), e.rotate(-1 * o.getRadians()), e.translate(-s, -u);
}
applyToPoint(e) {
var {
cx: t,
cy: r,
angle: i
} = this, n = i.getRadians();
e.applyTransform([
1,
0,
0,
1,
t || 0,
r || 0
// this.p.y
]), e.applyTransform([Math.cos(n), Math.sin(n), -Math.sin(n), Math.cos(n), 0, 0]), e.applyTransform([
1,
0,
0,
1,
-t || 0,
-r || 0
// -this.p.y
]);
}
}
class S1 {
constructor(e, t, r) {
this.type = "scale", this.scale = null, this.originX = null, this.originY = null;
var i = V.parseScale(t);
(i.x === 0 || i.y === 0) && (i.x = nt, i.y = nt), this.scale = i, this.originX = r[0], this.originY = r[1];
}
apply(e) {
var {
scale: {
x: t,
y: r
},
originX: i,
originY: n
} = this, o = i.getPixels("x"), s = n.getPixels("y");
e.translate(o, s), e.scale(t, r || t), e.translate(-o, -s);
}
unapply(e) {
var {
scale: {
x: t,
y: r
},
originX: i,
originY: n
} = this, o = i.getPixels("x"), s = n.getPixels("y");
e.translate(o, s), e.scale(1 / t, 1 / r || t), e.translate(-o, -s);
}
applyToPoint(e) {
var {
x: t,
y: r
} = this.scale;
e.applyTransform([t || 0, 0, 0, r || 0, 0, 0]);
}
}
class Tl {
constructor(e, t, r) {
this.type = "matrix", this.matrix = [], this.originX = null, this.originY = null, this.matrix = ie(t), this.originX = r[0], this.originY = r[1];
}
apply(e) {
var {
originX: t,
originY: r,
matrix: i
} = this, n = t.getPixels("x"), o = r.getPixels("y");
e.translate(n, o), e.transform(i[0], i[1], i[2], i[3], i[4], i[5]), e.translate(-n, -o);
}
unapply(e) {
var {
originX: t,
originY: r,
matrix: i
} = this, n = i[0], o = i[2], s = i[4], u = i[1], l = i[3], h = i[5], f = 0, c = 0, v = 1, d = 1 / (n * (l * v - h * c) - o * (u * v - h * f) + s * (u * c - l * f)), g = t.getPixels("x"), p = r.getPixels("y");
e.translate(g, p), e.transform(d * (l * v - h * c), d * (h * f - u * v), d * (s * c - o * v), d * (n * v - s * f), d * (o * h - s * l), d * (s * u - n * h)), e.translate(-g, -p);
}
applyToPoint(e) {
e.applyTransform(this.matrix);
}
}
class Sl extends Tl {
constructor(e, t, r) {
super(e, t, r), this.type = "skew", this.angle = null, this.angle = new O(e, "angle", t);
}
}
class O1 extends Sl {
constructor(e, t, r) {
super(e, t, r), this.type = "skewX", this.matrix = [1, 0, Math.tan(this.angle.getRadians()), 1, 0, 0];
}
}
class E1 extends Sl {
constructor(e, t, r) {
super(e, t, r), this.type = "skewY", this.matrix = [1, Math.tan(this.angle.getRadians()), 0, 1, 0, 0];
}
}
function $1(a) {
return ft(a).trim().replace(/\)([a-zA-Z])/g, ") $1").replace(/\)(\s?,\s?)/g, ") ").split(/\s(?=[a-z])/);
}
function w1(a) {
var [e, t] = a.split("(");
return [e.trim(), t.trim().replace(")", "")];
}
class Fe {
constructor(e, t, r) {
this.document = e, this.transforms = [];
var i = $1(t);
i.forEach((n) => {
if (n !== "none") {
var [o, s] = w1(n), u = Fe.transformTypes[o];
typeof u < "u" && this.transforms.push(new u(this.document, s, r));
}
});
}
static fromElement(e, t) {
var r = t.getStyle("transform", !1, !0), [i, n = i] = t.getStyle("transform-origin", !1, !0).split(), o = [i, n];
return r.hasValue() ? new Fe(e, r.getString(), o) : null;
}
apply(e) {
for (var {
transforms: t
} = this, r = t.length, i = 0; i < r; i++)
t[i].apply(e);
}
unapply(e) {
for (var {
transforms: t
} = this, r = t.length, i = r - 1; i >= 0; i--)
t[i].unapply(e);
}
// TODO: applyToPoint unused ... remove?
applyToPoint(e) {
for (var {
transforms: t
} = this, r = t.length, i = 0; i < r; i++)
t[i].applyToPoint(e);
}
}
Fe.transformTypes = {
translate: x1,
rotate: T1,
scale: S1,
matrix: Tl,
skewX: O1,
skewY: E1
};
class I {
constructor(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
if (this.document = e, this.node = t, this.captureTextNodes = r, this.attributes = {}, this.styles = {}, this.stylesSpecificity = {}, this.animationFrozen = !1, this.animationFrozenValue = "", this.parent = null, this.children = [], !(!t || t.nodeType !== 1)) {
if (Array.from(t.attributes).forEach((s) => {
var u = s1(s.nodeName);
this.attributes[u] = new O(e, u, s.value);
}), this.addStylesFromStyleDefinition(), this.getAttribute("style").hasValue()) {
var i = this.getAttribute("style").getString().split(";").map((s) => s.trim());
i.forEach((s) => {
if (s) {
var [u, l] = s.split(":").map((h) => h.trim());
this.styles[u] = new O(e, u, l);
}
});
}
var {
definitions: n
} = e, o = this.getAttribute("id");
o.hasValue() && (n[o.getString()] || (n[o.getString()] = this)), Array.from(t.childNodes).forEach((s) => {
if (s.nodeType === 1)
this.addChild(s);
else if (r && (s.nodeType === 3 || s.nodeType === 4)) {
var u = e.createTextNode(s);
u.getText().length > 0 && this.addChild(u);
}
});
}
}
getAttribute(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, r = this.attributes[e];
if (!r && t) {
var i = new O(this.document, e, "");
return this.attributes[e] = i, i;
}
return r || O.empty(this.document);
}
getHrefAttribute() {
for (var e in this.attributes)
if (e === "href" || e.endsWith(":href"))
return this.attributes[e];
return O.empty(this.document);
}
getStyle(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, i = this.styles[e];
if (i)
return i;
var n = this.getAttribute(e);
if (n != null && n.hasValue())
return this.styles[e] = n, n;
if (!r) {
var {
parent: o
} = this;
if (o) {
var s = o.getStyle(e);
if (s != null && s.hasValue())
return s;
}
}
if (t) {
var u = new O(this.document, e, "");
return this.styles[e] = u, u;
}
return i || O.empty(this.document);
}
render(e) {
if (!(this.getStyle("display").getString() === "none" || this.getStyle("visibility").getString() === "hidden")) {
if (e.save(), this.getStyle("mask").hasValue()) {
var t = this.getStyle("mask").getDefinition();
t && (this.applyEffects(e), t.apply(e, this));
} else if (this.getStyle("filter").getValue("none") !== "none") {
var r = this.getStyle("filter").getDefinition();
r && (this.applyEffects(e), r.apply(e, this));
} else
this.setContext(e), this.renderChildren(e), this.clearContext(e);
e.restore();
}
}
setContext(e) {
}
applyEffects(e) {
var t = Fe.fromElement(this.document, this);
t && t.apply(e);
var r = this.getStyle("clip-path", !1, !0);
if (r.hasValue()) {
var i = r.getDefinition();
i && i.apply(e);
}
}
clearContext(e) {
}
renderChildren(e) {
this.children.forEach((t) => {
t.render(e);
});
}
addChild(e) {
var t = e instanceof I ? e : this.document.createElement(e);
t.parent = this, I.ignoreChildTypes.includes(t.type) || this.children.push(t);
}
matchesSelector(e) {
var t, {
node: r
} = this;
if (typeof r.matches == "function")
return r.matches(e);
var i = (t = r.getAttribute) === null || t === void 0 ? void 0 : t.call(r, "class");
return !i || i === "" ? !1 : i.split(" ").some((n) => ".".concat(n) === e);
}
addStylesFromStyleDefinition() {
var {
styles: e,
stylesSpecificity: t
} = this.document;
for (var r in e)
if (!r.startsWith("@") && this.matchesSelector(r)) {
var i = e[r], n = t[r];
if (i)
for (var o in i) {
var s = this.stylesSpecificity[o];
typeof s > "u" && (s = "000"), n >= s && (this.styles[o] = i[o], this.stylesSpecificity[o] = n);
}
}
}
removeStyles(e, t) {
var r = t.reduce((i, n) => {
var o = e.getStyle(n);
if (!o.hasValue())
return i;
var s = o.getString();
return o.setValue(""), [...i, [n, s]];
}, []);
return r;
}
restoreStyles(e, t) {
t.forEach((r) => {
var [i, n] = r;
e.getStyle(i, !0).setValue(n);
});
}
isFirstChild() {
var e;
return ((e = this.parent) === null || e === void 0 ? void 0 : e.children.indexOf(this)) === 0;
}
}
I.ignoreChildTypes = ["title"];
class C1 extends I {
constructor(e, t, r) {
super(e, t, r);
}
}
function A1(a) {
var e = a.trim();
return /^('|")/.test(e) ? e : '"'.concat(e, '"');
}
function P1(a) {
return typeof process > "u" ? a : a.trim().split(",").map(A1).join(",");
}
function R1(a) {
if (!a)
return "";
var e = a.trim().toLowerCase();
switch (e) {
case "normal":
case "italic":
case "oblique":
case "inherit":
case "initial":
case "unset":
return e;
default:
return /^oblique\s+(-|)\d+deg$/.test(e) ? e : "";
}
}
function I1(a) {
if (!a)
return "";
var e = a.trim().toLowerCase();
switch (e) {
case "normal":
case "bold":
case "lighter":
case "bolder":
case "inherit":
case "initial":
case "unset":
return e;
default:
return /^[\d.]+$/.test(e) ? e : "";
}
}
class J {
constructor(e, t, r, i, n, o) {
var s = o ? typeof o == "string" ? J.parse(o) : o : {};
this.fontFamily = n || s.fontFamily, this.fontSize = i || s.fontSize, this.fontStyle = e || s.fontStyle, this.fontWeight = r || s.fontWeight, this.fontVariant = t || s.fontVariant;
}
static parse() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 ? arguments[1] : void 0, r = "", i = "", n = "", o = "", s = "", u = ft(e).trim().split(" "), l = {
fontSize: !1,
fontStyle: !1,
fontWeight: !1,
fontVariant: !1
};
return u.forEach((h) => {
switch (!0) {
case (!l.fontStyle && J.styles.includes(h)):
h !== "inherit" && (r = h), l.fontStyle = !0;
break;
case (!l.fontVariant && J.variants.includes(h)):
h !== "inherit" && (i = h), l.fontStyle = !0, l.fontVariant = !0;
break;
case (!l.fontWeight && J.weights.includes(h)):
h !== "inherit" && (n = h), l.fontStyle = !0, l.fontVariant = !0, l.fontWeight = !0;
break;
case !l.fontSize:
h !== "inherit" && ([o] = h.split("/")), l.fontStyle = !0, l.fontVariant = !0, l.fontWeight = !0, l.fontSize = !0;
break;
default:
h !== "inherit" && (s += h);
}
}), new J(r, i, n, o, s, t);
}
toString() {
return [
R1(this.fontStyle),
this.fontVariant,
I1(this.fontWeight),
this.fontSize,
// Wrap fontFamily only on nodejs and only for canvas.ctx
P1(this.fontFamily)
].join(" ").trim();
}
}
J.styles = "normal|italic|oblique|inherit";
J.variants = "normal|small-caps|inherit";
J.weights = "normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";
class he {
constructor() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Number.NaN, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Number.NaN, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Number.NaN, i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : Number.NaN;
this.x1 = e, this.y1 = t, this.x2 = r, this.y2 = i, this.addPoint(e, t), this.addPoint(r, i);
}
get x() {
return this.x1;
}
get y() {
return this.y1;
}
get width() {
return this.x2 - this.x1;
}
get height() {
return this.y2 - this.y1;
}
addPoint(e, t) {
typeof e < "u" && ((isNaN(this.x1) || isNaN(this.x2)) && (this.x1 = e, this.x2 = e), e < this.x1 && (this.x1 = e), e > this.x2 && (this.x2 = e)), typeof t < "u" && ((isNaN(this.y1) || isNaN(this.y2)) && (this.y1 = t, this.y2 = t), t < this.y1 && (this.y1 = t), t > this.y2 && (this.y2 = t));
}
addX(e) {
this.addPoint(e, null);
}
addY(e) {
this.addPoint(null, e);
}
addBoundingBox(e) {
if (e) {
var {
x1: t,
y1: r,
x2: i,
y2: n
} = e;
this.addPoint(t, r), this.addPoint(i, n);
}
}
sumCubic(e, t, r, i, n) {
return Math.pow(1 - e, 3) * t + 3 * Math.pow(1 - e, 2) * e * r + 3 * (1 - e) * Math.pow(e, 2) * i + Math.pow(e, 3) * n;
}
bezierCurveAdd(e, t, r, i, n) {
var o = 6 * t - 12 * r + 6 * i, s = -3 * t + 9 * r - 9 * i + 3 * n, u = 3 * r - 3 * t;
if (s === 0) {
if (o === 0)
return;
var l = -u / o;
0 < l && l < 1 && (e ? this.addX(this.sumCubic(l, t, r, i, n)) : this.addY(this.sumCubic(l, t, r, i, n)));
return;
}
var h = Math.pow(o, 2) - 4 * u * s;
if (!(h < 0)) {
var f = (-o + Math.sqrt(h)) / (2 * s);
0 < f && f < 1 && (e ? this.addX(this.sumCubic(f, t, r, i, n)) : this.addY(this.sumCubic(f, t, r, i, n)));
var c = (-o - Math.sqrt(h)) / (2 * s);
0 < c && c < 1 && (e ? this.addX(this.sumCubic(c, t, r, i, n)) : this.addY(this.sumCubic(c, t, r, i, n)));
}
}
// from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html
addBezierCurve(e, t, r, i, n, o, s, u) {
this.addPoint(e, t), this.addPoint(s, u), this.bezierCurveAdd(!0, e, r, n, s), this.bezierCurveAdd(!1, t, i, o, u);
}
addQuadraticCurve(e, t, r, i, n, o) {
var s = e + 0.6666666666666666 * (r - e), u = t + 2 / 3 * (i - t), l = s + 1 / 3 * (n - e), h = u + 1 / 3 * (o - t);
this.addBezierCurve(e, t, s, l, u, h, n, o);
}
isPointInBox(e, t) {
var {
x1: r,
y1: i,
x2: n,
y2: o
} = this;
return r <= e && e <= n && i <= t && t <= o;
}
}
class w extends m {
constructor(e) {
super(e.replace(/([+\-.])\s+/gm, "$1").replace(/[^MmZzLlHhVvCcSsQqTtAae\d\s.,+-].*/g, "")), this.control = null, this.start = null, this.current = null, this.command = null, this.commands = this.commands, this.i = -1, this.previousCommand = null, this.points = [], this.angles = [];
}
reset() {
this.i = -1, this.command = null, this.previousCommand = null, this.start = new V(0, 0), this.control = new V(0, 0), this.current = new V(0, 0), this.points = [], this.angles = [];
}
isEnd() {
var {
i: e,
commands: t
} = this;
return e >= t.length - 1;
}
next() {
var e = this.commands[++this.i];
return this.previousCommand = this.command, this.command = e, e;
}
getPoint() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "x", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "y", r = new V(this.command[e], this.command[t]);
return this.makeAbsolute(r);
}
getAsControlPoint(e, t) {
var r = this.getPoint(e, t);
return this.control = r, r;
}
getAsCurrentPoint(e, t) {
var r = this.getPoint(e, t);
return this.current = r, r;
}
getReflectedControlPoint() {
var e = this.previousCommand.type;
if (e !== m.CURVE_TO && e !== m.SMOOTH_CURVE_TO && e !== m.QUAD_TO && e !== m.SMOOTH_QUAD_TO)
return this.current;
var {
current: {
x: t,
y: r
},
control: {
x: i,
y: n
}
} = this, o = new V(2 * t - i, 2 * r - n);
return o;
}
makeAbsolute(e) {
if (this.command.relative) {
var {
x: t,
y: r
} = this.current;
e.x += t, e.y += r;
}
return e;
}
addMarker(e, t, r) {
var {
points: i,
angles: n
} = this;
r && n.length > 0 && !n[n.length - 1] && (n[n.length - 1] = i[i.length - 1].angleTo(r)), this.addMarkerAngle(e, t ? t.angleTo(e) : null);
}
addMarkerAngle(e, t) {
this.points.push(e), this.angles.push(t);
}
getMarkerPoints() {
return this.points;
}
getMarkerAngles() {
for (var {
angles: e
} = this, t = e.length, r = 0; r < t; r++)
if (!e[r]) {
for (var i = r + 1; i < t; i++)
if (e[i]) {
e[r] = e[i];
break;
}
}
return e;
}
}
class He extends I {
constructor() {
super(...arguments), this.modifiedEmSizeStack = !1;
}
calculateOpacity() {
for (var e = 1, t = this; t; ) {
var r = t.getStyle("opacity", !1, !0);
r.hasValue(!0) && (e *= r.getNumber()), t = t.parent;
}
return e;
}
setContext(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
if (!t) {
var r = this.getStyle("fill"), i = this.getStyle("fill-opacity"), n = this.getStyle("stroke"), o = this.getStyle("stroke-opacity");
if (r.isUrlDefinition()) {
var s = r.getFillStyleDefinition(this, i);
s && (e.fillStyle = s);
} else if (r.hasValue()) {
r.getString() === "currentColor" && r.setValue(this.getStyle("color").getColor());
var u = r.getColor();
u !== "inherit" && (e.fillStyle = u === "none" ? "rgba(0,0,0,0)" : u);
}
if (i.hasValue()) {
var l = new O(this.document, "fill", e.fillStyle).addOpacity(i).getColor();
e.fillStyle = l;
}
if (n.isUrlDefinition()) {
var h = n.getFillStyleDefinition(this, o);
h && (e.strokeStyle = h);
} else if (n.hasValue()) {
n.getString() === "currentColor" && n.setValue(this.getStyle("color").getColor());
var f = n.getString();
f !== "inherit" && (e.strokeStyle = f === "none" ? "rgba(0,0,0,0)" : f);
}
if (o.hasValue()) {
var c = new O(this.document, "stroke", e.strokeStyle).addOpacity(o).getString();
e.strokeStyle = c;
}
var v = this.getStyle("stroke-width");
if (v.hasValue()) {
var d = v.getPixels();
e.lineWidth = d || nt;
}
var g = this.getStyle("stroke-linecap"), p = this.getStyle("stroke-linejoin"), y = this.getStyle("stroke-miterlimit"), x = this.getStyle("stroke-dasharray"), b = this.getStyle("stroke-dashoffset");
if (g.hasValue() && (e.lineCap = g.getString()), p.hasValue() && (e.lineJoin = p.getString()), y.hasValue() && (e.miterLimit = y.getNumber()), x.hasValue() && x.getString() !== "none") {
var T = ie(x.getString());
typeof e.setLineDash < "u" ? e.setLineDash(T) : typeof e.webkitLineDash < "u" ? e.webkitLineDash = T : typeof e.mozDash < "u" && !(T.length === 1 && T[0] === 0) && (e.mozDash = T);
var $ = b.getPixels();
typeof e.lineDashOffset < "u" ? e.lineDashOffset = $ : typeof e.webkitLineDashOffset < "u" ? e.webkitLineDashOffset = $ : typeof e.mozDashOffset < "u" && (e.mozDashOffset = $);
}
}
if (this.modifiedEmSizeStack = !1, typeof e.font < "u") {
var E = this.getStyle("font"), S = this.getStyle("font-style"), C = this.getStyle("font-variant"), N = this.getStyle("font-weight"), _ = this.getStyle("font-size"), B = this.getStyle("font-family"), P = new J(S.getString(), C.getString(), N.getString(), _.hasValue() ? "".concat(_.getPixels(!0), "px") : "", B.getString(), J.parse(E.getString(), e.font));
S.setValue(P.fontStyle), C.setValue(P.fontVariant), N.setValue(P.fontWeight), _.setValue(P.fontSize), B.setValue(P.fontFamily), e.font = P.toString(), _.isPixels() && (this.document.emSize = _.getPixels(), this.modifiedEmSizeStack = !0);
}
t || (this.applyEffects(e), e.globalAlpha = this.calculateOpacity());
}
clearContext(e) {
super.clearContext(e), this.modifiedEmSizeStack && this.document.popEmSize();
}
}
class A extends He {
constructor(e, t, r) {
super(e, t, r), this.type = "path", this.pathParser = null, this.pathParser = new w(this.getAttribute("d").getString());
}
path(e) {
var {
pathParser: t
} = this, r = new he();
for (t.reset(), e && e.beginPath(); !t.isEnd(); )
switch (t.next().type) {
case w.MOVE_TO:
this.pathM(e, r);
break;
case w.LINE_TO:
this.pathL(e, r);
break;
case w.HORIZ_LINE_TO:
this.pathH(e, r);
break;
case w.VERT_LINE_TO:
this.pathV(e, r);
break;
case w.CURVE_TO:
this.pathC(e, r);
break;
case w.SMOOTH_CURVE_TO:
this.pathS(e, r);
break;
case w.QUAD_TO:
this.pathQ(e, r);
break;
case w.SMOOTH_QUAD_TO:
this.pathT(e, r);
break;
case w.ARC:
this.pathA(e, r);
break;
case w.CLOSE_PATH:
this.pathZ(e, r);
break;
}
return r;
}
getBoundingBox(e) {
return this.path();
}
getMarkers() {
var {
pathParser: e
} = this, t = e.getMarkerPoints(), r = e.getMarkerAngles(), i = t.map((n, o) => [n, r[o]]);
return i;
}
renderChildren(e) {
this.path(e), this.document.screen.mouse.checkPath(this, e);
var t = this.getStyle("fill-rule");
e.fillStyle !== "" && (t.getString("inherit") !== "inherit" ? e.fill(t.getString()) : e.fill()), e.strokeStyle !== "" && (this.getAttribute("vector-effect").getString() === "non-scaling-stroke" ? (e.save(), e.setTransform(1, 0, 0, 1, 0, 0), e.stroke(), e.restore()) : e.stroke());
var r = this.getMarkers();
if (r) {
var i = r.length - 1, n = this.getStyle("marker-start"), o = this.getStyle("marker-mid"), s = this.getStyle("marker-end");
if (n.isUrlDefinition()) {
var u = n.getDefinition(), [l, h] = r[0];
u.render(e, l, h);
}
if (o.isUrlDefinition())
for (var f = o.getDefinition(), c = 1; c < i; c++) {
var [v, d] = r[c];
f.render(e, v, d);
}
if (s.isUrlDefinition()) {
var g = s.getDefinition(), [p, y] = r[i];
g.render(e, p, y);
}
}
}
static pathM(e) {
var t = e.getAsCurrentPoint();
return e.start = e.current, {
point: t
};
}
pathM(e, t) {
var {
pathParser: r
} = this, {
point: i
} = A.pathM(r), {
x: n,
y: o
} = i;
r.addMarker(i), t.addPoint(n, o), e && e.moveTo(n, o);
}
static pathL(e) {
var {
current: t
} = e, r = e.getAsCurrentPoint();
return {
current: t,
point: r
};
}
pathL(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathL(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathH(e) {
var {
current: t,
command: r
} = e, i = new V((r.relative ? t.x : 0) + r.x, t.y);
return e.current = i, {
current: t,
point: i
};
}
pathH(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathH(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathV(e) {
var {
current: t,
command: r
} = e, i = new V(t.x, (r.relative ? t.y : 0) + r.y);
return e.current = i, {
current: t,
point: i
};
}
pathV(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n
} = A.pathV(r), {
x: o,
y: s
} = n;
r.addMarker(n, i), t.addPoint(o, s), e && e.lineTo(o, s);
}
static pathC(e) {
var {
current: t
} = e, r = e.getPoint("x1", "y1"), i = e.getAsControlPoint("x2", "y2"), n = e.getAsCurrentPoint();
return {
current: t,
point: r,
controlPoint: i,
currentPoint: n
};
}
pathC(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n,
controlPoint: o,
currentPoint: s
} = A.pathC(r);
r.addMarker(s, o, n), t.addBezierCurve(i.x, i.y, n.x, n.y, o.x, o.y, s.x, s.y), e && e.bezierCurveTo(n.x, n.y, o.x, o.y, s.x, s.y);
}
static pathS(e) {
var {
current: t
} = e, r = e.getReflectedControlPoint(), i = e.getAsControlPoint("x2", "y2"), n = e.getAsCurrentPoint();
return {
current: t,
point: r,
controlPoint: i,
currentPoint: n
};
}
pathS(e, t) {
var {
pathParser: r
} = this, {
current: i,
point: n,
controlPoint: o,
currentPoint: s
} = A.pathS(r);
r.addMarker(s, o, n), t.addBezierCurve(i.x, i.y, n.x, n.y, o.x, o.y, s.x, s.y), e && e.bezierCurveTo(n.x, n.y, o.x, o.y, s.x, s.y);
}
static pathQ(e) {
var {
current: t
} = e, r = e.getAsControlPoint("x1", "y1"), i = e.getAsCurrentPoint();
return {
current: t,
controlPoint: r,
currentPoint: i
};
}
pathQ(e, t) {
var {
pathParser: r
} = this, {
current: i,
controlPoint: n,
currentPoint: o
} = A.pathQ(r);
r.addMarker(o, n, n), t.addQuadraticCurve(i.x, i.y, n.x, n.y, o.x, o.y), e && e.quadraticCurveTo(n.x, n.y, o.x, o.y);
}
static pathT(e) {
var {
current: t
} = e, r = e.getReflectedControlPoint();
e.control = r;
var i = e.getAsCurrentPoint();
return {
current: t,
controlPoint: r,
currentPoint: i
};
}
pathT(e, t) {
var {
pathParser: r
} = this, {
current: i,
controlPoint: n,
currentPoint: o
} = A.pathT(r);
r.addMarker(o, n, n), t.addQuadraticCurve(i.x, i.y, n.x, n.y, o.x, o.y), e && e.quadraticCurveTo(n.x, n.y, o.x, o.y);
}
static pathA(e) {
var {
current: t,
command: r
} = e, {
rX: i,
rY: n,
xRot: o,
lArcFlag: s,
sweepFlag: u
} = r, l = o * (Math.PI / 180), h = e.getAsCurrentPoint(), f = new V(Math.cos(l) * (t.x - h.x) / 2 + Math.sin(l) * (t.y - h.y) / 2, -Math.sin(l) * (t.x - h.x) / 2 + Math.cos(l) * (t.y - h.y) / 2), c = Math.pow(f.x, 2) / Math.pow(i, 2) + Math.pow(f.y, 2) / Math.pow(n, 2);
c > 1 && (i *= Math.sqrt(c), n *= Math.sqrt(c));
var v = (s === u ? -1 : 1) * Math.sqrt((Math.pow(i, 2) * Math.pow(n, 2) - Math.pow(i, 2) * Math.pow(f.y, 2) - Math.pow(n, 2) * Math.pow(f.x, 2)) / (Math.pow(i, 2) * Math.pow(f.y, 2) + Math.pow(n, 2) * Math.pow(f.x, 2)));
isNaN(v) && (v = 0);
var d = new V(v * i * f.y / n, v * -n * f.x / i), g = new V((t.x + h.x) / 2 + Math.cos(l) * d.x - Math.sin(l) * d.y, (t.y + h.y) / 2 + Math.sin(l) * d.x + Math.cos(l) * d.y), p = $o([1, 0], [(f.x - d.x) / i, (f.y - d.y) / n]), y = [(f.x - d.x) / i, (f.y - d.y) / n], x = [(-f.x - d.x) / i, (-f.y - d.y) / n], b = $o(y, x);
return Oi(y, x) <= -1 && (b = Math.PI), Oi(y, x) >= 1 && (b = 0), {
currentPoint: h,
rX: i,
rY: n,
sweepFlag: u,
xAxisRotation: l,
centp: g,
a1: p,
ad: b
};
}
pathA(e, t) {
var {
pathParser: r
} = this, {
currentPoint: i,
rX: n,
rY: o,
sweepFlag: s,
xAxisRotation: u,
centp: l,
a1: h,
ad: f
} = A.pathA(r), c = 1 - s ? 1 : -1, v = h + c * (f / 2), d = new V(l.x + n * Math.cos(v), l.y + o * Math.sin(v));
if (r.addMarkerAngle(d, v - c * Math.PI / 2), r.addMarkerAngle(i, v - c * Math.PI), t.addPoint(i.x, i.y), e && !isNaN(h) && !isNaN(f)) {
var g = n > o ? n : o, p = n > o ? 1 : n / o, y = n > o ? o / n : 1;
e.translate(l.x, l.y), e.rotate(u), e.scale(p, y), e.arc(0, 0, g, h, h + f, !!(1 - s)), e.scale(1 / p, 1 / y), e.rotate(-u), e.translate(-l.x, -l.y);
}
}
static pathZ(e) {
e.current = e.start;
}
pathZ(e, t) {
A.pathZ(this.pathParser), e && t.x1 !== t.x2 && t.y1 !== t.y2 && e.closePath();
}
}
class Ol extends A {
constructor(e, t, r) {
super(e, t, r), this.type = "glyph", this.horizAdvX = this.getAttribute("horiz-adv-x").getNumber(), this.unicode = this.getAttribute("unicode").getString(), this.arabicForm = this.getAttribute("arabic-form").getString();
}
}
class Ce extends He {
constructor(e, t, r) {
super(e, t, new.target === Ce ? !0 : r), this.type = "text", this.x = 0, this.y = 0, this.measureCache = -1;
}
setContext(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
super.setContext(e, t);
var r = this.getStyle("dominant-baseline").getTextBaseline() || this.getStyle("alignment-baseline").getTextBaseline();
r && (e.textBaseline = r);
}
initializeCoordinates() {
this.x = 0, this.y = 0, this.leafTexts = [], this.textChunkStart = 0, this.minX = Number.POSITIVE_INFINITY, this.maxX = Number.NEGATIVE_INFINITY;
}
getBoundingBox(e) {
if (this.type !== "text")
return this.getTElementBoundingBox(e);
this.initializeCoordinates(), this.adjustChildCoordinatesRecursive(e);
var t = null;
return this.children.forEach((r, i) => {
var n = this.getChildBoundingBox(e, this, this, i);
t ? t.addBoundingBox(n) : t = n;
}), t;
}
getFontSize() {
var {
document: e,
parent: t
} = this, r = J.parse(e.ctx.font).fontSize, i = t.getStyle("font-size").getNumber(r);
return i;
}
getTElementBoundingBox(e) {
var t = this.getFontSize();
return new he(this.x, this.y - t, this.x + this.measureText(e), this.y);
}
getGlyph(e, t, r) {
var i = t[r], n = null;
if (e.isArabic) {
var o = t.length, s = t[r - 1], u = t[r + 1], l = "isolated";
if ((r === 0 || s === " ") && r < o - 1 && u !== " " && (l = "terminal"), r > 0 && s !== " " && r < o - 1 && u !== " " && (l = "medial"), r > 0 && s !== " " && (r === o - 1 || u === " ") && (l = "initial"), typeof e.glyphs[i] < "u") {
var h = e.glyphs[i];
n = h instanceof Ol ? h : h[l];
}
} else
n = e.glyphs[i];
return n || (n = e.missingGlyph), n;
}
getText() {
return "";
}
getTextFromNode(e) {
var t = e || this.node, r = Array.from(t.parentNode.childNodes), i = r.indexOf(t), n = r.length - 1, o = ft(
// textNode.value
// || textNode.text
t.textContent || ""
);
return i === 0 && (o = a1(o)), i === n && (o = i1(o)), o;
}
renderChildren(e) {
if (this.type !== "text") {
this.renderTElementChildren(e);
return;
}
this.initializeCoordinates(), this.adjustChildCoordinatesRecursive(e), this.children.forEach((r, i) => {
this.renderChild(e, this, this, i);
});
var {
mouse: t
} = this.document.screen;
t.isWorking() && t.checkBoundingBox(this, this.getBoundingBox(e));
}
renderTElementChildren(e) {
var {
document: t,
parent: r
} = this, i = this.getText(), n = r.getStyle("font-family").getDefinition();
if (n) {
for (var {
unitsPerEm: o
} = n.fontFace, s = J.parse(t.ctx.font), u = r.getStyle("font-size").getNumber(s.fontSize), l = r.getStyle("font-style").getString(s.fontStyle), h = u / o, f = n.isRTL ? i.split("").reverse().join("") : i, c = ie(r.getAttribute("dx").getString()), v = f.length, d = 0; d < v; d++) {
var g = this.getGlyph(n, f, d);
e.translate(this.x, this.y), e.scale(h, -h);
var p = e.lineWidth;
e.lineWidth = e.lineWidth * o / u, l === "italic" && e.transform(1, 0, 0.4, 1, 0, 0), g.render(e), l === "italic" && e.transform(1, 0, -0.4, 1, 0, 0), e.lineWidth = p, e.scale(1 / h, -1 / h), e.translate(-this.x, -this.y), this.x += u * (g.horizAdvX || n.horizAdvX) / o, typeof c[d] < "u" && !isNaN(c[d]) && (this.x += c[d]);
}
return;
}
var {
x: y,
y: x
} = this;
e.fillStyle && e.fillText(i, y, x), e.strokeStyle && e.strokeText(i, y, x);
}
applyAnchoring() {
if (!(this.textChunkStart >= this.leafTexts.length)) {
var e = this.leafTexts[this.textChunkStart], t = e.getStyle("text-anchor").getString("start"), r = !1, i = 0;
t === "start" && !r || t === "end" && r ? i = e.x - this.minX : t === "end" && !r || t === "start" && r ? i = e.x - this.maxX : i = e.x - (this.minX + this.maxX) / 2;
for (var n = this.textChunkStart; n < this.leafTexts.length; n++)
this.leafTexts[n].x += i;
this.minX = Number.POSITIVE_INFINITY, this.maxX = Number.NEGATIVE_INFINITY, this.textChunkStart = this.leafTexts.length;
}
}
adjustChildCoordinatesRecursive(e) {
this.children.forEach((t, r) => {
this.adjustChildCoordinatesRecursiveCore(e, this, this, r);
}), this.applyAnchoring();
}
adjustChildCoordinatesRecursiveCore(e, t, r, i) {
var n = r.children[i];
n.children.length > 0 ? n.children.forEach((o, s) => {
t.adjustChildCoordinatesRecursiveCore(e, t, n, s);
}) : this.adjustChildCoordinates(e, t, r, i);
}
adjustChildCoordinates(e, t, r, i) {
var n = r.children[i];
if (typeof n.measureText != "function")
return n;
e.save(), n.setContext(e, !0);
var o = n.getAttribute("x"), s = n.getAttribute("y"), u = n.getAttribute("dx"), l = n.getAttribute("dy"), h = n.getStyle("font-family").getDefinition(), f = !!h && h.isRTL;
i === 0 && (o.hasValue() || o.setValue(n.getInheritedAttribute("x")), s.hasValue() || s.setValue(n.getInheritedAttribute("y")), u.hasValue() || u.setValue(n.getInheritedAttribute("dx")), l.hasValue() || l.setValue(n.getInheritedAttribute("dy")));
var c = n.measureText(e);
return f && (t.x -= c), o.hasValue() ? (t.applyAnchoring(), n.x = o.getPixels("x"), u.hasValue() && (n.x += u.getPixels("x"))) : (u.hasValue() && (t.x += u.getPixels("x")), n.x = t.x), t.x = n.x, f || (t.x += c), s.hasValue() ? (n.y = s.getPixels("y"), l.hasValue() && (n.y += l.getPixels("y"))) : (l.hasValue() && (t.y += l.getPixels("y")), n.y = t.y), t.y = n.y, t.leafTexts.push(n), t.minX = Math.min(t.minX, n.x, n.x + c), t.maxX = Math.max(t.maxX, n.x, n.x + c), n.clearContext(e), e.restore(), n;
}
getChildBoundingBox(e, t, r, i) {
var n = r.children[i];
if (typeof n.getBoundingBox != "function")
return null;
var o = n.getBoundingBox(e);
return o ? (n.children.forEach((s, u) => {
var l = t.getChildBoundingBox(e, t, n, u);
o.addBoundingBox(l);
}), o) : null;
}
renderChild(e, t, r, i) {
var n = r.children[i];
n.render(e), n.children.forEach((o, s) => {
t.renderChild(e, t, n, s);
});
}
measureText(e) {
var {
measureCache: t
} = this;
if (~t)
return t;
var r = this.getText(), i = this.measureTargetText(e, r);
return this.measureCache = i, i;
}
measureTargetText(e, t) {
if (!t.length)
return 0;
var {
parent: r
} = this, i = r.getStyle("font-family").getDefinition();
if (i) {
for (var n = this.getFontSize(), o = i.isRTL ? t.split("").reverse().join("") : t, s = ie(r.getAttribute("dx").getString()), u = o.length, l = 0, h = 0; h < u; h++) {
var f = this.getGlyph(i, o, h);
l += (f.horizAdvX || i.horizAdvX) * n / i.fontFace.unitsPerEm, typeof s[h] < "u" && !isNaN(s[h]) && (l += s[h]);
}
return l;
}
if (!e.measureText)
return t.length * 10;
e.save(), this.setContext(e, !0);
var {
width: c
} = e.measureText(t);
return this.clearContext(e), e.restore(), c;
}
/**
* Inherits positional attributes from {@link TextElement} parent(s). Attributes
* are only inherited from a parent to its first child.
* @param name - The attribute name.
* @returns The attribute value or null.
*/
getInheritedAttribute(e) {
for (var t = this; t instanceof Ce && t.isFirstChild(); ) {
var r = t.parent.getAttribute(e);
if (r.hasValue(!0))
return r.getValue("0");
t = t.parent;
}
return null;
}
}
class Br extends Ce {
constructor(e, t, r) {
super(e, t, new.target === Br ? !0 : r), this.type = "tspan", this.text = this.children.length > 0 ? "" : this.getTextFromNode();
}
getText() {
return this.text;
}
}
class N1 extends Br {
constructor() {
super(...arguments), this.type = "textNode";
}
}
class _t extends He {
constructor() {
super(...arguments), this.type = "svg", this.root = !1;
}
setContext(e) {
var t, {
document: r
} = this, {
screen: i,
window: n
} = r, o = e.canvas;
if (i.setDefaults(e), o.style && typeof e.font < "u" && n && typeof n.getComputedStyle < "u") {
e.font = n.getComputedStyle(o).getPropertyValue("font");
var s = new O(r, "fontSize", J.parse(e.font).fontSize);
s.hasValue() && (r.rootEmSize = s.getPixels("y"), r.emSize = r.rootEmSize);
}
this.getAttribute("x").hasValue() || this.getAttribute("x", !0).setValue(0), this.getAttribute("y").hasValue() || this.getAttribute("y", !0).setValue(0);
var {
width: u,
height: l
} = i.viewPort;
this.getStyle("width").hasValue() || this.getStyle("width", !0).setValue("100%"), this.getStyle("height").hasValue() || this.getStyle("height", !0).setValue("100%"), this.getStyle("color").hasValue() || this.getStyle("color", !0).setValue("black");
var h = this.getAttribute("refX"), f = this.getAttribute("refY"), c = this.getAttribute("viewBox"), v = c.hasValue() ? ie(c.getString()) : null, d = !this.root && this.getStyle("overflow").getValue("hidden") !== "visible", g = 0, p = 0, y = 0, x = 0;
v && (g = v[0], p = v[1]), this.root || (u = this.getStyle("width").getPixels("x"), l = this.getStyle("height").getPixels("y"), this.type === "marker" && (y = g, x = p, g = 0, p = 0)), i.viewPort.setCurrent(u, l), this.node && (!this.parent || ((t = this.node.parentNode) === null || t === void 0 ? void 0 : t.nodeName) === "foreignObject") && this.getStyle("transform", !1, !0).hasValue() && !this.getStyle("transform-origin", !1, !0).hasValue() && this.getStyle("transform-origin", !0, !0).setValue("50% 50%"), super.setContext(e), e.translate(this.getAttribute("x").getPixels("x"), this.getAttribute("y").getPixels("y")), v && (u = v[2], l = v[3]), r.setViewBox({
ctx: e,
aspectRatio: this.getAttribute("preserveAspectRatio").getString(),
width: i.viewPort.width,
desiredWidth: u,
height: i.viewPort.height,
desiredHeight: l,
minX: g,
minY: p,
refX: h.getValue(),
refY: f.getValue(),
clip: d,
clipX: y,
clipY: x
}), v && (i.viewPort.removeCurrent(), i.viewPort.setCurrent(u, l));
}
clearContext(e) {
super.clearContext(e), this.document.screen.viewPort.removeCurrent();
}
/**
* Resize SVG to fit in given size.
* @param width
* @param height
* @param preserveAspectRatio
*/
resize(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, i = this.getAttribute("width", !0), n = this.getAttribute("height", !0), o = this.getAttribute("viewBox"), s = this.getAttribute("style"), u = i.getNumber(0), l = n.getNumber(0);
if (r)
if (typeof r == "string")
this.getAttribute("preserveAspectRatio", !0).setValue(r);
else {
var h = this.getAttribute("preserveAspectRatio");
h.hasValue() && h.setValue(h.getString().replace(/^\s*(\S.*\S)\s*$/, "$1"));
}
if (i.setValue(e), n.setValue(t), o.hasValue() || o.setValue("0 0 ".concat(u || e, " ").concat(l || t)), s.hasValue()) {
var f = this.getStyle("width"), c = this.getStyle("height");
f.hasValue() && f.setValue("".concat(e, "px")), c.hasValue() && c.setValue("".concat(t, "px"));
}
}
}
class El extends A {
constructor() {
super(...arguments), this.type = "rect";
}
path(e) {
var t = this.getAttribute("x").getPixels("x"), r = this.getAttribute("y").getPixels("y"), i = this.getStyle("width", !1, !0).getPixels("x"), n = this.getStyle("height", !1, !0).getPixels("y"), o = this.getAttribute("rx"), s = this.getAttribute("ry"), u = o.getPixels("x"), l = s.getPixels("y");
if (o.hasValue() && !s.hasValue() && (l = u), s.hasValue() && !o.hasValue() && (u = l), u = Math.min(u, i / 2), l = Math.min(l, n / 2), e) {
var h = 4 * ((Math.sqrt(2) - 1) / 3);
e.beginPath(), n > 0 && i > 0 && (e.moveTo(t + u, r), e.lineTo(t + i - u, r), e.bezierCurveTo(t + i - u + h * u, r, t + i, r + l - h * l, t + i, r + l), e.lineTo(t + i, r + n - l), e.bezierCurveTo(t + i, r + n - l + h * l, t + i - u + h * u, r + n, t + i - u, r + n), e.lineTo(t + u, r + n), e.bezierCurveTo(t + u - h * u, r + n, t, r + n - l + h * l, t, r + n - l), e.lineTo(t, r + l), e.bezierCurveTo(t, r + l - h * l, t + u - h * u, r, t + u, r), e.closePath());
}
return new he(t, r, t + i, r + n);
}
getMarkers() {
return null;
}
}
class M1 extends A {
constructor() {
super(...arguments), this.type = "circle";
}
path(e) {
var t = this.getAttribute("cx").getPixels("x"), r = this.getAttribute("cy").getPixels("y"), i = this.getAttribute("r").getPixels();
return e && i > 0 && (e.beginPath(), e.arc(t, r, i, 0, Math.PI * 2, !1), e.closePath()), new he(t - i, r - i, t + i, r + i);
}
getMarkers() {
return null;
}
}
class _1 extends A {
constructor() {
super(...arguments), this.type = "ellipse";
}
path(e) {
var t = 4 * ((Math.sqrt(2) - 1) / 3), r = this.getAttribute("rx").getPixels("x"), i = this.getAttribute("ry").getPixels("y"), n = this.getAttribute("cx").getPixels("x"), o = this.getAttribute("cy").getPixels("y");
return e && r > 0 && i > 0 && (e.beginPath(), e.moveTo(n + r, o), e.bezierCurveTo(n + r, o + t * i, n + t * r, o + i, n, o + i), e.bezierCurveTo(n - t * r, o + i, n - r, o + t * i, n - r, o), e.bezierCurveTo(n - r, o - t * i, n - t * r, o - i, n, o - i), e.bezierCurveTo(n + t * r, o - i, n + r, o - t * i, n + r, o), e.closePath()), new he(n - r, o - i, n + r, o + i);
}
getMarkers() {
return null;
}
}
class D1 extends A {
constructor() {
super(...arguments), this.type = "line";
}
getPoints() {
return [new V(this.getAttribute("x1").getPixels("x"), this.getAttribute("y1").getPixels("y")), new V(this.getAttribute("x2").getPixels("x"), this.getAttribute("y2").getPixels("y"))];
}
path(e) {
var [{
x: t,
y: r
}, {
x: i,
y: n
}] = this.getPoints();
return e && (e.beginPath(), e.moveTo(t, r), e.lineTo(i, n)), new he(t, r, i, n);
}
getMarkers() {
var [e, t] = this.getPoints(), r = e.angleTo(t);
return [[e, r], [t, r]];
}
}
class $l extends A {
constructor(e, t, r) {
super(e, t, r), this.type = "polyline", this.points = [], this.points = V.parsePath(this.getAttribute("points").getString());
}
path(e) {
var {
points: t
} = this, [{
x: r,
y: i
}] = t, n = new he(r, i);
return e && (e.beginPath(), e.moveTo(r, i)), t.forEach((o) => {
var {
x: s,
y: u
} = o;
n.addPoint(s, u), e && e.lineTo(s, u);
}), n;
}
getMarkers() {
var {
points: e
} = this, t = e.length - 1, r = [];
return e.forEach((i, n) => {
n !== t && r.push([i, i.angleTo(e[n + 1])]);
}), r.length > 0 && r.push([e[e.length - 1], r[r.length - 1][1]]), r;
}
}
class V1 extends $l {
constructor() {
super(...arguments), this.type = "polygon";
}
path(e) {
var t = super.path(e), [{
x: r,
y: i
}] = this.points;
return e && (e.lineTo(r, i), e.closePath()), t;
}
}
class L1 extends I {
constructor() {
super(...arguments), this.type = "pattern";
}
createPattern(e, t, r) {
var i = this.getStyle("width").getPixels("x", !0), n = this.getStyle("height").getPixels("y", !0), o = new _t(this.document, null);
o.attributes.viewBox = new O(this.document, "viewBox", this.getAttribute("viewBox").getValue()), o.attributes.width = new O(this.document, "width", "".concat(i, "px")), o.attributes.height = new O(this.document, "height", "".concat(n, "px")), o.attributes.transform = new O(this.document, "transform", this.getAttribute("patternTransform").getValue()), o.children = this.children;
var s = this.document.createCanvas(i, n), u = s.getContext("2d"), l = this.getAttribute("x"), h = this.getAttribute("y");
l.hasValue() && h.hasValue() && u.translate(l.getPixels("x", !0), h.getPixels("y", !0)), r.hasValue() ? this.styles["fill-opacity"] = r : Reflect.deleteProperty(this.styles, "fill-opacity");
for (var f = -1; f <= 1; f++)
for (var c = -1; c <= 1; c++)
u.save(), o.attributes.x = new O(this.document, "x", f * s.width), o.attributes.y = new O(this.document, "y", c * s.height), o.render(u), u.restore();
var v = e.createPattern(s, "repeat");
return v;
}
}
class k1 extends I {
constructor() {
super(...arguments), this.type = "marker";
}
render(e, t, r) {
if (t) {
var {
x: i,
y: n
} = t, o = this.getAttribute("orient").getString("auto"), s = this.getAttribute("markerUnits").getString("strokeWidth");
e.translate(i, n), o === "auto" && e.rotate(r), s === "strokeWidth" && e.scale(e.lineWidth, e.lineWidth), e.save();
var u = new _t(this.document, null);
u.type = this.type, u.attributes.viewBox = new O(this.document, "viewBox", this.getAttribute("viewBox").getValue()), u.attributes.refX = new O(this.document, "refX", this.getAttribute("refX").getValue()), u.attributes.refY = new O(this.document, "refY", this.getAttribute("refY").getValue()), u.attributes.width = new O(this.document, "width", this.getAttribute("markerWidth").getValue()), u.attributes.height = new O(this.document, "height", this.getAttribute("markerHeight").getValue()), u.attributes.overflow = new O(this.document, "overflow", this.getAttribute("overflow").getValue()), u.attributes.fill = new O(this.document, "fill", this.getAttribute("fill").getColor("black")), u.attributes.stroke = new O(this.document, "stroke", this.getAttribute("stroke").getValue("none")), u.children = this.children, u.render(e), e.restore(), s === "strokeWidth" && e.scale(1 / e.lineWidth, 1 / e.lineWidth), o === "auto" && e.rotate(-r), e.translate(-i, -n);
}
}
}
class B1 extends I {
constructor() {
super(...arguments), this.type = "defs";
}
render() {
}
}
class un extends He {
constructor() {
super(...arguments), this.type = "g";
}
getBoundingBox(e) {
var t = new he();
return this.children.forEach((r) => {
t.addBoundingBox(r.getBoundingBox(e));
}), t;
}
}
class wl extends I {
constructor(e, t, r) {
super(e, t, r), this.attributesToInherit = ["gradientUnits"], this.stops = [];
var {
stops: i,
children: n
} = this;
n.forEach((o) => {
o.type === "stop" && i.push(o);
});
}
getGradientUnits() {
return this.getAttribute("gradientUnits").getString("objectBoundingBox");
}
createGradient(e, t, r) {
var i = this;
this.getHrefAttribute().hasValue() && (i = this.getHrefAttribute().getDefinition(), this.inheritStopContainer(i));
var {
stops: n
} = i, o = this.getGradient(e, t);
if (!o)
return this.addParentOpacity(r, n[n.length - 1].color);
if (n.forEach((p) => {
o.addColorStop(p.offset, this.addParentOpacity(r, p.color));
}), this.getAttribute("gradientTransform").hasValue()) {
var {
document: s
} = this, {
MAX_VIRTUAL_PIXELS: u,
viewPort: l
} = s.screen, [h] = l.viewPorts, f = new El(s, null);
f.attributes.x = new O(s, "x", -u / 3), f.attributes.y = new O(s, "y", -u / 3), f.attributes.width = new O(s, "width", u), f.attributes.height = new O(s, "height", u);
var c = new un(s, null);
c.attributes.transform = new O(s, "transform", this.getAttribute("gradientTransform").getValue()), c.children = [f];
var v = new _t(s, null);
v.attributes.x = new O(s, "x", 0), v.attributes.y = new O(s, "y", 0), v.attributes.width = new O(s, "width", h.width), v.attributes.height = new O(s, "height", h.height), v.children = [c];
var d = s.createCanvas(h.width, h.height), g = d.getContext("2d");
return g.fillStyle = o, v.render(g), g.createPattern(d, "no-repeat");
}
return o;
}
inheritStopContainer(e) {
this.attributesToInherit.forEach((t) => {
!this.getAttribute(t).hasValue() && e.getAttribute(t).hasValue() && this.getAttribute(t, !0).setValue(e.getAttribute(t).getValue());
});
}
addParentOpacity(e, t) {
if (e.hasValue()) {
var r = new O(this.document, "color", t);
return r.addOpacity(e).getColor();
}
return t;
}
}
class F1 extends wl {
constructor(e, t, r) {
super(e, t, r), this.type = "linearGradient", this.attributesToInherit.push("x1", "y1", "x2", "y2");
}
getGradient(e, t) {
var r = this.getGradientUnits() === "objectBoundingBox", i = r ? t.getBoundingBox(e) : null;
if (r && !i)
return null;
!this.getAttribute("x1").hasValue() && !this.getAttribute("y1").hasValue() && !this.getAttribute("x2").hasValue() && !this.getAttribute("y2").hasValue() && (this.getAttribute("x1", !0).setValue(0), this.getAttribute("y1", !0).setValue(0), this.getAttribute("x2", !0).setValue(1), this.getAttribute("y2", !0).setValue(0));
var n = r ? i.x + i.width * this.getAttribute("x1").getNumber() : this.getAttribute("x1").getPixels("x"), o = r ? i.y + i.height * this.getAttribute("y1").getNumber() : this.getAttribute("y1").getPixels("y"), s = r ? i.x + i.width * this.getAttribute("x2").getNumber() : this.getAttribute("x2").getPixels("x"), u = r ? i.y + i.height * this.getAttribute("y2").getNumber() : this.getAttribute("y2").getPixels("y");
return n === s && o === u ? null : e.createLinearGradient(n, o, s, u);
}
}
class j1 extends wl {
constructor(e, t, r) {
super(e, t, r), this.type = "radialGradient", this.attributesToInherit.push("cx", "cy", "r", "fx", "fy", "fr");
}
getGradient(e, t) {
var r = this.getGradientUnits() === "objectBoundingBox", i = t.getBoundingBox(e);
if (r && !i)
return null;
this.getAttribute("cx").hasValue() || this.getAttribute("cx", !0).setValue("50%"), this.getAttribute("cy").hasValue() || this.getAttribute("cy", !0).setValue("50%"), this.getAttribute("r").hasValue() || this.getAttribute("r", !0).setValue("50%");
var n = r ? i.x + i.width * this.getAttribute("cx").getNumber() : this.getAttribute("cx").getPixels("x"), o = r ? i.y + i.height * this.getAttribute("cy").getNumber() : this.getAttribute("cy").getPixels("y"), s = n, u = o;
this.getAttribute("fx").hasValue() && (s = r ? i.x + i.width * this.getAttribute("fx").getNumber() : this.getAttribute("fx").getPixels("x")), this.getAttribute("fy").hasValue() && (u = r ? i.y + i.height * this.getAttribute("fy").getNumber() : this.getAttribute("fy").getPixels("y"));
var l = r ? (i.width + i.height) / 2 * this.getAttribute("r").getNumber() : this.getAttribute("r").getPixels(), h = this.getAttribute("fr").getPixels();
return e.createRadialGradient(s, u, h, n, o, l);
}
}
class U1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "stop";
var i = Math.max(0, Math.min(1, this.getAttribute("offset").getNumber())), n = this.getStyle("stop-opacity"), o = this.getStyle("stop-color", !0);
o.getString() === "" && o.setValue("#000"), n.hasValue() && (o = o.addOpacity(n)), this.offset = i, this.color = o.getColor();
}
}
class ln extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "animate", this.duration = 0, this.initialValue = null, this.initialUnits = "", this.removed = !1, this.frozen = !1, e.screen.animations.push(this), this.begin = this.getAttribute("begin").getMilliseconds(), this.maxDuration = this.begin + this.getAttribute("dur").getMilliseconds(), this.from = this.getAttribute("from"), this.to = this.getAttribute("to"), this.values = new O(e, "values", null);
var i = this.getAttribute("values");
i.hasValue() && this.values.setValue(i.getString().split(";"));
}
getProperty() {
var e = this.getAttribute("attributeType").getString(), t = this.getAttribute("attributeName").getString();
return e === "CSS" ? this.parent.getStyle(t, !0) : this.parent.getAttribute(t, !0);
}
calcValue() {
var {
initialUnits: e
} = this, {
progress: t,
from: r,
to: i
} = this.getProgress(), n = r.getNumber() + (i.getNumber() - r.getNumber()) * t;
return e === "%" && (n *= 100), "".concat(n).concat(e);
}
update(e) {
var {
parent: t
} = this, r = this.getProperty();
if (this.initialValue || (this.initialValue = r.getString(), this.initialUnits = r.getUnits()), this.duration > this.maxDuration) {
var i = this.getAttribute("fill").getString("remove");
if (this.getAttribute("repeatCount").getString() === "indefinite" || this.getAttribute("repeatDur").getString() === "indefinite")
this.duration = 0;
else if (i === "freeze" && !this.frozen)
this.frozen = !0, t.animationFrozen = !0, t.animationFrozenValue = r.getString();
else if (i === "remove" && !this.removed)
return this.removed = !0, r.setValue(t.animationFrozen ? t.animationFrozenValue : this.initialValue), !0;
return !1;
}
this.duration += e;
var n = !1;
if (this.begin < this.duration) {
var o = this.calcValue(), s = this.getAttribute("type");
if (s.hasValue()) {
var u = s.getString();
o = "".concat(u, "(").concat(o, ")");
}
r.setValue(o), n = !0;
}
return n;
}
getProgress() {
var {
document: e,
values: t
} = this, r = {
progress: (this.duration - this.begin) / (this.maxDuration - this.begin)
};
if (t.hasValue()) {
var i = r.progress * (t.getValue().length - 1), n = Math.floor(i), o = Math.ceil(i);
r.from = new O(e, "from", parseFloat(t.getValue()[n])), r.to = new O(e, "to", parseFloat(t.getValue()[o])), r.progress = (i - n) / (o - n);
} else
r.from = this.from, r.to = this.to;
return r;
}
}
class z1 extends ln {
constructor() {
super(...arguments), this.type = "animateColor";
}
calcValue() {
var {
progress: e,
from: t,
to: r
} = this.getProgress(), i = new xi(t.getColor()), n = new xi(r.getColor());
if (i.ok && n.ok) {
var o = i.r + (n.r - i.r) * e, s = i.g + (n.g - i.g) * e, u = i.b + (n.b - i.b) * e;
return "rgb(".concat(Math.floor(o), ", ").concat(Math.floor(s), ", ").concat(Math.floor(u), ")");
}
return this.getAttribute("from").getColor();
}
}
class G1 extends ln {
constructor() {
super(...arguments), this.type = "animateTransform";
}
calcValue() {
var {
progress: e,
from: t,
to: r
} = this.getProgress(), i = ie(t.getString()), n = ie(r.getString()), o = i.map((s, u) => {
var l = n[u];
return s + (l - s) * e;
}).join(" ");
return o;
}
}
class H1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "font", this.glyphs = {}, this.horizAdvX = this.getAttribute("horiz-adv-x").getNumber();
var {
definitions: i
} = e, {
children: n
} = this;
for (var o of n)
switch (o.type) {
case "font-face": {
this.fontFace = o;
var s = o.getStyle("font-family");
s.hasValue() && (i[s.getString()] = this);
break;
}
case "missing-glyph":
this.missingGlyph = o;
break;
case "glyph": {
var u = o;
u.arabicForm ? (this.isRTL = !0, this.isArabic = !0, typeof this.glyphs[u.unicode] > "u" && (this.glyphs[u.unicode] = {}), this.glyphs[u.unicode][u.arabicForm] = u) : this.glyphs[u.unicode] = u;
break;
}
}
}
render() {
}
}
class Y1 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "font-face", this.ascent = this.getAttribute("ascent").getNumber(), this.descent = this.getAttribute("descent").getNumber(), this.unitsPerEm = this.getAttribute("units-per-em").getNumber();
}
}
class X1 extends A {
constructor() {
super(...arguments), this.type = "missing-glyph", this.horizAdvX = 0;
}
}
class W1 extends Ce {
constructor() {
super(...arguments), this.type = "tref";
}
getText() {
var e = this.getHrefAttribute().getDefinition();
if (e) {
var t = e.children[0];
if (t)
return t.getText();
}
return "";
}
}
class q1 extends Ce {
constructor(e, t, r) {
super(e, t, r), this.type = "a";
var {
childNodes: i
} = t, n = i[0], o = i.length > 0 && Array.from(i).every((s) => s.nodeType === 3);
this.hasText = o, this.text = o ? this.getTextFromNode(n) : "";
}
getText() {
return this.text;
}
renderChildren(e) {
if (this.hasText) {
super.renderChildren(e);
var {
document: t,
x: r,
y: i
} = this, {
mouse: n
} = t.screen, o = new O(t, "fontSize", J.parse(t.ctx.font).fontSize);
n.isWorking() && n.checkBoundingBox(this, new he(r, i - o.getPixels("y"), r + this.measureText(e), i));
} else if (this.children.length > 0) {
var s = new un(this.document, null);
s.children = this.children, s.parent = this, s.render(e);
}
}
onClick() {
var {
window: e
} = this.document;
e && e.open(this.getHrefAttribute().getString());
}
onMouseMove() {
var e = this.document.ctx;
e.canvas.style.cursor = "pointer";
}
}
function Mo(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function nr(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? Mo(Object(t), !0).forEach(function(r) {
nn(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : Mo(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
class Q1 extends Ce {
constructor(e, t, r) {
super(e, t, r), this.type = "textPath", this.textWidth = 0, this.textHeight = 0, this.pathLength = -1, this.glyphInfo = null, this.letterSpacingCache = [], this.measuresCache = /* @__PURE__ */ new Map([["", 0]]);
var i = this.getHrefAttribute().getDefinition();
this.text = this.getTextFromNode(), this.dataArray = this.parsePathData(i);
}
getText() {
return this.text;
}
path(e) {
var {
dataArray: t
} = this;
e && e.beginPath(), t.forEach((r) => {
var {
type: i,
points: n
} = r;
switch (i) {
case w.LINE_TO:
e && e.lineTo(n[0], n[1]);
break;
case w.MOVE_TO:
e && e.moveTo(n[0], n[1]);
break;
case w.CURVE_TO:
e && e.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]);
break;
case w.QUAD_TO:
e && e.quadraticCurveTo(n[0], n[1], n[2], n[3]);
break;
case w.ARC: {
var [o, s, u, l, h, f, c, v] = n, d = u > l ? u : l, g = u > l ? 1 : u / l, p = u > l ? l / u : 1;
e && (e.translate(o, s), e.rotate(c), e.scale(g, p), e.arc(0, 0, d, h, h + f, !!(1 - v)), e.scale(1 / g, 1 / p), e.rotate(-c), e.translate(-o, -s));
break;
}
case w.CLOSE_PATH:
e && e.closePath();
break;
}
});
}
renderChildren(e) {
this.setTextData(e), e.save();
var t = this.parent.getStyle("text-decoration").getString(), r = this.getFontSize(), {
glyphInfo: i
} = this, n = e.fillStyle;
t === "underline" && e.beginPath(), i.forEach((o, s) => {
var {
p0: u,
p1: l,
rotation: h,
text: f
} = o;
e.save(), e.translate(u.x, u.y), e.rotate(h), e.fillStyle && e.fillText(f, 0, 0), e.strokeStyle && e.strokeText(f, 0, 0), e.restore(), t === "underline" && (s === 0 && e.moveTo(u.x, u.y + r / 8), e.lineTo(l.x, l.y + r / 5));
}), t === "underline" && (e.lineWidth = r / 20, e.strokeStyle = n, e.stroke(), e.closePath()), e.restore();
}
getLetterSpacingAt() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
return this.letterSpacingCache[e] || 0;
}
findSegmentToFitChar(e, t, r, i, n, o, s, u, l) {
var h = o, f = this.measureText(e, u);
u === " " && t === "justify" && r < i && (f += (i - r) / n), l > -1 && (h += this.getLetterSpacingAt(l));
var c = this.textHeight / 20, v = this.getEquidistantPointOnPath(h, c, 0), d = this.getEquidistantPointOnPath(h + f, c, 0), g = {
p0: v,
p1: d
}, p = v && d ? Math.atan2(d.y - v.y, d.x - v.x) : 0;
if (s) {
var y = Math.cos(Math.PI / 2 + p) * s, x = Math.cos(-p) * s;
g.p0 = nr(nr({}, v), {}, {
x: v.x + y,
y: v.y + x
}), g.p1 = nr(nr({}, d), {}, {
x: d.x + y,
y: d.y + x
});
}
return h += f, {
offset: h,
segment: g,
rotation: p
};
}
measureText(e, t) {
var {
measuresCache: r
} = this, i = t || this.getText();
if (r.has(i))
return r.get(i);
var n = this.measureTargetText(e, i);
return r.set(i, n), n;
}
// This method supposes what all custom fonts already loaded.
// If some font will be loaded after this method call, <textPath> will not be rendered correctly.
// You need to call this method manually to update glyphs cache.
setTextData(e) {
if (!this.glyphInfo) {
var t = this.getText(), r = t.split(""), i = t.split(" ").length - 1, n = this.parent.getAttribute("dx").split().map((T) => T.getPixels("x")), o = this.parent.getAttribute("dy").getPixels("y"), s = this.parent.getStyle("text-anchor").getString("start"), u = this.getStyle("letter-spacing"), l = this.parent.getStyle("letter-spacing"), h = 0;
!u.hasValue() || u.getValue() === "inherit" ? h = l.getPixels() : u.hasValue() && u.getValue() !== "initial" && u.getValue() !== "unset" && (h = u.getPixels());
var f = [], c = t.length;
this.letterSpacingCache = f;
for (var v = 0; v < c; v++)
f.push(typeof n[v] < "u" ? n[v] : h);
var d = f.reduce((T, $, E) => E === 0 ? 0 : T + $ || 0, 0), g = this.measureText(e), p = Math.max(g + d, 0);
this.textWidth = g, this.textHeight = this.getFontSize(), this.glyphInfo = [];
var y = this.getPathLength(), x = this.getStyle("startOffset").getNumber(0) * y, b = 0;
(s === "middle" || s === "center") && (b = -p / 2), (s === "end" || s === "right") && (b = -p), b += x, r.forEach((T, $) => {
var {
offset: E,
segment: S,
rotation: C
} = this.findSegmentToFitChar(e, s, p, y, i, b, o, T, $);
b = E, !(!S.p0 || !S.p1) && this.glyphInfo.push({
// transposeX: midpoint.x,
// transposeY: midpoint.y,
text: r[$],
p0: S.p0,
p1: S.p1,
rotation: C
});
});
}
}
parsePathData(e) {
if (this.pathLength = -1, !e)
return [];
var t = [], {
pathParser: r
} = e;
for (r.reset(); !r.isEnd(); ) {
var {
current: i
} = r, n = i ? i.x : 0, o = i ? i.y : 0, s = r.next(), u = s.type, l = [];
switch (s.type) {
case w.MOVE_TO:
this.pathM(r, l);
break;
case w.LINE_TO:
u = this.pathL(r, l);
break;
case w.HORIZ_LINE_TO:
u = this.pathH(r, l);
break;
case w.VERT_LINE_TO:
u = this.pathV(r, l);
break;
case w.CURVE_TO:
this.pathC(r, l);
break;
case w.SMOOTH_CURVE_TO:
u = this.pathS(r, l);
break;
case w.QUAD_TO:
this.pathQ(r, l);
break;
case w.SMOOTH_QUAD_TO:
u = this.pathT(r, l);
break;
case w.ARC:
l = this.pathA(r);
break;
case w.CLOSE_PATH:
A.pathZ(r);
break;
}
s.type !== w.CLOSE_PATH ? t.push({
type: u,
points: l,
start: {
x: n,
y: o
},
pathLength: this.calcLength(n, o, u, l)
}) : t.push({
type: w.CLOSE_PATH,
points: [],
pathLength: 0
});
}
return t;
}
pathM(e, t) {
var {
x: r,
y: i
} = A.pathM(e).point;
t.push(r, i);
}
pathL(e, t) {
var {
x: r,
y: i
} = A.pathL(e).point;
return t.push(r, i), w.LINE_TO;
}
pathH(e, t) {
var {
x: r,
y: i
} = A.pathH(e).point;
return t.push(r, i), w.LINE_TO;
}
pathV(e, t) {
var {
x: r,
y: i
} = A.pathV(e).point;
return t.push(r, i), w.LINE_TO;
}
pathC(e, t) {
var {
point: r,
controlPoint: i,
currentPoint: n
} = A.pathC(e);
t.push(r.x, r.y, i.x, i.y, n.x, n.y);
}
pathS(e, t) {
var {
point: r,
controlPoint: i,
currentPoint: n
} = A.pathS(e);
return t.push(r.x, r.y, i.x, i.y, n.x, n.y), w.CURVE_TO;
}
pathQ(e, t) {
var {
controlPoint: r,
currentPoint: i
} = A.pathQ(e);
t.push(r.x, r.y, i.x, i.y);
}
pathT(e, t) {
var {
controlPoint: r,
currentPoint: i
} = A.pathT(e);
return t.push(r.x, r.y, i.x, i.y), w.QUAD_TO;
}
pathA(e) {
var {
rX: t,
rY: r,
sweepFlag: i,
xAxisRotation: n,
centp: o,
a1: s,
ad: u
} = A.pathA(e);
return i === 0 && u > 0 && (u -= 2 * Math.PI), i === 1 && u < 0 && (u += 2 * Math.PI), [o.x, o.y, t, r, s, u, n, i];
}
calcLength(e, t, r, i) {
var n = 0, o = null, s = null, u = 0;
switch (r) {
case w.LINE_TO:
return this.getLineLength(e, t, i[0], i[1]);
case w.CURVE_TO:
for (n = 0, o = this.getPointOnCubicBezier(0, e, t, i[0], i[1], i[2], i[3], i[4], i[5]), u = 0.01; u <= 1; u += 0.01)
s = this.getPointOnCubicBezier(u, e, t, i[0], i[1], i[2], i[3], i[4], i[5]), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return n;
case w.QUAD_TO:
for (n = 0, o = this.getPointOnQuadraticBezier(0, e, t, i[0], i[1], i[2], i[3]), u = 0.01; u <= 1; u += 0.01)
s = this.getPointOnQuadraticBezier(u, e, t, i[0], i[1], i[2], i[3]), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return n;
case w.ARC: {
n = 0;
var l = i[4], h = i[5], f = i[4] + h, c = Math.PI / 180;
if (Math.abs(l - f) < c && (c = Math.abs(l - f)), o = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], l, 0), h < 0)
for (u = l - c; u > f; u -= c)
s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], u, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
else
for (u = l + c; u < f; u += c)
s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], u, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), o = s;
return s = this.getPointOnEllipticalArc(i[0], i[1], i[2], i[3], f, 0), n += this.getLineLength(o.x, o.y, s.x, s.y), n;
}
}
return 0;
}
getPointOnLine(e, t, r, i, n) {
var o = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : t, s = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : r, u = (n - r) / (i - t + nt), l = Math.sqrt(e * e / (1 + u * u));
i < t && (l *= -1);
var h = u * l, f = null;
if (i === t)
f = {
x: o,
y: s + h
};
else if ((s - r) / (o - t + nt) === u)
f = {
x: o + l,
y: s + h
};
else {
var c = 0, v = 0, d = this.getLineLength(t, r, i, n);
if (d < nt)
return null;
var g = (o - t) * (i - t) + (s - r) * (n - r);
g /= d * d, c = t + g * (i - t), v = r + g * (n - r);
var p = this.getLineLength(o, s, c, v), y = Math.sqrt(e * e - p * p);
l = Math.sqrt(y * y / (1 + u * u)), i < t && (l *= -1), h = u * l, f = {
x: c + l,
y: v + h
};
}
return f;
}
getPointOnPath(e) {
var t = this.getPathLength(), r = 0, i = null;
if (e < -5e-5 || e - 5e-5 > t)
return null;
var {
dataArray: n
} = this;
for (var o of n) {
if (o && (o.pathLength < 5e-5 || r + o.pathLength + 5e-5 < e)) {
r += o.pathLength;
continue;
}
var s = e - r, u = 0;
switch (o.type) {
case w.LINE_TO:
i = this.getPointOnLine(s, o.start.x, o.start.y, o.points[0], o.points[1], o.start.x, o.start.y);
break;
case w.ARC: {
var l = o.points[4], h = o.points[5], f = o.points[4] + h;
if (u = l + s / o.pathLength * h, h < 0 && u < f || h >= 0 && u > f)
break;
i = this.getPointOnEllipticalArc(o.points[0], o.points[1], o.points[2], o.points[3], u, o.points[6]);
break;
}
case w.CURVE_TO:
u = s / o.pathLength, u > 1 && (u = 1), i = this.getPointOnCubicBezier(u, o.start.x, o.start.y, o.points[0], o.points[1], o.points[2], o.points[3], o.points[4], o.points[5]);
break;
case w.QUAD_TO:
u = s / o.pathLength, u > 1 && (u = 1), i = this.getPointOnQuadraticBezier(u, o.start.x, o.start.y, o.points[0], o.points[1], o.points[2], o.points[3]);
break;
}
if (i)
return i;
break;
}
return null;
}
getLineLength(e, t, r, i) {
return Math.sqrt((r - e) * (r - e) + (i - t) * (i - t));
}
getPathLength() {
return this.pathLength === -1 && (this.pathLength = this.dataArray.reduce((e, t) => t.pathLength > 0 ? e + t.pathLength : e, 0)), this.pathLength;
}
getPointOnCubicBezier(e, t, r, i, n, o, s, u, l) {
var h = u * wo(e) + o * Co(e) + i * Ao(e) + t * Po(e), f = l * wo(e) + s * Co(e) + n * Ao(e) + r * Po(e);
return {
x: h,
y: f
};
}
getPointOnQuadraticBezier(e, t, r, i, n, o, s) {
var u = o * Ro(e) + i * Io(e) + t * No(e), l = s * Ro(e) + n * Io(e) + r * No(e);
return {
x: u,
y: l
};
}
getPointOnEllipticalArc(e, t, r, i, n, o) {
var s = Math.cos(o), u = Math.sin(o), l = {
x: r * Math.cos(n),
y: i * Math.sin(n)
};
return {
x: e + (l.x * s - l.y * u),
y: t + (l.x * u + l.y * s)
};
}
// TODO need some optimisations. possibly build cache only for curved segments?
buildEquidistantCache(e, t) {
var r = this.getPathLength(), i = t || 0.25, n = e || r / 100;
if (!this.equidistantCache || this.equidistantCache.step !== n || this.equidistantCache.precision !== i) {
this.equidistantCache = {
step: n,
precision: i,
points: []
};
for (var o = 0, s = 0; s <= r; s += i) {
var u = this.getPointOnPath(s), l = this.getPointOnPath(s + i);
!u || !l || (o += this.getLineLength(u.x, u.y, l.x, l.y), o >= n && (this.equidistantCache.points.push({
x: u.x,
y: u.y,
distance: s
}), o -= n));
}
}
}
getEquidistantPointOnPath(e, t, r) {
if (this.buildEquidistantCache(t, r), e < 0 || e - this.getPathLength() > 5e-5)
return null;
var i = Math.round(e / this.getPathLength() * (this.equidistantCache.points.length - 1));
return this.equidistantCache.points[i] || null;
}
}
var K1 = /^\s*data:(([^/,;]+\/[^/,;]+)(?:;([^,;=]+=[^,;=]+))?)?(?:;(base64))?,(.*)$/i;
class Z1 extends He {
constructor(e, t, r) {
super(e, t, r), this.type = "image", this.loaded = !1;
var i = this.getHrefAttribute().getString();
if (i) {
var n = i.endsWith(".svg") || /^\s*data:image\/svg\+xml/i.test(i);
e.images.push(this), n ? this.loadSvg(i) : this.loadImage(i), this.isSvg = n;
}
}
loadImage(e) {
var t = this;
return xe(function* () {
try {
var r = yield t.document.createImage(e);
t.image = r;
} catch (i) {
console.error('Error while loading image "'.concat(e, '":'), i);
}
t.loaded = !0;
})();
}
loadSvg(e) {
var t = this;
return xe(function* () {
var r = K1.exec(e);
if (r) {
var i = r[5];
r[4] === "base64" ? t.image = atob(i) : t.image = decodeURIComponent(i);
} else
try {
var n = yield t.document.fetch(e), o = yield n.text();
t.image = o;
} catch (s) {
console.error('Error while loading image "'.concat(e, '":'), s);
}
t.loaded = !0;
})();
}
renderChildren(e) {
var {
document: t,
image: r,
loaded: i
} = this, n = this.getAttribute("x").getPixels("x"), o = this.getAttribute("y").getPixels("y"), s = this.getStyle("width").getPixels("x"), u = this.getStyle("height").getPixels("y");
if (!(!i || !r || !s || !u)) {
if (e.save(), e.translate(n, o), this.isSvg) {
var l = t.canvg.forkString(e, this.image, {
ignoreMouse: !0,
ignoreAnimation: !0,
ignoreDimensions: !0,
ignoreClear: !0,
offsetX: 0,
offsetY: 0,
scaleWidth: s,
scaleHeight: u
});
l.document.documentElement.parent = this, l.render();
} else {
var h = this.image;
t.setViewBox({
ctx: e,
aspectRatio: this.getAttribute("preserveAspectRatio").getString(),
width: s,
desiredWidth: h.width,
height: u,
desiredHeight: h.height
}), this.loaded && (typeof h.complete > "u" || h.complete) && e.drawImage(h, 0, 0);
}
e.restore();
}
}
getBoundingBox() {
var e = this.getAttribute("x").getPixels("x"), t = this.getAttribute("y").getPixels("y"), r = this.getStyle("width").getPixels("x"), i = this.getStyle("height").getPixels("y");
return new he(e, t, e + r, t + i);
}
}
class J1 extends He {
constructor() {
super(...arguments), this.type = "symbol";
}
render(e) {
}
}
class e2 {
constructor(e) {
this.document = e, this.loaded = !1, e.fonts.push(this);
}
load(e, t) {
var r = this;
return xe(function* () {
try {
var {
document: i
} = r, n = yield i.canvg.parser.load(t), o = n.getElementsByTagName("font");
Array.from(o).forEach((s) => {
var u = i.createElement(s);
i.definitions[e] = u;
});
} catch (s) {
console.error('Error while loading font "'.concat(t, '":'), s);
}
r.loaded = !0;
})();
}
}
class Cl extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "style";
var i = ft(
Array.from(t.childNodes).map((o) => o.textContent).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, "").replace(/@import.*;/g, "")
// remove imports
), n = i.split("}");
n.forEach((o) => {
var s = o.trim();
if (s) {
var u = s.split("{"), l = u[0].split(","), h = u[1].split(";");
l.forEach((f) => {
var c = f.trim();
if (c) {
var v = e.styles[c] || {};
if (h.forEach((p) => {
var y = p.indexOf(":"), x = p.substr(0, y).trim(), b = p.substr(y + 1, p.length - y).trim();
x && b && (v[x] = new O(e, x, b));
}), e.styles[c] = v, e.stylesSpecificity[c] = d1(c), c === "@font-face") {
var d = v["font-family"].getString().replace(/"|'/g, ""), g = v.src.getString().split(",");
g.forEach((p) => {
if (p.indexOf('format("svg")') > 0) {
var y = ml(p);
y && new e2(e).load(d, y);
}
});
}
}
});
}
});
}
}
Cl.parseExternalUrl = ml;
class t2 extends He {
constructor() {
super(...arguments), this.type = "use";
}
setContext(e) {
super.setContext(e);
var t = this.getAttribute("x"), r = this.getAttribute("y");
t.hasValue() && e.translate(t.getPixels("x"), 0), r.hasValue() && e.translate(0, r.getPixels("y"));
}
path(e) {
var {
element: t
} = this;
t && t.path(e);
}
renderChildren(e) {
var {
document: t,
element: r
} = this;
if (r) {
var i = r;
if (r.type === "symbol" && (i = new _t(t, null), i.attributes.viewBox = new O(t, "viewBox", r.getAttribute("viewBox").getString()), i.attributes.preserveAspectRatio = new O(t, "preserveAspectRatio", r.getAttribute("preserveAspectRatio").getString()), i.attributes.overflow = new O(t, "overflow", r.getAttribute("overflow").getString()), i.children = r.children, r.styles.opacity = new O(t, "opacity", this.calculateOpacity())), i.type === "svg") {
var n = this.getStyle("width", !1, !0), o = this.getStyle("height", !1, !0);
n.hasValue() && (i.attributes.width = new O(t, "width", n.getString())), o.hasValue() && (i.attributes.height = new O(t, "height", o.getString()));
}
var s = i.parent;
i.parent = this, i.render(e), i.parent = s;
}
}
getBoundingBox(e) {
var {
element: t
} = this;
return t ? t.getBoundingBox(e) : null;
}
elementTransform() {
var {
document: e,
element: t
} = this;
return Fe.fromElement(e, t);
}
get element() {
return this.cachedElement || (this.cachedElement = this.getHrefAttribute().getDefinition()), this.cachedElement;
}
}
function sr(a, e, t, r, i, n) {
return a[t * r * 4 + e * 4 + n];
}
function or(a, e, t, r, i, n, o) {
a[t * r * 4 + e * 4 + n] = o;
}
function F(a, e, t) {
var r = a[e];
return r * t;
}
function me(a, e, t, r) {
return e + Math.cos(a) * t + Math.sin(a) * r;
}
class Al extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feColorMatrix";
var i = ie(this.getAttribute("values").getString());
switch (this.getAttribute("type").getString("matrix")) {
case "saturate": {
var n = i[0];
i = [0.213 + 0.787 * n, 0.715 - 0.715 * n, 0.072 - 0.072 * n, 0, 0, 0.213 - 0.213 * n, 0.715 + 0.285 * n, 0.072 - 0.072 * n, 0, 0, 0.213 - 0.213 * n, 0.715 - 0.715 * n, 0.072 + 0.928 * n, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
break;
}
case "hueRotate": {
var o = i[0] * Math.PI / 180;
i = [me(o, 0.213, 0.787, -0.213), me(o, 0.715, -0.715, -0.715), me(o, 0.072, -0.072, 0.928), 0, 0, me(o, 0.213, -0.213, 0.143), me(o, 0.715, 0.285, 0.14), me(o, 0.072, -0.072, -0.283), 0, 0, me(o, 0.213, -0.213, -0.787), me(o, 0.715, -0.715, 0.715), me(o, 0.072, 0.928, 0.072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
break;
}
case "luminanceToAlpha":
i = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0, 0, 0, 0, 0, 1];
break;
}
this.matrix = i, this.includeOpacity = this.getAttribute("includeOpacity").hasValue();
}
apply(e, t, r, i, n) {
for (var {
includeOpacity: o,
matrix: s
} = this, u = e.getImageData(0, 0, i, n), l = 0; l < n; l++)
for (var h = 0; h < i; h++) {
var f = sr(u.data, h, l, i, n, 0), c = sr(u.data, h, l, i, n, 1), v = sr(u.data, h, l, i, n, 2), d = sr(u.data, h, l, i, n, 3), g = F(s, 0, f) + F(s, 1, c) + F(s, 2, v) + F(s, 3, d) + F(s, 4, 1), p = F(s, 5, f) + F(s, 6, c) + F(s, 7, v) + F(s, 8, d) + F(s, 9, 1), y = F(s, 10, f) + F(s, 11, c) + F(s, 12, v) + F(s, 13, d) + F(s, 14, 1), x = F(s, 15, f) + F(s, 16, c) + F(s, 17, v) + F(s, 18, d) + F(s, 19, 1);
o && (g = 0, p = 0, y = 0, x *= d / 255), or(u.data, h, l, i, n, 0, g), or(u.data, h, l, i, n, 1, p), or(u.data, h, l, i, n, 2, y), or(u.data, h, l, i, n, 3, x);
}
e.clearRect(0, 0, i, n), e.putImageData(u, 0, 0);
}
}
class Fr extends I {
constructor() {
super(...arguments), this.type = "mask";
}
apply(e, t) {
var {
document: r
} = this, i = this.getAttribute("x").getPixels("x"), n = this.getAttribute("y").getPixels("y"), o = this.getStyle("width").getPixels("x"), s = this.getStyle("height").getPixels("y");
if (!o && !s) {
var u = new he();
this.children.forEach((d) => {
u.addBoundingBox(d.getBoundingBox(e));
}), i = Math.floor(u.x1), n = Math.floor(u.y1), o = Math.floor(u.width), s = Math.floor(u.height);
}
var l = this.removeStyles(t, Fr.ignoreStyles), h = r.createCanvas(i + o, n + s), f = h.getContext("2d");
r.screen.setDefaults(f), this.renderChildren(f), new Al(r, {
nodeType: 1,
childNodes: [],
attributes: [{
nodeName: "type",
value: "luminanceToAlpha"
}, {
nodeName: "includeOpacity",
value: "true"
}]
}).apply(f, 0, 0, i + o, n + s);
var c = r.createCanvas(i + o, n + s), v = c.getContext("2d");
r.screen.setDefaults(v), t.render(v), v.globalCompositeOperation = "destination-in", v.fillStyle = f.createPattern(h, "no-repeat"), v.fillRect(0, 0, i + o, n + s), e.fillStyle = v.createPattern(c, "no-repeat"), e.fillRect(0, 0, i + o, n + s), this.restoreStyles(t, l);
}
render(e) {
}
}
Fr.ignoreStyles = ["mask", "transform", "clip-path"];
var _o = () => {
};
class r2 extends I {
constructor() {
super(...arguments), this.type = "clipPath";
}
apply(e) {
var {
document: t
} = this, r = Reflect.getPrototypeOf(e), {
beginPath: i,
closePath: n
} = e;
r && (r.beginPath = _o, r.closePath = _o), Reflect.apply(i, e, []), this.children.forEach((o) => {
if (!(typeof o.path > "u")) {
var s = typeof o.elementTransform < "u" ? o.elementTransform() : null;
s || (s = Fe.fromElement(t, o)), s && s.apply(e), o.path(e), r && (r.closePath = n), s && s.unapply(e);
}
}), Reflect.apply(n, e, []), e.clip(), r && (r.beginPath = i, r.closePath = n);
}
render(e) {
}
}
class jr extends I {
constructor() {
super(...arguments), this.type = "filter";
}
apply(e, t) {
var {
document: r,
children: i
} = this, n = t.getBoundingBox(e);
if (n) {
var o = 0, s = 0;
i.forEach((y) => {
var x = y.extraFilterDistance || 0;
o = Math.max(o, x), s = Math.max(s, x);
});
var u = Math.floor(n.width), l = Math.floor(n.height), h = u + 2 * o, f = l + 2 * s;
if (!(h < 1 || f < 1)) {
var c = Math.floor(n.x), v = Math.floor(n.y), d = this.removeStyles(t, jr.ignoreStyles), g = r.createCanvas(h, f), p = g.getContext("2d");
r.screen.setDefaults(p), p.translate(-c + o, -v + s), t.render(p), i.forEach((y) => {
typeof y.apply == "function" && y.apply(p, 0, 0, h, f);
}), e.drawImage(g, 0, 0, h, f, c - o, v - s, h, f), this.restoreStyles(t, d);
}
}
}
render(e) {
}
}
jr.ignoreStyles = ["filter", "transform", "clip-path"];
class a2 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feDropShadow", this.addStylesFromStyleDefinition();
}
apply(e, t, r, i, n) {
}
}
class i2 extends I {
constructor() {
super(...arguments), this.type = "feMorphology";
}
apply(e, t, r, i, n) {
}
}
class n2 extends I {
constructor() {
super(...arguments), this.type = "feComposite";
}
apply(e, t, r, i, n) {
}
}
class s2 extends I {
constructor(e, t, r) {
super(e, t, r), this.type = "feGaussianBlur", this.blurRadius = Math.floor(this.getAttribute("stdDeviation").getNumber()), this.extraFilterDistance = this.blurRadius;
}
apply(e, t, r, i, n) {
var {
document: o,
blurRadius: s
} = this, u = o.window ? o.window.document.body : null, l = e.canvas;
l.id = o.getUniqueId(), u && (l.style.display = "none", u.appendChild(l)), Jb(l, t, r, i, n, s), u && u.removeChild(l);
}
}
class o2 extends I {
constructor() {
super(...arguments), this.type = "title";
}
}
class u2 extends I {
constructor() {
super(...arguments), this.type = "desc";
}
}
var l2 = {
svg: _t,
rect: El,
circle: M1,
ellipse: _1,
line: D1,
polyline: $l,
polygon: V1,
path: A,
pattern: L1,
marker: k1,
defs: B1,
linearGradient: F1,
radialGradient: j1,
stop: U1,
animate: ln,
animateColor: z1,
animateTransform: G1,
font: H1,
"font-face": Y1,
"missing-glyph": X1,
glyph: Ol,
text: Ce,
tspan: Br,
tref: W1,
a: q1,
textPath: Q1,
image: Z1,
g: un,
symbol: J1,
style: Cl,
use: t2,
mask: Fr,
clipPath: r2,
filter: jr,
feDropShadow: a2,
feMorphology: i2,
feComposite: n2,
feColorMatrix: Al,
feGaussianBlur: s2,
title: o2,
desc: u2
};
function Do(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function h2(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? Do(Object(t), !0).forEach(function(r) {
nn(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : Do(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
function v2(a, e) {
var t = document.createElement("canvas");
return t.width = a, t.height = e, t;
}
function f2(a) {
return Ei.apply(this, arguments);
}
function Ei() {
return Ei = xe(function* (a) {
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, t = document.createElement("img");
return e && (t.crossOrigin = "Anonymous"), new Promise((r, i) => {
t.onload = () => {
r(t);
}, t.onerror = (n, o, s, u, l) => {
i(l);
}, t.src = a;
});
}), Ei.apply(this, arguments);
}
class $e {
constructor(e) {
var {
rootEmSize: t = 12,
emSize: r = 12,
createCanvas: i = $e.createCanvas,
createImage: n = $e.createImage,
anonymousCrossOrigin: o
} = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
this.canvg = e, this.definitions = {}, this.styles = {}, this.stylesSpecificity = {}, this.images = [], this.fonts = [], this.emSizeStack = [], this.uniqueId = 0, this.screen = e.screen, this.rootEmSize = t, this.emSize = r, this.createCanvas = i, this.createImage = this.bindCreateImage(n, o), this.screen.wait(this.isImagesLoaded.bind(this)), this.screen.wait(this.isFontsLoaded.bind(this));
}
bindCreateImage(e, t) {
return typeof t == "boolean" ? (r, i) => e(r, typeof i == "boolean" ? i : t) : e;
}
get window() {
return this.screen.window;
}
get fetch() {
return this.screen.fetch;
}
get ctx() {
return this.screen.ctx;
}
get emSize() {
var {
emSizeStack: e
} = this;
return e[e.length - 1];
}
set emSize(e) {
var {
emSizeStack: t
} = this;
t.push(e);
}
popEmSize() {
var {
emSizeStack: e
} = this;
e.pop();
}
getUniqueId() {
return "canvg".concat(++this.uniqueId);
}
isImagesLoaded() {
return this.images.every((e) => e.loaded);
}
isFontsLoaded() {
return this.fonts.every((e) => e.loaded);
}
createDocumentElement(e) {
var t = this.createElement(e.documentElement);
return t.root = !0, t.addStylesFromStyleDefinition(), this.documentElement = t, t;
}
createElement(e) {
var t = e.nodeName.replace(/^[^:]+:/, ""), r = $e.elementTypes[t];
return typeof r < "u" ? new r(this, e) : new C1(this, e);
}
createTextNode(e) {
return new N1(this, e);
}
setViewBox(e) {
this.screen.setViewBox(h2({
document: this
}, e));
}
}
$e.createCanvas = v2;
$e.createImage = f2;
$e.elementTypes = l2;
function Vo(a, e) {
var t = Object.keys(a);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(a);
e && (r = r.filter(function(i) {
return Object.getOwnPropertyDescriptor(a, i).enumerable;
})), t.push.apply(t, r);
}
return t;
}
function De(a) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e] != null ? arguments[e] : {};
e % 2 ? Vo(Object(t), !0).forEach(function(r) {
nn(a, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(t)) : Vo(Object(t)).forEach(function(r) {
Object.defineProperty(a, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return a;
}
class xt {
/**
* Main constructor.
* @param ctx - Rendering context.
* @param svg - SVG Document.
* @param options - Rendering options.
*/
constructor(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
this.parser = new Ha(r), this.screen = new kr(e, r), this.options = r;
var i = new $e(this, r), n = i.createDocumentElement(t);
this.document = i, this.documentElement = n;
}
/**
* Create Canvg instance from SVG source string or URL.
* @param ctx - Rendering context.
* @param svg - SVG source string or URL.
* @param options - Rendering options.
* @returns Canvg instance.
*/
static from(e, t) {
var r = arguments;
return xe(function* () {
var i = r.length > 2 && r[2] !== void 0 ? r[2] : {}, n = new Ha(i), o = yield n.parse(t);
return new xt(e, o, i);
})();
}
/**
* Create Canvg instance from SVG source string.
* @param ctx - Rendering context.
* @param svg - SVG source string.
* @param options - Rendering options.
* @returns Canvg instance.
*/
static fromString(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, i = new Ha(r), n = i.parseFromString(t);
return new xt(e, n, r);
}
/**
* Create new Canvg instance with inherited options.
* @param ctx - Rendering context.
* @param svg - SVG source string or URL.
* @param options - Rendering options.
* @returns Canvg instance.
*/
fork(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
return xt.from(e, t, De(De({}, this.options), r));
}
/**
* Create new Canvg instance with inherited options.
* @param ctx - Rendering context.
* @param svg - SVG source string.
* @param options - Rendering options.
* @returns Canvg instance.
*/
forkString(e, t) {
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
return xt.fromString(e, t, De(De({}, this.options), r));
}
/**
* Document is ready promise.
* @returns Ready promise.
*/
ready() {
return this.screen.ready();
}
/**
* Document is ready value.
* @returns Is ready or not.
*/
isReady() {
return this.screen.isReady();
}
/**
* Render only first frame, ignoring animations and mouse.
* @param options - Rendering options.
*/
render() {
var e = arguments, t = this;
return xe(function* () {
var r = e.length > 0 && e[0] !== void 0 ? e[0] : {};
t.start(De({
enableRedraw: !0,
ignoreAnimation: !0,
ignoreMouse: !0
}, r)), yield t.ready(), t.stop();
})();
}
/**
* Start rendering.
* @param options - Render options.
*/
start() {
var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, {
documentElement: t,
screen: r,
options: i
} = this;
r.start(t, De(De({
enableRedraw: !0
}, i), e));
}
/**
* Stop rendering.
*/
stop() {
this.screen.stop();
}
/**
* Resize SVG to fit in given size.
* @param width
* @param height
* @param preserveAspectRatio
*/
resize(e) {
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
this.documentElement.resize(e, t, r);
}
}
export {
q1 as AElement,
z1 as AnimateColorElement,
ln as AnimateElement,
G1 as AnimateTransformElement,
he as BoundingBox,
wo as CB1,
Co as CB2,
Ao as CB3,
Po as CB4,
xt as Canvg,
M1 as CircleElement,
r2 as ClipPathElement,
B1 as DefsElement,
u2 as DescElement,
$e as Document,
I as Element,
_1 as EllipseElement,
Al as FeColorMatrixElement,
n2 as FeCompositeElement,
a2 as FeDropShadowElement,
s2 as FeGaussianBlurElement,
i2 as FeMorphologyElement,
jr as FilterElement,
J as Font,
H1 as FontElement,
Y1 as FontFaceElement,
un as GElement,
Ol as GlyphElement,
wl as GradientElement,
Z1 as ImageElement,
D1 as LineElement,
F1 as LinearGradientElement,
k1 as MarkerElement,
Fr as MaskElement,
Tl as Matrix,
X1 as MissingGlyphElement,
y1 as Mouse,
nt as PSEUDO_ZERO,
Ha as Parser,
A as PathElement,
w as PathParser,
L1 as PatternElement,
V as Point,
V1 as PolygonElement,
$l as PolylineElement,
O as Property,
Ro as QB1,
Io as QB2,
No as QB3,
j1 as RadialGradientElement,
El as RectElement,
He as RenderedElement,
T1 as Rotate,
_t as SVGElement,
e2 as SVGFontLoader,
S1 as Scale,
kr as Screen,
Sl as Skew,
O1 as SkewX,
E1 as SkewY,
U1 as StopElement,
Cl as StyleElement,
J1 as SymbolElement,
W1 as TRefElement,
Br as TSpanElement,
Ce as TextElement,
Q1 as TextPathElement,
o2 as TitleElement,
Fe as Transform,
x1 as Translate,
C1 as UnknownElement,
t2 as UseElement,
p1 as ViewPort,
ft as compressSpaces,
xt as default,
d1 as getSelectorSpecificity,
s1 as normalizeAttributeName,
o1 as normalizeColor,
ml as parseExternalUrl,
p2 as presets,
ie as toNumbers,
a1 as trimLeft,
i1 as trimRight,
Eo as vectorMagnitude,
$o as vectorsAngle,
Oi as vectorsRatio
};