!(function (e, t) {
  "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : (e.moment = t());
})(this, function () {
  "use strict";
  var e, t;
  function n() {
    return e.apply(null, arguments);
  }
  function s(e) {
    return e instanceof Array || "[object Array]" === Object.prototype.toString.call(e);
  }
  function i(e) {
    return null != e && "[object Object]" === Object.prototype.toString.call(e);
  }
  function r(e) {
    return void 0 === e;
  }
  function a(e) {
    return "number" == typeof e || "[object Number]" === Object.prototype.toString.call(e);
  }
  function o(e) {
    return e instanceof Date || "[object Date]" === Object.prototype.toString.call(e);
  }
  function u(e, t) {
    var n,
      s = [];
    for (n = 0; n < e.length; ++n) s.push(t(e[n], n));
    return s;
  }
  function l(e, t) {
    return Object.prototype.hasOwnProperty.call(e, t);
  }
  function d(e, t) {
    for (var n in t) l(t, n) && (e[n] = t[n]);
    return l(t, "toString") && (e.toString = t.toString), l(t, "valueOf") && (e.valueOf = t.valueOf), e;
  }
  function h(e, t, n, s) {
    return Ot(e, t, n, s, !0).utc();
  }
  function c(e) {
    return null == e._pf && (e._pf = { empty: !1, unusedTokens: [], unusedInput: [], overflow: -2, charsLeftOver: 0, nullInput: !1, invalidMonth: null, invalidFormat: !1, userInvalidated: !1, iso: !1, parsedDateParts: [], meridiem: null, rfc2822: !1, weekdayMismatch: !1 }), e._pf;
  }
  function f(e) {
    if (null == e._isValid) {
      var n = c(e),
        s = t.call(n.parsedDateParts, function (e) {
          return null != e;
        }),
        i = !isNaN(e._d.getTime()) && n.overflow < 0 && !n.empty && !n.invalidMonth && !n.invalidWeekday && !n.weekdayMismatch && !n.nullInput && !n.invalidFormat && !n.userInvalidated && (!n.meridiem || (n.meridiem && s));
      if ((e._strict && (i = i && 0 === n.charsLeftOver && 0 === n.unusedTokens.length && void 0 === n.bigHour), null != Object.isFrozen && Object.isFrozen(e))) return i;
      e._isValid = i;
    }
    return e._isValid;
  }
  function m(e) {
    var t = h(NaN);
    return null != e ? d(c(t), e) : (c(t).userInvalidated = !0), t;
  }
  t = Array.prototype.some
    ? Array.prototype.some
    : function (e) {
        for (var t = Object(this), n = t.length >>> 0, s = 0; s < n; s++) if (s in t && e.call(this, t[s], s, t)) return !0;
        return !1;
      };
  var _ = (n.momentProperties = []);
  function y(e, t) {
    var n, s, i;
    if (
      (r(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject),
      r(t._i) || (e._i = t._i),
      r(t._f) || (e._f = t._f),
      r(t._l) || (e._l = t._l),
      r(t._strict) || (e._strict = t._strict),
      r(t._tzm) || (e._tzm = t._tzm),
      r(t._isUTC) || (e._isUTC = t._isUTC),
      r(t._offset) || (e._offset = t._offset),
      r(t._pf) || (e._pf = c(t)),
      r(t._locale) || (e._locale = t._locale),
      _.length > 0)
    )
      for (n = 0; n < _.length; n++) r((i = t[(s = _[n])])) || (e[s] = i);
    return e;
  }
  var g = !1;
  function p(e) {
    y(this, e), (this._d = new Date(null != e._d ? e._d.getTime() : NaN)), this.isValid() || (this._d = new Date(NaN)), !1 === g && ((g = !0), n.updateOffset(this), (g = !1));
  }
  function v(e) {
    return e instanceof p || (null != e && null != e._isAMomentObject);
  }
  function w(e) {
    return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
  }
  function M(e) {
    var t = +e,
      n = 0;
    return 0 !== t && isFinite(t) && (n = w(t)), n;
  }
  function S(e, t, n) {
    var s,
      i = Math.min(e.length, t.length),
      r = Math.abs(e.length - t.length),
      a = 0;
    for (s = 0; s < i; s++) ((n && e[s] !== t[s]) || (!n && M(e[s]) !== M(t[s]))) && a++;
    return a + r;
  }
  function D(e) {
    !1 === n.suppressDeprecationWarnings && "undefined" != typeof console && console.warn && console.warn("Deprecation warning: " + e);
  }
  function k(e, t) {
    var s = !0;
    return d(function () {
      if ((null != n.deprecationHandler && n.deprecationHandler(null, e), s)) {
        for (var i, r = [], a = 0; a < arguments.length; a++) {
          if (((i = ""), "object" == typeof arguments[a])) {
            for (var o in ((i += "\n[" + a + "] "), arguments[0])) i += o + ": " + arguments[0][o] + ", ";
            i = i.slice(0, -2);
          } else i = arguments[a];
          r.push(i);
        }
        D(e + "\nArguments: " + Array.prototype.slice.call(r).join("") + "\n" + new Error().stack), (s = !1);
      }
      return t.apply(this, arguments);
    }, t);
  }
  var Y,
    O = {};
  function T(e, t) {
    null != n.deprecationHandler && n.deprecationHandler(e, t), O[e] || (D(t), (O[e] = !0));
  }
  function x(e) {
    return e instanceof Function || "[object Function]" === Object.prototype.toString.call(e);
  }
  function b(e, t) {
    var n,
      s = d({}, e);
    for (n in t) l(t, n) && (i(e[n]) && i(t[n]) ? ((s[n] = {}), d(s[n], e[n]), d(s[n], t[n])) : null != t[n] ? (s[n] = t[n]) : delete s[n]);
    for (n in e) l(e, n) && !l(t, n) && i(e[n]) && (s[n] = d({}, s[n]));
    return s;
  }
  function P(e) {
    null != e && this.set(e);
  }
  (n.suppressDeprecationWarnings = !1),
    (n.deprecationHandler = null),
    (Y = Object.keys
      ? Object.keys
      : function (e) {
          var t,
            n = [];
          for (t in e) l(e, t) && n.push(t);
          return n;
        });
  var W = {};
  function H(e, t) {
    var n = e.toLowerCase();
    W[n] = W[n + "s"] = W[t] = e;
  }
  function R(e) {
    return "string" == typeof e ? W[e] || W[e.toLowerCase()] : void 0;
  }
  function C(e) {
    var t,
      n,
      s = {};
    for (n in e) l(e, n) && (t = R(n)) && (s[t] = e[n]);
    return s;
  }
  var F = {};
  function L(e, t) {
    F[e] = t;
  }
  function U(e, t, n) {
    var s = "" + Math.abs(e),
      i = t - s.length;
    return (e >= 0 ? (n ? "+" : "") : "-") + Math.pow(10, Math.max(0, i)).toString().substr(1) + s;
  }
  var N = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
    G = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
    V = {},
    E = {};
  function I(e, t, n, s) {
    var i = s;
    "string" == typeof s &&
      (i = function () {
        return this[s]();
      }),
      e && (E[e] = i),
      t &&
        (E[t[0]] = function () {
          return U(i.apply(this, arguments), t[1], t[2]);
        }),
      n &&
        (E[n] = function () {
          return this.localeData().ordinal(i.apply(this, arguments), e);
        });
  }
  function A(e, t) {
    return e.isValid()
      ? ((t = j(t, e.localeData())),
        (V[t] =
          V[t] ||
          (function (e) {
            var t,
              n,
              s,
              i = e.match(N);
            for (t = 0, n = i.length; t < n; t++) E[i[t]] ? (i[t] = E[i[t]]) : (i[t] = (s = i[t]).match(/\[[\s\S]/) ? s.replace(/^\[|\]$/g, "") : s.replace(/\\/g, ""));
            return function (t) {
              var s,
                r = "";
              for (s = 0; s < n; s++) r += x(i[s]) ? i[s].call(t, e) : i[s];
              return r;
            };
          })(t)),
        V[t](e))
      : e.localeData().invalidDate();
  }
  function j(e, t) {
    var n = 5;
    function s(e) {
      return t.longDateFormat(e) || e;
    }
    for (G.lastIndex = 0; n >= 0 && G.test(e); ) (e = e.replace(G, s)), (G.lastIndex = 0), (n -= 1);
    return e;
  }
  var Z = /\d/,
    z = /\d\d/,
    $ = /\d{3}/,
    q = /\d{4}/,
    J = /[+-]?\d{6}/,
    B = /\d\d?/,
    Q = /\d\d\d\d?/,
    X = /\d\d\d\d\d\d?/,
    K = /\d{1,3}/,
    ee = /\d{1,4}/,
    te = /[+-]?\d{1,6}/,
    ne = /\d+/,
    se = /[+-]?\d+/,
    ie = /Z|[+-]\d\d:?\d\d/gi,
    re = /Z|[+-]\d\d(?::?\d\d)?/gi,
    ae = /[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,
    oe = {};
  function ue(e, t, n) {
    oe[e] = x(t)
      ? t
      : function (e, s) {
          return e && n ? n : t;
        };
  }
  function le(e, t) {
    return l(oe, e)
      ? oe[e](t._strict, t._locale)
      : new RegExp(
          de(
            e.replace("\\", "").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (e, t, n, s, i) {
              return t || n || s || i;
            })
          )
        );
  }
  function de(e) {
    return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
  }
  var he = {};
  function ce(e, t) {
    var n,
      s = t;
    for (
      "string" == typeof e && (e = [e]),
        a(t) &&
          (s = function (e, n) {
            n[t] = M(e);
          }),
        n = 0;
      n < e.length;
      n++
    )
      he[e[n]] = s;
  }
  function fe(e, t) {
    ce(e, function (e, n, s, i) {
      (s._w = s._w || {}), t(e, s._w, s, i);
    });
  }
  var me = 0,
    _e = 1,
    ye = 2,
    ge = 3,
    pe = 4,
    ve = 5,
    we = 6,
    Me = 7,
    Se = 8;
  function De(e) {
    return ke(e) ? 366 : 365;
  }
  function ke(e) {
    return (e % 4 == 0 && e % 100 != 0) || e % 400 == 0;
  }
  I("Y", 0, 0, function () {
    var e = this.year();
    return e <= 9999 ? "" + e : "+" + e;
  }),
    I(0, ["YY", 2], 0, function () {
      return this.year() % 100;
    }),
    I(0, ["YYYY", 4], 0, "year"),
    I(0, ["YYYYY", 5], 0, "year"),
    I(0, ["YYYYYY", 6, !0], 0, "year"),
    H("year", "y"),
    L("year", 1),
    ue("Y", se),
    ue("YY", B, z),
    ue("YYYY", ee, q),
    ue("YYYYY", te, J),
    ue("YYYYYY", te, J),
    ce(["YYYYY", "YYYYYY"], me),
    ce("YYYY", function (e, t) {
      t[me] = 2 === e.length ? n.parseTwoDigitYear(e) : M(e);
    }),
    ce("YY", function (e, t) {
      t[me] = n.parseTwoDigitYear(e);
    }),
    ce("Y", function (e, t) {
      t[me] = parseInt(e, 10);
    }),
    (n.parseTwoDigitYear = function (e) {
      return M(e) + (M(e) > 68 ? 1900 : 2e3);
    });
  var Ye,
    Oe = Te("FullYear", !0);
  function Te(e, t) {
    return function (s) {
      return null != s ? (be(this, e, s), n.updateOffset(this, t), this) : xe(this, e);
    };
  }
  function xe(e, t) {
    return e.isValid() ? e._d["get" + (e._isUTC ? "UTC" : "") + t]() : NaN;
  }
  function be(e, t, n) {
    e.isValid() && !isNaN(n) && ("FullYear" === t && ke(e.year()) && 1 === e.month() && 29 === e.date() ? e._d["set" + (e._isUTC ? "UTC" : "") + t](n, e.month(), Pe(n, e.month())) : e._d["set" + (e._isUTC ? "UTC" : "") + t](n));
  }
  function Pe(e, t) {
    if (isNaN(e) || isNaN(t)) return NaN;
    var n,
      s = ((t % (n = 12)) + n) % n;
    return (e += (t - s) / 12), 1 === s ? (ke(e) ? 29 : 28) : 31 - ((s % 7) % 2);
  }
  (Ye = Array.prototype.indexOf
    ? Array.prototype.indexOf
    : function (e) {
        var t;
        for (t = 0; t < this.length; ++t) if (this[t] === e) return t;
        return -1;
      }),
    I("M", ["MM", 2], "Mo", function () {
      return this.month() + 1;
    }),
    I("MMM", 0, 0, function (e) {
      return this.localeData().monthsShort(this, e);
    }),
    I("MMMM", 0, 0, function (e) {
      return this.localeData().months(this, e);
    }),
    H("month", "M"),
    L("month", 8),
    ue("M", B),
    ue("MM", B, z),
    ue("MMM", function (e, t) {
      return t.monthsShortRegex(e);
    }),
    ue("MMMM", function (e, t) {
      return t.monthsRegex(e);
    }),
    ce(["M", "MM"], function (e, t) {
      t[_e] = M(e) - 1;
    }),
    ce(["MMM", "MMMM"], function (e, t, n, s) {
      var i = n._locale.monthsParse(e, s, n._strict);
      null != i ? (t[_e] = i) : (c(n).invalidMonth = e);
    });
  var We = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
    He = "January_February_March_April_May_June_July_August_September_October_November_December".split("_");
  var Re = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");
  function Ce(e, t) {
    var n;
    if (!e.isValid()) return e;
    if ("string" == typeof t)
      if (/^\d+$/.test(t)) t = M(t);
      else if (!a((t = e.localeData().monthsParse(t)))) return e;
    return (n = Math.min(e.date(), Pe(e.year(), t))), e._d["set" + (e._isUTC ? "UTC" : "") + "Month"](t, n), e;
  }
  function Fe(e) {
    return null != e ? (Ce(this, e), n.updateOffset(this, !0), this) : xe(this, "Month");
  }
  var Le = ae;
  var Ue = ae;
  function Ne() {
    function e(e, t) {
      return t.length - e.length;
    }
    var t,
      n,
      s = [],
      i = [],
      r = [];
    for (t = 0; t < 12; t++) (n = h([2e3, t])), s.push(this.monthsShort(n, "")), i.push(this.months(n, "")), r.push(this.months(n, "")), r.push(this.monthsShort(n, ""));
    for (s.sort(e), i.sort(e), r.sort(e), t = 0; t < 12; t++) (s[t] = de(s[t])), (i[t] = de(i[t]));
    for (t = 0; t < 24; t++) r[t] = de(r[t]);
    (this._monthsRegex = new RegExp("^(" + r.join("|") + ")", "i")), (this._monthsShortRegex = this._monthsRegex), (this._monthsStrictRegex = new RegExp("^(" + i.join("|") + ")", "i")), (this._monthsShortStrictRegex = new RegExp("^(" + s.join("|") + ")", "i"));
  }
  function Ge(e) {
    var t = new Date(Date.UTC.apply(null, arguments));
    return e < 100 && e >= 0 && isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e), t;
  }
  function Ve(e, t, n) {
    var s = 7 + t - n;
    return -((7 + Ge(e, 0, s).getUTCDay() - t) % 7) + s - 1;
  }
  function Ee(e, t, n, s, i) {
    var r,
      a,
      o = 1 + 7 * (t - 1) + ((7 + n - s) % 7) + Ve(e, s, i);
    return o <= 0 ? (a = De((r = e - 1)) + o) : o > De(e) ? ((r = e + 1), (a = o - De(e))) : ((r = e), (a = o)), { year: r, dayOfYear: a };
  }
  function Ie(e, t, n) {
    var s,
      i,
      r = Ve(e.year(), t, n),
      a = Math.floor((e.dayOfYear() - r - 1) / 7) + 1;
    return a < 1 ? (s = a + Ae((i = e.year() - 1), t, n)) : a > Ae(e.year(), t, n) ? ((s = a - Ae(e.year(), t, n)), (i = e.year() + 1)) : ((i = e.year()), (s = a)), { week: s, year: i };
  }
  function Ae(e, t, n) {
    var s = Ve(e, t, n),
      i = Ve(e + 1, t, n);
    return (De(e) - s + i) / 7;
  }
  I("w", ["ww", 2], "wo", "week"),
    I("W", ["WW", 2], "Wo", "isoWeek"),
    H("week", "w"),
    H("isoWeek", "W"),
    L("week", 5),
    L("isoWeek", 5),
    ue("w", B),
    ue("ww", B, z),
    ue("W", B),
    ue("WW", B, z),
    fe(["w", "ww", "W", "WW"], function (e, t, n, s) {
      t[s.substr(0, 1)] = M(e);
    });
  I("d", 0, "do", "day"),
    I("dd", 0, 0, function (e) {
      return this.localeData().weekdaysMin(this, e);
    }),
    I("ddd", 0, 0, function (e) {
      return this.localeData().weekdaysShort(this, e);
    }),
    I("dddd", 0, 0, function (e) {
      return this.localeData().weekdays(this, e);
    }),
    I("e", 0, 0, "weekday"),
    I("E", 0, 0, "isoWeekday"),
    H("day", "d"),
    H("weekday", "e"),
    H("isoWeekday", "E"),
    L("day", 11),
    L("weekday", 11),
    L("isoWeekday", 11),
    ue("d", B),
    ue("e", B),
    ue("E", B),
    ue("dd", function (e, t) {
      return t.weekdaysMinRegex(e);
    }),
    ue("ddd", function (e, t) {
      return t.weekdaysShortRegex(e);
    }),
    ue("dddd", function (e, t) {
      return t.weekdaysRegex(e);
    }),
    fe(["dd", "ddd", "dddd"], function (e, t, n, s) {
      var i = n._locale.weekdaysParse(e, s, n._strict);
      null != i ? (t.d = i) : (c(n).invalidWeekday = e);
    }),
    fe(["d", "e", "E"], function (e, t, n, s) {
      t[s] = M(e);
    });
  var je = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");
  var Ze = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");
  var ze = "Su_Mo_Tu_We_Th_Fr_Sa".split("_");
  var $e = ae;
  var qe = ae;
  var Je = ae;
  function Be() {
    function e(e, t) {
      return t.length - e.length;
    }
    var t,
      n,
      s,
      i,
      r,
      a = [],
      o = [],
      u = [],
      l = [];
    for (t = 0; t < 7; t++) (n = h([2e3, 1]).day(t)), (s = this.weekdaysMin(n, "")), (i = this.weekdaysShort(n, "")), (r = this.weekdays(n, "")), a.push(s), o.push(i), u.push(r), l.push(s), l.push(i), l.push(r);
    for (a.sort(e), o.sort(e), u.sort(e), l.sort(e), t = 0; t < 7; t++) (o[t] = de(o[t])), (u[t] = de(u[t])), (l[t] = de(l[t]));
    (this._weekdaysRegex = new RegExp("^(" + l.join("|") + ")", "i")),
      (this._weekdaysShortRegex = this._weekdaysRegex),
      (this._weekdaysMinRegex = this._weekdaysRegex),
      (this._weekdaysStrictRegex = new RegExp("^(" + u.join("|") + ")", "i")),
      (this._weekdaysShortStrictRegex = new RegExp("^(" + o.join("|") + ")", "i")),
      (this._weekdaysMinStrictRegex = new RegExp("^(" + a.join("|") + ")", "i"));
  }
  function Qe() {
    return this.hours() % 12 || 12;
  }
  function Xe(e, t) {
    I(e, 0, 0, function () {
      return this.localeData().meridiem(this.hours(), this.minutes(), t);
    });
  }
  function Ke(e, t) {
    return t._meridiemParse;
  }
  I("H", ["HH", 2], 0, "hour"),
    I("h", ["hh", 2], 0, Qe),
    I("k", ["kk", 2], 0, function () {
      return this.hours() || 24;
    }),
    I("hmm", 0, 0, function () {
      return "" + Qe.apply(this) + U(this.minutes(), 2);
    }),
    I("hmmss", 0, 0, function () {
      return "" + Qe.apply(this) + U(this.minutes(), 2) + U(this.seconds(), 2);
    }),
    I("Hmm", 0, 0, function () {
      return "" + this.hours() + U(this.minutes(), 2);
    }),
    I("Hmmss", 0, 0, function () {
      return "" + this.hours() + U(this.minutes(), 2) + U(this.seconds(), 2);
    }),
    Xe("a", !0),
    Xe("A", !1),
    H("hour", "h"),
    L("hour", 13),
    ue("a", Ke),
    ue("A", Ke),
    ue("H", B),
    ue("h", B),
    ue("k", B),
    ue("HH", B, z),
    ue("hh", B, z),
    ue("kk", B, z),
    ue("hmm", Q),
    ue("hmmss", X),
    ue("Hmm", Q),
    ue("Hmmss", X),
    ce(["H", "HH"], ge),
    ce(["k", "kk"], function (e, t, n) {
      var s = M(e);
      t[ge] = 24 === s ? 0 : s;
    }),
    ce(["a", "A"], function (e, t, n) {
      (n._isPm = n._locale.isPM(e)), (n._meridiem = e);
    }),
    ce(["h", "hh"], function (e, t, n) {
      (t[ge] = M(e)), (c(n).bigHour = !0);
    }),
    ce("hmm", function (e, t, n) {
      var s = e.length - 2;
      (t[ge] = M(e.substr(0, s))), (t[pe] = M(e.substr(s))), (c(n).bigHour = !0);
    }),
    ce("hmmss", function (e, t, n) {
      var s = e.length - 4,
        i = e.length - 2;
      (t[ge] = M(e.substr(0, s))), (t[pe] = M(e.substr(s, 2))), (t[ve] = M(e.substr(i))), (c(n).bigHour = !0);
    }),
    ce("Hmm", function (e, t, n) {
      var s = e.length - 2;
      (t[ge] = M(e.substr(0, s))), (t[pe] = M(e.substr(s)));
    }),
    ce("Hmmss", function (e, t, n) {
      var s = e.length - 4,
        i = e.length - 2;
      (t[ge] = M(e.substr(0, s))), (t[pe] = M(e.substr(s, 2))), (t[ve] = M(e.substr(i)));
    });
  var et,
    tt = Te("Hours", !0),
    nt = {
      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", M: "a month", MM: "%d months", y: "a year", yy: "%d years" },
      months: He,
      monthsShort: Re,
      week: { dow: 0, doy: 6 },
      weekdays: je,
      weekdaysMin: ze,
      weekdaysShort: Ze,
      meridiemParse: /[ap]\.?m?\.?/i,
    },
    st = {},
    it = {};
  function rt(e) {
    return e ? e.toLowerCase().replace("_", "-") : e;
  }
  function at(e) {
    var t = null;
    if (!st[e] && "undefined" != typeof module && module && module.exports)
      try {
        (t = et._abbr), require_once("./locale/" + e), ot(t);
      } catch (e) {}
    return st[e];
  }
  function ot(e, t) {
    var n;
    return e && ((n = r(t) ? lt(e) : ut(e, t)) ? (et = n) : "undefined" != typeof console && console.warn && console.warn("Locale " + e + " not found. Did you forget to load it?")), et._abbr;
  }
  function ut(e, t) {
    if (null !== t) {
      var n,
        s = nt;
      if (((t.abbr = e), null != st[e]))
        T("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 = st[e]._config);
      else if (null != t.parentLocale)
        if (null != st[t.parentLocale]) s = st[t.parentLocale]._config;
        else {
          if (null == (n = at(t.parentLocale))) return it[t.parentLocale] || (it[t.parentLocale] = []), it[t.parentLocale].push({ name: e, config: t }), null;
          s = n._config;
        }
      return (
        (st[e] = new P(b(s, t))),
        it[e] &&
          it[e].forEach(function (e) {
            ut(e.name, e.config);
          }),
        ot(e),
        st[e]
      );
    }
    return delete st[e], null;
  }
  function lt(e) {
    var t;
    if ((e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)) return et;
    if (!s(e)) {
      if ((t = at(e))) return t;
      e = [e];
    }
    return (function (e) {
      for (var t, n, s, i, r = 0; r < e.length; ) {
        for (t = (i = rt(e[r]).split("-")).length, n = (n = rt(e[r + 1])) ? n.split("-") : null; t > 0; ) {
          if ((s = at(i.slice(0, t).join("-")))) return s;
          if (n && n.length >= t && S(i, n, !0) >= t - 1) break;
          t--;
        }
        r++;
      }
      return et;
    })(e);
  }
  function dt(e) {
    var t,
      n = e._a;
    return (
      n &&
        -2 === c(e).overflow &&
        ((t = n[_e] < 0 || n[_e] > 11 ? _e : n[ye] < 1 || n[ye] > Pe(n[me], n[_e]) ? ye : n[ge] < 0 || n[ge] > 24 || (24 === n[ge] && (0 !== n[pe] || 0 !== n[ve] || 0 !== n[we])) ? ge : n[pe] < 0 || n[pe] > 59 ? pe : n[ve] < 0 || n[ve] > 59 ? ve : n[we] < 0 || n[we] > 999 ? we : -1),
        c(e)._overflowDayOfYear && (t < me || t > ye) && (t = ye),
        c(e)._overflowWeeks && -1 === t && (t = Me),
        c(e)._overflowWeekday && -1 === t && (t = Se),
        (c(e).overflow = t)),
      e
    );
  }
  function ht(e, t, n) {
    return null != e ? e : null != t ? t : n;
  }
  function ct(e) {
    var t,
      s,
      i,
      r,
      a,
      o = [];
    if (!e._d) {
      var u, l;
      for (
        u = e,
          l = new Date(n.now()),
          i = u._useUTC ? [l.getUTCFullYear(), l.getUTCMonth(), l.getUTCDate()] : [l.getFullYear(), l.getMonth(), l.getDate()],
          e._w &&
            null == e._a[ye] &&
            null == e._a[_e] &&
            (function (e) {
              var t, n, s, i, r, a, o, u;
              if (null != (t = e._w).GG || null != t.W || null != t.E) (r = 1), (a = 4), (n = ht(t.GG, e._a[me], Ie(Tt(), 1, 4).year)), (s = ht(t.W, 1)), ((i = ht(t.E, 1)) < 1 || i > 7) && (u = !0);
              else {
                (r = e._locale._week.dow), (a = e._locale._week.doy);
                var l = Ie(Tt(), r, a);
                (n = ht(t.gg, e._a[me], l.year)), (s = ht(t.w, l.week)), null != t.d ? ((i = t.d) < 0 || i > 6) && (u = !0) : null != t.e ? ((i = t.e + r), (t.e < 0 || t.e > 6) && (u = !0)) : (i = r);
              }
              s < 1 || s > Ae(n, r, a) ? (c(e)._overflowWeeks = !0) : null != u ? (c(e)._overflowWeekday = !0) : ((o = Ee(n, s, i, r, a)), (e._a[me] = o.year), (e._dayOfYear = o.dayOfYear));
            })(e),
          null != e._dayOfYear && ((a = ht(e._a[me], i[me])), (e._dayOfYear > De(a) || 0 === e._dayOfYear) && (c(e)._overflowDayOfYear = !0), (s = Ge(a, 0, e._dayOfYear)), (e._a[_e] = s.getUTCMonth()), (e._a[ye] = s.getUTCDate())),
          t = 0;
        t < 3 && null == e._a[t];
        ++t
      )
        e._a[t] = o[t] = i[t];
      for (; t < 7; t++) e._a[t] = o[t] = null == e._a[t] ? (2 === t ? 1 : 0) : e._a[t];
      24 === e._a[ge] && 0 === e._a[pe] && 0 === e._a[ve] && 0 === e._a[we] && ((e._nextDay = !0), (e._a[ge] = 0)),
        (e._d = (
          e._useUTC
            ? Ge
            : function (e, t, n, s, i, r, a) {
                var o = new Date(e, t, n, s, i, r, a);
                return e < 100 && e >= 0 && isFinite(o.getFullYear()) && o.setFullYear(e), o;
              }
        ).apply(null, o)),
        (r = e._useUTC ? e._d.getUTCDay() : e._d.getDay()),
        null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
        e._nextDay && (e._a[ge] = 24),
        e._w && void 0 !== e._w.d && e._w.d !== r && (c(e).weekdayMismatch = !0);
    }
  }
  var ft = /^\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)?)?$/,
    mt = /^\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)?)?$/,
    _t = /Z|[+-]\d\d(?::?\d\d)?/,
    yt = [
      ["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}/],
    ],
    gt = [
      ["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/],
    ],
    pt = /^\/?Date\((\-?\d+)/i;
  function vt(e) {
    var t,
      n,
      s,
      i,
      r,
      a,
      o = e._i,
      u = ft.exec(o) || mt.exec(o);
    if (u) {
      for (c(e).iso = !0, t = 0, n = yt.length; t < n; t++)
        if (yt[t][1].exec(u[1])) {
          (i = yt[t][0]), (s = !1 !== yt[t][2]);
          break;
        }
      if (null == i) return void (e._isValid = !1);
      if (u[3]) {
        for (t = 0, n = gt.length; t < n; t++)
          if (gt[t][1].exec(u[3])) {
            r = (u[2] || " ") + gt[t][0];
            break;
          }
        if (null == r) return void (e._isValid = !1);
      }
      if (!s && null != r) return void (e._isValid = !1);
      if (u[4]) {
        if (!_t.exec(u[4])) return void (e._isValid = !1);
        a = "Z";
      }
      (e._f = i + (r || "") + (a || "")), kt(e);
    } else e._isValid = !1;
  }
  var wt = /^(?:(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}))$/;
  function Mt(e, t, n, s, i, r) {
    var a = [
      (function (e) {
        var t = parseInt(e, 10);
        {
          if (t <= 49) return 2e3 + t;
          if (t <= 999) return 1900 + t;
        }
        return t;
      })(e),
      Re.indexOf(t),
      parseInt(n, 10),
      parseInt(s, 10),
      parseInt(i, 10),
    ];
    return r && a.push(parseInt(r, 10)), a;
  }
  var St = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480 };
  function Dt(e) {
    var t,
      n,
      s,
      i = wt.exec(
        e._i
          .replace(/\([^)]*\)|[\n\t]/g, " ")
          .replace(/(\s\s+)/g, " ")
          .trim()
      );
    if (i) {
      var r = Mt(i[4], i[3], i[2], i[5], i[6], i[7]);
      if (((t = i[1]), (n = r), (s = e), t && Ze.indexOf(t) !== new Date(n[0], n[1], n[2]).getDay() && ((c(s).weekdayMismatch = !0), (s._isValid = !1), 1))) return;
      (e._a = r),
        (e._tzm = (function (e, t, n) {
          if (e) return St[e];
          if (t) return 0;
          var s = parseInt(n, 10),
            i = s % 100;
          return ((s - i) / 100) * 60 + i;
        })(i[8], i[9], i[10])),
        (e._d = Ge.apply(null, e._a)),
        e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm),
        (c(e).rfc2822 = !0);
    } else e._isValid = !1;
  }
  function kt(e) {
    if (e._f !== n.ISO_8601)
      if (e._f !== n.RFC_2822) {
        (e._a = []), (c(e).empty = !0);
        var t,
          s,
          i,
          r,
          a,
          o,
          u,
          d,
          h = "" + e._i,
          f = h.length,
          m = 0;
        for (i = j(e._f, e._locale).match(N) || [], t = 0; t < i.length; t++)
          (r = i[t]),
            (s = (h.match(le(r, e)) || [])[0]) && ((a = h.substr(0, h.indexOf(s))).length > 0 && c(e).unusedInput.push(a), (h = h.slice(h.indexOf(s) + s.length)), (m += s.length)),
            E[r] ? (s ? (c(e).empty = !1) : c(e).unusedTokens.push(r), (o = r), (d = e), null != (u = s) && l(he, o) && he[o](u, d._a, d, o)) : e._strict && !s && c(e).unusedTokens.push(r);
        (c(e).charsLeftOver = f - m),
          h.length > 0 && c(e).unusedInput.push(h),
          e._a[ge] <= 12 && !0 === c(e).bigHour && e._a[ge] > 0 && (c(e).bigHour = void 0),
          (c(e).parsedDateParts = e._a.slice(0)),
          (c(e).meridiem = e._meridiem),
          (e._a[ge] = (function (e, t, n) {
            var s;
            if (null == n) return t;
            return null != e.meridiemHour ? e.meridiemHour(t, n) : null != e.isPM ? ((s = e.isPM(n)) && t < 12 && (t += 12), s || 12 !== t || (t = 0), t) : t;
          })(e._locale, e._a[ge], e._meridiem)),
          ct(e),
          dt(e);
      } else Dt(e);
    else vt(e);
  }
  function Yt(e) {
    var t,
      l,
      h,
      _,
      g = e._i,
      w = e._f;
    return (
      (e._locale = e._locale || lt(e._l)),
      null === g || (void 0 === w && "" === g)
        ? m({ nullInput: !0 })
        : ("string" == typeof g && (e._i = g = e._locale.preparse(g)),
          v(g)
            ? new p(dt(g))
            : (o(g)
                ? (e._d = g)
                : s(w)
                ? (function (e) {
                    var t, n, s, i, r;
                    if (0 === e._f.length) return (c(e).invalidFormat = !0), void (e._d = new Date(NaN));
                    for (i = 0; i < e._f.length; i++) (r = 0), (t = y({}, e)), null != e._useUTC && (t._useUTC = e._useUTC), (t._f = e._f[i]), kt(t), f(t) && ((r += c(t).charsLeftOver), (r += 10 * c(t).unusedTokens.length), (c(t).score = r), (null == s || r < s) && ((s = r), (n = t)));
                    d(e, n || t);
                  })(e)
                : w
                ? kt(e)
                : r((l = (t = e)._i))
                ? (t._d = new Date(n.now()))
                : o(l)
                ? (t._d = new Date(l.valueOf()))
                : "string" == typeof l
                ? ((h = t), null === (_ = pt.exec(h._i)) ? (vt(h), !1 === h._isValid && (delete h._isValid, Dt(h), !1 === h._isValid && (delete h._isValid, n.createFromInputFallback(h)))) : (h._d = new Date(+_[1])))
                : s(l)
                ? ((t._a = u(l.slice(0), function (e) {
                    return parseInt(e, 10);
                  })),
                  ct(t))
                : i(l)
                ? (function (e) {
                    if (!e._d) {
                      var t = C(e._i);
                      (e._a = u([t.year, t.month, t.day || t.date, t.hour, t.minute, t.second, t.millisecond], function (e) {
                        return e && parseInt(e, 10);
                      })),
                        ct(e);
                    }
                  })(t)
                : a(l)
                ? (t._d = new Date(l))
                : n.createFromInputFallback(t),
              f(e) || (e._d = null),
              e))
    );
  }
  function Ot(e, t, n, r, a) {
    var o,
      u = {};
    return (
      (!0 !== n && !1 !== n) || ((r = n), (n = void 0)),
      ((i(e) &&
        (function (e) {
          if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length;
          var t;
          for (t in e) if (e.hasOwnProperty(t)) return !1;
          return !0;
        })(e)) ||
        (s(e) && 0 === e.length)) &&
        (e = void 0),
      (u._isAMomentObject = !0),
      (u._useUTC = u._isUTC = a),
      (u._l = n),
      (u._i = e),
      (u._f = t),
      (u._strict = r),
      (o = new p(dt(Yt(u))))._nextDay && (o.add(1, "d"), (o._nextDay = void 0)),
      o
    );
  }
  function Tt(e, t, n, s) {
    return Ot(e, t, n, s, !1);
  }
  (n.createFromInputFallback = k(
    "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 and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
    function (e) {
      e._d = new Date(e._i + (e._useUTC ? " UTC" : ""));
    }
  )),
    (n.ISO_8601 = function () {}),
    (n.RFC_2822 = function () {});
  var xt = k("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
      var e = Tt.apply(null, arguments);
      return this.isValid() && e.isValid() ? (e < this ? this : e) : m();
    }),
    bt = k("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/", function () {
      var e = Tt.apply(null, arguments);
      return this.isValid() && e.isValid() ? (e > this ? this : e) : m();
    });
  function Pt(e, t) {
    var n, i;
    if ((1 === t.length && s(t[0]) && (t = t[0]), !t.length)) return Tt();
    for (n = t[0], i = 1; i < t.length; ++i) (t[i].isValid() && !t[i][e](n)) || (n = t[i]);
    return n;
  }
  var Wt = ["year", "quarter", "month", "week", "day", "hour", "minute", "second", "millisecond"];
  function Ht(e) {
    var t = C(e),
      n = t.year || 0,
      s = t.quarter || 0,
      i = t.month || 0,
      r = t.week || 0,
      a = t.day || 0,
      o = t.hour || 0,
      u = t.minute || 0,
      l = t.second || 0,
      d = t.millisecond || 0;
    (this._isValid = (function (e) {
      for (var t in e) if (-1 === Ye.call(Wt, t) || (null != e[t] && isNaN(e[t]))) return !1;
      for (var n = !1, s = 0; s < Wt.length; ++s)
        if (e[Wt[s]]) {
          if (n) return !1;
          parseFloat(e[Wt[s]]) !== M(e[Wt[s]]) && (n = !0);
        }
      return !0;
    })(t)),
      (this._milliseconds = +d + 1e3 * l + 6e4 * u + 1e3 * o * 60 * 60),
      (this._days = +a + 7 * r),
      (this._months = +i + 3 * s + 12 * n),
      (this._data = {}),
      (this._locale = lt()),
      this._bubble();
  }
  function Rt(e) {
    return e instanceof Ht;
  }
  function Ct(e) {
    return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e);
  }
  function Ft(e, t) {
    I(e, 0, 0, function () {
      var e = this.utcOffset(),
        n = "+";
      return e < 0 && ((e = -e), (n = "-")), n + U(~~(e / 60), 2) + t + U(~~e % 60, 2);
    });
  }
  Ft("Z", ":"),
    Ft("ZZ", ""),
    ue("Z", re),
    ue("ZZ", re),
    ce(["Z", "ZZ"], function (e, t, n) {
      (n._useUTC = !0), (n._tzm = Ut(re, e));
    });
  var Lt = /([\+\-]|\d\d)/gi;
  function Ut(e, t) {
    var n = (t || "").match(e);
    if (null === n) return null;
    var s = ((n[n.length - 1] || []) + "").match(Lt) || ["-", 0, 0],
      i = 60 * s[1] + M(s[2]);
    return 0 === i ? 0 : "+" === s[0] ? i : -i;
  }
  function Nt(e, t) {
    var s, i;
    return t._isUTC ? ((s = t.clone()), (i = (v(e) || o(e) ? e.valueOf() : Tt(e).valueOf()) - s.valueOf()), s._d.setTime(s._d.valueOf() + i), n.updateOffset(s, !1), s) : Tt(e).local();
  }
  function Gt(e) {
    return 15 * -Math.round(e._d.getTimezoneOffset() / 15);
  }
  function Vt() {
    return !!this.isValid() && this._isUTC && 0 === this._offset;
  }
  n.updateOffset = function () {};
  var Et = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,
    It = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
  function At(e, t) {
    var n,
      s,
      i,
      r = e,
      o = null;
    return (
      Rt(e)
        ? (r = { ms: e._milliseconds, d: e._days, M: e._months })
        : a(e)
        ? ((r = {}), t ? (r[t] = e) : (r.milliseconds = e))
        : (o = Et.exec(e))
        ? ((n = "-" === o[1] ? -1 : 1), (r = { y: 0, d: M(o[ye]) * n, h: M(o[ge]) * n, m: M(o[pe]) * n, s: M(o[ve]) * n, ms: M(Ct(1e3 * o[we])) * n }))
        : (o = It.exec(e))
        ? ((n = "-" === o[1] ? -1 : (o[1], 1)), (r = { y: jt(o[2], n), M: jt(o[3], n), w: jt(o[4], n), d: jt(o[5], n), h: jt(o[6], n), m: jt(o[7], n), s: jt(o[8], n) }))
        : null == r
        ? (r = {})
        : "object" == typeof r &&
          ("from" in r || "to" in r) &&
          ((i = (function (e, t) {
            var n;
            if (!e.isValid() || !t.isValid()) return { milliseconds: 0, months: 0 };
            (t = Nt(t, e)), e.isBefore(t) ? (n = Zt(e, t)) : (((n = Zt(t, e)).milliseconds = -n.milliseconds), (n.months = -n.months));
            return n;
          })(Tt(r.from), Tt(r.to))),
          ((r = {}).ms = i.milliseconds),
          (r.M = i.months)),
      (s = new Ht(r)),
      Rt(e) && l(e, "_locale") && (s._locale = e._locale),
      s
    );
  }
  function jt(e, t) {
    var n = e && parseFloat(e.replace(",", "."));
    return (isNaN(n) ? 0 : n) * t;
  }
  function Zt(e, t) {
    var n = { milliseconds: 0, months: 0 };
    return (n.months = t.month() - e.month() + 12 * (t.year() - e.year())), e.clone().add(n.months, "M").isAfter(t) && --n.months, (n.milliseconds = +t - +e.clone().add(n.months, "M")), n;
  }
  function zt(e, t) {
    return function (n, s) {
      var i;
      return (
        null === s || isNaN(+s) || (T(t, "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."), (i = n), (n = s), (s = i)),
        $t(this, At((n = "string" == typeof n ? +n : n), s), e),
        this
      );
    };
  }
  function $t(e, t, s, i) {
    var r = t._milliseconds,
      a = Ct(t._days),
      o = Ct(t._months);
    e.isValid() && ((i = null == i || i), o && Ce(e, xe(e, "Month") + o * s), a && be(e, "Date", xe(e, "Date") + a * s), r && e._d.setTime(e._d.valueOf() + r * s), i && n.updateOffset(e, a || o));
  }
  (At.fn = Ht.prototype),
    (At.invalid = function () {
      return At(NaN);
    });
  var qt = zt(1, "add"),
    Jt = zt(-1, "subtract");
  function Bt(e, t) {
    var n = 12 * (t.year() - e.year()) + (t.month() - e.month()),
      s = e.clone().add(n, "months");
    return -(n + (t - s < 0 ? (t - s) / (s - e.clone().add(n - 1, "months")) : (t - s) / (e.clone().add(n + 1, "months") - s))) || 0;
  }
  function Qt(e) {
    var t;
    return void 0 === e ? this._locale._abbr : (null != (t = lt(e)) && (this._locale = t), this);
  }
  (n.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"), (n.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]");
  var Xt = k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.", function (e) {
    return void 0 === e ? this.localeData() : this.locale(e);
  });
  function Kt() {
    return this._locale;
  }
  function en(e, t) {
    I(0, [e, e.length], 0, t);
  }
  function tn(e, t, n, s, i) {
    var r;
    return null == e
      ? Ie(this, s, i).year
      : (t > (r = Ae(e, s, i)) && (t = r),
        function (e, t, n, s, i) {
          var r = Ee(e, t, n, s, i),
            a = Ge(r.year, 0, r.dayOfYear);
          return this.year(a.getUTCFullYear()), this.month(a.getUTCMonth()), this.date(a.getUTCDate()), this;
        }.call(this, e, t, n, s, i));
  }
  I(0, ["gg", 2], 0, function () {
    return this.weekYear() % 100;
  }),
    I(0, ["GG", 2], 0, function () {
      return this.isoWeekYear() % 100;
    }),
    en("gggg", "weekYear"),
    en("ggggg", "weekYear"),
    en("GGGG", "isoWeekYear"),
    en("GGGGG", "isoWeekYear"),
    H("weekYear", "gg"),
    H("isoWeekYear", "GG"),
    L("weekYear", 1),
    L("isoWeekYear", 1),
    ue("G", se),
    ue("g", se),
    ue("GG", B, z),
    ue("gg", B, z),
    ue("GGGG", ee, q),
    ue("gggg", ee, q),
    ue("GGGGG", te, J),
    ue("ggggg", te, J),
    fe(["gggg", "ggggg", "GGGG", "GGGGG"], function (e, t, n, s) {
      t[s.substr(0, 2)] = M(e);
    }),
    fe(["gg", "GG"], function (e, t, s, i) {
      t[i] = n.parseTwoDigitYear(e);
    }),
    I("Q", 0, "Qo", "quarter"),
    H("quarter", "Q"),
    L("quarter", 7),
    ue("Q", Z),
    ce("Q", function (e, t) {
      t[_e] = 3 * (M(e) - 1);
    }),
    I("D", ["DD", 2], "Do", "date"),
    H("date", "D"),
    L("date", 9),
    ue("D", B),
    ue("DD", B, z),
    ue("Do", function (e, t) {
      return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
    }),
    ce(["D", "DD"], ye),
    ce("Do", function (e, t) {
      t[ye] = M(e.match(B)[0]);
    });
  var nn = Te("Date", !0);
  I("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
    H("dayOfYear", "DDD"),
    L("dayOfYear", 4),
    ue("DDD", K),
    ue("DDDD", $),
    ce(["DDD", "DDDD"], function (e, t, n) {
      n._dayOfYear = M(e);
    }),
    I("m", ["mm", 2], 0, "minute"),
    H("minute", "m"),
    L("minute", 14),
    ue("m", B),
    ue("mm", B, z),
    ce(["m", "mm"], pe);
  var sn = Te("Minutes", !1);
  I("s", ["ss", 2], 0, "second"), H("second", "s"), L("second", 15), ue("s", B), ue("ss", B, z), ce(["s", "ss"], ve);
  var rn,
    an = Te("Seconds", !1);
  for (
    I("S", 0, 0, function () {
      return ~~(this.millisecond() / 100);
    }),
      I(0, ["SS", 2], 0, function () {
        return ~~(this.millisecond() / 10);
      }),
      I(0, ["SSS", 3], 0, "millisecond"),
      I(0, ["SSSS", 4], 0, function () {
        return 10 * this.millisecond();
      }),
      I(0, ["SSSSS", 5], 0, function () {
        return 100 * this.millisecond();
      }),
      I(0, ["SSSSSS", 6], 0, function () {
        return 1e3 * this.millisecond();
      }),
      I(0, ["SSSSSSS", 7], 0, function () {
        return 1e4 * this.millisecond();
      }),
      I(0, ["SSSSSSSS", 8], 0, function () {
        return 1e5 * this.millisecond();
      }),
      I(0, ["SSSSSSSSS", 9], 0, function () {
        return 1e6 * this.millisecond();
      }),
      H("millisecond", "ms"),
      L("millisecond", 16),
      ue("S", K, Z),
      ue("SS", K, z),
      ue("SSS", K, $),
      rn = "SSSS";
    rn.length <= 9;
    rn += "S"
  )
    ue(rn, ne);
  function on(e, t) {
    t[we] = M(1e3 * ("0." + e));
  }
  for (rn = "S"; rn.length <= 9; rn += "S") ce(rn, on);
  var un = Te("Milliseconds", !1);
  I("z", 0, 0, "zoneAbbr"), I("zz", 0, 0, "zoneName");
  var ln = p.prototype;
  function dn(e) {
    return e;
  }
  (ln.add = qt),
    (ln.calendar = function (e, t) {
      var s = e || Tt(),
        i = Nt(s, this).startOf("day"),
        r = n.calendarFormat(this, i) || "sameElse",
        a = t && (x(t[r]) ? t[r].call(this, s) : t[r]);
      return this.format(a || this.localeData().calendar(r, this, Tt(s)));
    }),
    (ln.clone = function () {
      return new p(this);
    }),
    (ln.diff = function (e, t, n) {
      var s, i, r;
      if (!this.isValid()) return NaN;
      if (!(s = Nt(e, this)).isValid()) return NaN;
      switch (((i = 6e4 * (s.utcOffset() - this.utcOffset())), (t = R(t)))) {
        case "year":
          r = Bt(this, s) / 12;
          break;
        case "month":
          r = Bt(this, s);
          break;
        case "quarter":
          r = Bt(this, s) / 3;
          break;
        case "second":
          r = (this - s) / 1e3;
          break;
        case "minute":
          r = (this - s) / 6e4;
          break;
        case "hour":
          r = (this - s) / 36e5;
          break;
        case "day":
          r = (this - s - i) / 864e5;
          break;
        case "week":
          r = (this - s - i) / 6048e5;
          break;
        default:
          r = this - s;
      }
      return n ? r : w(r);
    }),
    (ln.endOf = function (e) {
      return void 0 === (e = R(e)) || "millisecond" === e
        ? this
        : ("date" === e && (e = "day"),
          this.startOf(e)
            .add(1, "isoWeek" === e ? "week" : e)
            .subtract(1, "ms"));
    }),
    (ln.format = function (e) {
      e || (e = this.isUtc() ? n.defaultFormatUtc : n.defaultFormat);
      var t = A(this, e);
      return this.localeData().postformat(t);
    }),
    (ln.from = function (e, t) {
      return this.isValid() && ((v(e) && e.isValid()) || Tt(e).isValid()) ? At({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
    }),
    (ln.fromNow = function (e) {
      return this.from(Tt(), e);
    }),
    (ln.to = function (e, t) {
      return this.isValid() && ((v(e) && e.isValid()) || Tt(e).isValid()) ? At({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
    }),
    (ln.toNow = function (e) {
      return this.to(Tt(), e);
    }),
    (ln.get = function (e) {
      return x(this[(e = R(e))]) ? this[e]() : this;
    }),
    (ln.invalidAt = function () {
      return c(this).overflow;
    }),
    (ln.isAfter = function (e, t) {
      var n = v(e) ? e : Tt(e);
      return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = R(r(t) ? "millisecond" : t)) ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf());
    }),
    (ln.isBefore = function (e, t) {
      var n = v(e) ? e : Tt(e);
      return !(!this.isValid() || !n.isValid()) && ("millisecond" === (t = R(r(t) ? "millisecond" : t)) ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf());
    }),
    (ln.isBetween = function (e, t, n, s) {
      return ("(" === (s = s || "()")[0] ? this.isAfter(e, n) : !this.isBefore(e, n)) && (")" === s[1] ? this.isBefore(t, n) : !this.isAfter(t, n));
    }),
    (ln.isSame = function (e, t) {
      var n,
        s = v(e) ? e : Tt(e);
      return !(!this.isValid() || !s.isValid()) && ("millisecond" === (t = R(t || "millisecond")) ? this.valueOf() === s.valueOf() : ((n = s.valueOf()), this.clone().startOf(t).valueOf() <= n && n <= this.clone().endOf(t).valueOf()));
    }),
    (ln.isSameOrAfter = function (e, t) {
      return this.isSame(e, t) || this.isAfter(e, t);
    }),
    (ln.isSameOrBefore = function (e, t) {
      return this.isSame(e, t) || this.isBefore(e, t);
    }),
    (ln.isValid = function () {
      return f(this);
    }),
    (ln.lang = Xt),
    (ln.locale = Qt),
    (ln.localeData = Kt),
    (ln.max = bt),
    (ln.min = xt),
    (ln.parsingFlags = function () {
      return d({}, c(this));
    }),
    (ln.set = function (e, t) {
      if ("object" == typeof e)
        for (
          var n = (function (e) {
              var t = [];
              for (var n in e) t.push({ unit: n, priority: F[n] });
              return (
                t.sort(function (e, t) {
                  return e.priority - t.priority;
                }),
                t
              );
            })((e = C(e))),
            s = 0;
          s < n.length;
          s++
        )
          this[n[s].unit](e[n[s].unit]);
      else if (x(this[(e = R(e))])) return this[e](t);
      return this;
    }),
    (ln.startOf = function (e) {
      switch ((e = R(e))) {
        case "year":
          this.month(0);
        case "quarter":
        case "month":
          this.date(1);
        case "week":
        case "isoWeek":
        case "day":
        case "date":
          this.hours(0);
        case "hour":
          this.minutes(0);
        case "minute":
          this.seconds(0);
        case "second":
          this.milliseconds(0);
      }
      return "week" === e && this.weekday(0), "isoWeek" === e && this.isoWeekday(1), "quarter" === e && this.month(3 * Math.floor(this.month() / 3)), this;
    }),
    (ln.subtract = Jt),
    (ln.toArray = function () {
      var e = this;
      return [e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()];
    }),
    (ln.toObject = function () {
      var e = this;
      return { years: e.year(), months: e.month(), date: e.date(), hours: e.hours(), minutes: e.minutes(), seconds: e.seconds(), milliseconds: e.milliseconds() };
    }),
    (ln.toDate = function () {
      return new Date(this.valueOf());
    }),
    (ln.toISOString = function (e) {
      if (!this.isValid()) return null;
      var t = !0 !== e,
        n = t ? this.clone().utc() : this;
      return n.year() < 0 || n.year() > 9999
        ? A(n, t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ")
        : x(Date.prototype.toISOString)
        ? t
          ? this.toDate().toISOString()
          : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString().replace("Z", A(n, "Z"))
        : A(n, t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ");
    }),
    (ln.inspect = function () {
      if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
      var e = "moment",
        t = "";
      this.isLocal() || ((e = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"), (t = "Z"));
      var n = "[" + e + '("]',
        s = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY",
        i = t + '[")]';
      return this.format(n + s + "-MM-DD[T]HH:mm:ss.SSS" + i);
    }),
    (ln.toJSON = function () {
      return this.isValid() ? this.toISOString() : null;
    }),
    (ln.toString = function () {
      return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
    }),
    (ln.unix = function () {
      return Math.floor(this.valueOf() / 1e3);
    }),
    (ln.valueOf = function () {
      return this._d.valueOf() - 6e4 * (this._offset || 0);
    }),
    (ln.creationData = function () {
      return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict };
    }),
    (ln.year = Oe),
    (ln.isLeapYear = function () {
      return ke(this.year());
    }),
    (ln.weekYear = function (e) {
      return tn.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
    }),
    (ln.isoWeekYear = function (e) {
      return tn.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4);
    }),
    (ln.quarter = ln.quarters =
      function (e) {
        return null == e ? Math.ceil((this.month() + 1) / 3) : this.month(3 * (e - 1) + (this.month() % 3));
      }),
    (ln.month = Fe),
    (ln.daysInMonth = function () {
      return Pe(this.year(), this.month());
    }),
    (ln.week = ln.weeks =
      function (e) {
        var t = this.localeData().week(this);
        return null == e ? t : this.add(7 * (e - t), "d");
      }),
    (ln.isoWeek = ln.isoWeeks =
      function (e) {
        var t = Ie(this, 1, 4).week;
        return null == e ? t : this.add(7 * (e - t), "d");
      }),
    (ln.weeksInYear = function () {
      var e = this.localeData()._week;
      return Ae(this.year(), e.dow, e.doy);
    }),
    (ln.isoWeeksInYear = function () {
      return Ae(this.year(), 1, 4);
    }),
    (ln.date = nn),
    (ln.day = ln.days =
      function (e) {
        if (!this.isValid()) return null != e ? this : NaN;
        var t,
          n,
          s = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
        return null != e ? ((t = e), (n = this.localeData()), (e = "string" != typeof t ? t : isNaN(t) ? ("number" == typeof (t = n.weekdaysParse(t)) ? t : null) : parseInt(t, 10)), this.add(e - s, "d")) : s;
      }),
    (ln.weekday = function (e) {
      if (!this.isValid()) return null != e ? this : NaN;
      var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
      return null == e ? t : this.add(e - t, "d");
    }),
    (ln.isoWeekday = function (e) {
      if (!this.isValid()) return null != e ? this : NaN;
      if (null != e) {
        var t = ((n = e), (s = this.localeData()), "string" == typeof n ? s.weekdaysParse(n) % 7 || 7 : isNaN(n) ? null : n);
        return this.day(this.day() % 7 ? t : t - 7);
      }
      return this.day() || 7;
      var n, s;
    }),
    (ln.dayOfYear = function (e) {
      var t = Math.round((this.clone().startOf("day") - this.clone().startOf("year")) / 864e5) + 1;
      return null == e ? t : this.add(e - t, "d");
    }),
    (ln.hour = ln.hours = tt),
    (ln.minute = ln.minutes = sn),
    (ln.second = ln.seconds = an),
    (ln.millisecond = ln.milliseconds = un),
    (ln.utcOffset = function (e, t, s) {
      var i,
        r = this._offset || 0;
      if (!this.isValid()) return null != e ? this : NaN;
      if (null != e) {
        if ("string" == typeof e) {
          if (null === (e = Ut(re, e))) return this;
        } else Math.abs(e) < 16 && !s && (e *= 60);
        return (
          !this._isUTC && t && (i = Gt(this)),
          (this._offset = e),
          (this._isUTC = !0),
          null != i && this.add(i, "m"),
          r !== e && (!t || this._changeInProgress ? $t(this, At(e - r, "m"), 1, !1) : this._changeInProgress || ((this._changeInProgress = !0), n.updateOffset(this, !0), (this._changeInProgress = null))),
          this
        );
      }
      return this._isUTC ? r : Gt(this);
    }),
    (ln.utc = function (e) {
      return this.utcOffset(0, e);
    }),
    (ln.local = function (e) {
      return this._isUTC && (this.utcOffset(0, e), (this._isUTC = !1), e && this.subtract(Gt(this), "m")), this;
    }),
    (ln.parseZone = function () {
      if (null != this._tzm) this.utcOffset(this._tzm, !1, !0);
      else if ("string" == typeof this._i) {
        var e = Ut(ie, this._i);
        null != e ? this.utcOffset(e) : this.utcOffset(0, !0);
      }
      return this;
    }),
    (ln.hasAlignedHourOffset = function (e) {
      return !!this.isValid() && ((e = e ? Tt(e).utcOffset() : 0), (this.utcOffset() - e) % 60 == 0);
    }),
    (ln.isDST = function () {
      return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
    }),
    (ln.isLocal = function () {
      return !!this.isValid() && !this._isUTC;
    }),
    (ln.isUtcOffset = function () {
      return !!this.isValid() && this._isUTC;
    }),
    (ln.isUtc = Vt),
    (ln.isUTC = Vt),
    (ln.zoneAbbr = function () {
      return this._isUTC ? "UTC" : "";
    }),
    (ln.zoneName = function () {
      return this._isUTC ? "Coordinated Universal Time" : "";
    }),
    (ln.dates = k("dates accessor is deprecated. Use date instead.", nn)),
    (ln.months = k("months accessor is deprecated. Use month instead", Fe)),
    (ln.years = k("years accessor is deprecated. Use year instead", Oe)),
    (ln.zone = k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/", function (e, t) {
      return null != e ? ("string" != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset();
    })),
    (ln.isDSTShifted = k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information", function () {
      if (!r(this._isDSTShifted)) return this._isDSTShifted;
      var e = {};
      if ((y(e, this), (e = Yt(e))._a)) {
        var t = e._isUTC ? h(e._a) : Tt(e._a);
        this._isDSTShifted = this.isValid() && S(e._a, t.toArray()) > 0;
      } else this._isDSTShifted = !1;
      return this._isDSTShifted;
    }));
  var hn = P.prototype;
  function cn(e, t, n, s) {
    var i = lt(),
      r = h().set(s, t);
    return i[n](r, e);
  }
  function fn(e, t, n) {
    if ((a(e) && ((t = e), (e = void 0)), (e = e || ""), null != t)) return cn(e, t, n, "month");
    var s,
      i = [];
    for (s = 0; s < 12; s++) i[s] = cn(e, s, n, "month");
    return i;
  }
  function mn(e, t, n, s) {
    "boolean" == typeof e ? (a(t) && ((n = t), (t = void 0)), (t = t || "")) : ((n = t = e), (e = !1), a(t) && ((n = t), (t = void 0)), (t = t || ""));
    var i,
      r = lt(),
      o = e ? r._week.dow : 0;
    if (null != n) return cn(t, (n + o) % 7, s, "day");
    var u = [];
    for (i = 0; i < 7; i++) u[i] = cn(t, (i + o) % 7, s, "day");
    return u;
  }
  (hn.calendar = function (e, t, n) {
    var s = this._calendar[e] || this._calendar.sameElse;
    return x(s) ? s.call(t, n) : s;
  }),
    (hn.longDateFormat = function (e) {
      var t = this._longDateFormat[e],
        n = this._longDateFormat[e.toUpperCase()];
      return t || !n
        ? t
        : ((this._longDateFormat[e] = n.replace(/MMMM|MM|DD|dddd/g, function (e) {
            return e.slice(1);
          })),
          this._longDateFormat[e]);
    }),
    (hn.invalidDate = function () {
      return this._invalidDate;
    }),
    (hn.ordinal = function (e) {
      return this._ordinal.replace("%d", e);
    }),
    (hn.preparse = dn),
    (hn.postformat = dn),
    (hn.relativeTime = function (e, t, n, s) {
      var i = this._relativeTime[n];
      return x(i) ? i(e, t, n, s) : i.replace(/%d/i, e);
    }),
    (hn.pastFuture = function (e, t) {
      var n = this._relativeTime[e > 0 ? "future" : "past"];
      return x(n) ? n(t) : n.replace(/%s/i, t);
    }),
    (hn.set = function (e) {
      var t, n;
      for (n in e) x((t = e[n])) ? (this[n] = t) : (this["_" + n] = t);
      (this._config = e), (this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source));
    }),
    (hn.months = function (e, t) {
      return e ? (s(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || We).test(t) ? "format" : "standalone"][e.month()]) : s(this._months) ? this._months : this._months.standalone;
    }),
    (hn.monthsShort = function (e, t) {
      return e ? (s(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[We.test(t) ? "format" : "standalone"][e.month()]) : s(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
    }),
    (hn.monthsParse = function (e, t, n) {
      var s, i, r;
      if (this._monthsParseExact)
        return function (e, t, n) {
          var s,
            i,
            r,
            a = e.toLocaleLowerCase();
          if (!this._monthsParse)
            for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], s = 0; s < 12; ++s) (r = h([2e3, s])), (this._shortMonthsParse[s] = this.monthsShort(r, "").toLocaleLowerCase()), (this._longMonthsParse[s] = this.months(r, "").toLocaleLowerCase());
          return n
            ? "MMM" === t
              ? -1 !== (i = Ye.call(this._shortMonthsParse, a))
                ? i
                : null
              : -1 !== (i = Ye.call(this._longMonthsParse, a))
              ? i
              : null
            : "MMM" === t
            ? -1 !== (i = Ye.call(this._shortMonthsParse, a))
              ? i
              : -1 !== (i = Ye.call(this._longMonthsParse, a))
              ? i
              : null
            : -1 !== (i = Ye.call(this._longMonthsParse, a))
            ? i
            : -1 !== (i = Ye.call(this._shortMonthsParse, a))
            ? i
            : null;
        }.call(this, e, t, n);
      for (this._monthsParse || ((this._monthsParse = []), (this._longMonthsParse = []), (this._shortMonthsParse = [])), s = 0; s < 12; s++) {
        if (
          ((i = h([2e3, s])),
          n && !this._longMonthsParse[s] && ((this._longMonthsParse[s] = new RegExp("^" + this.months(i, "").replace(".", "") + "$", "i")), (this._shortMonthsParse[s] = new RegExp("^" + this.monthsShort(i, "").replace(".", "") + "$", "i"))),
          n || this._monthsParse[s] || ((r = "^" + this.months(i, "") + "|^" + this.monthsShort(i, "")), (this._monthsParse[s] = new RegExp(r.replace(".", ""), "i"))),
          n && "MMMM" === t && this._longMonthsParse[s].test(e))
        )
          return s;
        if (n && "MMM" === t && this._shortMonthsParse[s].test(e)) return s;
        if (!n && this._monthsParse[s].test(e)) return s;
      }
    }),
    (hn.monthsRegex = function (e) {
      return this._monthsParseExact ? (l(this, "_monthsRegex") || Ne.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (l(this, "_monthsRegex") || (this._monthsRegex = Ue), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex);
    }),
    (hn.monthsShortRegex = function (e) {
      return this._monthsParseExact ? (l(this, "_monthsRegex") || Ne.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (l(this, "_monthsShortRegex") || (this._monthsShortRegex = Le), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex);
    }),
    (hn.week = function (e) {
      return Ie(e, this._week.dow, this._week.doy).week;
    }),
    (hn.firstDayOfYear = function () {
      return this._week.doy;
    }),
    (hn.firstDayOfWeek = function () {
      return this._week.dow;
    }),
    (hn.weekdays = function (e, t) {
      return e ? (s(this._weekdays) ? this._weekdays[e.day()] : this._weekdays[this._weekdays.isFormat.test(t) ? "format" : "standalone"][e.day()]) : s(this._weekdays) ? this._weekdays : this._weekdays.standalone;
    }),
    (hn.weekdaysMin = function (e) {
      return e ? this._weekdaysMin[e.day()] : this._weekdaysMin;
    }),
    (hn.weekdaysShort = function (e) {
      return e ? this._weekdaysShort[e.day()] : this._weekdaysShort;
    }),
    (hn.weekdaysParse = function (e, t, n) {
      var s, i, r;
      if (this._weekdaysParseExact)
        return function (e, t, n) {
          var s,
            i,
            r,
            a = e.toLocaleLowerCase();
          if (!this._weekdaysParse)
            for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], s = 0; s < 7; ++s)
              (r = h([2e3, 1]).day(s)), (this._minWeekdaysParse[s] = this.weekdaysMin(r, "").toLocaleLowerCase()), (this._shortWeekdaysParse[s] = this.weekdaysShort(r, "").toLocaleLowerCase()), (this._weekdaysParse[s] = this.weekdays(r, "").toLocaleLowerCase());
          return n
            ? "dddd" === t
              ? -1 !== (i = Ye.call(this._weekdaysParse, a))
                ? i
                : null
              : "ddd" === t
              ? -1 !== (i = Ye.call(this._shortWeekdaysParse, a))
                ? i
                : null
              : -1 !== (i = Ye.call(this._minWeekdaysParse, a))
              ? i
              : null
            : "dddd" === t
            ? -1 !== (i = Ye.call(this._weekdaysParse, a))
              ? i
              : -1 !== (i = Ye.call(this._shortWeekdaysParse, a))
              ? i
              : -1 !== (i = Ye.call(this._minWeekdaysParse, a))
              ? i
              : null
            : "ddd" === t
            ? -1 !== (i = Ye.call(this._shortWeekdaysParse, a))
              ? i
              : -1 !== (i = Ye.call(this._weekdaysParse, a))
              ? i
              : -1 !== (i = Ye.call(this._minWeekdaysParse, a))
              ? i
              : null
            : -1 !== (i = Ye.call(this._minWeekdaysParse, a))
            ? i
            : -1 !== (i = Ye.call(this._weekdaysParse, a))
            ? i
            : -1 !== (i = Ye.call(this._shortWeekdaysParse, a))
            ? i
            : null;
        }.call(this, e, t, n);
      for (this._weekdaysParse || ((this._weekdaysParse = []), (this._minWeekdaysParse = []), (this._shortWeekdaysParse = []), (this._fullWeekdaysParse = [])), s = 0; s < 7; s++) {
        if (
          ((i = h([2e3, 1]).day(s)),
          n &&
            !this._fullWeekdaysParse[s] &&
            ((this._fullWeekdaysParse[s] = new RegExp("^" + this.weekdays(i, "").replace(".", ".?") + "$", "i")),
            (this._shortWeekdaysParse[s] = new RegExp("^" + this.weekdaysShort(i, "").replace(".", ".?") + "$", "i")),
            (this._minWeekdaysParse[s] = new RegExp("^" + this.weekdaysMin(i, "").replace(".", ".?") + "$", "i"))),
          this._weekdaysParse[s] || ((r = "^" + this.weekdays(i, "") + "|^" + this.weekdaysShort(i, "") + "|^" + this.weekdaysMin(i, "")), (this._weekdaysParse[s] = new RegExp(r.replace(".", ""), "i"))),
          n && "dddd" === t && this._fullWeekdaysParse[s].test(e))
        )
          return s;
        if (n && "ddd" === t && this._shortWeekdaysParse[s].test(e)) return s;
        if (n && "dd" === t && this._minWeekdaysParse[s].test(e)) return s;
        if (!n && this._weekdaysParse[s].test(e)) return s;
      }
    }),
    (hn.weekdaysRegex = function (e) {
      return this._weekdaysParseExact ? (l(this, "_weekdaysRegex") || Be.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (l(this, "_weekdaysRegex") || (this._weekdaysRegex = $e), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex);
    }),
    (hn.weekdaysShortRegex = function (e) {
      return this._weekdaysParseExact
        ? (l(this, "_weekdaysRegex") || Be.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
        : (l(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = qe), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
    }),
    (hn.weekdaysMinRegex = function (e) {
      return this._weekdaysParseExact
        ? (l(this, "_weekdaysRegex") || Be.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
        : (l(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Je), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
    }),
    (hn.isPM = function (e) {
      return "p" === (e + "").toLowerCase().charAt(0);
    }),
    (hn.meridiem = function (e, t, n) {
      return e > 11 ? (n ? "pm" : "PM") : n ? "am" : "AM";
    }),
    ot("en", {
      dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
      ordinal: function (e) {
        var t = e % 10;
        return e + (1 === M((e % 100) / 10) ? "th" : 1 === t ? "st" : 2 === t ? "nd" : 3 === t ? "rd" : "th");
      },
    }),
    (n.lang = k("moment.lang is deprecated. Use moment.locale instead.", ot)),
    (n.langData = k("moment.langData is deprecated. Use moment.localeData instead.", lt));
  var _n = Math.abs;
  function yn(e, t, n, s) {
    var i = At(t, n);
    return (e._milliseconds += s * i._milliseconds), (e._days += s * i._days), (e._months += s * i._months), e._bubble();
  }
  function gn(e) {
    return e < 0 ? Math.floor(e) : Math.ceil(e);
  }
  function pn(e) {
    return (4800 * e) / 146097;
  }
  function vn(e) {
    return (146097 * e) / 4800;
  }
  function wn(e) {
    return function () {
      return this.as(e);
    };
  }
  var Mn = wn("ms"),
    Sn = wn("s"),
    Dn = wn("m"),
    kn = wn("h"),
    Yn = wn("d"),
    On = wn("w"),
    Tn = wn("M"),
    xn = wn("y");
  function bn(e) {
    return function () {
      return this.isValid() ? this._data[e] : NaN;
    };
  }
  var Pn = bn("milliseconds"),
    Wn = bn("seconds"),
    Hn = bn("minutes"),
    Rn = bn("hours"),
    Cn = bn("days"),
    Fn = bn("months"),
    Ln = bn("years");
  var Un = Math.round,
    Nn = { ss: 44, s: 45, m: 45, h: 22, d: 26, M: 11 };
  var Gn = Math.abs;
  function Vn(e) {
    return (e > 0) - (e < 0) || +e;
  }
  function En() {
    if (!this.isValid()) return this.localeData().invalidDate();
    var e,
      t,
      n = Gn(this._milliseconds) / 1e3,
      s = Gn(this._days),
      i = Gn(this._months);
    (t = w((e = w(n / 60)) / 60)), (n %= 60), (e %= 60);
    var r = w(i / 12),
      a = (i %= 12),
      o = s,
      u = t,
      l = e,
      d = n ? n.toFixed(3).replace(/\.?0+$/, "") : "",
      h = this.asSeconds();
    if (!h) return "P0D";
    var c = h < 0 ? "-" : "",
      f = Vn(this._months) !== Vn(h) ? "-" : "",
      m = Vn(this._days) !== Vn(h) ? "-" : "",
      _ = Vn(this._milliseconds) !== Vn(h) ? "-" : "";
    return c + "P" + (r ? f + r + "Y" : "") + (a ? f + a + "M" : "") + (o ? m + o + "D" : "") + (u || l || d ? "T" : "") + (u ? _ + u + "H" : "") + (l ? _ + l + "M" : "") + (d ? _ + d + "S" : "");
  }
  var In = Ht.prototype;
  return (
    (In.isValid = function () {
      return this._isValid;
    }),
    (In.abs = function () {
      var e = this._data;
      return (
        (this._milliseconds = _n(this._milliseconds)), (this._days = _n(this._days)), (this._months = _n(this._months)), (e.milliseconds = _n(e.milliseconds)), (e.seconds = _n(e.seconds)), (e.minutes = _n(e.minutes)), (e.hours = _n(e.hours)), (e.months = _n(e.months)), (e.years = _n(e.years)), this
      );
    }),
    (In.add = function (e, t) {
      return yn(this, e, t, 1);
    }),
    (In.subtract = function (e, t) {
      return yn(this, e, t, -1);
    }),
    (In.as = function (e) {
      if (!this.isValid()) return NaN;
      var t,
        n,
        s = this._milliseconds;
      if ("month" === (e = R(e)) || "year" === e) return (t = this._days + s / 864e5), (n = this._months + pn(t)), "month" === e ? n : n / 12;
      switch (((t = this._days + Math.round(vn(this._months))), e)) {
        case "week":
          return t / 7 + s / 6048e5;
        case "day":
          return t + s / 864e5;
        case "hour":
          return 24 * t + s / 36e5;
        case "minute":
          return 1440 * t + s / 6e4;
        case "second":
          return 86400 * t + s / 1e3;
        case "millisecond":
          return Math.floor(864e5 * t) + s;
        default:
          throw new Error("Unknown unit " + e);
      }
    }),
    (In.asMilliseconds = Mn),
    (In.asSeconds = Sn),
    (In.asMinutes = Dn),
    (In.asHours = kn),
    (In.asDays = Yn),
    (In.asWeeks = On),
    (In.asMonths = Tn),
    (In.asYears = xn),
    (In.valueOf = function () {
      return this.isValid() ? this._milliseconds + 864e5 * this._days + (this._months % 12) * 2592e6 + 31536e6 * M(this._months / 12) : NaN;
    }),
    (In._bubble = function () {
      var e,
        t,
        n,
        s,
        i,
        r = this._milliseconds,
        a = this._days,
        o = this._months,
        u = this._data;
      return (
        (r >= 0 && a >= 0 && o >= 0) || (r <= 0 && a <= 0 && o <= 0) || ((r += 864e5 * gn(vn(o) + a)), (a = 0), (o = 0)),
        (u.milliseconds = r % 1e3),
        (e = w(r / 1e3)),
        (u.seconds = e % 60),
        (t = w(e / 60)),
        (u.minutes = t % 60),
        (n = w(t / 60)),
        (u.hours = n % 24),
        (o += i = w(pn((a += w(n / 24))))),
        (a -= gn(vn(i))),
        (s = w(o / 12)),
        (o %= 12),
        (u.days = a),
        (u.months = o),
        (u.years = s),
        this
      );
    }),
    (In.clone = function () {
      return At(this);
    }),
    (In.get = function (e) {
      return (e = R(e)), this.isValid() ? this[e + "s"]() : NaN;
    }),
    (In.milliseconds = Pn),
    (In.seconds = Wn),
    (In.minutes = Hn),
    (In.hours = Rn),
    (In.days = Cn),
    (In.weeks = function () {
      return w(this.days() / 7);
    }),
    (In.months = Fn),
    (In.years = Ln),
    (In.humanize = function (e) {
      if (!this.isValid()) return this.localeData().invalidDate();
      var t,
        n,
        s,
        i,
        r,
        a,
        o,
        u,
        l,
        d,
        h,
        c = this.localeData(),
        f =
          ((n = !e),
          (s = c),
          (i = At((t = this)).abs()),
          (r = Un(i.as("s"))),
          (a = Un(i.as("m"))),
          (o = Un(i.as("h"))),
          (u = Un(i.as("d"))),
          (l = Un(i.as("M"))),
          (d = Un(i.as("y"))),
          ((h = (r <= Nn.ss && ["s", r]) || (r < Nn.s && ["ss", r]) || (a <= 1 && ["m"]) || (a < Nn.m && ["mm", a]) || (o <= 1 && ["h"]) || (o < Nn.h && ["hh", o]) || (u <= 1 && ["d"]) || (u < Nn.d && ["dd", u]) || (l <= 1 && ["M"]) || (l < Nn.M && ["MM", l]) || (d <= 1 && ["y"]) || ["yy", d])[2] =
            n),
          (h[3] = +t > 0),
          (h[4] = s),
          function (e, t, n, s, i) {
            return i.relativeTime(t || 1, !!n, e, s);
          }.apply(null, h));
      return e && (f = c.pastFuture(+this, f)), c.postformat(f);
    }),
    (In.toISOString = En),
    (In.toString = En),
    (In.toJSON = En),
    (In.locale = Qt),
    (In.localeData = Kt),
    (In.toIsoString = k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)", En)),
    (In.lang = Xt),
    I("X", 0, 0, "unix"),
    I("x", 0, 0, "valueOf"),
    ue("x", se),
    ue("X", /[+-]?\d+(\.\d{1,3})?/),
    ce("X", function (e, t, n) {
      n._d = new Date(1e3 * parseFloat(e, 10));
    }),
    ce("x", function (e, t, n) {
      n._d = new Date(M(e));
    }),
    (n.version = "2.21.0"),
    (e = Tt),
    (n.fn = ln),
    (n.min = function () {
      return Pt("isBefore", [].slice.call(arguments, 0));
    }),
    (n.max = function () {
      return Pt("isAfter", [].slice.call(arguments, 0));
    }),
    (n.now = function () {
      return Date.now ? Date.now() : +new Date();
    }),
    (n.utc = h),
    (n.unix = function (e) {
      return Tt(1e3 * e);
    }),
    (n.months = function (e, t) {
      return fn(e, t, "months");
    }),
    (n.isDate = o),
    (n.locale = ot),
    (n.invalid = m),
    (n.duration = At),
    (n.isMoment = v),
    (n.weekdays = function (e, t, n) {
      return mn(e, t, n, "weekdays");
    }),
    (n.parseZone = function () {
      return Tt.apply(null, arguments).parseZone();
    }),
    (n.localeData = lt),
    (n.isDuration = Rt),
    (n.monthsShort = function (e, t) {
      return fn(e, t, "monthsShort");
    }),
    (n.weekdaysMin = function (e, t, n) {
      return mn(e, t, n, "weekdaysMin");
    }),
    (n.defineLocale = ut),
    (n.updateLocale = function (e, t) {
      if (null != t) {
        var n,
          s,
          i = nt;
        null != (s = at(e)) && (i = s._config), ((n = new P((t = b(i, t)))).parentLocale = st[e]), (st[e] = n), ot(e);
      } else null != st[e] && (null != st[e].parentLocale ? (st[e] = st[e].parentLocale) : null != st[e] && delete st[e]);
      return st[e];
    }),
    (n.locales = function () {
      return Y(st);
    }),
    (n.weekdaysShort = function (e, t, n) {
      return mn(e, t, n, "weekdaysShort");
    }),
    (n.normalizeUnits = R),
    (n.relativeTimeRounding = function (e) {
      return void 0 === e ? Un : "function" == typeof e && ((Un = e), !0);
    }),
    (n.relativeTimeThreshold = function (e, t) {
      return void 0 !== Nn[e] && (void 0 === t ? Nn[e] : ((Nn[e] = t), "s" === e && (Nn.ss = t - 1), !0));
    }),
    (n.calendarFormat = function (e, t) {
      var n = e.diff(t, "days", !0);
      return n < -6 ? "sameElse" : n < -1 ? "lastWeek" : n < 0 ? "lastDay" : n < 1 ? "sameDay" : n < 2 ? "nextDay" : n < 7 ? "nextWeek" : "sameElse";
    }),
    (n.prototype = ln),
    (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: "YYYY-[W]WW", MONTH: "YYYY-MM" }),
    n
  );
});
