UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

931 lines (930 loc) 1.19 MB
var Mb = Object.defineProperty; var Nb = (t, e, r) => e in t ? Mb(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r; var Us = (t, e, r) => (Nb(t, typeof e != "symbol" ? e + "" : e, r), r); var Bb = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Ib(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(); })(Bb, 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, Ib("./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 Ud() { return !!this.isValid() && this._isUTC && this._offset === 0; } n.updateOffset = function() { }; var wb = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, Tb = /^(-|\+)?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 = wb.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 = Tb.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 = zd(it, yt) : ((Ct = zd(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 zd(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 Wd(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), Hd(this, ln(_, S), h), this; }; } function Hd(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 = Wd(1, "add"), Pe = Wd(-1, "subtract"); function Gd(h) { return typeof h == "string" || h instanceof String; } function Eb(h) { return G(h) || d(h) || Gd(h) || u(h) || function(y) { var _ = i(y), S = !1; return _ && (S = y.filter(function(R) { return !u(R) && Gd(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 qd(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 jd() { return this._locale; } var Xd = 126227808e5; function Ps(h, y) { return (h % y + y) % y; } function $d(h, y, _) { return h < 100 && 0 <= h ? new Date(h + 400, y, _) - Xd : new Date(h, y, _).valueOf(); } function Kd(h, y, _) { return h < 100 && 0 <= h ? Date.UTC(h + 400, y, _) - Xd : 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 Zd(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 Cb(h, y) { y[Ut] = F(1e3 * ("0." + h)); } for (Bi = "S"; Bi.length <= 9; Bi += "S") Gt(Bi, Cb); Oi = O("Milliseconds", !1), j("z", 0, 0, "zoneAbbr"), j("zz", 0, 0, "zoneName"), C = H.prototype; function Qd(h) { return h; } C.add = ee, C.calendar = function(_, R) { arguments.length === 1 && (arguments[0] ? Eb(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 ? Kd : $d, 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 = qd, C.localeData = jd, 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 ? Kd : $d, 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":