var Nb = Object.defineProperty; var Bb = (t, e, r) => e in t ? Nb(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r; var Us = (t, e, r) => (Bb(t, typeof e != "symbol" ? e + "" : e, r), r); var Ib = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Ob(t) { throw new Error('Could not dynamically require "' + t + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } var zp = { exports: {} }; (function(t, e) { (function(r, n) { t.exports = n(); })(Ib, function() { var r; function n() { return r.apply(null, arguments); } function i(h) { return h instanceof Array || Object.prototype.toString.call(h) === "[object Array]"; } function s(h) { return h != null && Object.prototype.toString.call(h) === "[object Object]"; } function a(h, y) { return Object.prototype.hasOwnProperty.call(h, y); } function o(h) { if (Object.getOwnPropertyNames) return Object.getOwnPropertyNames(h).length === 0; for (var y in h) if (a(h, y)) return; return 1; } function l(h) { return h === void 0; } function u(h) { return typeof h == "number" || Object.prototype.toString.call(h) === "[object Number]"; } function d(h) { return h instanceof Date || Object.prototype.toString.call(h) === "[object Date]"; } function f(h, y) { for (var _ = [], S = h.length, R = 0; R < S; ++R) _.push(y(h[R], R)); return _; } function p(h, y) { for (var _ in y) a(y, _) && (h[_] = y[_]); return a(y, "toString") && (h.toString = y.toString), a(y, "valueOf") && (h.valueOf = y.valueOf), h; } function g(h, y, _, S) { return br(h, y, _, S, !0).utc(); } function b(h) { return h._pf == null && (h._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidEra: null, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1, parsedDateParts: [], era: null, meridiem: null, rfc2822: !1, weekdayMismatch: !1 }), h._pf; } function k(h) { if (h._isValid == null) { var y = b(h), _ = L.call(y.parsedDateParts, function(S) { return S != null; }), _ = !isNaN(h._d.getTime()) && y.overflow < 0 && !y.empty && !y.invalidEra && !y.invalidMonth && !y.invalidWeekday && !y.weekdayMismatch && !y.nullInput && !y.invalidFormat && !y.userInvalidated && (!y.meridiem || y.meridiem && _); if (h._strict && (_ = _ && y.charsLeftOver === 0 && y.unusedTokens.length === 0 && y.bigHour === void 0), Object.isFrozen != null && Object.isFrozen(h)) return _; h._isValid = _; } return h._isValid; } function T(h) { var y = g(NaN); return h != null ? p(b(y), h) : b(y).userInvalidated = !0, y; } var L = Array.prototype.some || function(h) { for (var y = Object(this), _ = y.length >>> 0, S = 0; S < _; S++) if (S in y && h.call(this, y[S], S, y)) return !0; return !1; }, E = n.momentProperties = [], I = !1; function V(h, y) { var _, S, R, it = E.length; if (l(y._isAMomentObject) || (h._isAMomentObject = y._isAMomentObject), l(y._i) || (h._i = y._i), l(y._f) || (h._f = y._f), l(y._l) || (h._l = y._l), l(y._strict) || (h._strict = y._strict), l(y._tzm) || (h._tzm = y._tzm), l(y._isUTC) || (h._isUTC = y._isUTC), l(y._offset) || (h._offset = y._offset), l(y._pf) || (h._pf = b(y)), l(y._locale) || (h._locale = y._locale), 0 < it) for (_ = 0; _ < it; _++) l(R = y[S = E[_]]) || (h[S] = R); return h; } function H(h) { V(this, h), this._d = new Date(h._d != null ? h._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), I === !1 && (I = !0, n.updateOffset(this), I = !1); } function G(h) { return h instanceof H || h != null && h._isAMomentObject != null; } function Y(h) { n.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + h); } function W(h, y) { var _ = !0; return p(function() { if (n.deprecationHandler != null && n.deprecationHandler(null, h), _) { for (var S, R, it = [], yt = arguments.length, Ct = 0; Ct < yt; Ct++) { if (S = "", typeof arguments[Ct] == "object") { for (R in S += ` [` + Ct + "] ", arguments[0]) a(arguments[0], R) && (S += R + ": " + arguments[0][R] + ", "); S = S.slice(0, -2); } else S = arguments[Ct]; it.push(S); } Y(h + ` Arguments: ` + Array.prototype.slice.call(it).join("") + ` ` + new Error().stack), _ = !1; } return y.apply(this, arguments); }, y); } var N = {}; function D(h, y) { n.deprecationHandler != null && n.deprecationHandler(h, y), N[h] || (Y(y), N[h] = !0); } function w(h) { return typeof Function < "u" && h instanceof Function || Object.prototype.toString.call(h) === "[object Function]"; } function v(h, y) { var _, S = p({}, h); for (_ in y) a(y, _) && (s(h[_]) && s(y[_]) ? (S[_] = {}, p(S[_], h[_]), p(S[_], y[_])) : y[_] != null ? S[_] = y[_] : delete S[_]); for (_ in h) a(h, _) && !a(y, _) && s(h[_]) && (S[_] = p({}, S[_])); return S; } function M(h) { h != null && this.set(h); } n.suppressDeprecationWarnings = !1, n.deprecationHandler = null; var m = Object.keys || function(h) { var y, _ = []; for (y in h) a(h, y) && _.push(y); return _; }; function Q(h, y, _) { var S = "" + Math.abs(h); return (0 <= h ? _ ? "+" : "" : "-") + Math.pow(10, Math.max(0, y - S.length)).toString().substr(1) + S; } var x = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, ct = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, Dt = {}, vt = {}; function j(h, y, _, S) { var R = typeof S == "string" ? function() { return this[S](); } : S; h && (vt[h] = R), y && (vt[y[0]] = function() { return Q(R.apply(this, arguments), y[1], y[2]); }), _ && (vt[_] = function() { return this.localeData().ordinal(R.apply(this, arguments), h); }); } function ot(h, y) { return h.isValid() ? (y = rt(y, h.localeData()), Dt[y] = Dt[y] || function(_) { for (var S, R = _.match(x), it = 0, yt = R.length; it < yt; it++) vt[R[it]] ? R[it] = vt[R[it]] : R[it] = (S = R[it]).match(/\[[\s\S]/) ? S.replace(/^\[|\]$/g, "") : S.replace(/\\/g, ""); return function(Ct) { for (var Pt = "", It = 0; It < yt; It++) Pt += w(R[It]) ? R[It].call(Ct, _) : R[It]; return Pt; }; }(y), Dt[y](h)) : h.localeData().invalidDate(); } function rt(h, y) { var _ = 5; function S(R) { return y.longDateFormat(R) || R; } for (ct.lastIndex = 0; 0 <= _ && ct.test(h); ) h = h.replace(ct, S), ct.lastIndex = 0, --_; return h; } var nt = {}; function ut(h, y) { var _ = h.toLowerCase(); nt[_] = nt[_ + "s"] = nt[y] = h; } function _t(h) { return typeof h == "string" ? nt[h] || nt[h.toLowerCase()] : void 0; } function K(h) { var y, _, S = {}; for (_ in h) a(h, _) && (y = _t(_)) && (S[y] = h[_]); return S; } var Ot = {}; function P(h, y) { Ot[h] = y; } function z(h) { return h % 4 == 0 && h % 100 != 0 || h % 400 == 0; } function $(h) { return h < 0 ? Math.ceil(h) || 0 : Math.floor(h); } function F(y) { var y = +y, _ = 0; return _ = y != 0 && isFinite(y) ? $(y) : _; } function O(h, y) { return function(_) { return _ != null ? (J(this, h, _), n.updateOffset(this, y), this) : A(this, h); }; } function A(h, y) { return h.isValid() ? h._d["get" + (h._isUTC ? "UTC" : "") + y]() : NaN; } function J(h, y, _) { h.isValid() && !isNaN(_) && (y === "FullYear" && z(h.year()) && h.month() === 1 && h.date() === 29 ? (_ = F(_), h._d["set" + (h._isUTC ? "UTC" : "") + y](_, h.month(), dt(_, h.month()))) : h._d["set" + (h._isUTC ? "UTC" : "") + y](_)); } var C = /\d/, ce = /\d\d/, ht = /\d{3}/, rs = /\d{4}/, Oi = /[+-]?\d{6}/, U = /\d\d?/, Yt = /\d\d\d\d?/, et = /\d\d\d\d\d\d?/, Mt = /\d{1,3}/, Ri = /\d{1,4}/, Ii = /[+-]?\d{1,6}/, Tt = /\d+/, gt = /[+-]?\d+/, Et = /Z|[+-]\d\d:?\d\d/gi, wt = /Z|[+-]\d\d(?::?\d\d)?/gi, pt = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; function st(h, y, _) { jt[h] = w(y) ? y : function(S, R) { return S && _ ? _ : y; }; } function le(h, y) { return a(jt, h) ? jt[h](y._strict, y._locale) : new RegExp($t(h.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function(_, S, R, it, yt) { return S || R || it || yt; }))); } function $t(h) { return h.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); } var jt = {}, Kt = {}; function Gt(h, y) { var _, S, R = y; for (typeof h == "string" && (h = [h]), u(y) && (R = function(it, yt) { yt[y] = F(it); }), S = h.length, _ = 0; _ < S; _++) Kt[h[_]] = R; } function Ee(h, y) { Gt(h, function(_, S, R, it) { R._w = R._w || {}, y(_, R._w, R, it); }); } var Ht, Vt = 0, Ft = 1, xt = 2, ft = 3, Lt = 4, bt = 5, Ut = 6, at = 7, ne = 8; function dt(h, y) { if (isNaN(h) || isNaN(y)) return NaN; var _ = (y % (_ = 12) + _) % _; return h += (y - _) / 12, _ == 1 ? z(h) ? 29 : 28 : 31 - _ % 7 % 2; } Ht = Array.prototype.indexOf || function(h) { for (var y = 0; y < this.length; ++y) if (this[y] === h) return y; return -1; }, j("M", ["MM", 2], "Mo", function() { return this.month() + 1; }), j("MMM", 0, 0, function(h) { return this.localeData().monthsShort(this, h); }), j("MMMM", 0, 0, function(h) { return this.localeData().months(this, h); }), ut("month", "M"), P("month", 8), st("M", U), st("MM", U, ce), st("MMM", function(h, y) { return y.monthsShortRegex(h); }), st("MMMM", function(h, y) { return y.monthsRegex(h); }), Gt(["M", "MM"], function(h, y) { y[Ft] = F(h) - 1; }), Gt(["MMM", "MMMM"], function(h, y, _, S) { S = _._locale.monthsParse(h, S, _._strict), S != null ? y[Ft] = S : b(_).invalidMonth = h; }); var ee = "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), de = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), me = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, be = pt, ke = pt; function Xt(h, y) { var _; if (h.isValid()) { if (typeof y == "string") { if (/^\d+$/.test(y)) y = F(y); else if (!u(y = h.localeData().monthsParse(y))) return; } _ = Math.min(h.date(), dt(h.year(), y)), h._d["set" + (h._isUTC ? "UTC" : "") + "Month"](y, _); } } function ie(h) { return h != null ? (Xt(this, h), n.updateOffset(this, !0), this) : A(this, "Month"); } function ge() { function h(yt, Ct) { return Ct.length - yt.length; } for (var y, _ = [], S = [], R = [], it = 0; it < 12; it++) y = g([2e3, it]), _.push(this.monthsShort(y, "")), S.push(this.months(y, "")), R.push(this.months(y, "")), R.push(this.monthsShort(y, "")); for (_.sort(h), S.sort(h), R.sort(h), it = 0; it < 12; it++) _[it] = $t(_[it]), S[it] = $t(S[it]); for (it = 0; it < 24; it++) R[it] = $t(R[it]); this._monthsRegex = new RegExp("^(" + R.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp("^(" + S.join("|") + ")", "i"), this._monthsShortStrictRegex = new RegExp("^(" + _.join("|") + ")", "i"); } function Qt(h) { return z(h) ? 366 : 365; } j("Y", 0, 0, function() { var h = this.year(); return h <= 9999 ? Q(h, 4) : "+" + h; }), j(0, ["YY", 2], 0, function() { return this.year() % 100; }), j(0, ["YYYY", 4], 0, "year"), j(0, ["YYYYY", 5], 0, "year"), j(0, ["YYYYYY", 6, !0], 0, "year"), ut("year", "y"), P("year", 1), st("Y", gt), st("YY", U, ce), st("YYYY", Ri, rs), st("YYYYY", Ii, Oi), st("YYYYYY", Ii, Oi), Gt(["YYYYY", "YYYYYY"], Vt), Gt("YYYY", function(h, y) { y[Vt] = h.length === 2 ? n.parseTwoDigitYear(h) : F(h); }), Gt("YY", function(h, y) { y[Vt] = n.parseTwoDigitYear(h); }), Gt("Y", function(h, y) { y[Vt] = parseInt(h, 10); }), n.parseTwoDigitYear = function(h) { return F(h) + (68 < F(h) ? 1900 : 2e3); }; var pl = O("FullYear", !0); function an(h, y, _, S, R, it, yt) { var Ct; return h < 100 && 0 <= h ? (Ct = new Date(h + 400, y, _, S, R, it, yt), isFinite(Ct.getFullYear()) && Ct.setFullYear(h)) : Ct = new Date(h, y, _, S, R, it, yt), Ct; } function Wr(h) { var y; return h < 100 && 0 <= h ? ((y = Array.prototype.slice.call(arguments))[0] = h + 400, y = new Date(Date.UTC.apply(null, y)), isFinite(y.getUTCFullYear()) && y.setUTCFullYear(h)) : y = new Date(Date.UTC.apply(null, arguments)), y; } function De(h, y, _) { return _ = 7 + y - _, _ - (7 + Wr(h, 0, _).getUTCDay() - y) % 7 - 1; } function ae(h, yt, Ct, S, R) { var it, yt = 1 + 7 * (yt - 1) + (7 + Ct - S) % 7 + De(h, S, R), Ct = yt <= 0 ? Qt(it = h - 1) + yt : yt > Qt(h) ? (it = h + 1, yt - Qt(h)) : (it = h, yt); return { year: it, dayOfYear: Ct }; } function Be(h, y, _) { var S, R, it = De(h.year(), y, _), it = Math.floor((h.dayOfYear() - it - 1) / 7) + 1; return it < 1 ? S = it + Oe(R = h.year() - 1, y, _) : it > Oe(h.year(), y, _) ? (S = it - Oe(h.year(), y, _), R = h.year() + 1) : (R = h.year(), S = it), { week: S, year: R }; } function Oe(h, R, _) { var S = De(h, R, _), R = De(h + 1, R, _); return (Qt(h) - S + R) / 7; } j("w", ["ww", 2], "wo", "week"), j("W", ["WW", 2], "Wo", "isoWeek"), ut("week", "w"), ut("isoWeek", "W"), P("week", 5), P("isoWeek", 5), st("w", U), st("ww", U, ce), st("W", U), st("WW", U, ce), Ee(["w", "ww", "W", "WW"], function(h, y, _, S) { y[S.substr(0, 1)] = F(h); }); function Fe(h, y) { return h.slice(y, 7).concat(h.slice(0, y)); } j("d", 0, "do", "day"), j("dd", 0, 0, function(h) { return this.localeData().weekdaysMin(this, h); }), j("ddd", 0, 0, function(h) { return this.localeData().weekdaysShort(this, h); }), j("dddd", 0, 0, function(h) { return this.localeData().weekdays(this, h); }), j("e", 0, 0, "weekday"), j("E", 0, 0, "isoWeekday"), ut("day", "d"), ut("weekday", "e"), ut("isoWeekday", "E"), P("day", 11), P("weekday", 11), P("isoWeekday", 11), st("d", U), st("e", U), st("E", U), st("dd", function(h, y) { return y.weekdaysMinRegex(h); }), st("ddd", function(h, y) { return y.weekdaysShortRegex(h); }), st("dddd", function(h, y) { return y.weekdaysRegex(h); }), Ee(["dd", "ddd", "dddd"], function(h, y, _, S) { S = _._locale.weekdaysParse(h, S, _._strict), S != null ? y.d = S : b(_).invalidWeekday = h; }), Ee(["d", "e", "E"], function(h, y, _, S) { y[S] = F(h); }); var Pe = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), Ie = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Ge = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), tr = pt, zt = pt, Z = pt; function St() { function h(It, ue) { return ue.length - It.length; } for (var y, _, S, R = [], it = [], yt = [], Ct = [], Pt = 0; Pt < 7; Pt++) S = g([2e3, 1]).day(Pt), y = $t(this.weekdaysMin(S, "")), _ = $t(this.weekdaysShort(S, "")), S = $t(this.weekdays(S, "")), R.push(y), it.push(_), yt.push(S), Ct.push(y), Ct.push(_), Ct.push(S); R.sort(h), it.sort(h), yt.sort(h), Ct.sort(h), this._weekdaysRegex = new RegExp("^(" + Ct.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp("^(" + yt.join("|") + ")", "i"), this._weekdaysShortStrictRegex = new RegExp("^(" + it.join("|") + ")", "i"), this._weekdaysMinStrictRegex = new RegExp("^(" + R.join("|") + ")", "i"); } function Nt() { return this.hours() % 12 || 12; } function fe(h, y) { j(h, 0, 0, function() { return this.localeData().meridiem(this.hours(), this.minutes(), y); }); } function Me(h, y) { return y._meridiemParse; } j("H", ["HH", 2], 0, "hour"), j("h", ["hh", 2], 0, Nt), j("k", ["kk", 2], 0, function() { return this.hours() || 24; }), j("hmm", 0, 0, function() { return "" + Nt.apply(this) + Q(this.minutes(), 2); }), j("hmmss", 0, 0, function() { return "" + Nt.apply(this) + Q(this.minutes(), 2) + Q(this.seconds(), 2); }), j("Hmm", 0, 0, function() { return "" + this.hours() + Q(this.minutes(), 2); }), j("Hmmss", 0, 0, function() { return "" + this.hours() + Q(this.minutes(), 2) + Q(this.seconds(), 2); }), fe("a", !0), fe("A", !1), ut("hour", "h"), P("hour", 13), st("a", Me), st("A", Me), st("H", U), st("h", U), st("k", U), st("HH", U, ce), st("hh", U, ce), st("kk", U, ce), st("hmm", Yt), st("hmmss", et), st("Hmm", Yt), st("Hmmss", et), Gt(["H", "HH"], ft), Gt(["k", "kk"], function(h, y, _) { h = F(h), y[ft] = h === 24 ? 0 : h; }), Gt(["a", "A"], function(h, y, _) { _._isPm = _._locale.isPM(h), _._meridiem = h; }), Gt(["h", "hh"], function(h, y, _) { y[ft] = F(h), b(_).bigHour = !0; }), Gt("hmm", function(h, y, _) { var S = h.length - 2; y[ft] = F(h.substr(0, S)), y[Lt] = F(h.substr(S)), b(_).bigHour = !0; }), Gt("hmmss", function(h, y, _) { var S = h.length - 4, R = h.length - 2; y[ft] = F(h.substr(0, S)), y[Lt] = F(h.substr(S, 2)), y[bt] = F(h.substr(R)), b(_).bigHour = !0; }), Gt("Hmm", function(h, y, _) { var S = h.length - 2; y[ft] = F(h.substr(0, S)), y[Lt] = F(h.substr(S)); }), Gt("Hmmss", function(h, y, _) { var S = h.length - 4, R = h.length - 2; y[ft] = F(h.substr(0, S)), y[Lt] = F(h.substr(S, 2)), y[bt] = F(h.substr(R)); }), pt = O("Hours", !0); var Le, We = { calendar: { sameDay: "[Today at] LT", nextDay: "[Tomorrow at] LT", nextWeek: "dddd [at] LT", lastDay: "[Yesterday at] LT", lastWeek: "[Last] dddd [at] LT", sameElse: "L" }, longDateFormat: { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, invalidDate: "Invalid date", ordinal: "%d", dayOfMonthOrdinalParse: /\d{1,2}/, relativeTime: { future: "in %s", past: "%s ago", s: "a few seconds", ss: "%d seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", w: "a week", ww: "%d weeks", M: "a month", MM: "%d months", y: "a year", yy: "%d years" }, months: ee, monthsShort: de, week: { dow: 0, doy: 6 }, weekdays: Pe, weekdaysMin: Ge, weekdaysShort: Ie, meridiemParse: /[ap]\.?m?\.?/i }, xe = {}, Ne = {}; function Mi(h) { return h && h.toLowerCase().replace("_", "-"); } function Ni(h) { for (var y, _, S, R, it = 0; it < h.length; ) { for (y = (R = Mi(h[it]).split("-")).length, _ = (_ = Mi(h[it + 1])) ? _.split("-") : null; 0 < y; ) { if (S = Rr(R.slice(0, y).join("-"))) return S; if (_ && _.length >= y && function(yt, Ct) { for (var Pt = Math.min(yt.length, Ct.length), It = 0; It < Pt; It += 1) if (yt[It] !== Ct[It]) return It; return Pt; }(R, _) >= y - 1) break; y--; } it++; } return Le; } function Rr(h) { var y; if (xe[h] === void 0 && !0 && t && t.exports && h.match("^[^/\\\\]*$") != null) try { y = Le._abbr, Ob("./locale/" + h), qt(y); } catch { xe[h] = null; } return xe[h]; } function qt(h, y) { return h && ((y = l(y) ? oe(h) : te(h, y)) ? Le = y : typeof console < "u" && console.warn && console.warn("Locale " + h + " not found. Did you forget to load it?")), Le._abbr; } function te(h, y) { if (y === null) return delete xe[h], null; var _, S = We; if (y.abbr = h, xe[h] != null) D("defineLocaleOverride", "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."), S = xe[h]._config; else if (y.parentLocale != null) if (xe[y.parentLocale] != null) S = xe[y.parentLocale]._config; else { if ((_ = Rr(y.parentLocale)) == null) return Ne[y.parentLocale] || (Ne[y.parentLocale] = []), Ne[y.parentLocale].push({ name: h, config: y }), null; S = _._config; } return xe[h] = new M(v(S, y)), Ne[h] && Ne[h].forEach(function(R) { te(R.name, R.config); }), qt(h), xe[h]; } function oe(h) { var y; if (!(h = h && h._locale && h._locale._abbr ? h._locale._abbr : h)) return Le; if (!i(h)) { if (y = Rr(h)) return y; h = [h]; } return Ni(h); } function Rt(h) { var y = h._a; return y && b(h).overflow === -2 && (y = y[Ft] < 0 || 11 < y[Ft] ? Ft : y[xt] < 1 || y[xt] > dt(y[Vt], y[Ft]) ? xt : y[ft] < 0 || 24 < y[ft] || y[ft] === 24 && (y[Lt] !== 0 || y[bt] !== 0 || y[Ut] !== 0) ? ft : y[Lt] < 0 || 59 < y[Lt] ? Lt : y[bt] < 0 || 59 < y[bt] ? bt : y[Ut] < 0 || 999 < y[Ut] ? Ut : -1, b(h)._overflowDayOfYear && (y < Vt || xt < y) && (y = xt), b(h)._overflowWeeks && y === -1 && (y = at), b(h)._overflowWeekday && y === -1 && (y = ne), b(h).overflow = y), h; } var Ye = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, q = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, Qi = /Z|[+-]\d\d(?::?\d\d)?/, tt = [["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/], ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/], ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/], ["GGGG-[W]WW", /\d{4}-W\d\d/, !1], ["YYYY-DDD", /\d{4}-\d{3}/], ["YYYY-MM", /\d{4}-\d\d/, !1], ["YYYYYYMMDD", /[+-]\d{10}/], ["YYYYMMDD", /\d{8}/], ["GGGG[W]WWE", /\d{4}W\d{3}/], ["GGGG[W]WW", /\d{4}W\d{2}/, !1], ["YYYYDDD", /\d{7}/], ["YYYYMM", /\d{6}/, !1], ["YYYY", /\d{4}/, !1]], vr = [["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/], ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/], ["HH:mm:ss", /\d\d:\d\d:\d\d/], ["HH:mm", /\d\d:\d\d/], ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/], ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/], ["HHmmss", /\d\d\d\d\d\d/], ["HHmm", /\d\d\d\d/], ["HH", /\d\d/]], ol = /^\/?Date\((-?\d+)/i, $u = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, ll = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 }; function cl(h) { var y, _, S, R, it, yt, Pt = h._i, Ct = Ye.exec(Pt) || q.exec(Pt), Pt = tt.length, It = vr.length; if (Ct) { for (b(h).iso = !0, y = 0, _ = Pt; y < _; y++) if (tt[y][1].exec(Ct[1])) { R = tt[y][0], S = tt[y][2] !== !1; break; } if (R == null) h._isValid = !1; else { if (Ct[3]) { for (y = 0, _ = It; y < _; y++) if (vr[y][1].exec(Ct[3])) { it = (Ct[2] || " ") + vr[y][0]; break; } if (it == null) return void (h._isValid = !1); } if (S || it == null) { if (Ct[4]) { if (!Qi.exec(Ct[4])) return void (h._isValid = !1); yt = "Z"; } h._f = R + (it || "") + (yt || ""), Va(h); } else h._isValid = !1; } } else h._isValid = !1; } function er(h, y, _, S, R, it) { return h = [function(yt) { yt = parseInt(yt, 10); { if (yt <= 49) return 2e3 + yt; if (yt <= 999) return 1900 + yt; } return yt; }(h), de.indexOf(y), parseInt(_, 10), parseInt(S, 10), parseInt(R, 10)], it && h.push(parseInt(it, 10)), h; } function In(h) { var y, _, S, R, it = $u.exec(h._i.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "")); it ? (y = er(it[4], it[3], it[2], it[5], it[6], it[7]), _ = it[1], S = y, R = h, _ && Ie.indexOf(_) !== new Date(S[0], S[1], S[2]).getDay() ? (b(R).weekdayMismatch = !0, R._isValid = !1) : (h._a = y, h._tzm = (_ = it[8], S = it[9], R = it[10], _ ? ll[_] : S ? 0 : 60 * (((_ = parseInt(R, 10)) - (S = _ % 100)) / 100) + S), h._d = Wr.apply(null, h._a), h._d.setUTCMinutes(h._d.getUTCMinutes() - h._tzm), b(h).rfc2822 = !0)) : h._isValid = !1; } function On(h, y, _) { return h != null ? h : y != null ? y : _; } function Ji(h) { var y, _, S, R, it, yt, Ct, Pt, It, ue, re, He = []; if (!h._d) { for (S = h, R = new Date(n.now()), _ = S._useUTC ? [R.getUTCFullYear(), R.getUTCMonth(), R.getUTCDate()] : [R.getFullYear(), R.getMonth(), R.getDate()], h._w && h._a[xt] == null && h._a[Ft] == null && ((R = (S = h)._w).GG != null || R.W != null || R.E != null ? (Pt = 1, It = 4, it = On(R.GG, S._a[Vt], Be(Se(), 1, 4).year), yt = On(R.W, 1), ((Ct = On(R.E, 1)) < 1 || 7 < Ct) && (ue = !0)) : (Pt = S._locale._week.dow, It = S._locale._week.doy, re = Be(Se(), Pt, It), it = On(R.gg, S._a[Vt], re.year), yt = On(R.w, re.week), R.d != null ? ((Ct = R.d) < 0 || 6 < Ct) && (ue = !0) : R.e != null ? (Ct = R.e + Pt, (R.e < 0 || 6 < R.e) && (ue = !0)) : Ct = Pt), yt < 1 || yt > Oe(it, Pt, It) ? b(S)._overflowWeeks = !0 : ue != null ? b(S)._overflowWeekday = !0 : (re = ae(it, yt, Ct, Pt, It), S._a[Vt] = re.year, S._dayOfYear = re.dayOfYear)), h._dayOfYear != null && (R = On(h._a[Vt], _[Vt]), (h._dayOfYear > Qt(R) || h._dayOfYear === 0) && (b(h)._overflowDayOfYear = !0), ue = Wr(R, 0, h._dayOfYear), h._a[Ft] = ue.getUTCMonth(), h._a[xt] = ue.getUTCDate()), y = 0; y < 3 && h._a[y] == null; ++y) h._a[y] = He[y] = _[y]; for (; y < 7; y++) h._a[y] = He[y] = h._a[y] == null ? y === 2 ? 1 : 0 : h._a[y]; h._a[ft] === 24 && h._a[Lt] === 0 && h._a[bt] === 0 && h._a[Ut] === 0 && (h._nextDay = !0, h._a[ft] = 0), h._d = (h._useUTC ? Wr : an).apply(null, He), it = h._useUTC ? h._d.getUTCDay() : h._d.getDay(), h._tzm != null && h._d.setUTCMinutes(h._d.getUTCMinutes() - h._tzm), h._nextDay && (h._a[ft] = 24), h._w && h._w.d !== void 0 && h._w.d !== it && (b(h).weekdayMismatch = !0); } } function Va(h) { if (h._f === n.ISO_8601) cl(h); else if (h._f === n.RFC_2822) In(h); else { h._a = [], b(h).empty = !0; for (var y, _, S, R, it, yt = "" + h._i, Ct = yt.length, Pt = 0, It = rt(h._f, h._locale).match(x) || [], ue = It.length, re = 0; re < ue; re++) _ = It[re], (y = (yt.match(le(_, h)) || [])[0]) && (0 < (S = yt.substr(0, yt.indexOf(y))).length && b(h).unusedInput.push(S), yt = yt.slice(yt.indexOf(y) + y.length), Pt += y.length), vt[_] ? (y ? b(h).empty = !1 : b(h).unusedTokens.push(_), S = _, it = h, (R = y) != null && a(Kt, S) && Kt[S](R, it._a, it, S)) : h._strict && !y && b(h).unusedTokens.push(_); b(h).charsLeftOver = Ct - Pt, 0 < yt.length && b(h).unusedInput.push(yt), h._a[ft] <= 12 && b(h).bigHour === !0 && 0 < h._a[ft] && (b(h).bigHour = void 0), b(h).parsedDateParts = h._a.slice(0), b(h).meridiem = h._meridiem, h._a[ft] = function(He, rr, cn) { return cn == null ? rr : He.meridiemHour != null ? He.meridiemHour(rr, cn) : He.isPM != null ? ((He = He.isPM(cn)) && rr < 12 && (rr += 12), rr = He || rr !== 12 ? rr : 0) : rr; }(h._locale, h._a[ft], h._meridiem), (Ct = b(h).era) !== null && (h._a[Vt] = h._locale.erasConvertYear(Ct, h._a[Vt])), Ji(h), Rt(h); } } function ul(h) { var y, _, S, R = h._i, it = h._f; return h._locale = h._locale || oe(h._l), R === null || it === void 0 && R === "" ? T({ nullInput: !0 }) : (typeof R == "string" && (h._i = R = h._locale.preparse(R)), G(R) ? new H(Rt(R)) : (d(R) ? h._d = R : i(it) ? function(yt) { var Ct, Pt, It, ue, re, He, rr = !1, cn = yt._f.length; if (cn === 0) return b(yt).invalidFormat = !0, yt._d = new Date(NaN); for (ue = 0; ue < cn; ue++) re = 0, He = !1, Ct = V({}, yt), yt._useUTC != null && (Ct._useUTC = yt._useUTC), Ct._f = yt._f[ue], Va(Ct), k(Ct) && (He = !0), re = (re += b(Ct).charsLeftOver) + 10 * b(Ct).unusedTokens.length, b(Ct).score = re, rr ? re < It && (It = re, Pt = Ct) : (It == null || re < It || He) && (It = re, Pt = Ct, He && (rr = !0)); p(yt, Pt || Ct); }(h) : it ? Va(h) : l(it = (R = h)._i) ? R._d = new Date(n.now()) : d(it) ? R._d = new Date(it.valueOf()) : typeof it == "string" ? (_ = R, (y = ol.exec(_._i)) !== null ? _._d = new Date(+y[1]) : (cl(_), _._isValid === !1 && (delete _._isValid, In(_), _._isValid === !1 && (delete _._isValid, _._strict ? _._isValid = !1 : n.createFromInputFallback(_))))) : i(it) ? (R._a = f(it.slice(0), function(yt) { return parseInt(yt, 10); }), Ji(R)) : s(it) ? (y = R)._d || (S = (_ = K(y._i)).day === void 0 ? _.date : _.day, y._a = f([_.year, _.month, S, _.hour, _.minute, _.second, _.millisecond], function(yt) { return yt && parseInt(yt, 10); }), Ji(y)) : u(it) ? R._d = new Date(it) : n.createFromInputFallback(R), k(h) || (h._d = null), h)); } function br(h, y, _, S, R) { var it = {}; return y !== !0 && y !== !1 || (S = y, y = void 0), _ !== !0 && _ !== !1 || (S = _, _ = void 0), (s(h) && o(h) || i(h) && h.length === 0) && (h = void 0), it._isAMomentObject = !0, it._useUTC = it._isUTC = R, it._l = _, it._i = h, it._f = y, it._strict = S, (R = new H(Rt(ul(R = it))))._nextDay && (R.add(1, "d"), R._nextDay = void 0), R; } function Se(h, y, _, S) { return br(h, y, _, S, !1); } n.createFromInputFallback = W("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function(h) { h._d = new Date(h._i + (h._useUTC ? " UTC" : "")); }), n.ISO_8601 = function() { }, n.RFC_2822 = function() { }, Yt = W("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function() { var h = Se.apply(null, arguments); return this.isValid() && h.isValid() ? h < this ? this : h : T(); }), et = W("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function() { var h = Se.apply(null, arguments); return this.isValid() && h.isValid() ? this < h ? this : h : T(); }); function Ar(h, y) { var _, S; if (!(y = y.length === 1 && i(y[0]) ? y[0] : y).length) return Se(); for (_ = y[0], S = 1; S < y.length; ++S) y[S].isValid() && !y[S][h](_) || (_ = y[S]); return _; } var Zn = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"]; function on(y) { var y = K(y), _ = y.year || 0, S = y.quarter || 0, R = y.month || 0, it = y.week || y.isoWeek || 0, yt = y.day || 0, Ct = y.hour || 0, Pt = y.minute || 0, It = y.second || 0, ue = y.millisecond || 0; this._isValid = function(re) { var He, rr, cn = !1, rh = Zn.length; for (He in re) if (a(re, He) && (Ht.call(Zn, He) === -1 || re[He] != null && isNaN(re[He]))) return !1; for (rr = 0; rr < rh; ++rr) if (re[Zn[rr]]) { if (cn) return !1; parseFloat(re[Zn[rr]]) !== F(re[Zn[rr]]) && (cn = !0); } return !0; }(y), this._milliseconds = +ue + 1e3 * It + 6e4 * Pt + 1e3 * Ct * 60 * 60, this._days = +yt + 7 * it, this._months = +R + 3 * S + 12 * _, this._data = {}, this._locale = oe(), this._bubble(); } function Qn(h) { return h instanceof on; } function Hr(h) { return h < 0 ? -1 * Math.round(-1 * h) : Math.round(h); } function Ua(h, y) { j(h, 0, 0, function() { var _ = this.utcOffset(), S = "+"; return _ < 0 && (_ = -_, S = "-"), S + Q(~~(_ / 60), 2) + y + Q(~~_ % 60, 2); }); } Ua("Z", ":"), Ua("ZZ", ""), st("Z", wt), st("ZZ", wt), Gt(["Z", "ZZ"], function(h, y, _) { _._useUTC = !0, _._tzm = ts(wt, h); }); var Fs = /([\+\-]|\d\d)/gi; function ts(h, _) { var _ = (_ || "").match(h); return _ === null ? null : (_ = 60 * (h = ((_[_.length - 1] || []) + "").match(Fs) || ["-", 0, 0])[1] + F(h[2])) === 0 ? 0 : h[0] === "+" ? _ : -_; } function Gr(h, y) { var _; return y._isUTC ? (y = y.clone(), _ = (G(h) || d(h) ? h : Se(h)).valueOf() - y.valueOf(), y._d.setTime(y._d.valueOf() + _), n.updateOffset(y, !1), y) : Se(h).local(); } function Ku(h) { return -Math.round(h._d.getTimezoneOffset()); } function Vd() { return !!this.isValid() && this._isUTC && this._offset === 0; } n.updateOffset = function() { }; var Tb = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, Eb = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function ln(h, y) { var _, S = h, R = null; return Qn(h) ? S = { ms: h._milliseconds, d: h._days, M: h._months } : u(h) || !isNaN(+h) ? (S = {}, y ? S[y] = +h : S.milliseconds = +h) : (R = Tb.exec(h)) ? (_ = R[1] === "-" ? -1 : 1, S = { y: 0, d: F(R[xt]) * _, h: F(R[ft]) * _, m: F(R[Lt]) * _, s: F(R[bt]) * _, ms: F(Hr(1e3 * R[Ut])) * _ }) : (R = Eb.exec(h)) ? (_ = R[1] === "-" ? -1 : 1, S = { y: es(R[2], _), M: es(R[3], _), w: es(R[4], _), d: es(R[5], _), h: es(R[6], _), m: es(R[7], _), s: es(R[8], _) }) : S == null ? S = {} : typeof S == "object" && ("from" in S || "to" in S) && (y = function(it, yt) { var Ct; return !it.isValid() || !yt.isValid() ? { milliseconds: 0, months: 0 } : (yt = Gr(yt, it), it.isBefore(yt) ? Ct = Ud(it, yt) : ((Ct = Ud(yt, it)).milliseconds = -Ct.milliseconds, Ct.months = -Ct.months), Ct); }(Se(S.from), Se(S.to)), (S = {}).ms = y.milliseconds, S.M = y.months), R = new on(S), Qn(h) && a(h, "_locale") && (R._locale = h._locale), Qn(h) && a(h, "_isValid") && (R._isValid = h._isValid), R; } function es(h, y) { return h = h && parseFloat(h.replace(",", ".")), (isNaN(h) ? 0 : h) * y; } function Ud(h, y) { var _ = {}; return _.months = y.month() - h.month() + 12 * (y.year() - h.year()), h.clone().add(_.months, "M").isAfter(y) && --_.months, _.milliseconds = +y - +h.clone().add(_.months, "M"), _; } function zd(h, y) { return function(_, S) { var R; return S === null || isNaN(+S) || (D(y, "moment()." + y + "(period, number) is deprecated. Please use moment()." + y + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), R = _, _ = S, S = R), Wd(this, ln(_, S), h), this; }; } function Wd(h, yt, _, S) { var R = yt._milliseconds, it = Hr(yt._days), yt = Hr(yt._months); h.isValid() && (S = S == null || S, yt && Xt(h, A(h, "Month") + yt * _), it && J(h, "Date", A(h, "Date") + it * _), R && h._d.setTime(h._d.valueOf() + R * _), S && n.updateOffset(h, it || yt)); } ln.fn = on.prototype, ln.invalid = function() { return ln(NaN); }, ee = zd(1, "add"), Pe = zd(-1, "subtract"); function Hd(h) { return typeof h == "string" || h instanceof String; } function Cb(h) { return G(h) || d(h) || Hd(h) || u(h) || function(y) { var _ = i(y), S = !1; return _ && (S = y.filter(function(R) { return !u(R) && Hd(y); }).length === 0), _ && S; }(h) || function(y) { var _, S, R = s(y) && !o(y), it = !1, yt = ["years", "year", "y", "months", "month", "M", "days", "day", "d", "dates", "date", "D", "hours", "hour", "h", "minutes", "minute", "m", "seconds", "second", "s", "milliseconds", "millisecond", "ms"], Ct = yt.length; for (_ = 0; _ < Ct; _ += 1) S = yt[_], it = it || a(y, S); return R && it; }(h) || h == null; } function hl(h, R) { if (h.date() < R.date()) return -hl(R, h); var _ = 12 * (R.year() - h.year()) + (R.month() - h.month()), S = h.clone().add(_, "months"), R = R - S < 0 ? (R - S) / (S - h.clone().add(_ - 1, "months")) : (R - S) / (h.clone().add(1 + _, "months") - S); return -(_ + R) || 0; } function Gd(h) { return h === void 0 ? this._locale._abbr : ((h = oe(h)) != null && (this._locale = h), this); } n.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ", n.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]", Ge = W("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function(h) { return h === void 0 ? this.localeData() : this.locale(h); }); function qd() { return this._locale; } var jd = 126227808e5; function Ps(h, y) { return (h % y + y) % y; } function Xd(h, y, _) { return h < 100 && 0 <= h ? new Date(h + 400, y, _) - jd : new Date(h, y, _).valueOf(); } function $d(h, y, _) { return h < 100 && 0 <= h ? Date.UTC(h + 400, y, _) - jd : Date.UTC(h, y, _); } function Zu(h, y) { return y.erasAbbrRegex(h); } function Qu() { for (var h = [], y = [], _ = [], S = [], R = this.eras(), it = 0, yt = R.length; it < yt; ++it) y.push($t(R[it].name)), h.push($t(R[it].abbr)), _.push($t(R[it].narrow)), S.push($t(R[it].name)), S.push($t(R[it].abbr)), S.push($t(R[it].narrow)); this._erasRegex = new RegExp("^(" + S.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + y.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + h.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp("^(" + _.join("|") + ")", "i"); } function dl(h, y) { j(0, [h, h.length], 0, y); } function Kd(h, y, _, S, R) { var it; return h == null ? Be(this, S, R).year : (it = Oe(h, S, R), function(yt, Ct, Pt, It, ue) { return yt = ae(yt, Ct, Pt, It, ue), Ct = Wr(yt.year, 0, yt.dayOfYear), this.year(Ct.getUTCFullYear()), this.month(Ct.getUTCMonth()), this.date(Ct.getUTCDate()), this; }.call(this, h, y = it < y ? it : y, _, S, R)); } j("N", 0, 0, "eraAbbr"), j("NN", 0, 0, "eraAbbr"), j("NNN", 0, 0, "eraAbbr"), j("NNNN", 0, 0, "eraName"), j("NNNNN", 0, 0, "eraNarrow"), j("y", ["y", 1], "yo", "eraYear"), j("y", ["yy", 2], 0, "eraYear"), j("y", ["yyy", 3], 0, "eraYear"), j("y", ["yyyy", 4], 0, "eraYear"), st("N", Zu), st("NN", Zu), st("NNN", Zu), st("NNNN", function(h, y) { return y.erasNameRegex(h); }), st("NNNNN", function(h, y) { return y.erasNarrowRegex(h); }), Gt(["N", "NN", "NNN", "NNNN", "NNNNN"], function(h, y, _, S) { S = _._locale.erasParse(h, S, _._strict), S ? b(_).era = S : b(_).invalidEra = h; }), st("y", Tt), st("yy", Tt), st("yyy", Tt), st("yyyy", Tt), st("yo", function(h, y) { return y._eraYearOrdinalRegex || Tt; }), Gt(["y", "yy", "yyy", "yyyy"], Vt), Gt(["yo"], function(h, y, _, S) { var R; _._locale._eraYearOrdinalRegex && (R = h.match(_._locale._eraYearOrdinalRegex)), _._locale.eraYearOrdinalParse ? y[Vt] = _._locale.eraYearOrdinalParse(h, R) : y[Vt] = parseInt(h, 10); }), j(0, ["gg", 2], 0, function() { return this.weekYear() % 100; }), j(0, ["GG", 2], 0, function() { return this.isoWeekYear() % 100; }), dl("gggg", "weekYear"), dl("ggggg", "weekYear"), dl("GGGG", "isoWeekYear"), dl("GGGGG", "isoWeekYear"), ut("weekYear", "gg"), ut("isoWeekYear", "GG"), P("weekYear", 1), P("isoWeekYear", 1), st("G", gt), st("g", gt), st("GG", U, ce), st("gg", U, ce), st("GGGG", Ri, rs), st("gggg", Ri, rs), st("GGGGG", Ii, Oi), st("ggggg", Ii, Oi), Ee(["gggg", "ggggg", "GGGG", "GGGGG"], function(h, y, _, S) { y[S.substr(0, 2)] = F(h); }), Ee(["gg", "GG"], function(h, y, _, S) { y[S] = n.parseTwoDigitYear(h); }), j("Q", 0, "Qo", "quarter"), ut("quarter", "Q"), P("quarter", 7), st("Q", C), Gt("Q", function(h, y) { y[Ft] = 3 * (F(h) - 1); }), j("D", ["DD", 2], "Do", "date"), ut("date", "D"), P("date", 9), st("D", U), st("DD", U, ce), st("Do", function(h, y) { return h ? y._dayOfMonthOrdinalParse || y._ordinalParse : y._dayOfMonthOrdinalParseLenient; }), Gt(["D", "DD"], xt), Gt("Do", function(h, y) { y[xt] = F(h.match(U)[0]); }), Ri = O("Date", !0), j("DDD", ["DDDD", 3], "DDDo", "dayOfYear"), ut("dayOfYear", "DDD"), P("dayOfYear", 4), st("DDD", Mt), st("DDDD", ht), Gt(["DDD", "DDDD"], function(h, y, _) { _._dayOfYear = F(h); }), j("m", ["mm", 2], 0, "minute"), ut("minute", "m"), P("minute", 14), st("m", U), st("mm", U, ce), Gt(["m", "mm"], Lt); var Bi, rs = O("Minutes", !1), Ii = (j("s", ["ss", 2], 0, "second"), ut("second", "s"), P("second", 15), st("s", U), st("ss", U, ce), Gt(["s", "ss"], bt), O("Seconds", !1)); for (j("S", 0, 0, function() { return ~~(this.millisecond() / 100); }), j(0, ["SS", 2], 0, function() { return ~~(this.millisecond() / 10); }), j(0, ["SSS", 3], 0, "millisecond"), j(0, ["SSSS", 4], 0, function() { return 10 * this.millisecond(); }), j(0, ["SSSSS", 5], 0, function() { return 100 * this.millisecond(); }), j(0, ["SSSSSS", 6], 0, function() { return 1e3 * this.millisecond(); }), j(0, ["SSSSSSS", 7], 0, function() { return 1e4 * this.millisecond(); }), j(0, ["SSSSSSSS", 8], 0, function() { return 1e5 * this.millisecond(); }), j(0, ["SSSSSSSSS", 9], 0, function() { return 1e6 * this.millisecond(); }), ut("millisecond", "ms"), P("millisecond", 16), st("S", Mt, C), st("SS", Mt, ce), st("SSS", Mt, ht), Bi = "SSSS"; Bi.length <= 9; Bi += "S") st(Bi, Tt); function Sb(h, y) { y[Ut] = F(1e3 * ("0." + h)); } for (Bi = "S"; Bi.length <= 9; Bi += "S") Gt(Bi, Sb); Oi = O("Milliseconds", !1), j("z", 0, 0, "zoneAbbr"), j("zz", 0, 0, "zoneName"), C = H.prototype; function Zd(h) { return h; } C.add = ee, C.calendar = function(_, R) { arguments.length === 1 && (arguments[0] ? Cb(arguments[0]) ? (_ = arguments[0], R = void 0) : function(it) { for (var yt = s(it) && !o(it), Ct = !1, Pt = ["sameDay", "nextDay", "lastDay", "nextWeek", "lastWeek", "sameElse"], It = 0; It < Pt.length; It += 1) Ct = Ct || a(it, Pt[It]); return yt && Ct; }(arguments[0]) && (R = arguments[0], _ = void 0) : R = _ = void 0); var _ = _ || Se(), S = Gr(_, this).startOf("day"), S = n.calendarFormat(this, S) || "sameElse", R = R && (w(R[S]) ? R[S].call(this, _) : R[S]); return this.format(R || this.localeData().calendar(S, this, Se(_))); }, C.clone = function() { return new H(this); }, C.diff = function(h, y, _) { var S, R, it; if (!this.isValid()) return NaN; if (!(S = Gr(h, this)).isValid()) return NaN; switch (R = 6e4 * (S.utcOffset() - this.utcOffset()), y = _t(y)) { case "year": it = hl(this, S) / 12; break; case "month": it = hl(this, S); break; case "quarter": it = hl(this, S) / 3; break; case "second": it = (this - S) / 1e3; break; case "minute": it = (this - S) / 6e4; break; case "hour": it = (this - S) / 36e5; break; case "day": it = (this - S - R) / 864e5; break; case "week": it = (this - S - R) / 6048e5; break; default: it = this - S; } return _ ? it : $(it); }, C.endOf = function(h) { var y, _; if ((h = _t(h)) === void 0 || h === "millisecond" || !this.isValid()) return this; switch (_ = this._isUTC ? $d : Xd, h) { case "year": y = _(this.year() + 1, 0, 1) - 1; break; case "quarter": y = _(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; break; case "month": y = _(this.year(), this.month() + 1, 1) - 1; break; case "week": y = _(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; break; case "isoWeek": y = _(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; break; case "day": case "date": y = _(this.year(), this.month(), this.date() + 1) - 1; break; case "hour": y = this._d.valueOf(), y += 36e5 - Ps(y + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - 1; break; case "minute": y = this._d.valueOf(), y += 6e4 - Ps(y, 6e4) - 1; break; case "second": y = this._d.valueOf(), y += 1e3 - Ps(y, 1e3) - 1; break; } return this._d.setTime(y), n.updateOffset(this, !0), this; }, C.format = function(h) { return h = h || (this.isUtc() ? n.defaultFormatUtc : n.defaultFormat), h = ot(this, h), this.localeData().postformat(h); }, C.from = function(h, y) { return this.isValid() && (G(h) && h.isValid() || Se(h).isValid()) ? ln({ to: this, from: h }).locale(this.locale()).humanize(!y) : this.localeData().invalidDate(); }, C.fromNow = function(h) { return this.from(Se(), h); }, C.to = function(h, y) { return this.isValid() && (G(h) && h.isValid() || Se(h).isValid()) ? ln({ from: this, to: h }).locale(this.locale()).humanize(!y) : this.localeData().invalidDate(); }, C.toNow = function(h) { return this.to(Se(), h); }, C.get = function(h) { return w(this[h = _t(h)]) ? this[h]() : this; }, C.invalidAt = function() { return b(this).overflow; }, C.isAfter = function(h, y) { return h = G(h) ? h : Se(h), !(!this.isValid() || !h.isValid()) && ((y = _t(y) || "millisecond") === "millisecond" ? this.valueOf() > h.valueOf() : h.valueOf() < this.clone().startOf(y).valueOf()); }, C.isBefore = function(h, y) { return h = G(h) ? h : Se(h), !(!this.isValid() || !h.isValid()) && ((y = _t(y) || "millisecond") === "millisecond" ? this.valueOf() < h.valueOf() : this.clone().endOf(y).valueOf() < h.valueOf()); }, C.isBetween = function(h, y, _, S) { return h = G(h) ? h : Se(h), y = G(y) ? y : Se(y), !!(this.isValid() && h.isValid() && y.isValid()) && ((S = S || "()")[0] === "(" ? this.isAfter(h, _) : !this.isBefore(h, _)) && (S[1] === ")" ? this.isBefore(y, _) : !this.isAfter(y, _)); }, C.isSame = function(_, y) { var _ = G(_) ? _ : Se(_); return !(!this.isValid() || !_.isValid()) && ((y = _t(y) || "millisecond") === "millisecond" ? this.valueOf() === _.valueOf() : (_ = _.valueOf(), this.clone().startOf(y).valueOf() <= _ && _ <= this.clone().endOf(y).valueOf())); }, C.isSameOrAfter = function(h, y) { return this.isSame(h, y) || this.isAfter(h, y); }, C.isSameOrBefore = function(h, y) { return this.isSame(h, y) || this.isBefore(h, y); }, C.isValid = function() { return k(this); }, C.lang = Ge, C.locale = Gd, C.localeData = qd, C.max = et, C.min = Yt, C.parsingFlags = function() { return p({}, b(this)); }, C.set = function(h, y) { if (typeof h == "object") for (var _ = function(it) { var yt, Ct = []; for (yt in it) a(it, yt) && Ct.push({ unit: yt, priority: Ot[yt] }); return Ct.sort(function(Pt, It) { return Pt.priority - It.priority; }), Ct; }(h = K(h)), S = _.length, R = 0; R < S; R++) this[_[R].unit](h[_[R].unit]); else if (w(this[h = _t(h)])) return this[h](y); return this; }, C.startOf = function(h) { var y, _; if ((h = _t(h)) === void 0 || h === "millisecond" || !this.isValid()) return this; switch (_ = this._isUTC ? $d : Xd, h) { case "year": y = _(this.year(), 0, 1); break; case "quarter": y = _(this.year(), this.month() - this.month() % 3, 1); break; case "month": y = _(this.year(), this.month(), 1); break; case "week": y = _(this.year(), this.month(), this.date() - this.weekday()); break; case "isoWeek": y = _(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); break; case "day": case "date": y = _(this.year(), this.month(), this.date()); break; case "hour": y = this._d.valueOf(), y -= Ps(y + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5); break; case "minute": y = this._d.valueOf(), y -= Ps(y, 6e4); break; case "second": y = this._d.valueOf(), y -= Ps(y, 1e3); break; } return this._d.setTime(y), n.updateOffset(this, !0), this; }, C.subtract = Pe, C.toArray = function() { var h = this; return [h.year(), h.month(), h.date(), h.hour(), h.minute(), h.second(), h.millisecond()]; }, C.toObject = function() { var h = this; return { years: h.year(), months: h.month(), date: h.date(), hours: h.hours(), minutes: h.minutes(), seconds: h.seconds(), milliseconds: h.milliseconds() }; }, C.toDate = function() { return new Date(this.valueOf()); }, C.toISOString = function(h) { if (!this.isValid()) return null; var y = (h = h !== !0) ? this.clone().utc() : this; return y.year() < 0 || 9999 < y.year() ? ot(y, h ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ") : w(Date.prototype.toISOString) ? h ? this.toDate().toISOString() : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", ot(y, "Z")) : ot(y, h ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"); }, C.inspect = function() { if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)"; var h, y = "moment", _ = ""; return this.isLocal() || (y = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", _ = "Z"), y = "[" + y + '("]', h = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", this.format(y + h + "-MM-DD[T]HH:mm:ss.SSS" + (_ + '[")]')); }, typeof Symbol < "u" && Symbol.for != null && (C[Symbol.for("nodejs.util.inspect.custom")] = function() { return "Moment<" + this.format() + ">"; }), C.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, C.toString = function() { return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ"); }, C.unix = function() { return Math.floor(this.valueOf() / 1e3); }, C.valueOf = function() { return this._d.valueOf() - 6e4 * (this._offset || 0); }, C.creationData = function() { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict }; }, C.eraName = function() { for (var h, y = this.localeData().eras(), _ = 0, S = y.length; _ < S; ++_) if (h = this.clone().startOf("day").valueOf(), y[_].since <= h && h <= y[_].until || y[_].until <= h && h <= y[_].since) return y[_].name; return ""; }, C.eraNarrow = function() { for (var h, y = this.localeData().eras(), _ = 0, S = y.length; _ < S; ++_) if (h = this.clone().startOf("day").valueOf(), y[_].since <= h && h <= y[_].until || y[_].until <= h && h <= y[_].since) return y[_].narrow; return ""; }, C.eraAbbr = function() { for (var h, y = this.localeData().eras(), _ = 0, S = y.length; _ < S; ++_) if (h = this.clone().startOf("day").valueOf(), y[_].since <= h && h <= y[_].until || y[_].until <= h && h <= y[_].since) return y[_].abbr; return ""; }, C.eraYear = function() { for (var h, y, _ = this.localeData().eras(), S = 0, R = _.length; S < R; ++S) if (h = _[S].since <= _[S].until ? 1 : -1, y = this.clone().startOf("day").valueOf(), _[S].since <= y && y <= _[S].until || _[S].until <= y && y <= _[S].since) return (this.year() - n(_[S].since).year()) * h + _[S].offset; return this.year(); }, C.year = pl, C.isLeapYear = function() { return z(this.year()); }, C.weekYear = function(h) { return Kd.call(this, h, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy); }, C.isoWeekYear = function(h) { return Kd.call(this, h, this.isoWeek(), this.isoWeekday(), 1, 4); }, C.quarter = C.quarters = function(h) { return h == null ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (h - 1) + this.month() % 3); }, C.month = ie, C.daysInMonth = function() { return dt(this.year(), this.month()); }, C.week = C.weeks = function(h) { var y = this.localeData().week(this); return h == null ? y : this.add(7 * (h - y), "d"); }, C.isoWeek = C.isoWeeks = function(h) { var y = Be(this, 1, 4).week; return h == null ? y : this.add(7 * (h - y), "d"); }, C.weeksInYear = function() { var h = this.localeData()._week; return Oe(this.year(), h.dow, h.doy); }, C.weeksInWeekYear = function() { var h = this.localeData()._week; return Oe(this.weekYear(), h.dow, h.doy); }, C.isoWeeksInYear = function() { return Oe(this.year(), 1, 4); }, C.isoWeeksInISOWeekYear = function() { return Oe(this.isoWeekYear(), 1, 4); }, C.date = Ri, C.day = C.days = function(h) { if (!this.isValid()) return h != null ? this : NaN; var y, _, S = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return h != null ? (y = h, _ = this.localeData(), h = typeof y != "string" ? y : isNaN(y) ? typeof (y = _.weekdaysParse(y)) == "number" ? y : null : parseInt(y, 10), this.add(h - S, "d")) : S; }, C.weekday = function(h) { if (!this.isValid()) return h != null ? this : NaN; var y = (this.day() + 7 - this.localeData()._week.dow) % 7; return h == null ? y : this.add(h - y, "d"); }, C.isoWeekday = function(h) { return this.isValid() ? h != null ? (y = h, _ = this.localeData(), _ = typeof y == "string" ? _.weekdaysParse(y) % 7 || 7 : isNaN(y) ? null : y, this.day(this.day() % 7 ? _ : _ - 7)) : this.day() || 7 : h != null ? this : NaN; var y, _; }, C.dayOfYear = function(h) { var y = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1; return h == null ? y : this.add(h - y, "d"); }, C.hour = C.hours = pt, C.minute = C.minutes = rs, C.second = C.seconds = Ii, C.millisecond = C.milliseconds = Oi, C.utcOffset = function(h, y, _) { var S, R = this._offset || 0; if (!this.isValid()) return h != null ? this : NaN; if (h == null) return this._isUTC ? R : Ku(this); if (typeof h == "string") { if ((h = ts(wt, h)) === null) return this; } else Math.abs(h) < 16 && !_ && (h *= 60); return !this._isUTC && y && (S = Ku(this)), this._offset = h, this._isUTC = !0, S != null && this.add(S, "m"), R !== h && (!y || this._changeInProgress ? Wd(this, ln(h - R, "m"), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, n.updateOffset(this, !0), this._changeInProgress = null)), this; }, C.utc = function(h) { return this.utcOffset(0, h); }, C.local = function(h) { return this._isUTC && (this.utcOffset(0, h), this._isUTC = !1, h && this.subtract(Ku(this), "m")), this; }, C.parseZone = function() { var h; return this._tzm != null ? this.utcOffset(this._tzm, !1, !0) : typeof this._i == "string" && ((h = ts(Et, this._i)) != null ? this.utcOffset(h) : this.utcOffset(0, !0)), this; }, C.hasAlignedHourOffset = function(h) { return !!this.isValid() && (h = h ? Se(h).utcOffset() : 0, (this.utcOffset() - h) % 60 == 0); }, C.isDST = function() { return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset(); }, C.isLocal = function() { return !!this.isValid() && !this._isUTC; }, C.isUtcOffset = function() { return !!this.isValid() && this._isUTC; }, C.isUtc = Vd, C.isUTC = Vd, C.zoneAbbr = function() { return this._isUTC ? "UTC" : ""; }, C.zoneName = function() { return this._isUTC ? "Coordinated Universal Time" : ""; }, C.dates = W("dates accessor is deprecated. Use date instead.", Ri), C.months = W("months accessor is deprecated. Use month instead", ie), C.years = W("years accessor is deprecated. Use year instead", pl), C.zone = W("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", function(h, y) { return h != null ? (this.utcOffset(h = typeof h != "string" ? -h : h, y), this) : -this.utcOffset(); }), C.isDSTShifted = W("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", function() { if (!l(this._isDSTShifted)) return this._isDSTShifted; var h, y = {}; return V(y, this), (y = ul(y))._a ? (h = (y._isUTC ? g : Se)(y._a), this._isDSTShifted = this.isValid() && 0 < function(_, S, R) { for (var it = Math.min(_.length, S.length), yt = Math.abs(_.length - S.length), Ct = 0, Pt = 0; Pt < it; Pt++) (R && _[Pt] !== S[Pt] || !R && F(_[Pt]) !== F(S[Pt])) && Ct++; return Ct + yt; }(y._a, h.toArray())) : this._isDSTShifted = !1, this._isDSTShifted; }), ce = M.prototype; function fl(h, y, _, it) { var R = oe(), it = g().set(it, y); return R[_](it, h); } function Qd(h, y, _) { if (u(h) && (y = h, h = void 0), h = h || "", y != null) return fl(h, y, _, "month"); for (var S = [], R = 0; R < 12; R++) S[R] = fl(h, R, _, "month"); return S; } function Ju(h, y, _, S) { y = (typeof h == "boolean" ? u(y) && (_ = y, y = void 0) : (y = h, h = !1, u(_ = y) && (_ = y, y = void 0)), y || ""); var R, it = oe(), yt = h ? it._week.dow : 0, Ct = []; if (_ != null) return fl(y, (_ + yt) % 7, S, "day"); for (R = 0; R < 7; R++) Ct[R] = fl(y, (R + yt) % 7, S, "day"); return Ct; } ce.calendar = function(h, y, _) { return w(h = this._calendar[h] || this._calendar.sameElse) ? h.call(y, _) : h; }, ce.longDateFormat = function(h) { var y = this._longDateFormat[h], _ = this._longDateFormat[h.toUpperCase()]; return y || !_ ? y : (this._longDateFormat[h] = _.match(x).map(function(S) { return S === "MMMM" || S === "MM" || S === "DD" || S === "dddd" ? S.slice(1) : S; }).join(""), this._longDateFormat[h]); }, ce.invalidDate = function() { return this._invalidDate; }, ce.ordinal = function(h) { return this._ordinal.replace("%d", h); }, ce.preparse = Zd, ce.postformat = Zd, ce.relativeTime = function(h, y, _, S) { var R = this._relativeTime[_]; return w(R) ? R(h, y, _, S) : R.replace(/%d/i, h); }, ce.pastFuture = function(h, y) { return w(h = this._relativeTime[0 < h ? "future" : "past"]) ? h(y) : h.replace(/%s/i, y); }, ce.set = function(h) { var y, _; for (_ in h) a(h, _) && (w(y = h[_]) ? this[_] = y : this["_" + _] = y); this._config = h, this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source); }, ce.eras = function(h, y) { for (var _, S = this._eras || oe("en")._eras, R = 0, it = S.length; R < it; ++R) { switch (typeof S[R].since) { case "string": _ = n(S[R].since).startOf("day"), S[R].since = _.valueOf(); break; } switch (typeof S[R].until) { case "undefined": S[R].until = 1 / 0; break; case "string": _ = n(S[R].until).startOf("day").valueOf(), S[R].until = _.valueOf(); break; } } return S; }, ce.erasParse = function(h, y, _) { var S, R, it, yt, Ct, Pt = this.eras(); for (h = h.toUpperCase(), S = 0, R = Pt.length; S < R; ++S) if (it = Pt[S].name.toUpperCase(), yt = Pt[S].abbr.toUpperCase(), Ct = Pt[S].narrow.toUpperCase(), _) switch (y) { case "N": case "NN": case "NNN": if (yt === h) return Pt[S]; break; case "NNNN": if (it === h) return Pt[S]; break; case "NNNNN": if (Ct === h) return Pt[S]; break; } else if (0 <= [it, yt, Ct].indexOf(h)) return Pt[S]; }, ce.erasConvertYear = function(h, y) { var _ = h.since <= h.until ? 1 : -1; return y === void 0 ? n(h.since).year() : n(h.since).year() + (y - h.offset) * _; }, ce.erasAbbrRegex = function(h) { return a(this, "_erasAbbrRegex") || Qu.call(this), h ? this._erasAbbrRegex : this._erasRegex; }, ce.erasNameRegex = function(h) { return a(this, "_erasNameRegex") || Qu.call(this), h ? this._erasNameRegex : this._erasRegex; }, ce.erasNarrowRegex = function(h) { return a(this, "_erasNarrowRegex") || Qu.call(this), h ? this._erasNarrowRegex : this._erasRegex; }, ce.months = function(h, y) { return h ? (i(this._months) ? this._months : this._months[(this._months.isFormat || me).test(y) ? "format" : "standalone"])[h.month()] : i(this._months) ? this._months : this._months.standalone; }, ce.monthsShort = function(h, y) { return h ? (i(this._monthsShort) ? this._monthsShort : this._monthsShort[me.test(y) ? "format" : "standalone"])[h.month()] : i(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone; }, ce.monthsParse = function(h, y, _) { var S, R; if (this._monthsParseExact) return function(re, yt, Ct) { var Pt, It, ue, re = re.toLocaleLowerCase(); if (!this._monthsParse) for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], Pt = 0; Pt < 12; ++Pt) ue = g([2e3, Pt]), this._shortMonthsParse[Pt] = this.monthsShort(ue, "").toLocaleLowerCase(), this._longMonthsParse[Pt] = this.months(ue, "").toLocaleLowerCase(); return Ct ? yt === "MMM" ? (It = Ht.call(this._shortMonthsParse, re)) !== -1 ? It : null : (It = Ht.call(this._longMonthsParse, re)) !== -1 ? It : null : yt === "MMM" ? (It = Ht.call(this._shortMonthsParse, re)) !== -1 || (It = Ht.call(this._longMonthsParse, re)) !== -1 ? It : null : (It = Ht.call(this._longMonthsParse, re)) !== -1 || (It = Ht.call(this._shortMonthsParse, re)) !== -1 ? It : null; }.call(this, h, y, _); for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), S = 0; S < 12; S++) if (R = g([2e3, S]), _ && !this._longMonthsParse[S] && (this._longMonthsParse[S] = new RegExp("^" + this.months(R, "").replace(".", "") + "$", "i"), this._shortMonthsParse[S] = new RegExp("^" + this.monthsShort(R, "").replace(".", "") + "$", "i")), _ || this._monthsParse[S] || (R = "^" + this.months(R, "") + "|^" + this.monthsShort(R, ""), this._monthsParse[S] = new RegExp(R.replace(".", ""), "i")), _ && y === "MMMM" && this._longMonthsParse[S].test(h) || _ && y === "MMM" && this._shortMonthsParse[S].test(h) || !_ && this._monthsParse[S].test(h)) return S; }, ce.monthsRegex = function(h) { return this._monthsParseExact ? (a(this, "_monthsRegex") || ge.call(this), h ? this._monthsStrictRegex : this._monthsRegex) : (a(this, "_monthsRegex") || (this._monthsRegex = ke), this._monthsStrictRegex && h ? this._monthsStrictRegex : this._monthsRegex); }, ce.monthsShortRegex = function(h) { return this._monthsParseExact ? (a(this, "_monthsRegex") || ge.call(this), h ? this._monthsShortStrictRegex : this._monthsShortRegex) : (a(this, "_monthsShortRegex") || (this._monthsShortRegex = be), this._monthsShortStrictRegex && h ? this._monthsShortStrictRegex : this._monthsShortRegex); }, ce.week = function(h) { return Be(h, this._week.dow, this._week.doy).week; }, ce.firstDayOfYear = function() { return this._week.doy; }, ce.firstDayOfWeek = function() { return this._week.dow; }, ce.weekdays = function(h, y) { return y = i(this._weekdays) ? this._weekdays : this._weekdays[h && h !== !0 && this._weekdays.isFormat.test(y) ? "format" : "standalone"], h === !0 ? Fe(y, this._week.dow) : h ? y[h.day()] : y; }, ce.weekdaysMin = function(h) { return h === !0 ? Fe(this._weekdaysMin, this._week.dow) : h ? this._weekdaysMin[h.day()] : this._weekdaysMin; }, ce.weekdaysShort = function(h) { return h === !0 ? Fe(this._weekdaysShort, this._week.dow) : h ? this._weekdaysShort[h.day()] : this._weekdaysShort; }, ce.weekdaysParse = function(h, y, _) { var S, R; if (this._weekdaysParseExact) return function(re, yt, Ct) { var Pt, It, ue, re = re.toLocaleLowerCase(); if (!this._weekdaysParse) for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], Pt = 0; Pt < 7; ++Pt) ue = g([2e3, 1]).day(Pt), this._minWeekdaysParse[Pt] = this.weekdaysMin(ue, "").toLocaleLowerCase(), this._shortWeekdaysParse[Pt] = this.weekdaysShort(ue, "").toLocaleLowerCase(), this._weekdaysParse[Pt] = this.weekdays(ue, "").toLocaleLowerCase(); return Ct ? yt === "dddd" ? (It = Ht.call(this._weekdaysParse, re)) !== -1 ? It : null : yt === "ddd" ? (It = Ht.call(this._shortWeekdaysParse, re)) !== -1 ? It : null : (It = Ht.call(this._minWeekdaysParse, re)) !== -1 ? It : null : yt === "dddd" ? (It = Ht.call(this._weekdaysParse, re)) !== -1 || (It = Ht.call(this._shortWeekdaysParse, re)) !== -1 || (It = Ht.call(this._minWeekdaysParse, re)) !== -1 ? It : null : yt === "ddd" ? (It = Ht.call(this._shortWeekdaysParse, re)) !== -1 || (It = Ht.call(this._weekdaysParse, re)) !== -1 || (It = Ht.call(this._minWeekdaysParse, re)) !== -1 ? It : null : (It = Ht.call(this._minWeekdaysParse, re)) !== -1 || (It = Ht.call(this._weekdaysParse, re)) !== -1 || (It = Ht.call(this._shortWeekdaysParse, re)) !== -1 ? It : null; }.call(this, h, y, _); for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), S = 0; S < 7; S++) if (R = g([2e3, 1]).day(S), _ && !this._fullWeekdaysParse[S] && (this._fullWeekdaysParse[S] = new RegExp("^" + this.weekdays(R, "").replace(".", "\\.?") + "$", "i"), this._shortWeekdaysParse[S] = new RegExp("^" + this.weekdaysShort(R, "").replace(".", "\\.?") + "$", "i"), this._minWeekdaysParse[S] = new RegExp("^" + this.weekdaysMin(R, "").replace(".", "\\.?") + "$", "i")), this._weekdaysParse[S] || (R = "^" + this.weekdays(R, "") + "|^" + this.weekdaysShort(R, "") + "|^" + this.weekdaysMin(R, ""), this._weekdaysParse[S] = new RegExp(R.replace(".", ""), "i")), _ && y === "dddd" && this._fullWeekdaysParse[S].test(h) || _ && y === "ddd" && this._shortWeekdaysParse[S].test(h) || _ && y === "dd" && this._minWeekdaysParse[S].test(h) || !_ && this._weekdaysParse[S].test(h)) return S; }, ce.weekdaysRegex = function(h) { return this._weekdaysParseExact ? (a(this, "_weekdaysRegex") || St.call(this), h ? this._weekdaysStrictRegex : this._weekdaysRegex) : (a(this, "_weekdaysRegex") || (this._weekdaysRegex = tr), this._weekdaysStrictRegex && h ? this._weekdaysStrictRegex : this._weekdaysRegex); }, ce.weekdaysShortRegex = function(h) { return this._weekdaysParseExact ? (a(this, "_weekdaysRegex") || St.call(this), h ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (a(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = zt), this._weekdaysShortStrictRegex && h ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex); }, ce.weekdaysMinRegex = function(h) { return this._weekdaysParseExact ? (a(this, "_weekdaysRegex") || St.call(this), h ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (a(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Z), this._weekdaysMinStrictRegex && h ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex); }, ce.isPM = function(h) { return (h + "").toLowerCase().charAt(0) === "p"; }, ce.meridiem = function(h, y, _) { return 11 < h ? _ ? "pm" : "PM" : _ ? "am" : "AM"; }, qt("en", { eras: [{ since: "0001-01-01", until: 1 / 0, offset: 1, name: "Anno Domini", narrow: "AD", abbr: "AD" }, { since: "0000-12-31", until: -1 / 0, offset: 1, name: "Before Christ", narrow: "BC", abbr: "BC" }], dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function(h) { var y = h % 10; return h + (F(h % 100 / 10) === 1 ? "th" : y == 1 ? "st" : y == 2 ? "nd" : y == 3 ? "rd" : "th"); } }), n.lang = W("moment.lang is deprecated. Use moment.locale instead.", qt), n.langData = W("moment.langData is deprecated. Use moment.localeData instead.", oe); var Jn = Math.abs; function Jd(h, y, _, S) { return y = ln(y, _), h._milliseconds += S * y._milliseconds, h._days += S * y._days, h._months += S * y._months, h._bubble(); } function tf(h) { return h < 0 ? Math.floor(h) : Math.ceil(h); } function ef(h) { return 4800 * h / 146097; } function th(h) { return 146097 * h / 4800; } function ti(h) { return function() { return this.as(h); }; } Mt = ti("ms"), ht = ti("s"), ee = ti("m"), et = ti("h"), Yt = ti("d"), Pe = ti("w"), pt = ti("M"), rs = ti("Q"), Ii = ti("y"); function ns(h) { return function() { return this.isValid() ? this._data[h] : NaN; }; } var Oi = ns("milliseconds"), Ri = ns("seconds"), pl = ns("minutes"), ce = ns("hours"), Ab = ns("days"), Lb = ns("months"), Db = ns("years"), ei = Math.round, Ys = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; function Mb(h, y, _, S) { var It = ln(h).abs(), ue = ei(It.as("s")), R = ei(It.as("m")), it = ei(It.as("h")), yt = ei(It.as("d")), Ct = ei(It.as("M")), Pt = ei(It.as("w")), It = ei(It.as("y")), ue = (ue <= _.ss ? ["s", ue] : ue < _.s && ["ss", ue]) || R <= 1 && ["m"] || R < _.m && ["mm", R] || it <= 1 && ["h"] || it < _.h && ["hh", it] || yt <= 1 && ["d"] || yt < _.d && ["dd", yt]; return (ue = (ue = _.w != null ? ue || Pt <= 1 && ["w"] || Pt < _.w && ["ww", Pt] : ue) || Ct <= 1 && ["M"] || Ct < _.M && ["MM", Ct] || It <= 1 && ["y"] || ["yy", It])[2] = y, ue[3] = 0 < +h, ue[4] = S, function(re, He, rr, cn, rh) { return rh.relativeTime(He || 1, !!rr, re, cn); }.apply(null, ue); } var eh = Math.abs; function Vs(h) { return (0 < h) - (h < 0) || +h; } function gl() { if (!this.isValid()) return this.localeData().invalidDate(); var h, y, _, S, R, it, yt, Ct = eh(this._milliseconds) / 1e3, Pt = eh(this._days), It = eh(this._months), ue = this.asSeconds(); return ue ? (h = $(Ct / 60), y = $(h / 60), Ct %= 60, h %= 60, _ = $(It / 12), It %= 12, S = Ct ? Ct.toFixed(3).replace(/\.?0+$/, "") : "", R = Vs(this._months) !== Vs(ue) ? "-" : "", it = Vs(this._days) !== Vs(ue) ? "-" : "", yt = Vs(this._milliseconds) !== Vs(ue) ? "-" : "", (ue < 0 ? "-" : "") + "P" + (_ ? R + _ + "Y" : "") + (It ? R + It + "M" : "") + (Pt ? it + Pt + "D" : "") + (y || h || Ct ? "T" : "") + (y ? yt + y + "H" : "") + (h ? yt + h + "M" : "") + (Ct ? yt + S + "S" : "")) : "P0D"; } var Ce = on.prototype; return Ce.isValid = function() { return this._isValid; }, Ce.abs = function() { var h = this._data; return this._milliseconds = Jn(this._milliseconds), this._days = Jn(this._days), this._months = Jn(this._months), h.milliseconds = Jn(h.milliseconds), h.seconds = Jn(h.seconds), h.minutes = Jn(h.minutes), h.hours = Jn(h.hours), h.months = Jn(h.months), h.years = Jn(h.years), this; }, Ce.add = function(h, y) { return Jd(this, h, y, 1); }, Ce.subtract = function(h, y) { return Jd(this, h, y, -1); }, Ce.as = function(h) { if (!this.isValid()) return NaN; var y, _, S = this._milliseconds; if ((h = _t(h)) === "month" || h === "quarter" || h === "year") switch (y = this._days + S / 864e5, _ = this._months + ef(y), h) { case "month": return _; case "quarter": return _ / 3; case "year": return _ / 12; } else switch (y = this._days + Math.round(th(this._months)), h) { case "week": return y / 7 + S / 6048e5; case "day": return y + S / 864e5; case "hour": return 24 * y + S / 36e5; case "minute": return 1440 * y + S / 6e4; case "second": return 86400 * y + S / 1e3; case "millisecond": return Math.floor(864e5 * y) + S; default: throw new Error("Unknown unit " + h); } }, Ce.asMilliseconds = Mt, Ce.asSeconds = ht, Ce.asMinutes = ee, Ce.asHours = et, Ce.asDays = Yt, Ce.asWeeks = Pe, Ce.asMonths = pt, Ce.asQuarters = rs, Ce.asYears = Ii, Ce.valueOf = function() { return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * F(this._months / 12) : NaN; }, Ce._bubble = function() { var h = this._milliseconds, y = this._days, _ = this._months, S = this._data; return 0 <= h && 0 <= y && 0 <= _ || h <= 0 && y <= 0 && _ <= 0 || (h += 864e5 * tf(th(_) + y), _ = y = 0), S.milliseconds = h % 1e3, h = $(h / 1e3), S.seconds = h % 60, h = $(h / 60), S.minutes = h % 60, h = $(h / 60), S.hours = h % 24, y += $(h / 24), _ += h = $(ef(y)), y -= tf(th(h)), h = $(_ / 12), _ %= 12, S.days = y, S.months = _, S.years = h, this; }, Ce.clone = function() { return ln(this); }, Ce.get = function(h) { return h = _t(h), this.isValid() ? this[h + "s"]() : NaN; }, Ce.milliseconds = Oi, Ce.seconds = Ri, Ce.minutes = pl, Ce.hours = ce, Ce.days = Ab, Ce.weeks = function() { return $(this.days() / 7); }, Ce.months = Lb, Ce.years = Db, Ce.humanize = function(h, y) { if (!this.isValid()) return this.localeData().invalidDate(); var _ = !1, S = Ys; return typeof h == "object" && (y = h, h = !1), typeof h == "boolean" && (_ = h), typeof y == "object" && (S = Object.assign({}, Ys, y), y.s != null && y.ss == null && (S.ss = y.s - 1)), h = this.localeData(), y = Mb(this, !_, S, h), _ && (y = h.pastFuture(+this, y)), h.postformat(y); }, Ce.toISOString = gl, Ce.toString = gl, Ce.toJSON = gl, Ce.locale = Gd, Ce.localeData = qd, Ce.toIsoString = W("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", gl), Ce.lang = Ge, j("X", 0, 0, "unix"), j("x", 0, 0, "valueOf"), st("x", gt), st("X", /[+-]?\d+(\.\d{1,3})?/), Gt("X", function(h, y, _) { _._d = new Date(1e3 * parseFloat(h)); }), Gt("x", function(h, y, _) { _._d = new Date(F(h)); }), n.version = "2.29.4", r = Se, n.fn = C, n.min = function() { return Ar("isBefore", [].slice.call(arguments, 0)); }, n.max = function() { return Ar("isAfter", [].slice.call(arguments, 0)); }, n.now = function() { return Date.now ? Date.now() : +new Date(); }, n.utc = g, n.unix = function(h) { return Se(1e3 * h); }, n.months = function(h, y) { return Qd(h, y, "months"); }, n.isDate = d, n.locale = qt, n.invalid = T, n.duration = ln, n.isMoment = G, n.weekdays = function(h, y, _) { return Ju(h, y, _, "weekdays"); }, n.parseZone = function() { return Se.apply(null, arguments).parseZone(); }, n.localeData = oe, n.isDuration = Qn, n.monthsShort = function(h, y) { return Qd(h, y, "monthsShort"); }, n.weekdaysMin = function(h, y, _) { return Ju(h, y, _, "weekdaysMin"); }, n.defineLocale = te, n.updateLocale = function(h, y) { var _, S; return y != null ? (S = We, xe[h] != null && xe[h].parentLocale != null ? xe[h].set(v(xe[h]._config, y)) : (y = v(S = (_ = Rr(h)) != null ? _._config : S, y), _ == null && (y.abbr = h), (S = new M(y)).parentLocale = xe[h], xe[h] = S), qt(h)) : xe[h] != null && (xe[h].parentLocale != null ? (xe[h] = xe[h].parentLocale, h === qt() && qt(h)) : xe[h] != null && delete xe[h]), xe[h]; }, n.locales = function() { return m(xe); }, n.weekdaysShort = function(h, y, _) { return Ju(h, y, _, "weekdaysShort"); }, n.normalizeUnits = _t, n.relativeTimeRounding = function(h) { return h === void 0 ? ei : typeof h == "function" && (ei = h, !0); }, n.relativeTimeThreshold = function(h, y) { return Ys[h] !== void 0 && (y === void 0 ? Ys[h] : (Ys[h] = y, h === "s" && (Ys.ss = y - 1), !0)); }, n.calendarFormat = function(h, y) { return (h = h.diff(y, "days", !0)) < -6 ? "sameElse" : h < -1 ? "lastWeek" : h < 0 ? "lastDay" : h < 1 ? "sameDay" : h < 2 ? "nextDay" : h < 7 ? "nextWeek" : "sameElse"; }, n.prototype = C, n.HTML5_FMT = { DATETIME_LOCAL: "YYYY-MM-DDTHH:mm", DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss", DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS", DATE: "YYYY-MM-DD", TIME: "HH:mm", TIME_SECONDS: "HH:mm:ss", TIME_MS: "HH:mm:ss.SSS", WEEK: "GGGG-[W]WW", MONTH: "YYYY-MM" }, n; }); })(zp); const vn = zp.exports, ri = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, B = { trace: (...t) => { }, debug: (...t) => { }, info: (...t) => { }, warn: (...t) => { }, error: (...t) => { }, fatal: (...t) => { } }, c0 = function(t = "fatal") { let e = ri.fatal; typeof t == "string" ? (t = t.toLowerCase(), t in ri && (e = ri[t])) : typeof t == "number" && (e = t), B.trace = () => { }, B.debug = () => { }, B.info = () => { }, B.warn = () => { }, B.error = () => { }, B.fatal = () => { }, e <= ri.fatal && (B.fatal = console.error ? console.error.bind(console, Zr("FATAL"), "color: orange") : console.log.bind(console, "\x1B[35m", Zr("FATAL"))), e <= ri.error && (B.error = console.error ? console.error.bind(console, Zr("ERROR"), "color: orange") : console.log.bind(console, "\x1B[31m", Zr("ERROR"))), e <= ri.warn && (B.warn = console.warn ? console.warn.bind(console, Zr("WARN"), "color: orange") : console.log.bind(console, "\x1B[33m", Zr("WARN"))), e <= ri.info && (B.info = console.info ? console.info.bind(console, Zr("INFO"), "color: lightblue") : console.log.bind(console, "\x1B[34m", Zr("INFO"))), e <= ri.debug && (B.debug = console.debug ? console.debug.bind(console, Zr("DEBUG"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Zr("DEBUG"))), e <= ri.trace && (B.trace = console.debug ? console.debug.bind(console, Zr("TRACE"), "color: lightgreen") : console.log.bind(console, "\x1B[32m", Zr("TRACE"))); }, Zr = (t) => `%c${vn().format("ss.SSS")} : ${t} : `; var u0 = {}; Object.defineProperty(u0, "__esModule", { value: !0 }); var Ti = u0.sanitizeUrl = void 0, Rb = /^([^\w]*)(javascript|data|vbscript)/im, Fb = /&#(\w+)(^\w|;)?/g, Pb = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim, Yb = /^([^:]+):/gm, Vb = [".", "/"]; function Ub(t) { return Vb.indexOf(t[0]) > -1; } function zb(t) { return t.replace(Fb, function(e, r) { return String.fromCharCode(r); }); } function Wb(t) { var e = zb(t || "").replace(Pb, "").trim(); if (!e) return "about:blank"; if (Ub(e)) return e; var r = e.match(Yb); if (!r) return e; var n = r[0]; return Rb.test(n) ? "about:blank" : e; } Ti = u0.sanitizeUrl = Wb; function Il(t, e) { return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function Hb(t, e) { return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function h0(t) { let e, r, n; t.length !== 2 ? (e = Il, r = (o, l) => Il(t(o), l), n = (o, l) => t(o) - l) : (e = t === Il || t === Hb ? t : Gb, r = t, n = t); function i(o, l, u = 0, d = o.length) { if (u < d) { if (e(l, l) !== 0) return d; do { const f = u + d >>> 1; r(o[f], l) < 0 ? u = f + 1 : d = f; } while (u < d); } return u; } function s(o, l, u = 0, d = o.length) { if (u < d) { if (e(l, l) !== 0) return d; do { const f = u + d >>> 1; r(o[f], l) <= 0 ? u = f + 1 : d = f; } while (u < d); } return u; } function a(o, l, u = 0, d = o.length) { const f = i(o, l, u, d - 1); return f > u && n(o[f - 1], l) > -n(o[f], l) ? f - 1 : f; } return { left: i, center: a, right: s }; } function Gb() { return 0; } function qb(t) { return t === null ? NaN : +t; } const jb = h0(Il), Xb = jb.right; h0(qb).center; const $b = Xb; class rf extends Map { constructor(e, r = Qb) { if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: r } }), e != null) for (const [n, i] of e) this.set(n, i); } get(e) { return super.get(nf(this, e)); } has(e) { return super.has(nf(this, e)); } set(e, r) { return super.set(Kb(this, e), r); } delete(e) { return super.delete(Zb(this, e)); } } function nf({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) ? t.get(n) : r; } function Kb({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) ? t.get(n) : (t.set(n, r), r); } function Zb({ _intern: t, _key: e }, r) { const n = e(r); return t.has(n) && (r = t.get(n), t.delete(n)), r; } function Qb(t) { return t !== null && typeof t == "object" ? t.valueOf() : t; } var Gh = Math.sqrt(50), qh = Math.sqrt(10), jh = Math.sqrt(2); function Jb(t, e, r) { var n, i = -1, s, a, o; if (e = +e, t = +t, r = +r, t === e && r > 0) return [t]; if ((n = e < t) && (s = t, t = e, e = s), (o = Wp(t, e, r)) === 0 || !isFinite(o)) return []; if (o > 0) { let l = Math.round(t / o), u = Math.round(e / o); for (l * o < t && ++l, u * o > e && --u, a = new Array(s = u - l + 1); ++i < s; ) a[i] = (l + i) * o; } else { o = -o; let l = Math.round(t * o), u = Math.round(e * o); for (l / o < t && ++l, u / o > e && --u, a = new Array(s = u - l + 1); ++i < s; ) a[i] = (l + i) / o; } return n && a.reverse(), a; } function Wp(t, e, r) { var n = (e - t) / Math.max(0, r), i = Math.floor(Math.log(n) / Math.LN10), s = n / Math.pow(10, i); return i >= 0 ? (s >= Gh ? 10 : s >= qh ? 5 : s >= jh ? 2 : 1) * Math.pow(10, i) : -Math.pow(10, -i) / (s >= Gh ? 10 : s >= qh ? 5 : s >= jh ? 2 : 1); } function Xh(t, e, r) { var n = Math.abs(e - t) / Math.max(0, r), i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), s = n / i; return s >= Gh ? i *= 10 : s >= qh ? i *= 5 : s >= jh && (i *= 2), e < t ? -i : i; } function t5(t, e) { let r; if (e === void 0) for (const n of t) n != null && (r < n || r === void 0 && n >= n) && (r = n); else { let n = -1; for (let i of t) (i = e(i, ++n, t)) != null && (r < i || r === void 0 && i >= i) && (r = i); } return r; } function e5(t, e) { let r; if (e === void 0) for (const n of t) n != null && (r > n || r === void 0 && n >= n) && (r = n); else { let n = -1; for (let i of t) (i = e(i, ++n, t)) != null && (r > i || r === void 0 && i >= i) && (r = i); } return r; } function r5(t) { return t; } var Ol = 1, nh = 2, $h = 3, yl = 4, sf = 1e-6; function n5(t) { return "translate(" + t + ",0)"; } function i5(t) { return "translate(0," + t + ")"; } function s5(t) { return (e) => +t(e); } function a5(t, e) { return e = Math.max(0, t.bandwidth() - e * 2) / 2, t.round() && (e = Math.round(e)), (r) => +t(r) + e; } function o5() { return !this.__axis; } function Hp(t, e) { var r = [], n = null, i = null, s = 6, a = 6, o = 3, l = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : 0.5, u = t === Ol || t === yl ? -1 : 1, d = t === yl || t === nh ? "x" : "y", f = t === Ol || t === $h ? n5 : i5; function p(g) { var b = n == null ? e.ticks ? e.ticks.apply(e, r) : e.domain() : n, k = i == null ? e.tickFormat ? e.tickFormat.apply(e, r) : r5 : i, T = Math.max(s, 0) + o, L = e.range(), E = +L[0] + l, I = +L[L.length - 1] + l, V = (e.bandwidth ? a5 : s5)(e.copy(), l), H = g.selection ? g.selection() : g, G = H.selectAll(".domain").data([null]), Y = H.selectAll(".tick").data(b, e).order(), W = Y.exit(), N = Y.enter().append("g").attr("class", "tick"), D = Y.select("line"), w = Y.select("text"); G = G.merge(G.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")), Y = Y.merge(N), D = D.merge(N.append("line").attr("stroke", "currentColor").attr(d + "2", u * s)), w = w.merge(N.append("text").attr("fill", "currentColor").attr(d, u * T).attr("dy", t === Ol ? "0em" : t === $h ? "0.71em" : "0.32em")), g !== H && (G = G.transition(g), Y = Y.transition(g), D = D.transition(g), w = w.transition(g), W = W.transition(g).attr("opacity", sf).attr("transform", function(v) { return isFinite(v = V(v)) ? f(v + l) : this.getAttribute("transform"); }), N.attr("opacity", sf).attr("transform", function(v) { var M = this.parentNode.__axis; return f((M && isFinite(M = M(v)) ? M : V(v)) + l); })), W.remove(), G.attr("d", t === yl || t === nh ? a ? "M" + u * a + "," + E + "H" + l + "V" + I + "H" + u * a : "M" + l + "," + E + "V" + I : a ? "M" + E + "," + u * a + "V" + l + "H" + I + "V" + u * a : "M" + E + "," + l + "H" + I), Y.attr("opacity", 1).attr("transform", function(v) { return f(V(v) + l); }), D.attr(d + "2", u * s), w.attr(d, u * T).text(k), H.filter(o5).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", t === nh ? "start" : t === yl ? "end" : "middle"), H.each(function() { this.__axis = V; }); } return p.scale = function(g) { return arguments.length ? (e = g, p) : e; }, p.ticks = function() { return r = Array.from(arguments), p; }, p.tickArguments = function(g) { return arguments.length ? (r = g == null ? [] : Array.from(g), p) : r.slice(); }, p.tickValues = function(g) { return arguments.length ? (n = g == null ? null : Array.from(g), p) : n && n.slice(); }, p.tickFormat = function(g) { return arguments.length ? (i = g, p) : i; }, p.tickSize = function(g) { return arguments.length ? (s = a = +g, p) : s; }, p.tickSizeInner = function(g) { return arguments.length ? (s = +g, p) : s; }, p.tickSizeOuter = function(g) { return arguments.length ? (a = +g, p) : a; }, p.tickPadding = function(g) { return arguments.length ? (o = +g, p) : o; }, p.offset = function(g) { return arguments.length ? (l = +g, p) : l; }, p; } function l5(t) { return Hp(Ol, t); } function c5(t) { return Hp($h, t); } var u5 = { value: () => { } }; function Gp() { for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) { if (!(n = arguments[t] + "") || n in r || /[\s.]/.test(n)) throw new Error("illegal type: " + n); r[n] = []; } return new Rl(r); } function Rl(t) { this._ = t; } function h5(t, e) { return t.trim().split(/^|\s+/).map(function(r) { var n = "", i = r.indexOf("."); if (i >= 0 && (n = r.slice(i + 1), r = r.slice(0, i)), r && !e.hasOwnProperty(r)) throw new Error("unknown type: " + r); return { type: r, name: n }; }); } Rl.prototype = Gp.prototype = { constructor: Rl, on: function(t, e) { var r = this._, n = h5(t + "", r), i, s = -1, a = n.length; if (arguments.length < 2) { for (; ++s < a; ) if ((i = (t = n[s]).type) && (i = d5(r[i], t.name))) return i; return; } if (e != null && typeof e != "function") throw new Error("invalid callback: " + e); for (; ++s < a; ) if (i = (t = n[s]).type) r[i] = af(r[i], t.name, e); else if (e == null) for (i in r) r[i] = af(r[i], t.name, null); return this; }, copy: function() { var t = {}, e = this._; for (var r in e) t[r] = e[r].slice(); return new Rl(t); }, call: function(t, e) { if ((i = arguments.length - 2) > 0) for (var r = new Array(i), n = 0, i, s; n < i; ++n) r[n] = arguments[n + 2]; if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (s = this._[t], n = 0, i = s.length; n < i; ++n) s[n].value.apply(e, r); }, apply: function(t, e, r) { if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t); for (var n = this._[t], i = 0, s = n.length; i < s; ++i) n[i].value.apply(e, r); } }; function d5(t, e) { for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value; } function af(t, e, r) { for (var n = 0, i = t.length; n < i; ++n) if (t[n].name === e) { t[n] = u5, t = t.slice(0, n).concat(t.slice(n + 1)); break; } return r != null && t.push({ name: e, value: r }), t; } var Kh = "http://www.w3.org/1999/xhtml"; const of = { svg: "http://www.w3.org/2000/svg", xhtml: Kh, xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/" }; function au(t) { var e = t += "", r = e.indexOf(":"); return r >= 0 && (e = t.slice(0, r)) !== "xmlns" && (t = t.slice(r + 1)), of.hasOwnProperty(e) ? { space: of[e], local: t } : t; } function f5(t) { return function() { var e = this.ownerDocument, r = this.namespaceURI; return r === Kh && e.documentElement.namespaceURI === Kh ? e.createElement(t) : e.createElementNS(r, t); }; } function p5(t) { return function() { return this.ownerDocument.createElementNS(t.space, t.local); }; } function qp(t) { var e = au(t); return (e.local ? p5 : f5)(e); } function g5() { } function d0(t) { return t == null ? g5 : function() { return this.querySelector(t); }; } function y5(t) { typeof t != "function" && (t = d0(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var s = e[i], a = s.length, o = n[i] = new Array(a), l, u, d = 0; d < a; ++d) (l = s[d]) && (u = t.call(l, l.__data__, d, s)) && ("__data__" in l && (u.__data__ = l.__data__), o[d] = u); return new Ir(n, this._parents); } function jp(t) { return t == null ? [] : Array.isArray(t) ? t : Array.from(t); } function m5() { return []; } function Xp(t) { return t == null ? m5 : function() { return this.querySelectorAll(t); }; } function b5(t) { return function() { return jp(t.apply(this, arguments)); }; } function _5(t) { typeof t == "function" ? t = b5(t) : t = Xp(t); for (var e = this._groups, r = e.length, n = [], i = [], s = 0; s < r; ++s) for (var a = e[s], o = a.length, l, u = 0; u < o; ++u) (l = a[u]) && (n.push(t.call(l, l.__data__, u, a)), i.push(l)); return new Ir(n, i); } function $p(t) { return function() { return this.matches(t); }; } function Kp(t) { return function(e) { return e.matches(t); }; } var x5 = Array.prototype.find; function v5(t) { return function() { return x5.call(this.children, t); }; } function k5() { return this.firstElementChild; } function w5(t) { return this.select(t == null ? k5 : v5(typeof t == "function" ? t : Kp(t))); } var T5 = Array.prototype.filter; function E5() { return Array.from(this.children); } function C5(t) { return function() { return T5.call(this.children, t); }; } function S5(t) { return this.selectAll(t == null ? E5 : C5(typeof t == "function" ? t : Kp(t))); } function A5(t) { typeof t != "function" && (t = $p(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var s = e[i], a = s.length, o = n[i] = [], l, u = 0; u < a; ++u) (l = s[u]) && t.call(l, l.__data__, u, s) && o.push(l); return new Ir(n, this._parents); } function Zp(t) { return new Array(t.length); } function L5() { return new Ir(this._enter || this._groups.map(Zp), this._parents); } function ic(t, e) { this.ownerDocument = t.ownerDocument, this.namespaceURI = t.namespaceURI, this._next = null, this._parent = t, this.__data__ = e; } ic.prototype = { constructor: ic, appendChild: function(t) { return this._parent.insertBefore(t, this._next); }, insertBefore: function(t, e) { return this._parent.insertBefore(t, e); }, querySelector: function(t) { return this._parent.querySelector(t); }, querySelectorAll: function(t) { return this._parent.querySelectorAll(t); } }; function D5(t) { return function() { return t; }; } function M5(t, e, r, n, i, s) { for (var a = 0, o, l = e.length, u = s.length; a < u; ++a) (o = e[a]) ? (o.__data__ = s[a], n[a] = o) : r[a] = new ic(t, s[a]); for (; a < l; ++a) (o = e[a]) && (i[a] = o); } function N5(t, e, r, n, i, s, a) { var o, l, u = /* @__PURE__ */ new Map(), d = e.length, f = s.length, p = new Array(d), g; for (o = 0; o < d; ++o) (l = e[o]) && (p[o] = g = a.call(l, l.__data__, o, e) + "", u.has(g) ? i[o] = l : u.set(g, l)); for (o = 0; o < f; ++o) g = a.call(t, s[o], o, s) + "", (l = u.get(g)) ? (n[o] = l, l.__data__ = s[o], u.delete(g)) : r[o] = new ic(t, s[o]); for (o = 0; o < d; ++o) (l = e[o]) && u.get(p[o]) === l && (i[o] = l); } function B5(t) { return t.__data__; } function I5(t, e) { if (!arguments.length) return Array.from(this, B5); var r = e ? N5 : M5, n = this._parents, i = this._groups; typeof t != "function" && (t = D5(t)); for (var s = i.length, a = new Array(s), o = new Array(s), l = new Array(s), u = 0; u < s; ++u) { var d = n[u], f = i[u], p = f.length, g = O5(t.call(d, d && d.__data__, u, n)), b = g.length, k = o[u] = new Array(b), T = a[u] = new Array(b), L = l[u] = new Array(p); r(d, f, k, T, L, g, e); for (var E = 0, I = 0, V, H; E < b; ++E) if (V = k[E]) { for (E >= I && (I = E + 1); !(H = T[I]) && ++I < b; ) ; V._next = H || null; } } return a = new Ir(a, n), a._enter = o, a._exit = l, a; } function O5(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function R5() { return new Ir(this._exit || this._groups.map(Zp), this._parents); } function F5(t, e, r) { var n = this.enter(), i = this, s = this.exit(); return typeof t == "function" ? (n = t(n), n && (n = n.selection())) : n = n.append(t + ""), e != null && (i = e(i), i && (i = i.selection())), r == null ? s.remove() : r(s), n && i ? n.merge(i).order() : i; } function P5(t) { for (var e = t.selection ? t.selection() : t, r = this._groups, n = e._groups, i = r.length, s = n.length, a = Math.min(i, s), o = new Array(i), l = 0; l < a; ++l) for (var u = r[l], d = n[l], f = u.length, p = o[l] = new Array(f), g, b = 0; b < f; ++b) (g = u[b] || d[b]) && (p[b] = g); for (; l < i; ++l) o[l] = r[l]; return new Ir(o, this._parents); } function Y5() { for (var t = this._groups, e = -1, r = t.length; ++e < r; ) for (var n = t[e], i = n.length - 1, s = n[i], a; --i >= 0; ) (a = n[i]) && (s && a.compareDocumentPosition(s) ^ 4 && s.parentNode.insertBefore(a, s), s = a); return this; } function V5(t) { t || (t = U5); function e(f, p) { return f && p ? t(f.__data__, p.__data__) : !f - !p; } for (var r = this._groups, n = r.length, i = new Array(n), s = 0; s < n; ++s) { for (var a = r[s], o = a.length, l = i[s] = new Array(o), u, d = 0; d < o; ++d) (u = a[d]) && (l[d] = u); l.sort(e); } return new Ir(i, this._parents).order(); } function U5(t, e) { return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; } function z5() { var t = arguments[0]; return arguments[0] = this, t.apply(null, arguments), this; } function W5() { return Array.from(this); } function H5() { for (var t = this._groups, e = 0, r = t.length; e < r; ++e) for (var n = t[e], i = 0, s = n.length; i < s; ++i) { var a = n[i]; if (a) return a; } return null; } function G5() { let t = 0; for (const e of this) ++t; return t; } function q5() { return !this.node(); } function j5(t) { for (var e = this._groups, r = 0, n = e.length; r < n; ++r) for (var i = e[r], s = 0, a = i.length, o; s < a; ++s) (o = i[s]) && t.call(o, o.__data__, s, i); return this; } function X5(t) { return function() { this.removeAttribute(t); }; } function $5(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function K5(t, e) { return function() { this.setAttribute(t, e); }; } function Z5(t, e) { return function() { this.setAttributeNS(t.space, t.local, e); }; } function Q5(t, e) { return function() { var r = e.apply(this, arguments); r == null ? this.removeAttribute(t) : this.setAttribute(t, r); }; } function J5(t, e) { return function() { var r = e.apply(this, arguments); r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r); }; } function t_(t, e) { var r = au(t); if (arguments.length < 2) { var n = this.node(); return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r); } return this.each((e == null ? r.local ? $5 : X5 : typeof e == "function" ? r.local ? J5 : Q5 : r.local ? Z5 : K5)(r, e)); } function Qp(t) { return t.ownerDocument && t.ownerDocument.defaultView || t.document && t || t.defaultView; } function e_(t) { return function() { this.style.removeProperty(t); }; } function r_(t, e, r) { return function() { this.style.setProperty(t, e, r); }; } function n_(t, e, r) { return function() { var n = e.apply(this, arguments); n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r); }; } function i_(t, e, r) { return arguments.length > 1 ? this.each((e == null ? e_ : typeof e == "function" ? n_ : r_)(t, e, r == null ? "" : r)) : oa(this.node(), t); } function oa(t, e) { return t.style.getPropertyValue(e) || Qp(t).getComputedStyle(t, null).getPropertyValue(e); } function s_(t) { return function() { delete this[t]; }; } function a_(t, e) { return function() { this[t] = e; }; } function o_(t, e) { return function() { var r = e.apply(this, arguments); r == null ? delete this[t] : this[t] = r; }; } function l_(t, e) { return arguments.length > 1 ? this.each((e == null ? s_ : typeof e == "function" ? o_ : a_)(t, e)) : this.node()[t]; } function Jp(t) { return t.trim().split(/^|\s+/); } function f0(t) { return t.classList || new tg(t); } function tg(t) { this._node = t, this._names = Jp(t.getAttribute("class") || ""); } tg.prototype = { add: function(t) { var e = this._names.indexOf(t); e < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))); }, remove: function(t) { var e = this._names.indexOf(t); e >= 0 && (this._names.splice(e, 1), this._node.setAttribute("class", this._names.join(" "))); }, contains: function(t) { return this._names.indexOf(t) >= 0; } }; function eg(t, e) { for (var r = f0(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]); } function rg(t, e) { for (var r = f0(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]); } function c_(t) { return function() { eg(this, t); }; } function u_(t) { return function() { rg(this, t); }; } function h_(t, e) { return function() { (e.apply(this, arguments) ? eg : rg)(this, t); }; } function d_(t, e) { var r = Jp(t + ""); if (arguments.length < 2) { for (var n = f0(this.node()), i = -1, s = r.length; ++i < s; ) if (!n.contains(r[i])) return !1; return !0; } return this.each((typeof e == "function" ? h_ : e ? c_ : u_)(r, e)); } function f_() { this.textContent = ""; } function p_(t) { return function() { this.textContent = t; }; } function g_(t) { return function() { var e = t.apply(this, arguments); this.textContent = e == null ? "" : e; }; } function y_(t) { return arguments.length ? this.each(t == null ? f_ : (typeof t == "function" ? g_ : p_)(t)) : this.node().textContent; } function m_() { this.innerHTML = ""; } function b_(t) { return function() { this.innerHTML = t; }; } function __(t) { return function() { var e = t.apply(this, arguments); this.innerHTML = e == null ? "" : e; }; } function x_(t) { return arguments.length ? this.each(t == null ? m_ : (typeof t == "function" ? __ : b_)(t)) : this.node().innerHTML; } function v_() { this.nextSibling && this.parentNode.appendChild(this); } function k_() { return this.each(v_); } function w_() { this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild); } function T_() { return this.each(w_); } function E_(t) { var e = typeof t == "function" ? t : qp(t); return this.select(function() { return this.appendChild(e.apply(this, arguments)); }); } function C_() { return null; } function S_(t, e) { var r = typeof t == "function" ? t : qp(t), n = e == null ? C_ : typeof e == "function" ? e : d0(e); return this.select(function() { return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null); }); } function A_() { var t = this.parentNode; t && t.removeChild(this); } function L_() { return this.each(A_); } function D_() { var t = this.cloneNode(!1), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function M_() { var t = this.cloneNode(!0), e = this.parentNode; return e ? e.insertBefore(t, this.nextSibling) : t; } function N_(t) { return this.select(t ? M_ : D_); } function B_(t) { return arguments.length ? this.property("__data__", t) : this.node().__data__; } function I_(t) { return function(e) { t.call(this, e, this.__data__); }; } function O_(t) { return t.trim().split(/^|\s+/).map(function(e) { var r = "", n = e.indexOf("."); return n >= 0 && (r = e.slice(n + 1), e = e.slice(0, n)), { type: e, name: r }; }); } function R_(t) { return function() { var e = this.__on; if (!!e) { for (var r = 0, n = -1, i = e.length, s; r < i; ++r) s = e[r], (!t.type || s.type === t.type) && s.name === t.name ? this.removeEventListener(s.type, s.listener, s.options) : e[++n] = s; ++n ? e.length = n : delete this.__on; } }; } function F_(t, e, r) { return function() { var n = this.__on, i, s = I_(e); if (n) { for (var a = 0, o = n.length; a < o; ++a) if ((i = n[a]).type === t.type && i.name === t.name) { this.removeEventListener(i.type, i.listener, i.options), this.addEventListener(i.type, i.listener = s, i.options = r), i.value = e; return; } } this.addEventListener(t.type, s, r), i = { type: t.type, name: t.name, value: e, listener: s, options: r }, n ? n.push(i) : this.__on = [i]; }; } function P_(t, e, r) { var n = O_(t + ""), i, s = n.length, a; if (arguments.length < 2) { var o = this.node().__on; if (o) { for (var l = 0, u = o.length, d; l < u; ++l) for (i = 0, d = o[l]; i < s; ++i) if ((a = n[i]).type === d.type && a.name === d.name) return d.value; } return; } for (o = e ? F_ : R_, i = 0; i < s; ++i) this.each(o(n[i], e, r)); return this; } function ng(t, e, r) { var n = Qp(t), i = n.CustomEvent; typeof i == "function" ? i = new i(e, r) : (i = n.document.createEvent("Event"), r ? (i.initEvent(e, r.bubbles, r.cancelable), i.detail = r.detail) : i.initEvent(e, !1, !1)), t.dispatchEvent(i); } function Y_(t, e) { return function() { return ng(this, t, e); }; } function V_(t, e) { return function() { return ng(this, t, e.apply(this, arguments)); }; } function U_(t, e) { return this.each((typeof e == "function" ? V_ : Y_)(t, e)); } function* z_() { for (var t = this._groups, e = 0, r = t.length; e < r; ++e) for (var n = t[e], i = 0, s = n.length, a; i < s; ++i) (a = n[i]) && (yield a); } var p0 = [null]; function Ir(t, e) { this._groups = t, this._parents = e; } function jo() { return new Ir([[document.documentElement]], p0); } function W_() { return this; } Ir.prototype = jo.prototype = { constructor: Ir, select: y5, selectAll: _5, selectChild: w5, selectChildren: S5, filter: A5, data: I5, enter: L5, exit: R5, join: F5, merge: P5, selection: W_, order: Y5, sort: V5, call: z5, nodes: W5, node: H5, size: G5, empty: q5, each: j5, attr: t_, style: i_, property: l_, classed: d_, text: y_, html: x_, raise: k_, lower: T_, append: E_, insert: S_, remove: L_, clone: N_, datum: B_, on: P_, dispatch: U_, [Symbol.iterator]: z_ }; function At(t) { return typeof t == "string" ? new Ir([[document.querySelector(t)]], [document.documentElement]) : new Ir([[t]], p0); } function g0(t) { return typeof t == "string" ? new Ir([document.querySelectorAll(t)], [document.documentElement]) : new Ir([jp(t)], p0); } function Xo(t, e, r) { t.prototype = e.prototype = r, r.constructor = t; } function ou(t, e) { var r = Object.create(t.prototype); for (var n in e) r[n] = e[n]; return r; } function As() { } var _o = 0.7, sc = 1 / _o, ta = "\\s*([+-]?\\d+)\\s*", xo = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", zn = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", H_ = /^#([0-9a-f]{3,8})$/, G_ = new RegExp(`^rgb\\(${ta},${ta},${ta}\\)$`), q_ = new RegExp(`^rgb\\(${zn},${zn},${zn}\\)$`), j_ = new RegExp(`^rgba\\(${ta},${ta},${ta},${xo}\\)$`), X_ = new RegExp(`^rgba\\(${zn},${zn},${zn},${xo}\\)$`), $_ = new RegExp(`^hsl\\(${xo},${zn},${zn}\\)$`), K_ = new RegExp(`^hsla\\(${xo},${zn},${zn},${xo}\\)$`), lf = { aliceblue: 15792383, antiquewhite: 16444375, aqua: 65535, aquamarine: 8388564, azure: 15794175, beige: 16119260, bisque: 16770244, black: 0, blanchedalmond: 16772045, blue: 255, blueviolet: 9055202, brown: 10824234, burlywood: 14596231, cadetblue: 6266528, chartreuse: 8388352, chocolate: 13789470, coral: 16744272, cornflowerblue: 6591981, cornsilk: 16775388, crimson: 14423100, cyan: 65535, darkblue: 139, darkcyan: 35723, darkgoldenrod: 12092939, darkgray: 11119017, darkgreen: 25600, darkgrey: 11119017, darkkhaki: 12433259, darkmagenta: 9109643, darkolivegreen: 5597999, darkorange: 16747520, darkorchid: 10040012, darkred: 9109504, darksalmon: 15308410, darkseagreen: 9419919, darkslateblue: 4734347, darkslategray: 3100495, darkslategrey: 3100495, darkturquoise: 52945, darkviolet: 9699539, deeppink: 16716947, deepskyblue: 49151, dimgray: 6908265, dimgrey: 6908265, dodgerblue: 2003199, firebrick: 11674146, floralwhite: 16775920, forestgreen: 2263842, fuchsia: 16711935, gainsboro: 14474460, ghostwhite: 16316671, gold: 16766720, goldenrod: 14329120, gray: 8421504, green: 32768, greenyellow: 11403055, grey: 8421504, honeydew: 15794160, hotpink: 16738740, indianred: 13458524, indigo: 4915330, ivory: 16777200, khaki: 15787660, lavender: 15132410, lavenderblush: 16773365, lawngreen: 8190976, lemonchiffon: 16775885, lightblue: 11393254, lightcoral: 15761536, lightcyan: 14745599, lightgoldenrodyellow: 16448210, lightgray: 13882323, lightgreen: 9498256, lightgrey: 13882323, lightpink: 16758465, lightsalmon: 16752762, lightseagreen: 2142890, lightskyblue: 8900346, lightslategray: 7833753, lightslategrey: 7833753, lightsteelblue: 11584734, lightyellow: 16777184, lime: 65280, limegreen: 3329330, linen: 16445670, magenta: 16711935, maroon: 8388608, mediumaquamarine: 6737322, mediumblue: 205, mediumorchid: 12211667, mediumpurple: 9662683, mediumseagreen: 3978097, mediumslateblue: 8087790, mediumspringgreen: 64154, mediumturquoise: 4772300, mediumvioletred: 13047173, midnightblue: 1644912, mintcream: 16121850, mistyrose: 16770273, moccasin: 16770229, navajowhite: 16768685, navy: 128, oldlace: 16643558, olive: 8421376, olivedrab: 7048739, orange: 16753920, orangered: 16729344, orchid: 14315734, palegoldenrod: 15657130, palegreen: 10025880, paleturquoise: 11529966, palevioletred: 14381203, papayawhip: 16773077, peachpuff: 16767673, peru: 13468991, pink: 16761035, plum: 14524637, powderblue: 11591910, purple: 8388736, rebeccapurple: 6697881, red: 16711680, rosybrown: 12357519, royalblue: 4286945, saddlebrown: 9127187, salmon: 16416882, sandybrown: 16032864, seagreen: 3050327, seashell: 16774638, sienna: 10506797, silver: 12632256, skyblue: 8900331, slateblue: 6970061, slategray: 7372944, slategrey: 7372944, snow: 16775930, springgreen: 65407, steelblue: 4620980, tan: 13808780, teal: 32896, thistle: 14204888, tomato: 16737095, turquoise: 4251856, violet: 15631086, wheat: 16113331, white: 16777215, whitesmoke: 16119285, yellow: 16776960, yellowgreen: 10145074 }; Xo(As, ys, { copy(t) { return Object.assign(new this.constructor(), this, t); }, displayable() { return this.rgb().displayable(); }, hex: cf, formatHex: cf, formatHex8: Z_, formatHsl: Q_, formatRgb: uf, toString: uf }); function cf() { return this.rgb().formatHex(); } function Z_() { return this.rgb().formatHex8(); } function Q_() { return sg(this).formatHsl(); } function uf() { return this.rgb().formatRgb(); } function ys(t) { var e, r; return t = (t + "").trim().toLowerCase(), (e = H_.exec(t)) ? (r = e[1].length, e = parseInt(e[1], 16), r === 6 ? hf(e) : r === 3 ? new Er(e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, (e & 15) << 4 | e & 15, 1) : r === 8 ? ml(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, (e & 255) / 255) : r === 4 ? ml(e >> 12 & 15 | e >> 8 & 240, e >> 8 & 15 | e >> 4 & 240, e >> 4 & 15 | e & 240, ((e & 15) << 4 | e & 15) / 255) : null) : (e = G_.exec(t)) ? new Er(e[1], e[2], e[3], 1) : (e = q_.exec(t)) ? new Er(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, 1) : (e = j_.exec(t)) ? ml(e[1], e[2], e[3], e[4]) : (e = X_.exec(t)) ? ml(e[1] * 255 / 100, e[2] * 255 / 100, e[3] * 255 / 100, e[4]) : (e = $_.exec(t)) ? pf(e[1], e[2] / 100, e[3] / 100, 1) : (e = K_.exec(t)) ? pf(e[1], e[2] / 100, e[3] / 100, e[4]) : lf.hasOwnProperty(t) ? hf(lf[t]) : t === "transparent" ? new Er(NaN, NaN, NaN, 0) : null; } function hf(t) { return new Er(t >> 16 & 255, t >> 8 & 255, t & 255, 1); } function ml(t, e, r, n) { return n <= 0 && (t = e = r = NaN), new Er(t, e, r, n); } function ig(t) { return t instanceof As || (t = ys(t)), t ? (t = t.rgb(), new Er(t.r, t.g, t.b, t.opacity)) : new Er(); } function Zh(t, e, r, n) { return arguments.length === 1 ? ig(t) : new Er(t, e, r, n == null ? 1 : n); } function Er(t, e, r, n) { this.r = +t, this.g = +e, this.b = +r, this.opacity = +n; } Xo(Er, Zh, ou(As, { brighter(t) { return t = t == null ? sc : Math.pow(sc, t), new Er(this.r * t, this.g * t, this.b * t, this.opacity); }, darker(t) { return t = t == null ? _o : Math.pow(_o, t), new Er(this.r * t, this.g * t, this.b * t, this.opacity); }, rgb() { return this; }, clamp() { return new Er(fs(this.r), fs(this.g), fs(this.b), ac(this.opacity)); }, displayable() { return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1; }, hex: df, formatHex: df, formatHex8: J_, formatRgb: ff, toString: ff })); function df() { return `#${ds(this.r)}${ds(this.g)}${ds(this.b)}`; } function J_() { return `#${ds(this.r)}${ds(this.g)}${ds(this.b)}${ds((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; } function ff() { const t = ac(this.opacity); return `${t === 1 ? "rgb(" : "rgba("}${fs(this.r)}, ${fs(this.g)}, ${fs(this.b)}${t === 1 ? ")" : `, ${t})`}`; } function ac(t) { return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)); } function fs(t) { return Math.max(0, Math.min(255, Math.round(t) || 0)); } function ds(t) { return t = fs(t), (t < 16 ? "0" : "") + t.toString(16); } function pf(t, e, r, n) { return n <= 0 ? t = e = r = NaN : r <= 0 || r >= 1 ? t = e = NaN : e <= 0 && (t = NaN), new fn(t, e, r, n); } function sg(t) { if (t instanceof fn) return new fn(t.h, t.s, t.l, t.opacity); if (t instanceof As || (t = ys(t)), !t) return new fn(); if (t instanceof fn) return t; t = t.rgb(); var e = t.r / 255, r = t.g / 255, n = t.b / 255, i = Math.min(e, r, n), s = Math.max(e, r, n), a = NaN, o = s - i, l = (s + i) / 2; return o ? (e === s ? a = (r - n) / o + (r < n) * 6 : r === s ? a = (n - e) / o + 2 : a = (e - r) / o + 4, o /= l < 0.5 ? s + i : 2 - s - i, a *= 60) : o = l > 0 && l < 1 ? 0 : a, new fn(a, o, l, t.opacity); } function tx(t, e, r, n) { return arguments.length === 1 ? sg(t) : new fn(t, e, r, n == null ? 1 : n); } function fn(t, e, r, n) { this.h = +t, this.s = +e, this.l = +r, this.opacity = +n; } Xo(fn, tx, ou(As, { brighter(t) { return t = t == null ? sc : Math.pow(sc, t), new fn(this.h, this.s, this.l * t, this.opacity); }, darker(t) { return t = t == null ? _o : Math.pow(_o, t), new fn(this.h, this.s, this.l * t, this.opacity); }, rgb() { var t = this.h % 360 + (this.h < 0) * 360, e = isNaN(t) || isNaN(this.s) ? 0 : this.s, r = this.l, n = r + (r < 0.5 ? r : 1 - r) * e, i = 2 * r - n; return new Er( ih(t >= 240 ? t - 240 : t + 120, i, n), ih(t, i, n), ih(t < 120 ? t + 240 : t - 120, i, n), this.opacity ); }, clamp() { return new fn(gf(this.h), bl(this.s), bl(this.l), ac(this.opacity)); }, displayable() { return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1; }, formatHsl() { const t = ac(this.opacity); return `${t === 1 ? "hsl(" : "hsla("}${gf(this.h)}, ${bl(this.s) * 100}%, ${bl(this.l) * 100}%${t === 1 ? ")" : `, ${t})`}`; } })); function gf(t) { return t = (t || 0) % 360, t < 0 ? t + 360 : t; } function bl(t) { return Math.max(0, Math.min(1, t || 0)); } function ih(t, e, r) { return (t < 60 ? e + (r - e) * t / 60 : t < 180 ? r : t < 240 ? e + (r - e) * (240 - t) / 60 : e) * 255; } const ex = Math.PI / 180, rx = 180 / Math.PI, oc = 18, ag = 0.96422, og = 1, lg = 0.82521, cg = 4 / 29, ea = 6 / 29, ug = 3 * ea * ea, nx = ea * ea * ea; function hg(t) { if (t instanceof Wn) return new Wn(t.l, t.a, t.b, t.opacity); if (t instanceof di) return dg(t); t instanceof Er || (t = ig(t)); var e = lh(t.r), r = lh(t.g), n = lh(t.b), i = sh((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / og), s, a; return e === r && r === n ? s = a = i : (s = sh((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / ag), a = sh((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / lg)), new Wn(116 * i - 16, 500 * (s - i), 200 * (i - a), t.opacity); } function ix(t, e, r, n) { return arguments.length === 1 ? hg(t) : new Wn(t, e, r, n == null ? 1 : n); } function Wn(t, e, r, n) { this.l = +t, this.a = +e, this.b = +r, this.opacity = +n; } Xo(Wn, ix, ou(As, { brighter(t) { return new Wn(this.l + oc * (t == null ? 1 : t), this.a, this.b, this.opacity); }, darker(t) { return new Wn(this.l - oc * (t == null ? 1 : t), this.a, this.b, this.opacity); }, rgb() { var t = (this.l + 16) / 116, e = isNaN(this.a) ? t : t + this.a / 500, r = isNaN(this.b) ? t : t - this.b / 200; return e = ag * ah(e), t = og * ah(t), r = lg * ah(r), new Er( oh(3.1338561 * e - 1.6168667 * t - 0.4906146 * r), oh(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), oh(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), this.opacity ); } })); function sh(t) { return t > nx ? Math.pow(t, 1 / 3) : t / ug + cg; } function ah(t) { return t > ea ? t * t * t : ug * (t - cg); } function oh(t) { return 255 * (t <= 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055); } function lh(t) { return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4); } function sx(t) { if (t instanceof di) return new di(t.h, t.c, t.l, t.opacity); if (t instanceof Wn || (t = hg(t)), t.a === 0 && t.b === 0) return new di(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity); var e = Math.atan2(t.b, t.a) * rx; return new di(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity); } function Qh(t, e, r, n) { return arguments.length === 1 ? sx(t) : new di(t, e, r, n == null ? 1 : n); } function di(t, e, r, n) { this.h = +t, this.c = +e, this.l = +r, this.opacity = +n; } function dg(t) { if (isNaN(t.h)) return new Wn(t.l, 0, 0, t.opacity); var e = t.h * ex; return new Wn(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity); } Xo(di, Qh, ou(As, { brighter(t) { return new di(this.h, this.c, this.l + oc * (t == null ? 1 : t), this.opacity); }, darker(t) { return new di(this.h, this.c, this.l - oc * (t == null ? 1 : t), this.opacity); }, rgb() { return dg(this).rgb(); } })); const lu = (t) => () => t; function fg(t, e) { return function(r) { return t + r * e; }; } function ax(t, e, r) { return t = Math.pow(t, r), e = Math.pow(e, r) - t, r = 1 / r, function(n) { return Math.pow(t + n * e, r); }; } function ox(t, e) { var r = e - t; return r ? fg(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : lu(isNaN(t) ? e : t); } function lx(t) { return (t = +t) == 1 ? ao : function(e, r) { return r - e ? ax(e, r, t) : lu(isNaN(e) ? r : e); }; } function ao(t, e) { var r = e - t; return r ? fg(t, r) : lu(isNaN(t) ? e : t); } const lc = function t(e) { var r = lx(e); function n(i, s) { var a = r((i = Zh(i)).r, (s = Zh(s)).r), o = r(i.g, s.g), l = r(i.b, s.b), u = ao(i.opacity, s.opacity); return function(d) { return i.r = a(d), i.g = o(d), i.b = l(d), i.opacity = u(d), i + ""; }; } return n.gamma = t, n; }(1); function cx(t, e) { e || (e = []); var r = t ? Math.min(e.length, t.length) : 0, n = e.slice(), i; return function(s) { for (i = 0; i < r; ++i) n[i] = t[i] * (1 - s) + e[i] * s; return n; }; } function ux(t) { return ArrayBuffer.isView(t) && !(t instanceof DataView); } function hx(t, e) { var r = e ? e.length : 0, n = t ? Math.min(r, t.length) : 0, i = new Array(n), s = new Array(r), a; for (a = 0; a < n; ++a) i[a] = y0(t[a], e[a]); for (; a < r; ++a) s[a] = e[a]; return function(o) { for (a = 0; a < n; ++a) s[a] = i[a](o); return s; }; } function dx(t, e) { var r = new Date(); return t = +t, e = +e, function(n) { return r.setTime(t * (1 - n) + e * n), r; }; } function dn(t, e) { return t = +t, e = +e, function(r) { return t * (1 - r) + e * r; }; } function fx(t, e) { var r = {}, n = {}, i; (t === null || typeof t != "object") && (t = {}), (e === null || typeof e != "object") && (e = {}); for (i in e) i in t ? r[i] = y0(t[i], e[i]) : n[i] = e[i]; return function(s) { for (i in r) n[i] = r[i](s); return n; }; } var Jh = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, ch = new RegExp(Jh.source, "g"); function px(t) { return function() { return t; }; } function gx(t) { return function(e) { return t(e) + ""; }; } function pg(t, e) { var r = Jh.lastIndex = ch.lastIndex = 0, n, i, s, a = -1, o = [], l = []; for (t = t + "", e = e + ""; (n = Jh.exec(t)) && (i = ch.exec(e)); ) (s = i.index) > r && (s = e.slice(r, s), o[a] ? o[a] += s : o[++a] = s), (n = n[0]) === (i = i[0]) ? o[a] ? o[a] += i : o[++a] = i : (o[++a] = null, l.push({ i: a, x: dn(n, i) })), r = ch.lastIndex; return r < e.length && (s = e.slice(r), o[a] ? o[a] += s : o[++a] = s), o.length < 2 ? l[0] ? gx(l[0].x) : px(e) : (e = l.length, function(u) { for (var d = 0, f; d < e; ++d) o[(f = l[d]).i] = f.x(u); return o.join(""); }); } function y0(t, e) { var r = typeof e, n; return e == null || r === "boolean" ? lu(e) : (r === "number" ? dn : r === "string" ? (n = ys(e)) ? (e = n, lc) : pg : e instanceof ys ? lc : e instanceof Date ? dx : ux(e) ? cx : Array.isArray(e) ? hx : typeof e.valueOf != "function" && typeof e.toString != "function" || isNaN(e) ? fx : dn)(t, e); } function yx(t, e) { return t = +t, e = +e, function(r) { return Math.round(t * (1 - r) + e * r); }; } var yf = 180 / Math.PI, t1 = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }; function gg(t, e, r, n, i, s) { var a, o, l; return (a = Math.sqrt(t * t + e * e)) && (t /= a, e /= a), (l = t * r + e * n) && (r -= t * l, n -= e * l), (o = Math.sqrt(r * r + n * n)) && (r /= o, n /= o, l /= o), t * n < e * r && (t = -t, e = -e, l = -l, a = -a), { translateX: i, translateY: s, rotate: Math.atan2(e, t) * yf, skewX: Math.atan(l) * yf, scaleX: a, scaleY: o }; } var _l; function mx(t) { const e = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + ""); return e.isIdentity ? t1 : gg(e.a, e.b, e.c, e.d, e.e, e.f); } function bx(t) { return t == null || (_l || (_l = document.createElementNS("http://www.w3.org/2000/svg", "g")), _l.setAttribute("transform", t), !(t = _l.transform.baseVal.consolidate())) ? t1 : (t = t.matrix, gg(t.a, t.b, t.c, t.d, t.e, t.f)); } function yg(t, e, r, n) { function i(u) { return u.length ? u.pop() + " " : ""; } function s(u, d, f, p, g, b) { if (u !== f || d !== p) { var k = g.push("translate(", null, e, null, r); b.push({ i: k - 4, x: dn(u, f) }, { i: k - 2, x: dn(d, p) }); } else (f || p) && g.push("translate(" + f + e + p + r); } function a(u, d, f, p) { u !== d ? (u - d > 180 ? d += 360 : d - u > 180 && (u += 360), p.push({ i: f.push(i(f) + "rotate(", null, n) - 2, x: dn(u, d) })) : d && f.push(i(f) + "rotate(" + d + n); } function o(u, d, f, p) { u !== d ? p.push({ i: f.push(i(f) + "skewX(", null, n) - 2, x: dn(u, d) }) : d && f.push(i(f) + "skewX(" + d + n); } function l(u, d, f, p, g, b) { if (u !== f || d !== p) { var k = g.push(i(g) + "scale(", null, ",", null, ")"); b.push({ i: k - 4, x: dn(u, f) }, { i: k - 2, x: dn(d, p) }); } else (f !== 1 || p !== 1) && g.push(i(g) + "scale(" + f + "," + p + ")"); } return function(u, d) { var f = [], p = []; return u = t(u), d = t(d), s(u.translateX, u.translateY, d.translateX, d.translateY, f, p), a(u.rotate, d.rotate, f, p), o(u.skewX, d.skewX, f, p), l(u.scaleX, u.scaleY, d.scaleX, d.scaleY, f, p), u = d = null, function(g) { for (var b = -1, k = p.length, T; ++b < k; ) f[(T = p[b]).i] = T.x(g); return f.join(""); }; }; } var _x = yg(mx, "px, ", "px)", "deg)"), xx = yg(bx, ", ", ")", ")"); function vx(t) { return function(e, r) { var n = t((e = Qh(e)).h, (r = Qh(r)).h), i = ao(e.c, r.c), s = ao(e.l, r.l), a = ao(e.opacity, r.opacity); return function(o) { return e.h = n(o), e.c = i(o), e.l = s(o), e.opacity = a(o), e + ""; }; }; } const kx = vx(ox); var la = 0, Ja = 0, za = 0, mg = 1e3, cc, to, uc = 0, ms = 0, cu = 0, vo = typeof performance == "object" && performance.now ? performance : Date, bg = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(t) { setTimeout(t, 17); }; function m0() { return ms || (bg(wx), ms = vo.now() + cu); } function wx() { ms = 0; } function hc() { this._call = this._time = this._next = null; } hc.prototype = _g.prototype = { constructor: hc, restart: function(t, e, r) { if (typeof t != "function") throw new TypeError("callback is not a function"); r = (r == null ? m0() : +r) + (e == null ? 0 : +e), !this._next && to !== this && (to ? to._next = this : cc = this, to = this), this._call = t, this._time = r, e1(); }, stop: function() { this._call && (this._call = null, this._time = 1 / 0, e1()); } }; function _g(t, e, r) { var n = new hc(); return n.restart(t, e, r), n; } function Tx() { m0(), ++la; for (var t = cc, e; t; ) (e = ms - t._time) >= 0 && t._call.call(void 0, e), t = t._next; --la; } function mf() { ms = (uc = vo.now()) + cu, la = Ja = 0; try { Tx(); } finally { la = 0, Cx(), ms = 0; } } function Ex() { var t = vo.now(), e = t - uc; e > mg && (cu -= e, uc = t); } function Cx() { for (var t, e = cc, r, n = 1 / 0; e; ) e._call ? (n > e._time && (n = e._time), t = e, e = e._next) : (r = e._next, e._next = null, e = t ? t._next = r : cc = r); to = t, e1(n); } function e1(t) { if (!la) { Ja && (Ja = clearTimeout(Ja)); var e = t - ms; e > 24 ? (t < 1 / 0 && (Ja = setTimeout(mf, t - vo.now() - cu)), za && (za = clearInterval(za))) : (za || (uc = vo.now(), za = setInterval(Ex, mg)), la = 1, bg(mf)); } } function bf(t, e, r) { var n = new hc(); return e = e == null ? 0 : +e, n.restart((i) => { n.stop(), t(i + e); }, e, r), n; } var Sx = Gp("start", "end", "cancel", "interrupt"), Ax = [], xg = 0, _f = 1, r1 = 2, Fl = 3, xf = 4, n1 = 5, Pl = 6; function uu(t, e, r, n, i, s) { var a = t.__transition; if (!a) t.__transition = {}; else if (r in a) return; Lx(t, r, { name: e, index: n, group: i, on: Sx, tween: Ax, time: s.time, delay: s.delay, duration: s.duration, ease: s.ease, timer: null, state: xg }); } function b0(t, e) { var r = Sn(t, e); if (r.state > xg) throw new Error("too late; already scheduled"); return r; } function Xn(t, e) { var r = Sn(t, e); if (r.state > Fl) throw new Error("too late; already running"); return r; } function Sn(t, e) { var r = t.__transition; if (!r || !(r = r[e])) throw new Error("transition not found"); return r; } function Lx(t, e, r) { var n = t.__transition, i; n[e] = r, r.timer = _g(s, 0, r.time); function s(u) { r.state = _f, r.timer.restart(a, r.delay, r.time), r.delay <= u && a(u - r.delay); } function a(u) { var d, f, p, g; if (r.state !== _f) return l(); for (d in n) if (g = n[d], g.name === r.name) { if (g.state === Fl) return bf(a); g.state === xf ? (g.state = Pl, g.timer.stop(), g.on.call("interrupt", t, t.__data__, g.index, g.group), delete n[d]) : +d < e && (g.state = Pl, g.timer.stop(), g.on.call("cancel", t, t.__data__, g.index, g.group), delete n[d]); } if (bf(function() { r.state === Fl && (r.state = xf, r.timer.restart(o, r.delay, r.time), o(u)); }), r.state = r1, r.on.call("start", t, t.__data__, r.index, r.group), r.state === r1) { for (r.state = Fl, i = new Array(p = r.tween.length), d = 0, f = -1; d < p; ++d) (g = r.tween[d].value.call(t, t.__data__, r.index, r.group)) && (i[++f] = g); i.length = f + 1; } } function o(u) { for (var d = u < r.duration ? r.ease.call(null, u / r.duration) : (r.timer.restart(l), r.state = n1, 1), f = -1, p = i.length; ++f < p; ) i[f].call(t, d); r.state === n1 && (r.on.call("end", t, t.__data__, r.index, r.group), l()); } function l() { r.state = Pl, r.timer.stop(), delete n[e]; for (var u in n) return; delete t.__transition; } } function Dx(t, e) { var r = t.__transition, n, i, s = !0, a; if (!!r) { e = e == null ? null : e + ""; for (a in r) { if ((n = r[a]).name !== e) { s = !1; continue; } i = n.state > r1 && n.state < n1, n.state = Pl, n.timer.stop(), n.on.call(i ? "interrupt" : "cancel", t, t.__data__, n.index, n.group), delete r[a]; } s && delete t.__transition; } } function Mx(t) { return this.each(function() { Dx(this, t); }); } function Nx(t, e) { var r, n; return function() { var i = Xn(this, t), s = i.tween; if (s !== r) { n = r = s; for (var a = 0, o = n.length; a < o; ++a) if (n[a].name === e) { n = n.slice(), n.splice(a, 1); break; } } i.tween = n; }; } function Bx(t, e, r) { var n, i; if (typeof r != "function") throw new Error(); return function() { var s = Xn(this, t), a = s.tween; if (a !== n) { i = (n = a).slice(); for (var o = { name: e, value: r }, l = 0, u = i.length; l < u; ++l) if (i[l].name === e) { i[l] = o; break; } l === u && i.push(o); } s.tween = i; }; } function Ix(t, e) { var r = this._id; if (t += "", arguments.length < 2) { for (var n = Sn(this.node(), r).tween, i = 0, s = n.length, a; i < s; ++i) if ((a = n[i]).name === t) return a.value; return null; } return this.each((e == null ? Nx : Bx)(r, t, e)); } function _0(t, e, r) { var n = t._id; return t.each(function() { var i = Xn(this, n); (i.value || (i.value = {}))[e] = r.apply(this, arguments); }), function(i) { return Sn(i, n).value[e]; }; } function vg(t, e) { var r; return (typeof e == "number" ? dn : e instanceof ys ? lc : (r = ys(e)) ? (e = r, lc) : pg)(t, e); } function Ox(t) { return function() { this.removeAttribute(t); }; } function Rx(t) { return function() { this.removeAttributeNS(t.space, t.local); }; } function Fx(t, e, r) { var n, i = r + "", s; return function() { var a = this.getAttribute(t); return a === i ? null : a === n ? s : s = e(n = a, r); }; } function Px(t, e, r) { var n, i = r + "", s; return function() { var a = this.getAttributeNS(t.space, t.local); return a === i ? null : a === n ? s : s = e(n = a, r); }; } function Yx(t, e, r) { var n, i, s; return function() { var a, o = r(this), l; return o == null ? void this.removeAttribute(t) : (a = this.getAttribute(t), l = o + "", a === l ? null : a === n && l === i ? s : (i = l, s = e(n = a, o))); }; } function Vx(t, e, r) { var n, i, s; return function() { var a, o = r(this), l; return o == null ? void this.removeAttributeNS(t.space, t.local) : (a = this.getAttributeNS(t.space, t.local), l = o + "", a === l ? null : a === n && l === i ? s : (i = l, s = e(n = a, o))); }; } function Ux(t, e) { var r = au(t), n = r === "transform" ? xx : vg; return this.attrTween(t, typeof e == "function" ? (r.local ? Vx : Yx)(r, n, _0(this, "attr." + t, e)) : e == null ? (r.local ? Rx : Ox)(r) : (r.local ? Px : Fx)(r, n, e)); } function zx(t, e) { return function(r) { this.setAttribute(t, e.call(this, r)); }; } function Wx(t, e) { return function(r) { this.setAttributeNS(t.space, t.local, e.call(this, r)); }; } function Hx(t, e) { var r, n; function i() { var s = e.apply(this, arguments); return s !== n && (r = (n = s) && Wx(t, s)), r; } return i._value = e, i; } function Gx(t, e) { var r, n; function i() { var s = e.apply(this, arguments); return s !== n && (r = (n = s) && zx(t, s)), r; } return i._value = e, i; } function qx(t, e) { var r = "attr." + t; if (arguments.length < 2) return (r = this.tween(r)) && r._value; if (e == null) return this.tween(r, null); if (typeof e != "function") throw new Error(); var n = au(t); return this.tween(r, (n.local ? Hx : Gx)(n, e)); } function jx(t, e) { return function() { b0(this, t).delay = +e.apply(this, arguments); }; } function Xx(t, e) { return e = +e, function() { b0(this, t).delay = e; }; } function $x(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? jx : Xx)(e, t)) : Sn(this.node(), e).delay; } function Kx(t, e) { return function() { Xn(this, t).duration = +e.apply(this, arguments); }; } function Zx(t, e) { return e = +e, function() { Xn(this, t).duration = e; }; } function Qx(t) { var e = this._id; return arguments.length ? this.each((typeof t == "function" ? Kx : Zx)(e, t)) : Sn(this.node(), e).duration; } function Jx(t, e) { if (typeof e != "function") throw new Error(); return function() { Xn(this, t).ease = e; }; } function t6(t) { var e = this._id; return arguments.length ? this.each(Jx(e, t)) : Sn(this.node(), e).ease; } function e6(t, e) { return function() { var r = e.apply(this, arguments); if (typeof r != "function") throw new Error(); Xn(this, t).ease = r; }; } function r6(t) { if (typeof t != "function") throw new Error(); return this.each(e6(this._id, t)); } function n6(t) { typeof t != "function" && (t = $p(t)); for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) for (var s = e[i], a = s.length, o = n[i] = [], l, u = 0; u < a; ++u) (l = s[u]) && t.call(l, l.__data__, u, s) && o.push(l); return new vi(n, this._parents, this._name, this._id); } function i6(t) { if (t._id !== this._id) throw new Error(); for (var e = this._groups, r = t._groups, n = e.length, i = r.length, s = Math.min(n, i), a = new Array(n), o = 0; o < s; ++o) for (var l = e[o], u = r[o], d = l.length, f = a[o] = new Array(d), p, g = 0; g < d; ++g) (p = l[g] || u[g]) && (f[g] = p); for (; o < n; ++o) a[o] = e[o]; return new vi(a, this._parents, this._name, this._id); } function s6(t) { return (t + "").trim().split(/^|\s+/).every(function(e) { var r = e.indexOf("."); return r >= 0 && (e = e.slice(0, r)), !e || e === "start"; }); } function a6(t, e, r) { var n, i, s = s6(e) ? b0 : Xn; return function() { var a = s(this, t), o = a.on; o !== n && (i = (n = o).copy()).on(e, r), a.on = i; }; } function o6(t, e) { var r = this._id; return arguments.length < 2 ? Sn(this.node(), r).on.on(t) : this.each(a6(r, t, e)); } function l6(t) { return function() { var e = this.parentNode; for (var r in this.__transition) if (+r !== t) return; e && e.removeChild(this); }; } function c6() { return this.on("end.remove", l6(this._id)); } function u6(t) { var e = this._name, r = this._id; typeof t != "function" && (t = d0(t)); for (var n = this._groups, i = n.length, s = new Array(i), a = 0; a < i; ++a) for (var o = n[a], l = o.length, u = s[a] = new Array(l), d, f, p = 0; p < l; ++p) (d = o[p]) && (f = t.call(d, d.__data__, p, o)) && ("__data__" in d && (f.__data__ = d.__data__), u[p] = f, uu(u[p], e, r, p, u, Sn(d, r))); return new vi(s, this._parents, e, r); } function h6(t) { var e = this._name, r = this._id; typeof t != "function" && (t = Xp(t)); for (var n = this._groups, i = n.length, s = [], a = [], o = 0; o < i; ++o) for (var l = n[o], u = l.length, d, f = 0; f < u; ++f) if (d = l[f]) { for (var p = t.call(d, d.__data__, f, l), g, b = Sn(d, r), k = 0, T = p.length; k < T; ++k) (g = p[k]) && uu(g, e, r, k, p, b); s.push(p), a.push(d); } return new vi(s, a, e, r); } var d6 = jo.prototype.constructor; function f6() { return new d6(this._groups, this._parents); } function p6(t, e) { var r, n, i; return function() { var s = oa(this, t), a = (this.style.removeProperty(t), oa(this, t)); return s === a ? null : s === r && a === n ? i : i = e(r = s, n = a); }; } function kg(t) { return function() { this.style.removeProperty(t); }; } function g6(t, e, r) { var n, i = r + "", s; return function() { var a = oa(this, t); return a === i ? null : a === n ? s : s = e(n = a, r); }; } function y6(t, e, r) { var n, i, s; return function() { var a = oa(this, t), o = r(this), l = o + ""; return o == null && (l = o = (this.style.removeProperty(t), oa(this, t))), a === l ? null : a === n && l === i ? s : (i = l, s = e(n = a, o)); }; } function m6(t, e) { var r, n, i, s = "style." + e, a = "end." + s, o; return function() { var l = Xn(this, t), u = l.on, d = l.value[s] == null ? o || (o = kg(e)) : void 0; (u !== r || i !== d) && (n = (r = u).copy()).on(a, i = d), l.on = n; }; } function b6(t, e, r) { var n = (t += "") == "transform" ? _x : vg; return e == null ? this.styleTween(t, p6(t, n)).on("end.style." + t, kg(t)) : typeof e == "function" ? this.styleTween(t, y6(t, n, _0(this, "style." + t, e))).each(m6(this._id, t)) : this.styleTween(t, g6(t, n, e), r).on("end.style." + t, null); } function _6(t, e, r) { return function(n) { this.style.setProperty(t, e.call(this, n), r); }; } function x6(t, e, r) { var n, i; function s() { var a = e.apply(this, arguments); return a !== i && (n = (i = a) && _6(t, a, r)), n; } return s._value = e, s; } function v6(t, e, r) { var n = "style." + (t += ""); if (arguments.length < 2) return (n = this.tween(n)) && n._value; if (e == null) return this.tween(n, null); if (typeof e != "function") throw new Error(); return this.tween(n, x6(t, e, r == null ? "" : r)); } function k6(t) { return function() { this.textContent = t; }; } function w6(t) { return function() { var e = t(this); this.textContent = e == null ? "" : e; }; } function T6(t) { return this.tween("text", typeof t == "function" ? w6(_0(this, "text", t)) : k6(t == null ? "" : t + "")); } function E6(t) { return function(e) { this.textContent = t.call(this, e); }; } function C6(t) { var e, r; function n() { var i = t.apply(this, arguments); return i !== r && (e = (r = i) && E6(i)), e; } return n._value = t, n; } function S6(t) { var e = "text"; if (arguments.length < 1) return (e = this.tween(e)) && e._value; if (t == null) return this.tween(e, null); if (typeof t != "function") throw new Error(); return this.tween(e, C6(t)); } function A6() { for (var t = this._name, e = this._id, r = wg(), n = this._groups, i = n.length, s = 0; s < i; ++s) for (var a = n[s], o = a.length, l, u = 0; u < o; ++u) if (l = a[u]) { var d = Sn(l, e); uu(l, t, r, u, a, { time: d.time + d.delay + d.duration, delay: 0, duration: d.duration, ease: d.ease }); } return new vi(n, this._parents, t, r); } function L6() { var t, e, r = this, n = r._id, i = r.size(); return new Promise(function(s, a) { var o = { value: a }, l = { value: function() { --i === 0 && s(); } }; r.each(function() { var u = Xn(this, n), d = u.on; d !== t && (e = (t = d).copy(), e._.cancel.push(o), e._.interrupt.push(o), e._.end.push(l)), u.on = e; }), i === 0 && s(); }); } var D6 = 0; function vi(t, e, r, n) { this._groups = t, this._parents = e, this._name = r, this._id = n; } function wg() { return ++D6; } var ni = jo.prototype; vi.prototype = { constructor: vi, select: u6, selectAll: h6, selectChild: ni.selectChild, selectChildren: ni.selectChildren, filter: n6, merge: i6, selection: f6, transition: A6, call: ni.call, nodes: ni.nodes, node: ni.node, size: ni.size, empty: ni.empty, each: ni.each, on: o6, attr: Ux, attrTween: qx, style: b6, styleTween: v6, text: T6, textTween: S6, remove: c6, tween: Ix, delay: $x, duration: Qx, ease: t6, easeVarying: r6, end: L6, [Symbol.iterator]: ni[Symbol.iterator] }; function M6(t) { return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; } var N6 = { time: null, delay: 0, duration: 250, ease: M6 }; function B6(t, e) { for (var r; !(r = t.__transition) || !(r = r[e]); ) if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`); return r; } function I6(t) { var e, r; t instanceof vi ? (e = t._id, t = t._name) : (e = wg(), (r = N6).time = m0(), t = t == null ? null : t + ""); for (var n = this._groups, i = n.length, s = 0; s < i; ++s) for (var a = n[s], o = a.length, l, u = 0; u < o; ++u) (l = a[u]) && uu(l, t, e, u, a, r || B6(l, e)); return new vi(n, this._parents, t, e); } jo.prototype.interrupt = Mx; jo.prototype.transition = I6; const i1 = Math.PI, s1 = 2 * i1, ls = 1e-6, O6 = s1 - ls; function a1() { this._x0 = this._y0 = this._x1 = this._y1 = null, this._ = ""; } function x0() { return new a1(); } a1.prototype = x0.prototype = { constructor: a1, moveTo: function(t, e) { this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e); }, closePath: function() { this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z"); }, lineTo: function(t, e) { this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +e); }, quadraticCurveTo: function(t, e, r, n) { this._ += "Q" + +t + "," + +e + "," + (this._x1 = +r) + "," + (this._y1 = +n); }, bezierCurveTo: function(t, e, r, n, i, s) { this._ += "C" + +t + "," + +e + "," + +r + "," + +n + "," + (this._x1 = +i) + "," + (this._y1 = +s); }, arcTo: function(t, e, r, n, i) { t = +t, e = +e, r = +r, n = +n, i = +i; var s = this._x1, a = this._y1, o = r - t, l = n - e, u = s - t, d = a - e, f = u * u + d * d; if (i < 0) throw new Error("negative radius: " + i); if (this._x1 === null) this._ += "M" + (this._x1 = t) + "," + (this._y1 = e); else if (f > ls) if (!(Math.abs(d * o - l * u) > ls) || !i) this._ += "L" + (this._x1 = t) + "," + (this._y1 = e); else { var p = r - s, g = n - a, b = o * o + l * l, k = p * p + g * g, T = Math.sqrt(b), L = Math.sqrt(f), E = i * Math.tan((i1 - Math.acos((b + f - k) / (2 * T * L))) / 2), I = E / L, V = E / T; Math.abs(I - 1) > ls && (this._ += "L" + (t + I * u) + "," + (e + I * d)), this._ += "A" + i + "," + i + ",0,0," + +(d * p > u * g) + "," + (this._x1 = t + V * o) + "," + (this._y1 = e + V * l); } }, arc: function(t, e, r, n, i, s) { t = +t, e = +e, r = +r, s = !!s; var a = r * Math.cos(n), o = r * Math.sin(n), l = t + a, u = e + o, d = 1 ^ s, f = s ? n - i : i - n; if (r < 0) throw new Error("negative radius: " + r); this._x1 === null ? this._ += "M" + l + "," + u : (Math.abs(this._x1 - l) > ls || Math.abs(this._y1 - u) > ls) && (this._ += "L" + l + "," + u), r && (f < 0 && (f = f % s1 + s1), f > O6 ? this._ += "A" + r + "," + r + ",0,1," + d + "," + (t - a) + "," + (e - o) + "A" + r + "," + r + ",0,1," + d + "," + (this._x1 = l) + "," + (this._y1 = u) : f > ls && (this._ += "A" + r + "," + r + ",0," + +(f >= i1) + "," + d + "," + (this._x1 = t + r * Math.cos(i)) + "," + (this._y1 = e + r * Math.sin(i)))); }, rect: function(t, e, r, n) { this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + "h" + +r + "v" + +n + "h" + -r + "Z"; }, toString: function() { return this._; } }; function R6(t) { if (!t.ok) throw new Error(t.status + " " + t.statusText); return t.text(); } function F6(t, e) { return fetch(t, e).then(R6); } function P6(t) { return (e, r) => F6(e, r).then((n) => new DOMParser().parseFromString(n, t)); } var Y6 = P6("image/svg+xml"); function V6(t) { return Math.abs(t = Math.round(t)) >= 1e21 ? t.toLocaleString("en").replace(/,/g, "") : t.toString(10); } function dc(t, e) { if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf("e")) < 0) return null; var r, n = t.slice(0, r); return [ n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1) ]; } function ca(t) { return t = dc(Math.abs(t)), t ? t[1] : NaN; } function U6(t, e) { return function(r, n) { for (var i = r.length, s = [], a = 0, o = t[0], l = 0; i > 0 && o > 0 && (l + o + 1 > n && (o = Math.max(1, n - l)), s.push(r.substring(i -= o, i + o)), !((l += o + 1) > n)); ) o = t[a = (a + 1) % t.length]; return s.reverse().join(e); }; } function z6(t) { return function(e) { return e.replace(/[0-9]/g, function(r) { return t[+r]; }); }; } var W6 = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; function fc(t) { if (!(e = W6.exec(t))) throw new Error("invalid format: " + t); var e; return new v0({ fill: e[1], align: e[2], sign: e[3], symbol: e[4], zero: e[5], width: e[6], comma: e[7], precision: e[8] && e[8].slice(1), trim: e[9], type: e[10] }); } fc.prototype = v0.prototype; function v0(t) { this.fill = t.fill === void 0 ? " " : t.fill + "", this.align = t.align === void 0 ? ">" : t.align + "", this.sign = t.sign === void 0 ? "-" : t.sign + "", this.symbol = t.symbol === void 0 ? "" : t.symbol + "", this.zero = !!t.zero, this.width = t.width === void 0 ? void 0 : +t.width, this.comma = !!t.comma, this.precision = t.precision === void 0 ? void 0 : +t.precision, this.trim = !!t.trim, this.type = t.type === void 0 ? "" : t.type + ""; } v0.prototype.toString = function() { return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type; }; function H6(t) { t: for (var e = t.length, r = 1, n = -1, i; r < e; ++r) switch (t[r]) { case ".": n = i = r; break; case "0": n === 0 && (n = r), i = r; break; default: if (!+t[r]) break t; n > 0 && (n = 0); break; } return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t; } var Tg; function G6(t, e) { var r = dc(t, e); if (!r) return t + ""; var n = r[0], i = r[1], s = i - (Tg = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, a = n.length; return s === a ? n : s > a ? n + new Array(s - a + 1).join("0") : s > 0 ? n.slice(0, s) + "." + n.slice(s) : "0." + new Array(1 - s).join("0") + dc(t, Math.max(0, e + s - 1))[0]; } function vf(t, e) { var r = dc(t, e); if (!r) return t + ""; var n = r[0], i = r[1]; return i < 0 ? "0." + new Array(-i).join("0") + n : n.length > i + 1 ? n.slice(0, i + 1) + "." + n.slice(i + 1) : n + new Array(i - n.length + 2).join("0"); } const kf = { "%": (t, e) => (t * 100).toFixed(e), b: (t) => Math.round(t).toString(2), c: (t) => t + "", d: V6, e: (t, e) => t.toExponential(e), f: (t, e) => t.toFixed(e), g: (t, e) => t.toPrecision(e), o: (t) => Math.round(t).toString(8), p: (t, e) => vf(t * 100, e), r: vf, s: G6, X: (t) => Math.round(t).toString(16).toUpperCase(), x: (t) => Math.round(t).toString(16) }; function wf(t) { return t; } var Tf = Array.prototype.map, Ef = ["y", "z", "a", "f", "p", "n", "\xB5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"]; function q6(t) { var e = t.grouping === void 0 || t.thousands === void 0 ? wf : U6(Tf.call(t.grouping, Number), t.thousands + ""), r = t.currency === void 0 ? "" : t.currency[0] + "", n = t.currency === void 0 ? "" : t.currency[1] + "", i = t.decimal === void 0 ? "." : t.decimal + "", s = t.numerals === void 0 ? wf : z6(Tf.call(t.numerals, String)), a = t.percent === void 0 ? "%" : t.percent + "", o = t.minus === void 0 ? "\u2212" : t.minus + "", l = t.nan === void 0 ? "NaN" : t.nan + ""; function u(f) { f = fc(f); var p = f.fill, g = f.align, b = f.sign, k = f.symbol, T = f.zero, L = f.width, E = f.comma, I = f.precision, V = f.trim, H = f.type; H === "n" ? (E = !0, H = "g") : kf[H] || (I === void 0 && (I = 12), V = !0, H = "g"), (T || p === "0" && g === "=") && (T = !0, p = "0", g = "="); var G = k === "$" ? r : k === "#" && /[boxX]/.test(H) ? "0" + H.toLowerCase() : "", Y = k === "$" ? n : /[%p]/.test(H) ? a : "", W = kf[H], N = /[defgprs%]/.test(H); I = I === void 0 ? 6 : /[gprs]/.test(H) ? Math.max(1, Math.min(21, I)) : Math.max(0, Math.min(20, I)); function D(w) { var v = G, M = Y, m, Q, x; if (H === "c") M = W(w) + M, w = ""; else { w = +w; var ct = w < 0 || 1 / w < 0; if (w = isNaN(w) ? l : W(Math.abs(w), I), V && (w = H6(w)), ct && +w == 0 && b !== "+" && (ct = !1), v = (ct ? b === "(" ? b : o : b === "-" || b === "(" ? "" : b) + v, M = (H === "s" ? Ef[8 + Tg / 3] : "") + M + (ct && b === "(" ? ")" : ""), N) { for (m = -1, Q = w.length; ++m < Q; ) if (x = w.charCodeAt(m), 48 > x || x > 57) { M = (x === 46 ? i + w.slice(m + 1) : w.slice(m)) + M, w = w.slice(0, m); break; } } } E && !T && (w = e(w, 1 / 0)); var Dt = v.length + w.length + M.length, vt = Dt < L ? new Array(L - Dt + 1).join(p) : ""; switch (E && T && (w = e(vt + w, vt.length ? L - M.length : 1 / 0), vt = ""), g) { case "<": w = v + w + M + vt; break; case "=": w = v + vt + w + M; break; case "^": w = vt.slice(0, Dt = vt.length >> 1) + v + w + M + vt.slice(Dt); break; default: w = vt + v + w + M; break; } return s(w); } return D.toString = function() { return f + ""; }, D; } function d(f, p) { var g = u((f = fc(f), f.type = "f", f)), b = Math.max(-8, Math.min(8, Math.floor(ca(p) / 3))) * 3, k = Math.pow(10, -b), T = Ef[8 + b / 3]; return function(L) { return g(k * L) + T; }; } return { format: u, formatPrefix: d }; } var xl, Eg, Cg; j6({ thousands: ",", grouping: [3], currency: ["$", ""] }); function j6(t) { return xl = q6(t), Eg = xl.format, Cg = xl.formatPrefix, xl; } function X6(t) { return Math.max(0, -ca(Math.abs(t))); } function $6(t, e) { return Math.max(0, Math.max(-8, Math.min(8, Math.floor(ca(e) / 3))) * 3 - ca(Math.abs(t))); } function K6(t, e) { return t = Math.abs(t), e = Math.abs(e) - t, Math.max(0, ca(e) - ca(t)) + 1; } function k0(t, e) { switch (arguments.length) { case 0: break; case 1: this.range(t); break; default: this.range(e).domain(t); break; } return this; } const Cf = Symbol("implicit"); function Sg() { var t = new rf(), e = [], r = [], n = Cf; function i(s) { let a = t.get(s); if (a === void 0) { if (n !== Cf) return n; t.set(s, a = e.push(s) - 1); } return r[a % r.length]; } return i.domain = function(s) { if (!arguments.length) return e.slice(); e = [], t = new rf(); for (const a of s) t.has(a) || t.set(a, e.push(a) - 1); return i; }, i.range = function(s) { return arguments.length ? (r = Array.from(s), i) : r.slice(); }, i.unknown = function(s) { return arguments.length ? (n = s, i) : n; }, i.copy = function() { return Sg(e, r).unknown(n); }, k0.apply(i, arguments), i; } function Z6(t) { return function() { return t; }; } function Q6(t) { return +t; } var Sf = [0, 1]; function qs(t) { return t; } function o1(t, e) { return (e -= t = +t) ? function(r) { return (r - t) / e; } : Z6(isNaN(e) ? NaN : 0.5); } function J6(t, e) { var r; return t > e && (r = t, t = e, e = r), function(n) { return Math.max(t, Math.min(e, n)); }; } function tv(t, e, r) { var n = t[0], i = t[1], s = e[0], a = e[1]; return i < n ? (n = o1(i, n), s = r(a, s)) : (n = o1(n, i), s = r(s, a)), function(o) { return s(n(o)); }; } function ev(t, e, r) { var n = Math.min(t.length, e.length) - 1, i = new Array(n), s = new Array(n), a = -1; for (t[n] < t[0] && (t = t.slice().reverse(), e = e.slice().reverse()); ++a < n; ) i[a] = o1(t[a], t[a + 1]), s[a] = r(e[a], e[a + 1]); return function(o) { var l = $b(t, o, 1, n) - 1; return s[l](i[l](o)); }; } function Ag(t, e) { return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()); } function rv() { var t = Sf, e = Sf, r = y0, n, i, s, a = qs, o, l, u; function d() { var p = Math.min(t.length, e.length); return a !== qs && (a = J6(t[0], t[p - 1])), o = p > 2 ? ev : tv, l = u = null, f; } function f(p) { return p == null || isNaN(p = +p) ? s : (l || (l = o(t.map(n), e, r)))(n(a(p))); } return f.invert = function(p) { return a(i((u || (u = o(e, t.map(n), dn)))(p))); }, f.domain = function(p) { return arguments.length ? (t = Array.from(p, Q6), d()) : t.slice(); }, f.range = function(p) { return arguments.length ? (e = Array.from(p), d()) : e.slice(); }, f.rangeRound = function(p) { return e = Array.from(p), r = yx, d(); }, f.clamp = function(p) { return arguments.length ? (a = p ? !0 : qs, d()) : a !== qs; }, f.interpolate = function(p) { return arguments.length ? (r = p, d()) : r; }, f.unknown = function(p) { return arguments.length ? (s = p, f) : s; }, function(p, g) { return n = p, i = g, d(); }; } function Lg() { return rv()(qs, qs); } function nv(t, e, r, n) { var i = Xh(t, e, r), s; switch (n = fc(n == null ? ",f" : n), n.type) { case "s": { var a = Math.max(Math.abs(t), Math.abs(e)); return n.precision == null && !isNaN(s = $6(i, a)) && (n.precision = s), Cg(n, a); } case "": case "e": case "g": case "p": case "r": { n.precision == null && !isNaN(s = K6(i, Math.max(Math.abs(t), Math.abs(e)))) && (n.precision = s - (n.type === "e")); break; } case "f": case "%": { n.precision == null && !isNaN(s = X6(i)) && (n.precision = s - (n.type === "%") * 2); break; } } return Eg(n); } function iv(t) { var e = t.domain; return t.ticks = function(r) { var n = e(); return Jb(n[0], n[n.length - 1], r == null ? 10 : r); }, t.tickFormat = function(r, n) { var i = e(); return nv(i[0], i[i.length - 1], r == null ? 10 : r, n); }, t.nice = function(r) { r == null && (r = 10); var n = e(), i = 0, s = n.length - 1, a = n[i], o = n[s], l, u, d = 10; for (o < a && (u = a, a = o, o = u, u = i, i = s, s = u); d-- > 0; ) { if (u = Wp(a, o, r), u === l) return n[i] = a, n[s] = o, e(n); if (u > 0) a = Math.floor(a / u) * u, o = Math.ceil(o / u) * u; else if (u < 0) a = Math.ceil(a * u) / u, o = Math.floor(o * u) / u; else break; l = u; } return t; }, t; } function Dg() { var t = Lg(); return t.copy = function() { return Ag(t, Dg()); }, k0.apply(t, arguments), iv(t); } function sv(t, e) { t = t.slice(); var r = 0, n = t.length - 1, i = t[r], s = t[n], a; return s < i && (a = r, r = n, n = a, a = i, i = s, s = a), t[r] = e.floor(i), t[n] = e.ceil(s), t; } var uh = new Date(), hh = new Date(); function yr(t, e, r, n) { function i(s) { return t(s = arguments.length === 0 ? new Date() : new Date(+s)), s; } return i.floor = function(s) { return t(s = new Date(+s)), s; }, i.ceil = function(s) { return t(s = new Date(s - 1)), e(s, 1), t(s), s; }, i.round = function(s) { var a = i(s), o = i.ceil(s); return s - a < o - s ? a : o; }, i.offset = function(s, a) { return e(s = new Date(+s), a == null ? 1 : Math.floor(a)), s; }, i.range = function(s, a, o) { var l = [], u; if (s = i.ceil(s), o = o == null ? 1 : Math.floor(o), !(s < a) || !(o > 0)) return l; do l.push(u = new Date(+s)), e(s, o), t(s); while (u < s && s < a); return l; }, i.filter = function(s) { return yr(function(a) { if (a >= a) for (; t(a), !s(a); ) a.setTime(a - 1); }, function(a, o) { if (a >= a) if (o < 0) for (; ++o <= 0; ) for (; e(a, -1), !s(a); ) ; else for (; --o >= 0; ) for (; e(a, 1), !s(a); ) ; }); }, r && (i.count = function(s, a) { return uh.setTime(+s), hh.setTime(+a), t(uh), t(hh), Math.floor(r(uh, hh)); }, i.every = function(s) { return s = Math.floor(s), !isFinite(s) || !(s > 0) ? null : s > 1 ? i.filter(n ? function(a) { return n(a) % s === 0; } : function(a) { return i.count(0, a) % s === 0; }) : i; }), i; } var pc = yr(function() { }, function(t, e) { t.setTime(+t + e); }, function(t, e) { return e - t; }); pc.every = function(t) { return t = Math.floor(t), !isFinite(t) || !(t > 0) ? null : t > 1 ? yr(function(e) { e.setTime(Math.floor(e / t) * t); }, function(e, r) { e.setTime(+e + r * t); }, function(e, r) { return (r - e) / t; }) : pc; }; const av = pc; pc.range; const fi = 1e3, tn = fi * 60, pi = tn * 60, bs = pi * 24, w0 = bs * 7, Af = bs * 30, dh = bs * 365; var Mg = yr(function(t) { t.setTime(t - t.getMilliseconds()); }, function(t, e) { t.setTime(+t + e * fi); }, function(t, e) { return (e - t) / fi; }, function(t) { return t.getUTCSeconds(); }); const eo = Mg; Mg.range; var Ng = yr(function(t) { t.setTime(t - t.getMilliseconds() - t.getSeconds() * fi); }, function(t, e) { t.setTime(+t + e * tn); }, function(t, e) { return (e - t) / tn; }, function(t) { return t.getMinutes(); }); const gc = Ng; Ng.range; var Bg = yr(function(t) { t.setTime(t - t.getMilliseconds() - t.getSeconds() * fi - t.getMinutes() * tn); }, function(t, e) { t.setTime(+t + e * pi); }, function(t, e) { return (e - t) / pi; }, function(t) { return t.getHours(); }); const yc = Bg; Bg.range; var Ig = yr( (t) => t.setHours(0, 0, 0, 0), (t, e) => t.setDate(t.getDate() + e), (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * tn) / bs, (t) => t.getDate() - 1 ); const ua = Ig; Ig.range; function Ls(t) { return yr(function(e) { e.setDate(e.getDate() - (e.getDay() + 7 - t) % 7), e.setHours(0, 0, 0, 0); }, function(e, r) { e.setDate(e.getDate() + r * 7); }, function(e, r) { return (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * tn) / w0; }); } var ha = Ls(0), mc = Ls(1), ov = Ls(2), lv = Ls(3), da = Ls(4), cv = Ls(5), uv = Ls(6); ha.range; mc.range; ov.range; lv.range; da.range; cv.range; uv.range; var Og = yr(function(t) { t.setDate(1), t.setHours(0, 0, 0, 0); }, function(t, e) { t.setMonth(t.getMonth() + e); }, function(t, e) { return e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12; }, function(t) { return t.getMonth(); }); const bc = Og; Og.range; var T0 = yr(function(t) { t.setMonth(0, 1), t.setHours(0, 0, 0, 0); }, function(t, e) { t.setFullYear(t.getFullYear() + e); }, function(t, e) { return e.getFullYear() - t.getFullYear(); }, function(t) { return t.getFullYear(); }); T0.every = function(t) { return !isFinite(t = Math.floor(t)) || !(t > 0) ? null : yr(function(e) { e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0); }, function(e, r) { e.setFullYear(e.getFullYear() + r * t); }); }; const _s = T0; T0.range; var Rg = yr(function(t) { t.setUTCSeconds(0, 0); }, function(t, e) { t.setTime(+t + e * tn); }, function(t, e) { return (e - t) / tn; }, function(t) { return t.getUTCMinutes(); }); const hv = Rg; Rg.range; var Fg = yr(function(t) { t.setUTCMinutes(0, 0, 0); }, function(t, e) { t.setTime(+t + e * pi); }, function(t, e) { return (e - t) / pi; }, function(t) { return t.getUTCHours(); }); const dv = Fg; Fg.range; var Pg = yr(function(t) { t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCDate(t.getUTCDate() + e); }, function(t, e) { return (e - t) / bs; }, function(t) { return t.getUTCDate() - 1; }); const E0 = Pg; Pg.range; function Ds(t) { return yr(function(e) { e.setUTCDate(e.getUTCDate() - (e.getUTCDay() + 7 - t) % 7), e.setUTCHours(0, 0, 0, 0); }, function(e, r) { e.setUTCDate(e.getUTCDate() + r * 7); }, function(e, r) { return (r - e) / w0; }); } var C0 = Ds(0), _c = Ds(1), fv = Ds(2), pv = Ds(3), fa = Ds(4), gv = Ds(5), yv = Ds(6); C0.range; _c.range; fv.range; pv.range; fa.range; gv.range; yv.range; var Yg = yr(function(t) { t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCMonth(t.getUTCMonth() + e); }, function(t, e) { return e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12; }, function(t) { return t.getUTCMonth(); }); const mv = Yg; Yg.range; var S0 = yr(function(t) { t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); }, function(t, e) { t.setUTCFullYear(t.getUTCFullYear() + e); }, function(t, e) { return e.getUTCFullYear() - t.getUTCFullYear(); }, function(t) { return t.getUTCFullYear(); }); S0.every = function(t) { return !isFinite(t = Math.floor(t)) || !(t > 0) ? null : yr(function(e) { e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0); }, function(e, r) { e.setUTCFullYear(e.getUTCFullYear() + r * t); }); }; const pa = S0; S0.range; function Vg(t, e, r, n, i, s) { const a = [ [eo, 1, fi], [eo, 5, 5 * fi], [eo, 15, 15 * fi], [eo, 30, 30 * fi], [s, 1, tn], [s, 5, 5 * tn], [s, 15, 15 * tn], [s, 30, 30 * tn], [i, 1, pi], [i, 3, 3 * pi], [i, 6, 6 * pi], [i, 12, 12 * pi], [n, 1, bs], [n, 2, 2 * bs], [r, 1, w0], [e, 1, Af], [e, 3, 3 * Af], [t, 1, dh] ]; function o(u, d, f) { const p = d < u; p && ([u, d] = [d, u]); const g = f && typeof f.range == "function" ? f : l(u, d, f), b = g ? g.range(u, +d + 1) : []; return p ? b.reverse() : b; } function l(u, d, f) { const p = Math.abs(d - u) / f, g = h0(([, , T]) => T).right(a, p); if (g === a.length) return t.every(Xh(u / dh, d / dh, f)); if (g === 0) return av.every(Math.max(Xh(u, d, f), 1)); const [b, k] = a[p / a[g - 1][2] < a[g][2] / p ? g - 1 : g]; return b.every(k); } return [o, l]; } Vg(pa, mv, C0, E0, dv, hv); const [bv, _v] = Vg(_s, bc, ha, ua, yc, gc); function fh(t) { if (0 <= t.y && t.y < 100) { var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); return e.setFullYear(t.y), e; } return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); } function ph(t) { if (0 <= t.y && t.y < 100) { var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); return e.setUTCFullYear(t.y), e; } return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)); } function Wa(t, e, r) { return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; } function xv(t) { var e = t.dateTime, r = t.date, n = t.time, i = t.periods, s = t.days, a = t.shortDays, o = t.months, l = t.shortMonths, u = Ha(i), d = Ga(i), f = Ha(s), p = Ga(s), g = Ha(a), b = Ga(a), k = Ha(o), T = Ga(o), L = Ha(l), E = Ga(l), I = { a: ct, A: Dt, b: vt, B: j, c: null, d: If, e: If, f: Wv, g: Jv, G: ek, H: Vv, I: Uv, j: zv, L: Ug, m: Hv, M: Gv, p: ot, q: rt, Q: Ff, s: Pf, S: qv, u: jv, U: Xv, V: $v, w: Kv, W: Zv, x: null, X: null, y: Qv, Y: tk, Z: rk, "%": Rf }, V = { a: nt, A: ut, b: _t, B: K, c: null, d: Of, e: Of, f: ak, g: yk, G: bk, H: nk, I: ik, j: sk, L: Wg, m: ok, M: lk, p: Ot, q: P, Q: Ff, s: Pf, S: ck, u: uk, U: hk, V: dk, w: fk, W: pk, x: null, X: null, y: gk, Y: mk, Z: _k, "%": Rf }, H = { a: D, A: w, b: v, B: M, c: m, d: Nf, e: Nf, f: Rv, g: Mf, G: Df, H: Bf, I: Bf, j: Nv, L: Ov, m: Mv, M: Bv, p: N, q: Dv, Q: Pv, s: Yv, S: Iv, u: Ev, U: Cv, V: Sv, w: Tv, W: Av, x: Q, X: x, y: Mf, Y: Df, Z: Lv, "%": Fv }; I.x = G(r, I), I.X = G(n, I), I.c = G(e, I), V.x = G(r, V), V.X = G(n, V), V.c = G(e, V); function G(z, $) { return function(F) { var O = [], A = -1, J = 0, C = z.length, ht, U, Yt; for (F instanceof Date || (F = new Date(+F)); ++A < C; ) z.charCodeAt(A) === 37 && (O.push(z.slice(J, A)), (U = Lf[ht = z.charAt(++A)]) != null ? ht = z.charAt(++A) : U = ht === "e" ? " " : "0", (Yt = $[ht]) && (ht = Yt(F, U)), O.push(ht), J = A + 1); return O.push(z.slice(J, A)), O.join(""); }; } function Y(z, $) { return function(F) { var O = Wa(1900, void 0, 1), A = W(O, z, F += "", 0), J, C; if (A != F.length) return null; if ("Q" in O) return new Date(O.Q); if ("s" in O) return new Date(O.s * 1e3 + ("L" in O ? O.L : 0)); if ($ && !("Z" in O) && (O.Z = 0), "p" in O && (O.H = O.H % 12 + O.p * 12), O.m === void 0 && (O.m = "q" in O ? O.q : 0), "V" in O) { if (O.V < 1 || O.V > 53) return null; "w" in O || (O.w = 1), "Z" in O ? (J = ph(Wa(O.y, 0, 1)), C = J.getUTCDay(), J = C > 4 || C === 0 ? _c.ceil(J) : _c(J), J = E0.offset(J, (O.V - 1) * 7), O.y = J.getUTCFullYear(), O.m = J.getUTCMonth(), O.d = J.getUTCDate() + (O.w + 6) % 7) : (J = fh(Wa(O.y, 0, 1)), C = J.getDay(), J = C > 4 || C === 0 ? mc.ceil(J) : mc(J), J = ua.offset(J, (O.V - 1) * 7), O.y = J.getFullYear(), O.m = J.getMonth(), O.d = J.getDate() + (O.w + 6) % 7); } else ("W" in O || "U" in O) && ("w" in O || (O.w = "u" in O ? O.u % 7 : "W" in O ? 1 : 0), C = "Z" in O ? ph(Wa(O.y, 0, 1)).getUTCDay() : fh(Wa(O.y, 0, 1)).getDay(), O.m = 0, O.d = "W" in O ? (O.w + 6) % 7 + O.W * 7 - (C + 5) % 7 : O.w + O.U * 7 - (C + 6) % 7); return "Z" in O ? (O.H += O.Z / 100 | 0, O.M += O.Z % 100, ph(O)) : fh(O); }; } function W(z, $, F, O) { for (var A = 0, J = $.length, C = F.length, ht, U; A < J; ) { if (O >= C) return -1; if (ht = $.charCodeAt(A++), ht === 37) { if (ht = $.charAt(A++), U = H[ht in Lf ? $.charAt(A++) : ht], !U || (O = U(z, F, O)) < 0) return -1; } else if (ht != F.charCodeAt(O++)) return -1; } return O; } function N(z, $, F) { var O = u.exec($.slice(F)); return O ? (z.p = d.get(O[0].toLowerCase()), F + O[0].length) : -1; } function D(z, $, F) { var O = g.exec($.slice(F)); return O ? (z.w = b.get(O[0].toLowerCase()), F + O[0].length) : -1; } function w(z, $, F) { var O = f.exec($.slice(F)); return O ? (z.w = p.get(O[0].toLowerCase()), F + O[0].length) : -1; } function v(z, $, F) { var O = L.exec($.slice(F)); return O ? (z.m = E.get(O[0].toLowerCase()), F + O[0].length) : -1; } function M(z, $, F) { var O = k.exec($.slice(F)); return O ? (z.m = T.get(O[0].toLowerCase()), F + O[0].length) : -1; } function m(z, $, F) { return W(z, e, $, F); } function Q(z, $, F) { return W(z, r, $, F); } function x(z, $, F) { return W(z, n, $, F); } function ct(z) { return a[z.getDay()]; } function Dt(z) { return s[z.getDay()]; } function vt(z) { return l[z.getMonth()]; } function j(z) { return o[z.getMonth()]; } function ot(z) { return i[+(z.getHours() >= 12)]; } function rt(z) { return 1 + ~~(z.getMonth() / 3); } function nt(z) { return a[z.getUTCDay()]; } function ut(z) { return s[z.getUTCDay()]; } function _t(z) { return l[z.getUTCMonth()]; } function K(z) { return o[z.getUTCMonth()]; } function Ot(z) { return i[+(z.getUTCHours() >= 12)]; } function P(z) { return 1 + ~~(z.getUTCMonth() / 3); } return { format: function(z) { var $ = G(z += "", I); return $.toString = function() { return z; }, $; }, parse: function(z) { var $ = Y(z += "", !1); return $.toString = function() { return z; }, $; }, utcFormat: function(z) { var $ = G(z += "", V); return $.toString = function() { return z; }, $; }, utcParse: function(z) { var $ = Y(z += "", !0); return $.toString = function() { return z; }, $; } }; } var Lf = { "-": "", _: " ", 0: "0" }, mr = /^\s*\d+/, vv = /^%/, kv = /[\\^$*+?|[\]().{}]/g; function Ae(t, e, r) { var n = t < 0 ? "-" : "", i = (n ? -t : t) + "", s = i.length; return n + (s < r ? new Array(r - s + 1).join(e) + i : i); } function wv(t) { return t.replace(kv, "\\$&"); } function Ha(t) { return new RegExp("^(?:" + t.map(wv).join("|") + ")", "i"); } function Ga(t) { return new Map(t.map((e, r) => [e.toLowerCase(), r])); } function Tv(t, e, r) { var n = mr.exec(e.slice(r, r + 1)); return n ? (t.w = +n[0], r + n[0].length) : -1; } function Ev(t, e, r) { var n = mr.exec(e.slice(r, r + 1)); return n ? (t.u = +n[0], r + n[0].length) : -1; } function Cv(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.U = +n[0], r + n[0].length) : -1; } function Sv(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.V = +n[0], r + n[0].length) : -1; } function Av(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.W = +n[0], r + n[0].length) : -1; } function Df(t, e, r) { var n = mr.exec(e.slice(r, r + 4)); return n ? (t.y = +n[0], r + n[0].length) : -1; } function Mf(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1; } function Lv(t, e, r) { var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)); return n ? (t.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), r + n[0].length) : -1; } function Dv(t, e, r) { var n = mr.exec(e.slice(r, r + 1)); return n ? (t.q = n[0] * 3 - 3, r + n[0].length) : -1; } function Mv(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.m = n[0] - 1, r + n[0].length) : -1; } function Nf(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.d = +n[0], r + n[0].length) : -1; } function Nv(t, e, r) { var n = mr.exec(e.slice(r, r + 3)); return n ? (t.m = 0, t.d = +n[0], r + n[0].length) : -1; } function Bf(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.H = +n[0], r + n[0].length) : -1; } function Bv(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.M = +n[0], r + n[0].length) : -1; } function Iv(t, e, r) { var n = mr.exec(e.slice(r, r + 2)); return n ? (t.S = +n[0], r + n[0].length) : -1; } function Ov(t, e, r) { var n = mr.exec(e.slice(r, r + 3)); return n ? (t.L = +n[0], r + n[0].length) : -1; } function Rv(t, e, r) { var n = mr.exec(e.slice(r, r + 6)); return n ? (t.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1; } function Fv(t, e, r) { var n = vv.exec(e.slice(r, r + 1)); return n ? r + n[0].length : -1; } function Pv(t, e, r) { var n = mr.exec(e.slice(r)); return n ? (t.Q = +n[0], r + n[0].length) : -1; } function Yv(t, e, r) { var n = mr.exec(e.slice(r)); return n ? (t.s = +n[0], r + n[0].length) : -1; } function If(t, e) { return Ae(t.getDate(), e, 2); } function Vv(t, e) { return Ae(t.getHours(), e, 2); } function Uv(t, e) { return Ae(t.getHours() % 12 || 12, e, 2); } function zv(t, e) { return Ae(1 + ua.count(_s(t), t), e, 3); } function Ug(t, e) { return Ae(t.getMilliseconds(), e, 3); } function Wv(t, e) { return Ug(t, e) + "000"; } function Hv(t, e) { return Ae(t.getMonth() + 1, e, 2); } function Gv(t, e) { return Ae(t.getMinutes(), e, 2); } function qv(t, e) { return Ae(t.getSeconds(), e, 2); } function jv(t) { var e = t.getDay(); return e === 0 ? 7 : e; } function Xv(t, e) { return Ae(ha.count(_s(t) - 1, t), e, 2); } function zg(t) { var e = t.getDay(); return e >= 4 || e === 0 ? da(t) : da.ceil(t); } function $v(t, e) { return t = zg(t), Ae(da.count(_s(t), t) + (_s(t).getDay() === 4), e, 2); } function Kv(t) { return t.getDay(); } function Zv(t, e) { return Ae(mc.count(_s(t) - 1, t), e, 2); } function Qv(t, e) { return Ae(t.getFullYear() % 100, e, 2); } function Jv(t, e) { return t = zg(t), Ae(t.getFullYear() % 100, e, 2); } function tk(t, e) { return Ae(t.getFullYear() % 1e4, e, 4); } function ek(t, e) { var r = t.getDay(); return t = r >= 4 || r === 0 ? da(t) : da.ceil(t), Ae(t.getFullYear() % 1e4, e, 4); } function rk(t) { var e = t.getTimezoneOffset(); return (e > 0 ? "-" : (e *= -1, "+")) + Ae(e / 60 | 0, "0", 2) + Ae(e % 60, "0", 2); } function Of(t, e) { return Ae(t.getUTCDate(), e, 2); } function nk(t, e) { return Ae(t.getUTCHours(), e, 2); } function ik(t, e) { return Ae(t.getUTCHours() % 12 || 12, e, 2); } function sk(t, e) { return Ae(1 + E0.count(pa(t), t), e, 3); } function Wg(t, e) { return Ae(t.getUTCMilliseconds(), e, 3); } function ak(t, e) { return Wg(t, e) + "000"; } function ok(t, e) { return Ae(t.getUTCMonth() + 1, e, 2); } function lk(t, e) { return Ae(t.getUTCMinutes(), e, 2); } function ck(t, e) { return Ae(t.getUTCSeconds(), e, 2); } function uk(t) { var e = t.getUTCDay(); return e === 0 ? 7 : e; } function hk(t, e) { return Ae(C0.count(pa(t) - 1, t), e, 2); } function Hg(t) { var e = t.getUTCDay(); return e >= 4 || e === 0 ? fa(t) : fa.ceil(t); } function dk(t, e) { return t = Hg(t), Ae(fa.count(pa(t), t) + (pa(t).getUTCDay() === 4), e, 2); } function fk(t) { return t.getUTCDay(); } function pk(t, e) { return Ae(_c.count(pa(t) - 1, t), e, 2); } function gk(t, e) { return Ae(t.getUTCFullYear() % 100, e, 2); } function yk(t, e) { return t = Hg(t), Ae(t.getUTCFullYear() % 100, e, 2); } function mk(t, e) { return Ae(t.getUTCFullYear() % 1e4, e, 4); } function bk(t, e) { var r = t.getUTCDay(); return t = r >= 4 || r === 0 ? fa(t) : fa.ceil(t), Ae(t.getUTCFullYear() % 1e4, e, 4); } function _k() { return "+0000"; } function Rf() { return "%"; } function Ff(t) { return +t; } function Pf(t) { return Math.floor(+t / 1e3); } var zs, xc; xk({ dateTime: "%x, %X", date: "%-m/%-d/%Y", time: "%-I:%M:%S %p", periods: ["AM", "PM"], days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] }); function xk(t) { return zs = xv(t), xc = zs.format, zs.parse, zs.utcFormat, zs.utcParse, zs; } function vk(t) { return new Date(t); } function kk(t) { return t instanceof Date ? +t : +new Date(+t); } function Gg(t, e, r, n, i, s, a, o, l, u) { var d = Lg(), f = d.invert, p = d.domain, g = u(".%L"), b = u(":%S"), k = u("%I:%M"), T = u("%I %p"), L = u("%a %d"), E = u("%b %d"), I = u("%B"), V = u("%Y"); function H(G) { return (l(G) < G ? g : o(G) < G ? b : a(G) < G ? k : s(G) < G ? T : n(G) < G ? i(G) < G ? L : E : r(G) < G ? I : V)(G); } return d.invert = function(G) { return new Date(f(G)); }, d.domain = function(G) { return arguments.length ? p(Array.from(G, kk)) : p().map(vk); }, d.ticks = function(G) { var Y = p(); return t(Y[0], Y[Y.length - 1], G == null ? 10 : G); }, d.tickFormat = function(G, Y) { return Y == null ? H : u(Y); }, d.nice = function(G) { var Y = p(); return (!G || typeof G.range != "function") && (G = e(Y[0], Y[Y.length - 1], G == null ? 10 : G)), G ? p(sv(Y, G)) : d; }, d.copy = function() { return Ag(d, Gg(t, e, r, n, i, s, a, o, l, u)); }, d; } function wk() { return k0.apply(Gg(bv, _v, _s, bc, ha, ua, yc, gc, eo, xc).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments); } function Ke(t) { return function() { return t; }; } const Yf = Math.abs, kr = Math.atan2, is = Math.cos, Tk = Math.max, gh = Math.min, Rn = Math.sin, js = Math.sqrt, Fr = 1e-12, ko = Math.PI, vc = ko / 2, Yl = 2 * ko; function Ek(t) { return t > 1 ? 0 : t < -1 ? ko : Math.acos(t); } function Vf(t) { return t >= 1 ? vc : t <= -1 ? -vc : Math.asin(t); } function Ck(t) { return t.innerRadius; } function Sk(t) { return t.outerRadius; } function Ak(t) { return t.startAngle; } function Lk(t) { return t.endAngle; } function Dk(t) { return t && t.padAngle; } function Mk(t, e, r, n, i, s, a, o) { var l = r - t, u = n - e, d = a - i, f = o - s, p = f * l - d * u; if (!(p * p < Fr)) return p = (d * (e - s) - f * (t - i)) / p, [t + p * l, e + p * u]; } function vl(t, e, r, n, i, s, a) { var o = t - r, l = e - n, u = (a ? s : -s) / js(o * o + l * l), d = u * l, f = -u * o, p = t + d, g = e + f, b = r + d, k = n + f, T = (p + b) / 2, L = (g + k) / 2, E = b - p, I = k - g, V = E * E + I * I, H = i - s, G = p * k - b * g, Y = (I < 0 ? -1 : 1) * js(Tk(0, H * H * V - G * G)), W = (G * I - E * Y) / V, N = (-G * E - I * Y) / V, D = (G * I + E * Y) / V, w = (-G * E + I * Y) / V, v = W - T, M = N - L, m = D - T, Q = w - L; return v * v + M * M > m * m + Q * Q && (W = D, N = w), { cx: W, cy: N, x01: -d, y01: -f, x11: W * (i / H - 1), y11: N * (i / H - 1) }; } function l1() { var t = Ck, e = Sk, r = Ke(0), n = null, i = Ak, s = Lk, a = Dk, o = null; function l() { var u, d, f = +t.apply(this, arguments), p = +e.apply(this, arguments), g = i.apply(this, arguments) - vc, b = s.apply(this, arguments) - vc, k = Yf(b - g), T = b > g; if (o || (o = u = x0()), p < f && (d = p, p = f, f = d), !(p > Fr)) o.moveTo(0, 0); else if (k > Yl - Fr) o.moveTo(p * is(g), p * Rn(g)), o.arc(0, 0, p, g, b, !T), f > Fr && (o.moveTo(f * is(b), f * Rn(b)), o.arc(0, 0, f, b, g, T)); else { var L = g, E = b, I = g, V = b, H = k, G = k, Y = a.apply(this, arguments) / 2, W = Y > Fr && (n ? +n.apply(this, arguments) : js(f * f + p * p)), N = gh(Yf(p - f) / 2, +r.apply(this, arguments)), D = N, w = N, v, M; if (W > Fr) { var m = Vf(W / f * Rn(Y)), Q = Vf(W / p * Rn(Y)); (H -= m * 2) > Fr ? (m *= T ? 1 : -1, I += m, V -= m) : (H = 0, I = V = (g + b) / 2), (G -= Q * 2) > Fr ? (Q *= T ? 1 : -1, L += Q, E -= Q) : (G = 0, L = E = (g + b) / 2); } var x = p * is(L), ct = p * Rn(L), Dt = f * is(V), vt = f * Rn(V); if (N > Fr) { var j = p * is(E), ot = p * Rn(E), rt = f * is(I), nt = f * Rn(I), ut; if (k < ko && (ut = Mk(x, ct, rt, nt, j, ot, Dt, vt))) { var _t = x - ut[0], K = ct - ut[1], Ot = j - ut[0], P = ot - ut[1], z = 1 / Rn(Ek((_t * Ot + K * P) / (js(_t * _t + K * K) * js(Ot * Ot + P * P))) / 2), $ = js(ut[0] * ut[0] + ut[1] * ut[1]); D = gh(N, (f - $) / (z - 1)), w = gh(N, (p - $) / (z + 1)); } } G > Fr ? w > Fr ? (v = vl(rt, nt, x, ct, p, w, T), M = vl(j, ot, Dt, vt, p, w, T), o.moveTo(v.cx + v.x01, v.cy + v.y01), w < N ? o.arc(v.cx, v.cy, w, kr(v.y01, v.x01), kr(M.y01, M.x01), !T) : (o.arc(v.cx, v.cy, w, kr(v.y01, v.x01), kr(v.y11, v.x11), !T), o.arc(0, 0, p, kr(v.cy + v.y11, v.cx + v.x11), kr(M.cy + M.y11, M.cx + M.x11), !T), o.arc(M.cx, M.cy, w, kr(M.y11, M.x11), kr(M.y01, M.x01), !T))) : (o.moveTo(x, ct), o.arc(0, 0, p, L, E, !T)) : o.moveTo(x, ct), !(f > Fr) || !(H > Fr) ? o.lineTo(Dt, vt) : D > Fr ? (v = vl(Dt, vt, j, ot, f, -D, T), M = vl(x, ct, rt, nt, f, -D, T), o.lineTo(v.cx + v.x01, v.cy + v.y01), D < N ? o.arc(v.cx, v.cy, D, kr(v.y01, v.x01), kr(M.y01, M.x01), !T) : (o.arc(v.cx, v.cy, D, kr(v.y01, v.x01), kr(v.y11, v.x11), !T), o.arc(0, 0, f, kr(v.cy + v.y11, v.cx + v.x11), kr(M.cy + M.y11, M.cx + M.x11), T), o.arc(M.cx, M.cy, D, kr(M.y11, M.x11), kr(M.y01, M.x01), !T))) : o.arc(0, 0, f, V, I, T); } if (o.closePath(), u) return o = null, u + "" || null; } return l.centroid = function() { var u = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, d = (+i.apply(this, arguments) + +s.apply(this, arguments)) / 2 - ko / 2; return [is(d) * u, Rn(d) * u]; }, l.innerRadius = function(u) { return arguments.length ? (t = typeof u == "function" ? u : Ke(+u), l) : t; }, l.outerRadius = function(u) { return arguments.length ? (e = typeof u == "function" ? u : Ke(+u), l) : e; }, l.cornerRadius = function(u) { return arguments.length ? (r = typeof u == "function" ? u : Ke(+u), l) : r; }, l.padRadius = function(u) { return arguments.length ? (n = u == null ? null : typeof u == "function" ? u : Ke(+u), l) : n; }, l.startAngle = function(u) { return arguments.length ? (i = typeof u == "function" ? u : Ke(+u), l) : i; }, l.endAngle = function(u) { return arguments.length ? (s = typeof u == "function" ? u : Ke(+u), l) : s; }, l.padAngle = function(u) { return arguments.length ? (a = typeof u == "function" ? u : Ke(+u), l) : a; }, l.context = function(u) { return arguments.length ? (o = u == null ? null : u, l) : o; }, l; } function qg(t) { return typeof t == "object" && "length" in t ? t : Array.from(t); } function jg(t) { this._context = t; } jg.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; default: this._context.lineTo(t, e); break; } } }; function $r(t) { return new jg(t); } function Nk(t) { return t[0]; } function Bk(t) { return t[1]; } function Na(t, e) { var r = Ke(!0), n = null, i = $r, s = null; t = typeof t == "function" ? t : t === void 0 ? Nk : Ke(t), e = typeof e == "function" ? e : e === void 0 ? Bk : Ke(e); function a(o) { var l, u = (o = qg(o)).length, d, f = !1, p; for (n == null && (s = i(p = x0())), l = 0; l <= u; ++l) !(l < u && r(d = o[l], l, o)) === f && ((f = !f) ? s.lineStart() : s.lineEnd()), f && s.point(+t(d, l, o), +e(d, l, o)); if (p) return s = null, p + "" || null; } return a.x = function(o) { return arguments.length ? (t = typeof o == "function" ? o : Ke(+o), a) : t; }, a.y = function(o) { return arguments.length ? (e = typeof o == "function" ? o : Ke(+o), a) : e; }, a.defined = function(o) { return arguments.length ? (r = typeof o == "function" ? o : Ke(!!o), a) : r; }, a.curve = function(o) { return arguments.length ? (i = o, n != null && (s = i(n)), a) : i; }, a.context = function(o) { return arguments.length ? (o == null ? n = s = null : s = i(n = o), a) : n; }, a; } function Ik(t, e) { return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; } function Ok(t) { return t; } function Rk() { var t = Ok, e = Ik, r = null, n = Ke(0), i = Ke(Yl), s = Ke(0); function a(o) { var l, u = (o = qg(o)).length, d, f, p = 0, g = new Array(u), b = new Array(u), k = +n.apply(this, arguments), T = Math.min(Yl, Math.max(-Yl, i.apply(this, arguments) - k)), L, E = Math.min(Math.abs(T) / u, s.apply(this, arguments)), I = E * (T < 0 ? -1 : 1), V; for (l = 0; l < u; ++l) (V = b[g[l] = l] = +t(o[l], l, o)) > 0 && (p += V); for (e != null ? g.sort(function(H, G) { return e(b[H], b[G]); }) : r != null && g.sort(function(H, G) { return r(o[H], o[G]); }), l = 0, f = p ? (T - u * I) / p : 0; l < u; ++l, k = L) d = g[l], V = b[d], L = k + (V > 0 ? V * f : 0) + I, b[d] = { data: o[d], index: l, value: V, startAngle: k, endAngle: L, padAngle: E }; return b; } return a.value = function(o) { return arguments.length ? (t = typeof o == "function" ? o : Ke(+o), a) : t; }, a.sortValues = function(o) { return arguments.length ? (e = o, r = null, a) : e; }, a.sort = function(o) { return arguments.length ? (r = o, e = null, a) : r; }, a.startAngle = function(o) { return arguments.length ? (n = typeof o == "function" ? o : Ke(+o), a) : n; }, a.endAngle = function(o) { return arguments.length ? (i = typeof o == "function" ? o : Ke(+o), a) : i; }, a.padAngle = function(o) { return arguments.length ? (s = typeof o == "function" ? o : Ke(+o), a) : s; }, a; } function kc() { } function wc(t, e, r) { t._context.bezierCurveTo( (2 * t._x0 + t._x1) / 3, (2 * t._y0 + t._y1) / 3, (t._x0 + 2 * t._x1) / 3, (t._y0 + 2 * t._y1) / 3, (t._x0 + 4 * t._x1 + e) / 6, (t._y0 + 4 * t._y1 + r) / 6 ); } function Xg(t) { this._context = t; } Xg.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 3: wc(this, this._x1, this._y1); case 2: this._context.lineTo(this._x1, this._y1); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; break; case 2: this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); default: wc(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function ga(t) { return new Xg(t); } function $g(t) { this._context = t; } $g.prototype = { areaStart: kc, areaEnd: kc, lineStart: function() { this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 1: { this._context.moveTo(this._x2, this._y2), this._context.closePath(); break; } case 2: { this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath(); break; } case 3: { this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4); break; } } }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._x2 = t, this._y2 = e; break; case 1: this._point = 2, this._x3 = t, this._y3 = e; break; case 2: this._point = 3, this._x4 = t, this._y4 = e, this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6); break; default: wc(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function Fk(t) { return new $g(t); } function Kg(t) { this._context = t; } Kg.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0; }, lineEnd: function() { (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1; break; case 1: this._point = 2; break; case 2: this._point = 3; var r = (this._x0 + 4 * this._x1 + t) / 6, n = (this._y0 + 4 * this._y1 + e) / 6; this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n); break; case 3: this._point = 4; default: wc(this, t, e); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e; } }; function Pk(t) { return new Kg(t); } function Zg(t) { this._context = t; } Zg.prototype = { areaStart: kc, areaEnd: kc, lineStart: function() { this._point = 0; }, lineEnd: function() { this._point && this._context.closePath(); }, point: function(t, e) { t = +t, e = +e, this._point ? this._context.lineTo(t, e) : (this._point = 1, this._context.moveTo(t, e)); } }; function Yk(t) { return new Zg(t); } function Uf(t) { return t < 0 ? -1 : 1; } function zf(t, e, r) { var n = t._x1 - t._x0, i = e - t._x1, s = (t._y1 - t._y0) / (n || i < 0 && -0), a = (r - t._y1) / (i || n < 0 && -0), o = (s * i + a * n) / (n + i); return (Uf(s) + Uf(a)) * Math.min(Math.abs(s), Math.abs(a), 0.5 * Math.abs(o)) || 0; } function Wf(t, e) { var r = t._x1 - t._x0; return r ? (3 * (t._y1 - t._y0) / r - e) / 2 : e; } function yh(t, e, r) { var n = t._x0, i = t._y0, s = t._x1, a = t._y1, o = (s - n) / 3; t._context.bezierCurveTo(n + o, i + o * e, s - o, a - o * r, s, a); } function Tc(t) { this._context = t; } Tc.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0; }, lineEnd: function() { switch (this._point) { case 2: this._context.lineTo(this._x1, this._y1); break; case 3: yh(this, this._t0, Wf(this, this._t0)); break; } (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line; }, point: function(t, e) { var r = NaN; if (t = +t, e = +e, !(t === this._x1 && e === this._y1)) { switch (this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; break; case 2: this._point = 3, yh(this, Wf(this, r = zf(this, t, e)), r); break; default: yh(this, this._t0, r = zf(this, t, e)); break; } this._x0 = this._x1, this._x1 = t, this._y0 = this._y1, this._y1 = e, this._t0 = r; } } }; function Qg(t) { this._context = new Jg(t); } (Qg.prototype = Object.create(Tc.prototype)).point = function(t, e) { Tc.prototype.point.call(this, e, t); }; function Jg(t) { this._context = t; } Jg.prototype = { moveTo: function(t, e) { this._context.moveTo(e, t); }, closePath: function() { this._context.closePath(); }, lineTo: function(t, e) { this._context.lineTo(e, t); }, bezierCurveTo: function(t, e, r, n, i, s) { this._context.bezierCurveTo(e, t, n, r, s, i); } }; function Vk(t) { return new Tc(t); } function Uk(t) { return new Qg(t); } function ty(t) { this._context = t; } ty.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = [], this._y = []; }, lineEnd: function() { var t = this._x, e = this._y, r = t.length; if (r) if (this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2) this._context.lineTo(t[1], e[1]); else for (var n = Hf(t), i = Hf(e), s = 0, a = 1; a < r; ++s, ++a) this._context.bezierCurveTo(n[0][s], i[0][s], n[1][s], i[1][s], t[a], e[a]); (this._line || this._line !== 0 && r === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null; }, point: function(t, e) { this._x.push(+t), this._y.push(+e); } }; function Hf(t) { var e, r = t.length - 1, n, i = new Array(r), s = new Array(r), a = new Array(r); for (i[0] = 0, s[0] = 2, a[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) i[e] = 1, s[e] = 4, a[e] = 4 * t[e] + 2 * t[e + 1]; for (i[r - 1] = 2, s[r - 1] = 7, a[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) n = i[e] / s[e - 1], s[e] -= n, a[e] -= n * a[e - 1]; for (i[r - 1] = a[r - 1] / s[r - 1], e = r - 2; e >= 0; --e) i[e] = (a[e] - i[e + 1]) / s[e]; for (s[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) s[e] = 2 * t[e + 1] - i[e + 1]; return [i, s]; } function zk(t) { return new ty(t); } function hu(t, e) { this._context = t, this._t = e; } hu.prototype = { areaStart: function() { this._line = 0; }, areaEnd: function() { this._line = NaN; }, lineStart: function() { this._x = this._y = NaN, this._point = 0; }, lineEnd: function() { 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line); }, point: function(t, e) { switch (t = +t, e = +e, this._point) { case 0: this._point = 1, this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e); break; case 1: this._point = 2; default: { if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e); else { var r = this._x * (1 - this._t) + t * this._t; this._context.lineTo(r, this._y), this._context.lineTo(r, e); } break; } } this._x = t, this._y = e; } }; function Wk(t) { return new hu(t, 0.5); } function Hk(t) { return new hu(t, 0); } function Gk(t) { return new hu(t, 1); } function Xs(t, e, r) { this.k = t, this.x = e, this.y = r; } Xs.prototype = { constructor: Xs, scale: function(t) { return t === 1 ? this : new Xs(this.k * t, this.x, this.y); }, translate: function(t, e) { return t === 0 & e === 0 ? this : new Xs(this.k, this.x + this.k * t, this.y + this.k * e); }, apply: function(t) { return [t[0] * this.k + this.x, t[1] * this.k + this.y]; }, applyX: function(t) { return t * this.k + this.x; }, applyY: function(t) { return t * this.k + this.y; }, invert: function(t) { return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k]; }, invertX: function(t) { return (t - this.x) / this.k; }, invertY: function(t) { return (t - this.y) / this.k; }, rescaleX: function(t) { return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)); }, rescaleY: function(t) { return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)); }, toString: function() { return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; } }; new Xs(1, 0, 0); Xs.prototype; /*! @license DOMPurify 2.4.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.1/LICENSE */ function Yi(t) { return Yi = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, Yi(t); } function c1(t, e) { return c1 = Object.setPrototypeOf || function(n, i) { return n.__proto__ = i, n; }, c1(t, e); } function qk() { if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1; if (typeof Proxy == "function") return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })), !0; } catch { return !1; } } function Vl(t, e, r) { return qk() ? Vl = Reflect.construct : Vl = function(i, s, a) { var o = [null]; o.push.apply(o, s); var l = Function.bind.apply(i, o), u = new l(); return a && c1(u, a.prototype), u; }, Vl.apply(null, arguments); } function hn(t) { return jk(t) || Xk(t) || $k(t) || Kk(); } function jk(t) { if (Array.isArray(t)) return u1(t); } function Xk(t) { if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t); } function $k(t, e) { if (!!t) { if (typeof t == "string") return u1(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); if (r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set") return Array.from(t); if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return u1(t, e); } } function u1(t, e) { (e == null || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; return n; } function Kk() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var Zk = Object.hasOwnProperty, Gf = Object.setPrototypeOf, Qk = Object.isFrozen, Jk = Object.getPrototypeOf, t8 = Object.getOwnPropertyDescriptor, Or = Object.freeze, kn = Object.seal, e8 = Object.create, ey = typeof Reflect < "u" && Reflect, Ec = ey.apply, h1 = ey.construct; Ec || (Ec = function(e, r, n) { return e.apply(r, n); }); Or || (Or = function(e) { return e; }); kn || (kn = function(e) { return e; }); h1 || (h1 = function(e, r) { return Vl(e, hn(r)); }); var r8 = en(Array.prototype.forEach), qf = en(Array.prototype.pop), qa = en(Array.prototype.push), Ul = en(String.prototype.toLowerCase), mh = en(String.prototype.toString), n8 = en(String.prototype.match), un = en(String.prototype.replace), i8 = en(String.prototype.indexOf), s8 = en(String.prototype.trim), Lr = en(RegExp.prototype.test), bh = a8(TypeError); function en(t) { return function(e) { for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++) n[i - 1] = arguments[i]; return Ec(t, e, n); }; } function a8(t) { return function() { for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++) r[n] = arguments[n]; return h1(t, r); }; } function we(t, e, r) { r = r || Ul, Gf && Gf(t, null); for (var n = e.length; n--; ) { var i = e[n]; if (typeof i == "string") { var s = r(i); s !== i && (Qk(e) || (e[n] = s), i = s); } t[i] = !0; } return t; } function ss(t) { var e = e8(null), r; for (r in t) Ec(Zk, t, [r]) && (e[r] = t[r]); return e; } function kl(t, e) { for (; t !== null; ) { var r = t8(t, e); if (r) { if (r.get) return en(r.get); if (typeof r.value == "function") return en(r.value); } t = Jk(t); } function n(i) { return console.warn("fallback value for", i), null; } return n; } var jf = Or(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), _h = Or(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), xh = Or(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), o8 = Or(["animate", "color-profile", "cursor", "discard", "fedropshadow", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), vh = Or(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover"]), l8 = Or(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Xf = Or(["#text"]), $f = Or(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns", "slot"]), kh = Or(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), Kf = Or(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), wl = Or(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), c8 = kn(/\{\{[\w\W]*|[\w\W]*\}\}/gm), u8 = kn(/<%[\w\W]*|[\w\W]*%>/gm), h8 = kn(/\${[\w\W]*}/gm), d8 = kn(/^data-[\-\w.\u00B7-\uFFFF]/), f8 = kn(/^aria-[\-\w]+$/), p8 = kn( /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i ), g8 = kn(/^(?:\w+script|data):/i), y8 = kn( /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g ), m8 = kn(/^html$/i), b8 = function() { return typeof window > "u" ? null : window; }, _8 = function(e, r) { if (Yi(e) !== "object" || typeof e.createPolicy != "function") return null; var n = null, i = "data-tt-policy-suffix"; r.currentScript && r.currentScript.hasAttribute(i) && (n = r.currentScript.getAttribute(i)); var s = "dompurify" + (n ? "#" + n : ""); try { return e.createPolicy(s, { createHTML: function(o) { return o; }, createScriptURL: function(o) { return o; } }); } catch { return console.warn("TrustedTypes policy " + s + " could not be created."), null; } }; function ry() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b8(), e = function(Z) { return ry(Z); }; if (e.version = "2.4.1", e.removed = [], !t || !t.document || t.document.nodeType !== 9) return e.isSupported = !1, e; var r = t.document, n = t.document, i = t.DocumentFragment, s = t.HTMLTemplateElement, a = t.Node, o = t.Element, l = t.NodeFilter, u = t.NamedNodeMap, d = u === void 0 ? t.NamedNodeMap || t.MozNamedAttrMap : u, f = t.HTMLFormElement, p = t.DOMParser, g = t.trustedTypes, b = o.prototype, k = kl(b, "cloneNode"), T = kl(b, "nextSibling"), L = kl(b, "childNodes"), E = kl(b, "parentNode"); if (typeof s == "function") { var I = n.createElement("template"); I.content && I.content.ownerDocument && (n = I.content.ownerDocument); } var V = _8(g, r), H = V ? V.createHTML("") : "", G = n, Y = G.implementation, W = G.createNodeIterator, N = G.createDocumentFragment, D = G.getElementsByTagName, w = r.importNode, v = {}; try { v = ss(n).documentMode ? n.documentMode : {}; } catch { } var M = {}; e.isSupported = typeof E == "function" && Y && typeof Y.createHTMLDocument < "u" && v !== 9; var m = c8, Q = u8, x = h8, ct = d8, Dt = f8, vt = g8, j = y8, ot = p8, rt = null, nt = we({}, [].concat(hn(jf), hn(_h), hn(xh), hn(vh), hn(Xf))), ut = null, _t = we({}, [].concat(hn($f), hn(kh), hn(Kf), hn(wl))), K = Object.seal(Object.create(null, { tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 } })), Ot = null, P = null, z = !0, $ = !0, F = !1, O = !1, A = !1, J = !1, C = !1, ht = !1, U = !1, Yt = !1, et = !0, Mt = !1, Tt = "user-content-", gt = !0, Et = !1, wt = {}, pt = null, st = we({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]), le = null, $t = we({}, ["audio", "video", "img", "source", "image", "track"]), jt = null, Kt = we({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Gt = "http://www.w3.org/1998/Math/MathML", Ee = "http://www.w3.org/2000/svg", Ht = "http://www.w3.org/1999/xhtml", Vt = Ht, Ft = !1, xt = null, ft = we({}, [Gt, Ee, Ht], mh), Lt, bt = ["application/xhtml+xml", "text/html"], Ut = "text/html", at, ne = null, dt = n.createElement("form"), ee = function(Z) { return Z instanceof RegExp || Z instanceof Function; }, de = function(Z) { ne && ne === Z || ((!Z || Yi(Z) !== "object") && (Z = {}), Z = ss(Z), Lt = bt.indexOf(Z.PARSER_MEDIA_TYPE) === -1 ? Lt = Ut : Lt = Z.PARSER_MEDIA_TYPE, at = Lt === "application/xhtml+xml" ? mh : Ul, rt = "ALLOWED_TAGS" in Z ? we({}, Z.ALLOWED_TAGS, at) : nt, ut = "ALLOWED_ATTR" in Z ? we({}, Z.ALLOWED_ATTR, at) : _t, xt = "ALLOWED_NAMESPACES" in Z ? we({}, Z.ALLOWED_NAMESPACES, mh) : ft, jt = "ADD_URI_SAFE_ATTR" in Z ? we( ss(Kt), Z.ADD_URI_SAFE_ATTR, at ) : Kt, le = "ADD_DATA_URI_TAGS" in Z ? we( ss($t), Z.ADD_DATA_URI_TAGS, at ) : $t, pt = "FORBID_CONTENTS" in Z ? we({}, Z.FORBID_CONTENTS, at) : st, Ot = "FORBID_TAGS" in Z ? we({}, Z.FORBID_TAGS, at) : {}, P = "FORBID_ATTR" in Z ? we({}, Z.FORBID_ATTR, at) : {}, wt = "USE_PROFILES" in Z ? Z.USE_PROFILES : !1, z = Z.ALLOW_ARIA_ATTR !== !1, $ = Z.ALLOW_DATA_ATTR !== !1, F = Z.ALLOW_UNKNOWN_PROTOCOLS || !1, O = Z.SAFE_FOR_TEMPLATES || !1, A = Z.WHOLE_DOCUMENT || !1, ht = Z.RETURN_DOM || !1, U = Z.RETURN_DOM_FRAGMENT || !1, Yt = Z.RETURN_TRUSTED_TYPE || !1, C = Z.FORCE_BODY || !1, et = Z.SANITIZE_DOM !== !1, Mt = Z.SANITIZE_NAMED_PROPS || !1, gt = Z.KEEP_CONTENT !== !1, Et = Z.IN_PLACE || !1, ot = Z.ALLOWED_URI_REGEXP || ot, Vt = Z.NAMESPACE || Ht, Z.CUSTOM_ELEMENT_HANDLING && ee(Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (K.tagNameCheck = Z.CUSTOM_ELEMENT_HANDLING.tagNameCheck), Z.CUSTOM_ELEMENT_HANDLING && ee(Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (K.attributeNameCheck = Z.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), Z.CUSTOM_ELEMENT_HANDLING && typeof Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (K.allowCustomizedBuiltInElements = Z.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), O && ($ = !1), U && (ht = !0), wt && (rt = we({}, hn(Xf)), ut = [], wt.html === !0 && (we(rt, jf), we(ut, $f)), wt.svg === !0 && (we(rt, _h), we(ut, kh), we(ut, wl)), wt.svgFilters === !0 && (we(rt, xh), we(ut, kh), we(ut, wl)), wt.mathMl === !0 && (we(rt, vh), we(ut, Kf), we(ut, wl))), Z.ADD_TAGS && (rt === nt && (rt = ss(rt)), we(rt, Z.ADD_TAGS, at)), Z.ADD_ATTR && (ut === _t && (ut = ss(ut)), we(ut, Z.ADD_ATTR, at)), Z.ADD_URI_SAFE_ATTR && we(jt, Z.ADD_URI_SAFE_ATTR, at), Z.FORBID_CONTENTS && (pt === st && (pt = ss(pt)), we(pt, Z.FORBID_CONTENTS, at)), gt && (rt["#text"] = !0), A && we(rt, ["html", "head", "body"]), rt.table && (we(rt, ["tbody"]), delete Ot.tbody), Or && Or(Z), ne = Z); }, me = we({}, ["mi", "mo", "mn", "ms", "mtext"]), be = we({}, ["foreignobject", "desc", "title", "annotation-xml"]), ke = we({}, ["title", "style", "font", "a", "script"]), Xt = we({}, _h); we(Xt, xh), we(Xt, o8); var ie = we({}, vh); we(ie, l8); var ge = function(Z) { var St = E(Z); (!St || !St.tagName) && (St = { namespaceURI: Vt, tagName: "template" }); var Nt = Ul(Z.tagName), fe = Ul(St.tagName); return xt[Z.namespaceURI] ? Z.namespaceURI === Ee ? St.namespaceURI === Ht ? Nt === "svg" : St.namespaceURI === Gt ? Nt === "svg" && (fe === "annotation-xml" || me[fe]) : Boolean(Xt[Nt]) : Z.namespaceURI === Gt ? St.namespaceURI === Ht ? Nt === "math" : St.namespaceURI === Ee ? Nt === "math" && be[fe] : Boolean(ie[Nt]) : Z.namespaceURI === Ht ? St.namespaceURI === Ee && !be[fe] || St.namespaceURI === Gt && !me[fe] ? !1 : !ie[Nt] && (ke[Nt] || !Xt[Nt]) : !!(Lt === "application/xhtml+xml" && xt[Z.namespaceURI]) : !1; }, Qt = function(Z) { qa(e.removed, { element: Z }); try { Z.parentNode.removeChild(Z); } catch { try { Z.outerHTML = H; } catch { Z.remove(); } } }, an = function(Z, St) { try { qa(e.removed, { attribute: St.getAttributeNode(Z), from: St }); } catch { qa(e.removed, { attribute: null, from: St }); } if (St.removeAttribute(Z), Z === "is" && !ut[Z]) if (ht || U) try { Qt(St); } catch { } else try { St.setAttribute(Z, ""); } catch { } }, Wr = function(Z) { var St, Nt; if (C) Z = "" + Z; else { var fe = n8(Z, /^[\r\n\t ]+/); Nt = fe && fe[0]; } Lt === "application/xhtml+xml" && Vt === Ht && (Z = '' + Z + ""); var Me = V ? V.createHTML(Z) : Z; if (Vt === Ht) try { St = new p().parseFromString(Me, Lt); } catch { } if (!St || !St.documentElement) { St = Y.createDocument(Vt, "template", null); try { St.documentElement.innerHTML = Ft ? "" : Me; } catch { } } var Le = St.body || St.documentElement; return Z && Nt && Le.insertBefore(n.createTextNode(Nt), Le.childNodes[0] || null), Vt === Ht ? D.call(St, A ? "html" : "body")[0] : A ? St.documentElement : Le; }, De = function(Z) { return W.call( Z.ownerDocument || Z, Z, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT, null, !1 ); }, ae = function(Z) { return Z instanceof f && (typeof Z.nodeName != "string" || typeof Z.textContent != "string" || typeof Z.removeChild != "function" || !(Z.attributes instanceof d) || typeof Z.removeAttribute != "function" || typeof Z.setAttribute != "function" || typeof Z.namespaceURI != "string" || typeof Z.insertBefore != "function" || typeof Z.hasChildNodes != "function"); }, Be = function(Z) { return Yi(a) === "object" ? Z instanceof a : Z && Yi(Z) === "object" && typeof Z.nodeType == "number" && typeof Z.nodeName == "string"; }, Oe = function(Z, St, Nt) { !M[Z] || r8(M[Z], function(fe) { fe.call(e, St, Nt, ne); }); }, Fe = function(Z) { var St; if (Oe("beforeSanitizeElements", Z, null), ae(Z) || Lr(/[\u0080-\uFFFF]/, Z.nodeName)) return Qt(Z), !0; var Nt = at(Z.nodeName); if (Oe("uponSanitizeElement", Z, { tagName: Nt, allowedTags: rt }), Z.hasChildNodes() && !Be(Z.firstElementChild) && (!Be(Z.content) || !Be(Z.content.firstElementChild)) && Lr(/<[/\w]/g, Z.innerHTML) && Lr(/<[/\w]/g, Z.textContent) || Nt === "select" && Lr(/