]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Build 2.30.0 2.30.0
authorIskren Chernev <me@iskren.info>
Tue, 26 Dec 2023 19:15:14 +0000 (21:15 +0200)
committerIskren Chernev <me@iskren.info>
Tue, 26 Dec 2023 19:15:14 +0000 (21:15 +0200)
76 files changed:
component.json
dist/locale/ar-dz.js
dist/locale/ar-ly.js
dist/locale/ar-ps.js [new file with mode: 0644]
dist/locale/ar.js
dist/locale/be.js
dist/locale/bs.js
dist/locale/ca.js
dist/locale/cs.js
dist/locale/cv.js
dist/locale/en-au.js
dist/locale/en-ca.js
dist/locale/en-gb.js
dist/locale/en-ie.js
dist/locale/en-il.js
dist/locale/en-in.js
dist/locale/en-nz.js
dist/locale/en-sg.js
dist/locale/it.js
dist/locale/ku-kmr.js [new file with mode: 0644]
dist/locale/lt.js
dist/locale/me.js
dist/locale/nb.js
dist/locale/nl-be.js
dist/locale/nl.js
dist/locale/oc-lnc.js
dist/locale/ru.js
dist/locale/sv.js
dist/locale/tet.js
dist/locale/tlh.js
dist/locale/tzl.js
dist/locale/uk.js
dist/locale/x-pseudo.js
dist/moment.js
locale/ar-dz.js
locale/ar-ly.js
locale/ar-ps.js [new file with mode: 0644]
locale/ar.js
locale/be.js
locale/bs.js
locale/ca.js
locale/cs.js
locale/cv.js
locale/en-au.js
locale/en-ca.js
locale/en-gb.js
locale/en-ie.js
locale/en-il.js
locale/en-in.js
locale/en-nz.js
locale/en-sg.js
locale/it.js
locale/ku-kmr.js [new file with mode: 0644]
locale/lt.js
locale/me.js
locale/nb.js
locale/nl-be.js
locale/nl.js
locale/oc-lnc.js
locale/ru.js
locale/sv.js
locale/tet.js
locale/tlh.js
locale/tzl.js
locale/uk.js
locale/x-pseudo.js
min/locales.js
min/locales.min.js
min/locales.min.js.map
min/moment-with-locales.js
min/moment-with-locales.min.js
min/moment-with-locales.min.js.map
min/moment.min.js
min/moment.min.js.map
min/tests.js
moment.js

index de20e6b7dd16a295d5c02dce4661d834ce9af284..97cdc5941437217f755d368cd9d157a30d79568d 100644 (file)
@@ -10,6 +10,7 @@
     "locale/ar-kw.js",
     "locale/ar-ly.js",
     "locale/ar-ma.js",
+    "locale/ar-ps.js",
     "locale/ar-sa.js",
     "locale/ar-tn.js",
     "locale/ar.js",
@@ -77,6 +78,7 @@
     "locale/km.js",
     "locale/kn.js",
     "locale/ko.js",
+    "locale/ku-kmr.js",
     "locale/ku.js",
     "locale/ky.js",
     "locale/lb.js",
index 12687a6c5af196584873c709eed0413b7e4ed3d8..61a41e724f9e2b04b7ddaeea1258840dbdc41c95 100644 (file)
@@ -12,14 +12,14 @@ var pluralForm = function (n) {
         return n === 0
             ? 0
             : n === 1
-            ? 1
-            : n === 2
-            ? 2
-            : n % 100 >= 3 && n % 100 <= 10
-            ? 3
-            : n % 100 >= 11
-            ? 4
-            : 5;
+              ? 1
+              : n === 2
+                ? 2
+                : n % 100 >= 3 && n % 100 <= 10
+                  ? 3
+                  : n % 100 >= 11
+                    ? 4
+                    : 5;
     },
     plurals = {
         s: [
index a8d4056d1f034a5f05415a97b2c15da7e4fe3a82..88d5ef5126fd9fad90891005fc030c0f24a892c7 100644 (file)
@@ -20,14 +20,14 @@ var symbolMap = {
         return n === 0
             ? 0
             : n === 1
-            ? 1
-            : n === 2
-            ? 2
-            : n % 100 >= 3 && n % 100 <= 10
-            ? 3
-            : n % 100 >= 11
-            ? 4
-            : 5;
+              ? 1
+              : n === 2
+                ? 2
+                : n % 100 >= 3 && n % 100 <= 10
+                  ? 3
+                  : n % 100 >= 11
+                    ? 4
+                    : 5;
     },
     plurals = {
         s: [
diff --git a/dist/locale/ar-ps.js b/dist/locale/ar-ps.js
new file mode 100644 (file)
index 0000000..143da7d
--- /dev/null
@@ -0,0 +1,112 @@
+//! moment.js locale configuration
+//! locale : Arabic (Palestine) [ar-ps]
+//! author : Majd Al-Shihabi : https://github.com/majdal
+
+import moment from '../moment';
+
+var symbolMap = {
+        1: '١',
+        2: '٢',
+        3: '٣',
+        4: '٤',
+        5: '٥',
+        6: '٦',
+        7: '٧',
+        8: '٨',
+        9: '٩',
+        0: '٠',
+    },
+    numberMap = {
+        '١': '1',
+        '٢': '2',
+        '٣': '3',
+        '٤': '4',
+        '٥': '5',
+        '٦': '6',
+        '٧': '7',
+        '٨': '8',
+        '٩': '9',
+        '٠': '0',
+    };
+
+export default moment.defineLocale('ar-ps', {
+    months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
+        '_'
+    ),
+    monthsShort:
+        'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
+    weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact: true,
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd D MMMM YYYY HH:mm',
+    },
+    meridiemParse: /ص|م/,
+    isPM: function (input) {
+        return 'م' === input;
+    },
+    meridiem: function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ص';
+        } else {
+            return 'م';
+        }
+    },
+    calendar: {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L',
+    },
+    relativeTime: {
+        future: 'في %s',
+        past: 'منذ %s',
+        s: 'ثوان',
+        ss: '%d ثانية',
+        m: 'دقيقة',
+        mm: '%d دقائق',
+        h: 'ساعة',
+        hh: '%d ساعات',
+        d: 'يوم',
+        dd: '%d أيام',
+        M: 'شهر',
+        MM: '%d أشهر',
+        y: 'سنة',
+        yy: '%d سنوات',
+    },
+    preparse: function (string) {
+        return string
+            .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            })
+            .split('') // reversed since negative lookbehind not supported everywhere
+            .reverse()
+            .join('')
+            .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
+                return numberMap[match];
+            })
+            .split('')
+            .reverse()
+            .join('')
+            .replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string
+            .replace(/\d/g, function (match) {
+                return symbolMap[match];
+            })
+            .replace(/,/g, '،');
+    },
+    week: {
+        dow: 0, // Sunday is the first day of the week.
+        doy: 6, // The week that contains Jan 6th is the first week of the year.
+    },
+});
index fb430b9640e1918e84dcf471fa11b149fc0adaa1..846e4910b4bda0ca868f459c4051762576c2672b 100644 (file)
@@ -34,14 +34,14 @@ var symbolMap = {
         return n === 0
             ? 0
             : n === 1
-            ? 1
-            : n === 2
-            ? 2
-            : n % 100 >= 3 && n % 100 <= 10
-            ? 3
-            : n % 100 >= 11
-            ? 4
-            : 5;
+              ? 1
+              : n === 2
+                ? 2
+                : n % 100 >= 3 && n % 100 <= 10
+                  ? 3
+                  : n % 100 >= 11
+                    ? 4
+                    : 5;
     },
     plurals = {
         s: [
index 4b4d1cb2784edc5565d95a941d421faf4020bc5c..39e97a2637bf05315ae6acabd49ca9dcbf1cc477 100644 (file)
@@ -11,8 +11,8 @@ function plural(word, num) {
     return num % 10 === 1 && num % 100 !== 11
         ? forms[0]
         : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-        ? forms[1]
-        : forms[2];
+          ? forms[1]
+          : forms[2];
 }
 function relativeTimeWithPlural(number, withoutSuffix, key) {
     var format = {
index 3d62945b82093fcada19416152b596b7ab89a6a1..5235fe9e65725d31d5e2064382c1059e30f6ea04 100644 (file)
@@ -1,10 +1,22 @@
 //! moment.js locale configuration
 //! locale : Bosnian [bs]
 //! author : Nedim Cholich : https://github.com/frontyard
+//! author : Rasid Redzic : https://github.com/rasidre
 //! based on (hr) translation by Bojan Marković
 
 import moment from '../moment';
 
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    switch (key) {
+        case 'm':
+            return withoutSuffix
+                ? 'jedna minuta'
+                : isFuture
+                  ? 'jednu minutu'
+                  : 'jedne minute';
+    }
+}
+
 function translate(number, withoutSuffix, key) {
     var result = number + ' ';
     switch (key) {
@@ -17,8 +29,6 @@ function translate(number, withoutSuffix, key) {
                 result += 'sekundi';
             }
             return result;
-        case 'm':
-            return withoutSuffix ? 'jedna minuta' : 'jedne minute';
         case 'mm':
             if (number === 1) {
                 result += 'minuta';
@@ -29,7 +39,7 @@ function translate(number, withoutSuffix, key) {
             }
             return result;
         case 'h':
-            return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            return withoutSuffix ? 'jedan sat' : 'jedan sat';
         case 'hh':
             if (number === 1) {
                 result += 'sat';
@@ -130,7 +140,7 @@ export default moment.defineLocale('bs', {
         past: 'prije %s',
         s: 'par sekundi',
         ss: translate,
-        m: translate,
+        m: processRelativeTime,
         mm: translate,
         h: translate,
         hh: translate,
index 0fe9da472b04c5e4a0d28cba5630f7a88fd1b5f6..c3562114af650ecabc76831919046862a6ac3392 100644 (file)
@@ -82,12 +82,12 @@ export default moment.defineLocale('ca', {
             number === 1
                 ? 'r'
                 : number === 2
-                ? 'n'
-                : number === 3
-                ? 'r'
-                : number === 4
-                ? 't'
-                : 'è';
+                  ? 'n'
+                  : number === 3
+                    ? 'r'
+                    : number === 4
+                      ? 't'
+                      : 'è';
         if (period === 'w' || period === 'W') {
             output = 'a';
         }
index 7a98abaccf601ec13971b5c98496480d3ce338fe..bf5dd09bbadf9172b8f8d84b8e847204afeb460a 100644 (file)
@@ -5,13 +5,14 @@
 import moment from '../moment';
 
 var months = {
-        format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
-            '_'
-        ),
         standalone:
-            'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+            'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
                 '_'
             ),
+        format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+            '_'
+        ),
+        isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
     },
     monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
     monthsParse = [
index f349157dba9b05974ff1c350ffd9b820e80e9a5c..06c196ab565a6cacf9b0dd122866848f4383faa6 100644 (file)
@@ -36,8 +36,8 @@ export default moment.defineLocale('cv', {
             var affix = /сехет$/i.exec(output)
                 ? 'рен'
                 : /ҫул$/i.exec(output)
-                ? 'тан'
-                : 'ран';
+                  ? 'тан'
+                  : 'ран';
             return output + affix;
         },
         past: '%s каялла',
index 8ee6197f29cedfe2cce0ad81781d2898c11dd223..301e9db575149a0f7d5eada959f916ca0ac090d9 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-au', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index bc4e9a5329163dfeb45c51c55858e393937390de..8099e048c9bb12cebdcbaa1e11087df6e051fdb1 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-ca', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
 });
index 9391cc943ada499b3712d1e99950d526f8d92048..acd544a019e21421cfc59bfbfde4aa5348cbd96b 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-gb', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index 8200e55fd5ed1d9d7532e8ae3a62bc6953d6d71e..8e79f6372fb2f412e972f97190c5c581ff5acef6 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-ie', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index ba16f103c33e10dc44f8a5a286e28d7f84e1f07e..94908df91d4ba564550fbc89a2218561af4d08c3 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-il', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
 });
index 7d940d2f072dfa6ceddd889ebea89c4282ab4f77..f685176c73a1146ab48fd39ff6c83da52027273e 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-in', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index dff324cc21ae181e67009964fa45f05b4d289388..66c9bfc3b863122ecab146762721987e05dc201a 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-nz', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index 433531e01682da15e9c3e9f1f1b619fe2f058a45..b36bda43a8fd3005592d0e94cbdab1641f40628f 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('en-sg', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index 46aaccfbea6613376d99598a3959923f75f1c6b5..0aa5721b4d64f0950d3583d7b13e2b90eca13d2f 100644 (file)
@@ -61,8 +61,8 @@ export default moment.defineLocale('it', {
                         (this.hours() > 1
                             ? 'lle '
                             : this.hours() === 0
-                            ? ' '
-                            : "ll'") +
+                              ? ' '
+                              : "ll'") +
                         ']LT'
                     );
                 default:
@@ -71,8 +71,8 @@ export default moment.defineLocale('it', {
                         (this.hours() > 1
                             ? 'lle '
                             : this.hours() === 0
-                            ? ' '
-                            : "ll'") +
+                              ? ' '
+                              : "ll'") +
                         ']LT'
                     );
             }
diff --git a/dist/locale/ku-kmr.js b/dist/locale/ku-kmr.js
new file mode 100644 (file)
index 0000000..87ad603
--- /dev/null
@@ -0,0 +1,121 @@
+//! moment.js locale configuration
+//! locale : Northern Kurdish [ku-kmr]
+//! authors : Mazlum Özdogan : https://github.com/mergehez
+
+// All rules except for month names are according to
+// the spelling rules which are defined in the book 'Rêbera Rastnivîsînê' from Komxebata Kurmancîyê.
+// Komxebata Kurmancîyê is a work group that studied different uses in Kurdish language (Kurmanji/Northern Kurdish),
+// chose one of alternatives as standard and publish them via their book.
+// There are 18 Kurdish linguists in the group.
+// The group was formed by Mesopotamia Foundation
+
+import moment from '../moment';
+
+function processRelativeTime(num, withoutSuffix, key, isFuture) {
+    var format = {
+        s: ['çend sanîye', 'çend sanîyeyan'],
+        ss: [num + ' sanîye', num + ' sanîyeyan'],
+        m: ['deqîqeyek', 'deqîqeyekê'],
+        mm: [num + ' deqîqe', num + ' deqîqeyan'],
+        h: ['saetek', 'saetekê'],
+        hh: [num + ' saet', num + ' saetan'],
+        d: ['rojek', 'rojekê'],
+        dd: [num + ' roj', num + ' rojan'],
+        w: ['hefteyek', 'hefteyekê'],
+        ww: [num + ' hefte', num + ' hefteyan'],
+        M: ['mehek', 'mehekê'],
+        MM: [num + ' meh', num + ' mehan'],
+        y: ['salek', 'salekê'],
+        yy: [num + ' sal', num + ' salan'],
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+// function obliqueNumSuffix(num) {
+//     if(num.includes(':'))
+//         num = parseInt(num.split(':')[0]);
+//     else
+//         num = parseInt(num);
+//     return num == 0 || num % 10 == 1 ? 'ê'
+//                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');
+// }
+function ezafeNumSuffix(num) {
+    num = '' + num;
+    var l = num.substring(num.length - 1),
+        ll = num.length > 1 ? num.substring(num.length - 2) : '';
+    if (
+        !(ll == 12 || ll == 13) &&
+        (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')
+    )
+        return 'yê';
+    return 'ê';
+}
+
+export default moment.defineLocale('ku-kmr', {
+    // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
+    // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'
+    // But the names below are more well known and handy
+    months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(
+        '_'
+    ),
+    monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),
+    monthsParseExact: true,
+    weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),
+    weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),
+    weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),
+    meridiem: function (hours, minutes, isLower) {
+        if (hours < 12) {
+            return isLower ? 'bn' : 'BN';
+        } else {
+            return isLower ? 'pn' : 'PN';
+        }
+    },
+    meridiemParse: /bn|BN|pn|PN/,
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD.MM.YYYY',
+        LL: 'Do MMMM[a] YYYY[an]',
+        LLL: 'Do MMMM[a] YYYY[an] HH:mm',
+        LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',
+        ll: 'Do MMM[.] YYYY[an]',
+        lll: 'Do MMM[.] YYYY[an] HH:mm',
+        llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',
+    },
+    calendar: {
+        sameDay: '[Îro di saet] LT [de]',
+        nextDay: '[Sibê di saet] LT [de]',
+        nextWeek: 'dddd [di saet] LT [de]',
+        lastDay: '[Duh di saet] LT [de]',
+        lastWeek: 'dddd[a borî di saet] LT [de]',
+        sameElse: 'L',
+    },
+    relativeTime: {
+        future: 'di %s de',
+        past: 'berî %s',
+        s: processRelativeTime,
+        ss: processRelativeTime,
+        m: processRelativeTime,
+        mm: processRelativeTime,
+        h: processRelativeTime,
+        hh: processRelativeTime,
+        d: processRelativeTime,
+        dd: processRelativeTime,
+        w: processRelativeTime,
+        ww: processRelativeTime,
+        M: processRelativeTime,
+        MM: processRelativeTime,
+        y: processRelativeTime,
+        yy: processRelativeTime,
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
+    ordinal: function (num, period) {
+        var p = period.toLowerCase();
+        if (p.includes('w') || p.includes('m')) return num + '.';
+
+        return num + ezafeNumSuffix(num);
+    },
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4, // The week that contains Jan 4th is the first week of the year.
+    },
+});
index f01126136389fdd1008c9e1ff63eb2ff810f1bcf..83c159566058bc0f4b188802379e6269606bff09 100644 (file)
@@ -28,8 +28,8 @@ function translateSingular(number, withoutSuffix, key, isFuture) {
     return withoutSuffix
         ? forms(key)[0]
         : isFuture
-        ? forms(key)[1]
-        : forms(key)[2];
+          ? forms(key)[1]
+          : forms(key)[2];
 }
 function special(number) {
     return number % 10 === 0 || (number > 10 && number < 20);
index c0986df67cecc14e328331862cc1aeaa1155dbbc..e22c8d9065eb0a720e1c57c2ef239b9f796981b7 100644 (file)
@@ -20,8 +20,8 @@ var translator = {
         return number === 1
             ? wordKey[0]
             : number >= 2 && number <= 4
-            ? wordKey[1]
-            : wordKey[2];
+              ? wordKey[1]
+              : wordKey[2];
     },
     translate: function (number, withoutSuffix, key) {
         var wordKey = translator.words[key];
index c218f518f68caa90e295fd792dee01821c3794e8..cce3aaa9f5c4f8be1b1934cd9e21693a6da72792 100644 (file)
@@ -40,13 +40,13 @@ export default moment.defineLocale('nb', {
         ss: '%d sekunder',
         m: 'ett minutt',
         mm: '%d minutter',
-        h: 'en time',
+        h: 'én time',
         hh: '%d timer',
-        d: 'en dag',
+        d: 'én dag',
         dd: '%d dager',
-        w: 'en uke',
+        w: 'én uke',
         ww: '%d uker',
-        M: 'en måned',
+        M: 'én måned',
         MM: '%d måneder',
         y: 'ett år',
         yy: '%d år',
index a1ab295860fae441f0be5cded29a6e8248ba1c94..e495ff14babd26f6cd96061346c8c82427e7435f 100644 (file)
@@ -12,7 +12,7 @@ var monthsShortWithDots =
     monthsParse = [
         /^jan/i,
         /^feb/i,
-        /^maart|mrt.?$/i,
+        /^(maart|mrt\.?)$/i,
         /^apr/i,
         /^mei$/i,
         /^jun[i.]?$/i,
index 7d0711261a00ef31ac28ab5562a6eba8d4e2b8d9..b6d83c3536b229ef52cdc1add0a02663335da589 100644 (file)
@@ -12,7 +12,7 @@ var monthsShortWithDots =
     monthsParse = [
         /^jan/i,
         /^feb/i,
-        /^maart|mrt.?$/i,
+        /^(maart|mrt\.?)$/i,
         /^apr/i,
         /^mei$/i,
         /^jun[i.]?$/i,
index cc055613a91b72c2ac3160a63a512fc450881c69..2e67d73946bfd701729d12cb784cc3fbfaf4daeb 100644 (file)
@@ -67,12 +67,12 @@ export default moment.defineLocale('oc-lnc', {
             number === 1
                 ? 'r'
                 : number === 2
-                ? 'n'
-                : number === 3
-                ? 'r'
-                : number === 4
-                ? 't'
-                : 'è';
+                  ? 'n'
+                  : number === 3
+                    ? 'r'
+                    : number === 4
+                      ? 't'
+                      : 'è';
         if (period === 'w' || period === 'W') {
             output = 'a';
         }
index 9f17e18eaa5926e49a5f5e15c83e8211076d4886..d214850c0c1ce44445b3a5d38fbbffe099906395 100644 (file)
@@ -11,8 +11,8 @@ function plural(word, num) {
     return num % 10 === 1 && num % 100 !== 11
         ? forms[0]
         : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-        ? forms[1]
-        : forms[2];
+          ? forms[1]
+          : forms[2];
 }
 function relativeTimeWithPlural(number, withoutSuffix, key) {
     var format = {
index 6f5c1d999fb2a625427f4b04be240b073de86c55..4a37cdb5b2dc2fa60617f64d42558507d436ad87 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('sv', {
                 ~~((number % 100) / 10) === 1
                     ? ':e'
                     : b === 1
-                    ? ':a'
-                    : b === 2
-                    ? ':a'
-                    : b === 3
-                    ? ':e'
-                    : ':e';
+                      ? ':a'
+                      : b === 2
+                        ? ':a'
+                        : b === 3
+                          ? ':e'
+                          : ':e';
         return number + output;
     },
     week: {
index 8d834d71f962ee339667b68959bd7b0edf79ea22..5f7d95c0904befd3a2a3a871ec948fd3dbe431f6 100644 (file)
@@ -53,12 +53,12 @@ export default moment.defineLocale('tet', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index 95b91513c20cde47ac4ea54fb52c39453ba0b825..ccc5d295e19be01c601f330fdb15d2c942a1a474 100644 (file)
@@ -12,10 +12,10 @@ function translateFuture(output) {
         output.indexOf('jaj') !== -1
             ? time.slice(0, -3) + 'leS'
             : output.indexOf('jar') !== -1
-            ? time.slice(0, -3) + 'waQ'
-            : output.indexOf('DIS') !== -1
-            ? time.slice(0, -3) + 'nem'
-            : time + ' pIq';
+              ? time.slice(0, -3) + 'waQ'
+              : output.indexOf('DIS') !== -1
+                ? time.slice(0, -3) + 'nem'
+                : time + ' pIq';
     return time;
 }
 
@@ -25,10 +25,10 @@ function translatePast(output) {
         output.indexOf('jaj') !== -1
             ? time.slice(0, -3) + 'Hu’'
             : output.indexOf('jar') !== -1
-            ? time.slice(0, -3) + 'wen'
-            : output.indexOf('DIS') !== -1
-            ? time.slice(0, -3) + 'ben'
-            : time + ' ret';
+              ? time.slice(0, -3) + 'wen'
+              : output.indexOf('DIS') !== -1
+                ? time.slice(0, -3) + 'ben'
+                : time + ' ret';
     return time;
 }
 
index 62bfcdc5f5e040bd4470e9cec37e0b927cf339c1..5447082a622775859aa5578b05edf5920066c5f9 100644 (file)
@@ -84,6 +84,6 @@ function processRelativeTime(number, withoutSuffix, key, isFuture) {
     return isFuture
         ? format[key][0]
         : withoutSuffix
-        ? format[key][0]
-        : format[key][1];
+          ? format[key][0]
+          : format[key][1];
 }
index 8879b5e2a5c0b2eed2ccd94fcb899ee4054434e7..670ffccffa6376fa13d95ef7fcdf9a183e251be7 100644 (file)
@@ -10,8 +10,8 @@ function plural(word, num) {
     return num % 10 === 1 && num % 100 !== 11
         ? forms[0]
         : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-        ? forms[1]
-        : forms[2];
+          ? forms[1]
+          : forms[2];
 }
 function relativeTimeWithPlural(number, withoutSuffix, key) {
     var format = {
@@ -59,8 +59,8 @@ function weekdaysCaseReplace(m, format) {
     nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
         ? 'accusative'
         : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
-        ? 'genitive'
-        : 'nominative';
+          ? 'genitive'
+          : 'nominative';
     return weekdays[nounCase][m.day()];
 }
 function processHoursFunction(str) {
index f8adbb8ff2ec432ca59ba03745e9a1d8885e38f5..90df555f6493d0753ca6e25d44e7020611a5857d 100644 (file)
@@ -58,12 +58,12 @@ export default moment.defineLocale('x-pseudo', {
                 ~~((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
     week: {
index 0d696333b4db1ecc7693e7a40ce3fcb1b1dd0759..c2fea62cb92734ec901b0ca372c2104830d5239a 100644 (file)
@@ -1,5 +1,5 @@
 //! moment.js
-//! version : 2.29.4
+//! version : 2.30.0
 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
 //! license : MIT
 //! momentjs.com
@@ -149,24 +149,25 @@ if (Array.prototype.some) {
 }
 
 function isValid(m) {
-    if (m._isValid == null) {
-        var flags = getParsingFlags(m),
-            parsedParts = some.call(flags.parsedDateParts, function (i) {
-                return i != null;
-            }),
-            isNowValid =
-                !isNaN(m._d.getTime()) &&
-                flags.overflow < 0 &&
-                !flags.empty &&
-                !flags.invalidEra &&
-                !flags.invalidMonth &&
-                !flags.invalidWeekday &&
-                !flags.weekdayMismatch &&
-                !flags.nullInput &&
-                !flags.invalidFormat &&
-                !flags.userInvalidated &&
-                (!flags.meridiem || (flags.meridiem && parsedParts));
-
+    var flags = null,
+        parsedParts = false,
+        isNowValid = m._d && !isNaN(m._d.getTime());
+    if (isNowValid) {
+        flags = getParsingFlags(m);
+        parsedParts = some.call(flags.parsedDateParts, function (i) {
+            return i != null;
+        });
+        isNowValid =
+            flags.overflow < 0 &&
+            !flags.empty &&
+            !flags.invalidEra &&
+            !flags.invalidMonth &&
+            !flags.invalidWeekday &&
+            !flags.weekdayMismatch &&
+            !flags.nullInput &&
+            !flags.invalidFormat &&
+            !flags.userInvalidated &&
+            (!flags.meridiem || (flags.meridiem && parsedParts));
         if (m._strict) {
             isNowValid =
                 isNowValid &&
@@ -174,12 +175,11 @@ function isValid(m) {
                 flags.unusedTokens.length === 0 &&
                 flags.bigHour === undefined;
         }
-
-        if (Object.isFrozen == null || !Object.isFrozen(m)) {
-            m._isValid = isNowValid;
-        } else {
-            return isNowValid;
-        }
+    }
+    if (Object.isFrozen == null || !Object.isFrozen(m)) {
+        m._isValid = isNowValid;
+    } else {
+        return isNowValid;
     }
     return m._isValid;
 }
@@ -624,12 +624,56 @@ function pastFuture(diff, output) {
     return isFunction(format) ? format(output) : format.replace(/%s/i, output);
 }
 
-var aliases = {};
-
-function addUnitAlias(unit, shorthand) {
-    var lowerCase = unit.toLowerCase();
-    aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
-}
+var aliases = {
+    D: 'date',
+    dates: 'date',
+    date: 'date',
+    d: 'day',
+    days: 'day',
+    day: 'day',
+    e: 'weekday',
+    weekdays: 'weekday',
+    weekday: 'weekday',
+    E: 'isoWeekday',
+    isoweekdays: 'isoWeekday',
+    isoweekday: 'isoWeekday',
+    DDD: 'dayOfYear',
+    dayofyears: 'dayOfYear',
+    dayofyear: 'dayOfYear',
+    h: 'hour',
+    hours: 'hour',
+    hour: 'hour',
+    ms: 'millisecond',
+    milliseconds: 'millisecond',
+    millisecond: 'millisecond',
+    m: 'minute',
+    minutes: 'minute',
+    minute: 'minute',
+    M: 'month',
+    months: 'month',
+    month: 'month',
+    Q: 'quarter',
+    quarters: 'quarter',
+    quarter: 'quarter',
+    s: 'second',
+    seconds: 'second',
+    second: 'second',
+    gg: 'weekYear',
+    weekyears: 'weekYear',
+    weekyear: 'weekYear',
+    GG: 'isoWeekYear',
+    isoweekyears: 'isoWeekYear',
+    isoweekyear: 'isoWeekYear',
+    w: 'week',
+    weeks: 'week',
+    week: 'week',
+    W: 'isoWeek',
+    isoweeks: 'isoWeek',
+    isoweek: 'isoWeek',
+    y: 'year',
+    years: 'year',
+    year: 'year',
+};
 
 function normalizeUnits(units) {
     return typeof units === 'string'
@@ -654,11 +698,24 @@ function normalizeObjectUnits(inputObject) {
     return normalizedInput;
 }
 
-var priorities = {};
-
-function addUnitPriority(unit, priority) {
-    priorities[unit] = priority;
-}
+var priorities = {
+    date: 9,
+    day: 11,
+    weekday: 11,
+    isoWeekday: 11,
+    dayOfYear: 4,
+    hour: 13,
+    millisecond: 16,
+    minute: 14,
+    month: 8,
+    quarter: 7,
+    second: 15,
+    weekYear: 1,
+    isoWeekYear: 1,
+    week: 5,
+    isoWeek: 5,
+    year: 1,
+};
 
 function getPrioritizedUnits(unitsObj) {
     var units = [],
@@ -674,96 +731,6 @@ function getPrioritizedUnits(unitsObj) {
     return units;
 }
 
-function isLeapYear(year) {
-    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
-}
-
-function absFloor(number) {
-    if (number < 0) {
-        // -0 -> 0
-        return Math.ceil(number) || 0;
-    } else {
-        return Math.floor(number);
-    }
-}
-
-function toInt(argumentForCoercion) {
-    var coercedNumber = +argumentForCoercion,
-        value = 0;
-
-    if (coercedNumber !== 0 && isFinite(coercedNumber)) {
-        value = absFloor(coercedNumber);
-    }
-
-    return value;
-}
-
-function makeGetSet(unit, keepTime) {
-    return function (value) {
-        if (value != null) {
-            set$1(this, unit, value);
-            hooks.updateOffset(this, keepTime);
-            return this;
-        } else {
-            return get(this, unit);
-        }
-    };
-}
-
-function get(mom, unit) {
-    return mom.isValid()
-        ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
-        : NaN;
-}
-
-function set$1(mom, unit, value) {
-    if (mom.isValid() && !isNaN(value)) {
-        if (
-            unit === 'FullYear' &&
-            isLeapYear(mom.year()) &&
-            mom.month() === 1 &&
-            mom.date() === 29
-        ) {
-            value = toInt(value);
-            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
-                value,
-                mom.month(),
-                daysInMonth(value, mom.month())
-            );
-        } else {
-            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
-        }
-    }
-}
-
-// MOMENTS
-
-function stringGet(units) {
-    units = normalizeUnits(units);
-    if (isFunction(this[units])) {
-        return this[units]();
-    }
-    return this;
-}
-
-function stringSet(units, value) {
-    if (typeof units === 'object') {
-        units = normalizeObjectUnits(units);
-        var prioritized = getPrioritizedUnits(units),
-            i,
-            prioritizedLen = prioritized.length;
-        for (i = 0; i < prioritizedLen; i++) {
-            this[prioritized[i].unit](units[prioritized[i].unit]);
-        }
-    } else {
-        units = normalizeUnits(units);
-        if (isFunction(this[units])) {
-            return this[units](value);
-        }
-    }
-    return this;
-}
-
 var match1 = /\d/, //       0 - 9
     match2 = /\d\d/, //      00 - 99
     match3 = /\d{3}/, //     000 - 999
@@ -784,6 +751,8 @@ var match1 = /\d/, //       0 - 9
     // includes scottish gaelic two word and hyphenated months
     matchWord =
         /[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,
+    match1to2NoLeadingZero = /^[1-9]\d?/, //         1-99
+    match1to2HasZero = /^([1-9]\d|\d)/, //           0-99
     regexes;
 
 regexes = {};
@@ -822,6 +791,26 @@ function regexEscape(s) {
     return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
 }
 
+function absFloor(number) {
+    if (number < 0) {
+        // -0 -> 0
+        return Math.ceil(number) || 0;
+    } else {
+        return Math.floor(number);
+    }
+}
+
+function toInt(argumentForCoercion) {
+    var coercedNumber = +argumentForCoercion,
+        value = 0;
+
+    if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+        value = absFloor(coercedNumber);
+    }
+
+    return value;
+}
+
 var tokens = {};
 
 function addParseToken(token, callback) {
@@ -855,6 +844,10 @@ function addTimeToArrayFromToken(token, input, config) {
     }
 }
 
+function isLeapYear(year) {
+    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+}
+
 var YEAR = 0,
     MONTH = 1,
     DATE = 2,
@@ -865,6 +858,173 @@ var YEAR = 0,
     WEEK = 7,
     WEEKDAY = 8;
 
+// FORMATTING
+
+addFormatToken('Y', 0, 0, function () {
+    var y = this.year();
+    return y <= 9999 ? zeroFill(y, 4) : '+' + y;
+});
+
+addFormatToken(0, ['YY', 2], 0, function () {
+    return this.year() % 100;
+});
+
+addFormatToken(0, ['YYYY', 4], 0, 'year');
+addFormatToken(0, ['YYYYY', 5], 0, 'year');
+addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+// PARSING
+
+addRegexToken('Y', matchSigned);
+addRegexToken('YY', match1to2, match2);
+addRegexToken('YYYY', match1to4, match4);
+addRegexToken('YYYYY', match1to6, match6);
+addRegexToken('YYYYYY', match1to6, match6);
+
+addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+addParseToken('YYYY', function (input, array) {
+    array[YEAR] =
+        input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+});
+addParseToken('YY', function (input, array) {
+    array[YEAR] = hooks.parseTwoDigitYear(input);
+});
+addParseToken('Y', function (input, array) {
+    array[YEAR] = parseInt(input, 10);
+});
+
+// HELPERS
+
+function daysInYear(year) {
+    return isLeapYear(year) ? 366 : 365;
+}
+
+// HOOKS
+
+hooks.parseTwoDigitYear = function (input) {
+    return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+};
+
+// MOMENTS
+
+var getSetYear = makeGetSet('FullYear', true);
+
+function getIsLeapYear() {
+    return isLeapYear(this.year());
+}
+
+function makeGetSet(unit, keepTime) {
+    return function (value) {
+        if (value != null) {
+            set$1(this, unit, value);
+            hooks.updateOffset(this, keepTime);
+            return this;
+        } else {
+            return get(this, unit);
+        }
+    };
+}
+
+function get(mom, unit) {
+    if (!mom.isValid()) {
+        return NaN;
+    }
+
+    var d = mom._d,
+        isUTC = mom._isUTC;
+
+    switch (unit) {
+        case 'Milliseconds':
+            return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();
+        case 'Seconds':
+            return isUTC ? d.getUTCSeconds() : d.getSeconds();
+        case 'Minutes':
+            return isUTC ? d.getUTCMinutes() : d.getMinutes();
+        case 'Hours':
+            return isUTC ? d.getUTCHours() : d.getHours();
+        case 'Date':
+            return isUTC ? d.getUTCDate() : d.getDate();
+        case 'Day':
+            return isUTC ? d.getUTCDay() : d.getDay();
+        case 'Month':
+            return isUTC ? d.getUTCMonth() : d.getMonth();
+        case 'FullYear':
+            return isUTC ? d.getUTCFullYear() : d.getFullYear();
+        default:
+            return NaN; // Just in case
+    }
+}
+
+function set$1(mom, unit, value) {
+    var d, isUTC, year, month, date;
+
+    if (!mom.isValid() || isNaN(value)) {
+        return;
+    }
+
+    d = mom._d;
+    isUTC = mom._isUTC;
+
+    switch (unit) {
+        case 'Milliseconds':
+            return void (isUTC
+                ? d.setUTCMilliseconds(value)
+                : d.setMilliseconds(value));
+        case 'Seconds':
+            return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));
+        case 'Minutes':
+            return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));
+        case 'Hours':
+            return void (isUTC ? d.setUTCHours(value) : d.setHours(value));
+        case 'Date':
+            return void (isUTC ? d.setUTCDate(value) : d.setDate(value));
+        // case 'Day': // Not real
+        //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
+        // case 'Month': // Not used because we need to pass two variables
+        //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
+        case 'FullYear':
+            break; // See below ...
+        default:
+            return; // Just in case
+    }
+
+    year = value;
+    month = mom.month();
+    date = mom.date();
+    date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;
+    void (isUTC
+        ? d.setUTCFullYear(year, month, date)
+        : d.setFullYear(year, month, date));
+}
+
+// MOMENTS
+
+function stringGet(units) {
+    units = normalizeUnits(units);
+    if (isFunction(this[units])) {
+        return this[units]();
+    }
+    return this;
+}
+
+function stringSet(units, value) {
+    if (typeof units === 'object') {
+        units = normalizeObjectUnits(units);
+        var prioritized = getPrioritizedUnits(units),
+            i,
+            prioritizedLen = prioritized.length;
+        for (i = 0; i < prioritizedLen; i++) {
+            this[prioritized[i].unit](units[prioritized[i].unit]);
+        }
+    } else {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units](value);
+        }
+    }
+    return this;
+}
+
 function mod(n, x) {
     return ((n % x) + x) % x;
 }
@@ -913,17 +1073,9 @@ addFormatToken('MMMM', 0, 0, function (format) {
     return this.localeData().months(this, format);
 });
 
-// ALIASES
-
-addUnitAlias('month', 'M');
-
-// PRIORITY
-
-addUnitPriority('month', 8);
-
 // PARSING
 
-addRegexToken('M', match1to2);
+addRegexToken('M', match1to2, match1to2NoLeadingZero);
 addRegexToken('MM', match1to2, match2);
 addRegexToken('MMM', function (isStrict, locale) {
     return locale.monthsShortRegex(isStrict);
@@ -1089,8 +1241,6 @@ function localeMonthsParse(monthName, format, strict) {
 // MOMENTS
 
 function setMonth(mom, value) {
-    var dayOfMonth;
-
     if (!mom.isValid()) {
         // No op
         return mom;
@@ -1108,8 +1258,13 @@ function setMonth(mom, value) {
         }
     }
 
-    dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
-    mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+    var month = value,
+        date = mom.date();
+
+    date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));
+    void (mom._isUTC
+        ? mom._d.setUTCMonth(month, date)
+        : mom._d.setMonth(month, date));
     return mom;
 }
 
@@ -1176,27 +1331,24 @@ function computeMonthsParse() {
         longPieces = [],
         mixedPieces = [],
         i,
-        mom;
+        mom,
+        shortP,
+        longP;
     for (i = 0; i < 12; i++) {
         // make the regex if we don't have it already
         mom = createUTC([2000, i]);
-        shortPieces.push(this.monthsShort(mom, ''));
-        longPieces.push(this.months(mom, ''));
-        mixedPieces.push(this.months(mom, ''));
-        mixedPieces.push(this.monthsShort(mom, ''));
+        shortP = regexEscape(this.monthsShort(mom, ''));
+        longP = regexEscape(this.months(mom, ''));
+        shortPieces.push(shortP);
+        longPieces.push(longP);
+        mixedPieces.push(longP);
+        mixedPieces.push(shortP);
     }
     // Sorting makes sure if one month (or abbr) is a prefix of another it
     // will match the longer piece.
     shortPieces.sort(cmpLenRev);
     longPieces.sort(cmpLenRev);
     mixedPieces.sort(cmpLenRev);
-    for (i = 0; i < 12; i++) {
-        shortPieces[i] = regexEscape(shortPieces[i]);
-        longPieces[i] = regexEscape(longPieces[i]);
-    }
-    for (i = 0; i < 24; i++) {
-        mixedPieces[i] = regexEscape(mixedPieces[i]);
-    }
 
     this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
     this._monthsShortRegex = this._monthsRegex;
@@ -1210,69 +1362,6 @@ function computeMonthsParse() {
     );
 }
 
-// FORMATTING
-
-addFormatToken('Y', 0, 0, function () {
-    var y = this.year();
-    return y <= 9999 ? zeroFill(y, 4) : '+' + y;
-});
-
-addFormatToken(0, ['YY', 2], 0, function () {
-    return this.year() % 100;
-});
-
-addFormatToken(0, ['YYYY', 4], 0, 'year');
-addFormatToken(0, ['YYYYY', 5], 0, 'year');
-addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
-
-// ALIASES
-
-addUnitAlias('year', 'y');
-
-// PRIORITIES
-
-addUnitPriority('year', 1);
-
-// PARSING
-
-addRegexToken('Y', matchSigned);
-addRegexToken('YY', match1to2, match2);
-addRegexToken('YYYY', match1to4, match4);
-addRegexToken('YYYYY', match1to6, match6);
-addRegexToken('YYYYYY', match1to6, match6);
-
-addParseToken(['YYYYY', 'YYYYYY'], YEAR);
-addParseToken('YYYY', function (input, array) {
-    array[YEAR] =
-        input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
-});
-addParseToken('YY', function (input, array) {
-    array[YEAR] = hooks.parseTwoDigitYear(input);
-});
-addParseToken('Y', function (input, array) {
-    array[YEAR] = parseInt(input, 10);
-});
-
-// HELPERS
-
-function daysInYear(year) {
-    return isLeapYear(year) ? 366 : 365;
-}
-
-// HOOKS
-
-hooks.parseTwoDigitYear = function (input) {
-    return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
-};
-
-// MOMENTS
-
-var getSetYear = makeGetSet('FullYear', true);
-
-function getIsLeapYear() {
-    return isLeapYear(this.year());
-}
-
 function createDate(y, m, d, h, M, s, ms) {
     // can't just apply() to create a date:
     // https://stackoverflow.com/q/181348
@@ -1378,21 +1467,11 @@ function weeksInYear(year, dow, doy) {
 addFormatToken('w', ['ww', 2], 'wo', 'week');
 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
 
-// ALIASES
-
-addUnitAlias('week', 'w');
-addUnitAlias('isoWeek', 'W');
-
-// PRIORITIES
-
-addUnitPriority('week', 5);
-addUnitPriority('isoWeek', 5);
-
 // PARSING
 
-addRegexToken('w', match1to2);
+addRegexToken('w', match1to2, match1to2NoLeadingZero);
 addRegexToken('ww', match1to2, match2);
-addRegexToken('W', match1to2);
+addRegexToken('W', match1to2, match1to2NoLeadingZero);
 addRegexToken('WW', match1to2, match2);
 
 addWeekParseToken(
@@ -1454,17 +1533,6 @@ addFormatToken('dddd', 0, 0, function (format) {
 addFormatToken('e', 0, 0, 'weekday');
 addFormatToken('E', 0, 0, 'isoWeekday');
 
-// ALIASES
-
-addUnitAlias('day', 'd');
-addUnitAlias('weekday', 'e');
-addUnitAlias('isoWeekday', 'E');
-
-// PRIORITY
-addUnitPriority('day', 11);
-addUnitPriority('weekday', 11);
-addUnitPriority('isoWeekday', 11);
-
 // PARSING
 
 addRegexToken('d', match1to2);
@@ -1544,24 +1612,24 @@ function localeWeekdays(m, format) {
     return m === true
         ? shiftWeekdays(weekdays, this._week.dow)
         : m
-        ? weekdays[m.day()]
-        : weekdays;
+          ? weekdays[m.day()]
+          : weekdays;
 }
 
 function localeWeekdaysShort(m) {
     return m === true
         ? shiftWeekdays(this._weekdaysShort, this._week.dow)
         : m
-        ? this._weekdaysShort[m.day()]
-        : this._weekdaysShort;
+          ? this._weekdaysShort[m.day()]
+          : this._weekdaysShort;
 }
 
 function localeWeekdaysMin(m) {
     return m === true
         ? shiftWeekdays(this._weekdaysMin, this._week.dow)
         : m
-        ? this._weekdaysMin[m.day()]
-        : this._weekdaysMin;
+          ? this._weekdaysMin[m.day()]
+          : this._weekdaysMin;
 }
 
 function handleStrictParse$1(weekdayName, format, strict) {
@@ -1710,7 +1778,8 @@ function getSetDayOfWeek(input) {
     if (!this.isValid()) {
         return input != null ? this : NaN;
     }
-    var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+
+    var day = get(this, 'Day');
     if (input != null) {
         input = parseWeekday(input, this.localeData());
         return this.add(input - day, 'd');
@@ -1909,13 +1978,6 @@ function meridiem(token, lowercase) {
 meridiem('a', true);
 meridiem('A', false);
 
-// ALIASES
-
-addUnitAlias('hour', 'h');
-
-// PRIORITY
-addUnitPriority('hour', 13);
-
 // PARSING
 
 function matchMeridiem(isStrict, locale) {
@@ -1924,9 +1986,9 @@ function matchMeridiem(isStrict, locale) {
 
 addRegexToken('a', matchMeridiem);
 addRegexToken('A', matchMeridiem);
-addRegexToken('H', match1to2);
-addRegexToken('h', match1to2);
-addRegexToken('k', match1to2);
+addRegexToken('H', match1to2, match1to2HasZero);
+addRegexToken('h', match1to2, match1to2NoLeadingZero);
+addRegexToken('k', match1to2, match1to2NoLeadingZero);
 addRegexToken('HH', match1to2, match2);
 addRegexToken('hh', match1to2, match2);
 addRegexToken('kk', match1to2, match2);
@@ -2076,7 +2138,8 @@ function chooseLocale(names) {
 
 function isLocaleNameSane(name) {
     // Prevent names that look like filesystem paths, i.e contain '/' or '\'
-    return name.match('^[^/\\\\]*$') != null;
+    // Ensure name is available and function returns boolean
+    return !!(name && name.match('^[^/\\\\]*$'));
 }
 
 function loadLocale(name) {
@@ -2268,21 +2331,21 @@ function checkOverflow(m) {
             a[MONTH] < 0 || a[MONTH] > 11
                 ? MONTH
                 : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
-                ? DATE
-                : a[HOUR] < 0 ||
-                  a[HOUR] > 24 ||
-                  (a[HOUR] === 24 &&
-                      (a[MINUTE] !== 0 ||
-                          a[SECOND] !== 0 ||
-                          a[MILLISECOND] !== 0))
-                ? HOUR
-                : a[MINUTE] < 0 || a[MINUTE] > 59
-                ? MINUTE
-                : a[SECOND] < 0 || a[SECOND] > 59
-                ? SECOND
-                : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
-                ? MILLISECOND
-                : -1;
+                  ? DATE
+                  : a[HOUR] < 0 ||
+                      a[HOUR] > 24 ||
+                      (a[HOUR] === 24 &&
+                          (a[MINUTE] !== 0 ||
+                              a[SECOND] !== 0 ||
+                              a[MILLISECOND] !== 0))
+                    ? HOUR
+                    : a[MINUTE] < 0 || a[MINUTE] > 59
+                      ? MINUTE
+                      : a[SECOND] < 0 || a[SECOND] > 59
+                        ? SECOND
+                        : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
+                          ? MILLISECOND
+                          : -1;
 
         if (
             getParsingFlags(m)._overflowDayOfYear &&
@@ -3723,16 +3786,16 @@ function getCalendarFormat(myMoment, now) {
     return diff < -6
         ? 'sameElse'
         : diff < -1
-        ? 'lastWeek'
-        : diff < 0
-        ? 'lastDay'
-        : diff < 1
-        ? 'sameDay'
-        : diff < 2
-        ? 'nextDay'
-        : diff < 7
-        ? 'nextWeek'
-        : 'sameElse';
+          ? 'lastWeek'
+          : diff < 0
+            ? 'lastDay'
+            : diff < 1
+              ? 'sameDay'
+              : diff < 2
+                ? 'nextDay'
+                : diff < 7
+                  ? 'nextWeek'
+                  : 'sameElse';
 }
 
 function calendar$1(time, formats) {
@@ -4540,16 +4603,22 @@ function computeErasParse() {
         mixedPieces = [],
         i,
         l,
+        erasName,
+        erasAbbr,
+        erasNarrow,
         eras = this.eras();
 
     for (i = 0, l = eras.length; i < l; ++i) {
-        namePieces.push(regexEscape(eras[i].name));
-        abbrPieces.push(regexEscape(eras[i].abbr));
-        narrowPieces.push(regexEscape(eras[i].narrow));
+        erasName = regexEscape(eras[i].name);
+        erasAbbr = regexEscape(eras[i].abbr);
+        erasNarrow = regexEscape(eras[i].narrow);
 
-        mixedPieces.push(regexEscape(eras[i].name));
-        mixedPieces.push(regexEscape(eras[i].abbr));
-        mixedPieces.push(regexEscape(eras[i].narrow));
+        namePieces.push(erasName);
+        abbrPieces.push(erasAbbr);
+        narrowPieces.push(erasNarrow);
+        mixedPieces.push(erasName);
+        mixedPieces.push(erasAbbr);
+        mixedPieces.push(erasNarrow);
     }
 
     this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
@@ -4582,14 +4651,6 @@ addWeekYearFormatToken('GGGGG', 'isoWeekYear');
 
 // ALIASES
 
-addUnitAlias('weekYear', 'gg');
-addUnitAlias('isoWeekYear', 'GG');
-
-// PRIORITY
-
-addUnitPriority('weekYear', 1);
-addUnitPriority('isoWeekYear', 1);
-
 // PARSING
 
 addRegexToken('G', matchSigned);
@@ -4619,7 +4680,7 @@ function getSetWeekYear(input) {
         this,
         input,
         this.week(),
-        this.weekday(),
+        this.weekday() + this.localeData()._week.dow,
         this.localeData()._week.dow,
         this.localeData()._week.doy
     );
@@ -4681,14 +4742,6 @@ function setWeekAll(weekYear, week, weekday, dow, doy) {
 
 addFormatToken('Q', 0, 'Qo', 'quarter');
 
-// ALIASES
-
-addUnitAlias('quarter', 'Q');
-
-// PRIORITY
-
-addUnitPriority('quarter', 7);
-
 // PARSING
 
 addRegexToken('Q', match1);
@@ -4708,16 +4761,9 @@ function getSetQuarter(input) {
 
 addFormatToken('D', ['DD', 2], 'Do', 'date');
 
-// ALIASES
-
-addUnitAlias('date', 'D');
-
-// PRIORITY
-addUnitPriority('date', 9);
-
 // PARSING
 
-addRegexToken('D', match1to2);
+addRegexToken('D', match1to2, match1to2NoLeadingZero);
 addRegexToken('DD', match1to2, match2);
 addRegexToken('Do', function (isStrict, locale) {
     // TODO: Remove "ordinalParse" fallback in next major release.
@@ -4739,13 +4785,6 @@ var getSetDayOfMonth = makeGetSet('Date', true);
 
 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
 
-// ALIASES
-
-addUnitAlias('dayOfYear', 'DDD');
-
-// PRIORITY
-addUnitPriority('dayOfYear', 4);
-
 // PARSING
 
 addRegexToken('DDD', match1to3);
@@ -4770,17 +4809,9 @@ function getSetDayOfYear(input) {
 
 addFormatToken('m', ['mm', 2], 0, 'minute');
 
-// ALIASES
-
-addUnitAlias('minute', 'm');
-
-// PRIORITY
-
-addUnitPriority('minute', 14);
-
 // PARSING
 
-addRegexToken('m', match1to2);
+addRegexToken('m', match1to2, match1to2HasZero);
 addRegexToken('mm', match1to2, match2);
 addParseToken(['m', 'mm'], MINUTE);
 
@@ -4792,17 +4823,9 @@ var getSetMinute = makeGetSet('Minutes', false);
 
 addFormatToken('s', ['ss', 2], 0, 'second');
 
-// ALIASES
-
-addUnitAlias('second', 's');
-
-// PRIORITY
-
-addUnitPriority('second', 15);
-
 // PARSING
 
-addRegexToken('s', match1to2);
+addRegexToken('s', match1to2, match1to2HasZero);
 addRegexToken('ss', match1to2, match2);
 addParseToken(['s', 'ss'], SECOND);
 
@@ -4840,14 +4863,6 @@ addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
     return this.millisecond() * 1000000;
 });
 
-// ALIASES
-
-addUnitAlias('millisecond', 'ms');
-
-// PRIORITY
-
-addUnitPriority('millisecond', 16);
-
 // PARSING
 
 addRegexToken('S', match1to3, match1);
@@ -5155,12 +5170,12 @@ getSetGlobalLocale('en', {
                 toInt((number % 100) / 10) === 1
                     ? 'th'
                     : b === 1
-                    ? 'st'
-                    : b === 2
-                    ? 'nd'
-                    : b === 3
-                    ? 'rd'
-                    : 'th';
+                      ? 'st'
+                      : b === 2
+                        ? 'nd'
+                        : b === 3
+                          ? 'rd'
+                          : 'th';
         return number + output;
     },
 });
@@ -5333,19 +5348,6 @@ function as(units) {
     }
 }
 
-// TODO: Use this.as('ms')?
-function valueOf$1() {
-    if (!this.isValid()) {
-        return NaN;
-    }
-    return (
-        this._milliseconds +
-        this._days * 864e5 +
-        (this._months % 12) * 2592e6 +
-        toInt(this._months / 12) * 31536e6
-    );
-}
-
 function makeAs(alias) {
     return function () {
         return this.as(alias);
@@ -5360,7 +5362,8 @@ var asMilliseconds = makeAs('ms'),
     asWeeks = makeAs('w'),
     asMonths = makeAs('M'),
     asQuarters = makeAs('Q'),
-    asYears = makeAs('y');
+    asYears = makeAs('y'),
+    valueOf$1 = asMilliseconds;
 
 function clone$1() {
     return createDuration(this);
@@ -5629,7 +5632,7 @@ addParseToken('x', function (input, array, config) {
 
 //! moment.js
 
-hooks.version = '2.29.4';
+hooks.version = '2.30.0';
 
 setHookCallback(createLocal);
 
index 109f6158a934fae5ba13d330ba8ac9088e5a5e5d..8f9e14916cc622b9a1e8557288223ecd2307fe55 100644 (file)
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals = {
             s: [
index 436b8f31b672216c78a76d970a550ccdbb63a67a..0ec9ec8dd9ee035aa6813d82b60fbcbfcaf6bb6c 100644 (file)
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals = {
             s: [
diff --git a/locale/ar-ps.js b/locale/ar-ps.js
new file mode 100644 (file)
index 0000000..4533bfa
--- /dev/null
@@ -0,0 +1,123 @@
+//! moment.js locale configuration
+//! locale : Arabic (Palestine) [ar-ps]
+//! author : Majd Al-Shihabi : https://github.com/majdal
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    //! moment.js locale configuration
+
+    var symbolMap = {
+            1: '١',
+            2: '٢',
+            3: '٣',
+            4: '٤',
+            5: '٥',
+            6: '٦',
+            7: '٧',
+            8: '٨',
+            9: '٩',
+            0: '٠',
+        },
+        numberMap = {
+            '١': '1',
+            '٢': '2',
+            '٣': '3',
+            '٤': '4',
+            '٥': '5',
+            '٦': '6',
+            '٧': '7',
+            '٨': '8',
+            '٩': '9',
+            '٠': '0',
+        };
+
+    var arPs = moment.defineLocale('ar-ps', {
+        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
+            '_'
+        ),
+        monthsShort:
+            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm',
+        },
+        meridiemParse: /ص|م/,
+        isPM: function (input) {
+            return 'م' === input;
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'م';
+            }
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss: '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات',
+        },
+        preparse: function (string) {
+            return string
+                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('') // reversed since negative lookbehind not supported everywhere
+                .reverse()
+                .join('')
+                .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('')
+                .reverse()
+                .join('')
+                .replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string
+                .replace(/\d/g, function (match) {
+                    return symbolMap[match];
+                })
+                .replace(/,/g, '،');
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6, // The week that contains Jan 6th is the first week of the year.
+        },
+    });
+
+    return arPs;
+
+})));
index 7394244ebaffcb01ffd4b173eea8f4feb3d27eb7..5bfb0574897423bb42d111b7a84dade3b3d10b4f 100644 (file)
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals = {
             s: [
index 36319122166364714d9bcf0c3dbc43479a16283c..fd7e772bb3866350d042cb68ee684f504461e0d7 100644 (file)
@@ -18,8 +18,8 @@
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural(number, withoutSuffix, key) {
         var format = {
index e0d6c85115c7b91dc18f07ce5367dc2ab79c3100..55a4d80c9e8c46c67625b306d7a56c073bd5283c 100644 (file)
@@ -1,6 +1,7 @@
 //! moment.js locale configuration
 //! locale : Bosnian [bs]
 //! author : Nedim Cholich : https://github.com/frontyard
+//! author : Rasid Redzic : https://github.com/rasidre
 //! based on (hr) translation by Bojan Marković
 
 ;(function (global, factory) {
 
     //! moment.js locale configuration
 
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 'm':
+                return withoutSuffix
+                    ? 'jedna minuta'
+                    : isFuture
+                      ? 'jednu minutu'
+                      : 'jedne minute';
+        }
+    }
+
     function translate(number, withoutSuffix, key) {
         var result = number + ' ';
         switch (key) {
@@ -24,8 +36,6 @@
                     result += 'sekundi';
                 }
                 return result;
-            case 'm':
-                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
             case 'mm':
                 if (number === 1) {
                     result += 'minuta';
@@ -36,7 +46,7 @@
                 }
                 return result;
             case 'h':
-                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+                return withoutSuffix ? 'jedan sat' : 'jedan sat';
             case 'hh':
                 if (number === 1) {
                     result += 'sat';
             past: 'prije %s',
             s: 'par sekundi',
             ss: translate,
-            m: translate,
+            m: processRelativeTime,
             mm: translate,
             h: translate,
             hh: translate,
index 133071f06ea1ed1ff558b21726fc5a49b8ceb1b3..50f264caf6e23faf0e616b0f220111a7483d76d2 100644 (file)
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
index 43d0ebd3babcdf05c57863459ac6ae2ef5e904ac..7cd88321c35c0ed84f1d5b87c98af0e0f879a7fb 100644 (file)
     //! moment.js locale configuration
 
     var months = {
-            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
-                '_'
-            ),
             standalone:
-                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
                     '_'
                 ),
+            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                '_'
+            ),
+            isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
         },
         monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
         monthsParse = [
index abb1d4f50edaf3b34c46a1563d9e2bd6159164e7..6749d4828c877644af7eb6290c4c6458f86ff522 100644 (file)
@@ -43,8 +43,8 @@
                 var affix = /сехет$/i.exec(output)
                     ? 'рен'
                     : /ҫул$/i.exec(output)
-                    ? 'тан'
-                    : 'ран';
+                      ? 'тан'
+                      : 'ран';
                 return output + affix;
             },
             past: '%s каялла',
index 6e320ba5985657dc0f8b7de70466d9b002ef7967..869f51d1f9f6d92c6c5261d5f03415c0d946d1dc 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index bc574f1a4187b03581f477aa0293cc8628021202..29a33906a4b2b86cd7febab200fb1fa4f86804a6 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
index 828791e259b7edde3b4d87dd68a624d1f8cbb360..a159749de5a32f26acf5d3def3ed0b8ad16a3f2d 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index 086cf395d5e1ed1f3efc89737580333f0bbec3e7..bbde281450de37c96526840fa5a791c6c33f1651 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index e52503ce8349844e9518701d0402874161f4b45f..c9c567a98f85ca3eec201454ae5ae2c16d300206 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
index 06b9abc41ebba8d5377ad93142646d262689c6bb..c10fb4bb9f0b1ab3179b6aed65d58a43d6b2b4e1 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index 3bc7e9f60d9bb6e5d9569653f5f79ef6bc562f7c..3a9d88fc6413c71e124c465548fb3e3be68a7952 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index 4de803c133caccdc9607d072dcb29bdd82c5cfcf..f7805ad49b7ec6646c60d695e9993f65fc37fd3a 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index 2ac903775acc1915045eedd1e238bb5a7ebd24bb..910e0054207814d1b28ab3158c8c699f843a3f47 100644 (file)
@@ -68,8 +68,8 @@
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                     default:
@@ -78,8 +78,8 @@
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                 }
diff --git a/locale/ku-kmr.js b/locale/ku-kmr.js
new file mode 100644 (file)
index 0000000..8ba23ed
--- /dev/null
@@ -0,0 +1,125 @@
+//! moment.js locale configuration
+//! locale : Northern Kurdish [ku-kmr]
+//! authors : Mazlum Özdogan : https://github.com/mergehez
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    //! moment.js locale configuration
+
+    function processRelativeTime(num, withoutSuffix, key, isFuture) {
+        var format = {
+            s: ['çend sanîye', 'çend sanîyeyan'],
+            ss: [num + ' sanîye', num + ' sanîyeyan'],
+            m: ['deqîqeyek', 'deqîqeyekê'],
+            mm: [num + ' deqîqe', num + ' deqîqeyan'],
+            h: ['saetek', 'saetekê'],
+            hh: [num + ' saet', num + ' saetan'],
+            d: ['rojek', 'rojekê'],
+            dd: [num + ' roj', num + ' rojan'],
+            w: ['hefteyek', 'hefteyekê'],
+            ww: [num + ' hefte', num + ' hefteyan'],
+            M: ['mehek', 'mehekê'],
+            MM: [num + ' meh', num + ' mehan'],
+            y: ['salek', 'salekê'],
+            yy: [num + ' sal', num + ' salan'],
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    // function obliqueNumSuffix(num) {
+    //     if(num.includes(':'))
+    //         num = parseInt(num.split(':')[0]);
+    //     else
+    //         num = parseInt(num);
+    //     return num == 0 || num % 10 == 1 ? 'ê'
+    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');
+    // }
+    function ezafeNumSuffix(num) {
+        num = '' + num;
+        var l = num.substring(num.length - 1),
+            ll = num.length > 1 ? num.substring(num.length - 2) : '';
+        if (
+            !(ll == 12 || ll == 13) &&
+            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')
+        )
+            return 'yê';
+        return 'ê';
+    }
+
+    var kuKmr = moment.defineLocale('ku-kmr', {
+        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
+        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'
+        // But the names below are more well known and handy
+        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(
+            '_'
+        ),
+        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),
+        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),
+        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),
+        meridiem: function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'bn' : 'BN';
+            } else {
+                return isLower ? 'pn' : 'PN';
+            }
+        },
+        meridiemParse: /bn|BN|pn|PN/,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'Do MMMM[a] YYYY[an]',
+            LLL: 'Do MMMM[a] YYYY[an] HH:mm',
+            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',
+            ll: 'Do MMM[.] YYYY[an]',
+            lll: 'Do MMM[.] YYYY[an] HH:mm',
+            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',
+        },
+        calendar: {
+            sameDay: '[Îro di saet] LT [de]',
+            nextDay: '[Sibê di saet] LT [de]',
+            nextWeek: 'dddd [di saet] LT [de]',
+            lastDay: '[Duh di saet] LT [de]',
+            lastWeek: 'dddd[a borî di saet] LT [de]',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'di %s de',
+            past: 'berî %s',
+            s: processRelativeTime,
+            ss: processRelativeTime,
+            m: processRelativeTime,
+            mm: processRelativeTime,
+            h: processRelativeTime,
+            hh: processRelativeTime,
+            d: processRelativeTime,
+            dd: processRelativeTime,
+            w: processRelativeTime,
+            ww: processRelativeTime,
+            M: processRelativeTime,
+            MM: processRelativeTime,
+            y: processRelativeTime,
+            yy: processRelativeTime,
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
+        ordinal: function (num, period) {
+            var p = period.toLowerCase();
+            if (p.includes('w') || p.includes('m')) return num + '.';
+
+            return num + ezafeNumSuffix(num);
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4, // The week that contains Jan 4th is the first week of the year.
+        },
+    });
+
+    return kuKmr;
+
+})));
index e20d20801cec729c82cb15cf56db9495a15c0c1d..4140cf86133346656e3ac99b85fbf816e53f002e 100644 (file)
@@ -35,8 +35,8 @@
         return withoutSuffix
             ? forms(key)[0]
             : isFuture
-            ? forms(key)[1]
-            : forms(key)[2];
+              ? forms(key)[1]
+              : forms(key)[2];
     }
     function special(number) {
         return number % 10 === 0 || (number > 10 && number < 20);
index 21b68268958d5798e6fc865cffa082d97b61aed6..9b2583d5b9a4ebf99cfc78737b19d3467f5017cc 100644 (file)
@@ -27,8 +27,8 @@
             return number === 1
                 ? wordKey[0]
                 : number >= 2 && number <= 4
-                ? wordKey[1]
-                : wordKey[2];
+                  ? wordKey[1]
+                  : wordKey[2];
         },
         translate: function (number, withoutSuffix, key) {
             var wordKey = translator.words[key];
index 74da7aff5257b54ac9c20383c571bb560e8fe413..1f271aae28fe6d48025f26216d4d2f1a47ad860e 100644 (file)
             ss: '%d sekunder',
             m: 'ett minutt',
             mm: '%d minutter',
-            h: 'en time',
+            h: 'én time',
             hh: '%d timer',
-            d: 'en dag',
+            d: 'én dag',
             dd: '%d dager',
-            w: 'en uke',
+            w: 'én uke',
             ww: '%d uker',
-            M: 'en måned',
+            M: 'én måned',
             MM: '%d måneder',
             y: 'ett år',
             yy: '%d år',
index 20793839489c521c36e226d2cc330acedb1c9e1d..a35546f8cfd1a745ceb53c9b34729efbe1eab9ed 100644 (file)
@@ -19,7 +19,7 @@
         monthsParse = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
index 770e90fe9e6d5a7434d90127321ed82c26d80f1b..a285c040c8454c7186b3883453d2b17638e15059 100644 (file)
@@ -19,7 +19,7 @@
         monthsParse = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
index ba8f43324114219bafc5c4d18d2eca43e1964644..a6a8c911bcdadc59aebe86ddeaa8e14d176d33c3 100644 (file)
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
index 918e9d5e0333397ec1bbe9eea690d7a70e824311..d313eae8bb072cf8bf82cac601742ca6c3cb2a9b 100644 (file)
@@ -18,8 +18,8 @@
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural(number, withoutSuffix, key) {
         var format = {
index 90fe441fcb68b0a51012b7fb70d57bb1e0050111..5962e878d50d4a501aa0fa7048f7b6541f96caa0 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? ':e'
                         : b === 1
-                        ? ':a'
-                        : b === 2
-                        ? ':a'
-                        : b === 3
-                        ? ':e'
-                        : ':e';
+                          ? ':a'
+                          : b === 2
+                            ? ':a'
+                            : b === 3
+                              ? ':e'
+                              : ':e';
             return number + output;
         },
         week: {
index 931384a600e51b46964b2f10be9357fe44fa3f79..5c62c6c9ca6d0712c8d3e6f34ae98c0a56220274 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index ee39f1eb6d597b8b120e759c20c9b9c15fe2ad20..ed61731a5c100b17f32bdf249d8b1e2869afef4d 100644 (file)
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'leS'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'waQ'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'nem'
-                : time + ' pIq';
+                  ? time.slice(0, -3) + 'waQ'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'nem'
+                    : time + ' pIq';
         return time;
     }
 
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'Hu’'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'wen'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'ben'
-                : time + ' ret';
+                  ? time.slice(0, -3) + 'wen'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'ben'
+                    : time + ' ret';
         return time;
     }
 
index 5eb1c067ee6e8a97801fe455f13bd146ef8eb2a8..43ad139ebf0947593936b3184a6c1c84a452a739 100644 (file)
@@ -91,8 +91,8 @@
         return isFuture
             ? format[key][0]
             : withoutSuffix
-            ? format[key][0]
-            : format[key][1];
+              ? format[key][0]
+              : format[key][1];
     }
 
     return tzl;
index 89e04316e1241b975be511584492b84dba2c8449..f5fd3528dfc1a7d834aac5b666e6ffcbf9d837b6 100644 (file)
@@ -17,8 +17,8 @@
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural(number, withoutSuffix, key) {
         var format = {
@@ -66,8 +66,8 @@
         nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
             ? 'accusative'
             : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
-            ? 'genitive'
-            : 'nominative';
+              ? 'genitive'
+              : 'nominative';
         return weekdays[nounCase][m.day()];
     }
     function processHoursFunction(str) {
index f67a2bfb885f252422251c842bedb2738018f62a..a46e1d7d4047205efde26443980a5ea373a35d4b 100644 (file)
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index b4d302c05b3e5a0322ab6027649ebb3fc609ca6f..19ba0f9ccecc53980dc26b1bd6c0e0761b18ba3c 100644 (file)
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals = {
             s: [
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals$1 = {
             s: [
             '٠': '0',
         };
 
+    moment.defineLocale('ar-ps', {
+        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
+            '_'
+        ),
+        monthsShort:
+            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm',
+        },
+        meridiemParse: /ص|م/,
+        isPM: function (input) {
+            return 'م' === input;
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'م';
+            }
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss: '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات',
+        },
+        preparse: function (string) {
+            return string
+                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('') // reversed since negative lookbehind not supported everywhere
+                .reverse()
+                .join('')
+                .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('')
+                .reverse()
+                .join('')
+                .replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string
+                .replace(/\d/g, function (match) {
+                    return symbolMap$1[match];
+                })
+                .replace(/,/g, '،');
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6, // The week that contains Jan 6th is the first week of the year.
+        },
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$2 = {
+            1: '١',
+            2: '٢',
+            3: '٣',
+            4: '٤',
+            5: '٥',
+            6: '٦',
+            7: '٧',
+            8: '٨',
+            9: '٩',
+            0: '٠',
+        },
+        numberMap$1 = {
+            '١': '1',
+            '٢': '2',
+            '٣': '3',
+            '٤': '4',
+            '٥': '5',
+            '٦': '6',
+            '٧': '7',
+            '٨': '8',
+            '٩': '9',
+            '٠': '0',
+        };
+
     moment.defineLocale('ar-sa', {
         months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
             '_'
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap[match];
+                    return numberMap$1[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$1[match];
+                    return symbolMap$2[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    var symbolMap$2 = {
+    var symbolMap$3 = {
             1: '١',
             2: '٢',
             3: '٣',
             9: '٩',
             0: '٠',
         },
-        numberMap$1 = {
+        numberMap$2 = {
             '١': '1',
             '٢': '2',
             '٣': '3',
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals$2 = {
             s: [
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap$1[match];
+                    return numberMap$2[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$2[match];
+                    return symbolMap$3[match];
                 })
                 .replace(/,/g, '،');
         },
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural(number, withoutSuffix, key) {
         var format = {
 
     //! moment.js locale configuration
 
-    var symbolMap$3 = {
+    var symbolMap$4 = {
             1: '১',
             2: '২',
             3: '৩',
             9: '৯',
             0: '০',
         },
-        numberMap$2 = {
+        numberMap$3 = {
             '১': '1',
             '২': '2',
             '৩': '3',
         },
         preparse: function (string) {
             return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
-                return numberMap$2[match];
+                return numberMap$3[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$3[match];
+                return symbolMap$4[match];
             });
         },
 
 
     //! moment.js locale configuration
 
-    var symbolMap$4 = {
+    var symbolMap$5 = {
             1: '১',
             2: '২',
             3: '৩',
             9: '৯',
             0: '০',
         },
-        numberMap$3 = {
+        numberMap$4 = {
             '১': '1',
             '২': '2',
             '৩': '3',
         },
         preparse: function (string) {
             return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
-                return numberMap$3[match];
+                return numberMap$4[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$4[match];
+                return symbolMap$5[match];
             });
         },
         meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
 
     //! moment.js locale configuration
 
-    var symbolMap$5 = {
+    var symbolMap$6 = {
             1: '༡',
             2: '༢',
             3: '༣',
             9: '༩',
             0: '༠',
         },
-        numberMap$4 = {
+        numberMap$5 = {
             '༡': '1',
             '༢': '2',
             '༣': '3',
         },
         preparse: function (string) {
             return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
-                return numberMap$4[match];
+                return numberMap$5[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$5[match];
+                return symbolMap$6[match];
             });
         },
         meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
 
     //! moment.js locale configuration
 
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 'm':
+                return withoutSuffix
+                    ? 'jedna minuta'
+                    : isFuture
+                      ? 'jednu minutu'
+                      : 'jedne minute';
+        }
+    }
+
     function translate(number, withoutSuffix, key) {
         var result = number + ' ';
         switch (key) {
                     result += 'sekundi';
                 }
                 return result;
-            case 'm':
-                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
             case 'mm':
                 if (number === 1) {
                     result += 'minuta';
                 }
                 return result;
             case 'h':
-                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+                return withoutSuffix ? 'jedan sat' : 'jedan sat';
             case 'hh':
                 if (number === 1) {
                     result += 'sat';
             past: 'prije %s',
             s: 'par sekundi',
             ss: translate,
-            m: translate,
+            m: processRelativeTime,
             mm: translate,
             h: translate,
             hh: translate,
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
     //! moment.js locale configuration
 
     var months$3 = {
-            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
-                '_'
-            ),
             standalone:
-                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
                     '_'
                 ),
+            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                '_'
+            ),
+            isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
         },
         monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
         monthsParse$1 = [
                 var affix = /сехет$/i.exec(output)
                     ? 'рен'
                     : /ҫул$/i.exec(output)
-                    ? 'тан'
-                    : 'ран';
+                      ? 'тан'
+                      : 'ран';
                 return output + affix;
             },
             past: '%s каялла',
 
     //! moment.js locale configuration
 
-    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime,
+            m: processRelativeTime$1,
             mm: '%d Minuten',
-            h: processRelativeTime,
+            h: processRelativeTime$1,
             hh: '%d Stunden',
-            d: processRelativeTime,
-            dd: processRelativeTime,
-            w: processRelativeTime,
+            d: processRelativeTime$1,
+            dd: processRelativeTime$1,
+            w: processRelativeTime$1,
             ww: '%d Wochen',
-            M: processRelativeTime,
-            MM: processRelativeTime,
-            y: processRelativeTime,
-            yy: processRelativeTime,
+            M: processRelativeTime$1,
+            MM: processRelativeTime$1,
+            y: processRelativeTime$1,
+            yy: processRelativeTime$1,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime$1,
+            m: processRelativeTime$2,
             mm: '%d Minuten',
-            h: processRelativeTime$1,
+            h: processRelativeTime$2,
             hh: '%d Stunden',
-            d: processRelativeTime$1,
-            dd: processRelativeTime$1,
-            w: processRelativeTime$1,
+            d: processRelativeTime$2,
+            dd: processRelativeTime$2,
+            w: processRelativeTime$2,
             ww: '%d Wochen',
-            M: processRelativeTime$1,
-            MM: processRelativeTime$1,
-            y: processRelativeTime$1,
-            yy: processRelativeTime$1,
+            M: processRelativeTime$2,
+            MM: processRelativeTime$2,
+            y: processRelativeTime$2,
+            yy: processRelativeTime$2,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime$2,
+            m: processRelativeTime$3,
             mm: '%d Minuten',
-            h: processRelativeTime$2,
+            h: processRelativeTime$3,
             hh: '%d Stunden',
-            d: processRelativeTime$2,
-            dd: processRelativeTime$2,
-            w: processRelativeTime$2,
+            d: processRelativeTime$3,
+            dd: processRelativeTime$3,
+            w: processRelativeTime$3,
             ww: '%d Wochen',
-            M: processRelativeTime$2,
-            MM: processRelativeTime$2,
-            y: processRelativeTime$2,
-            yy: processRelativeTime$2,
+            M: processRelativeTime$3,
+            MM: processRelativeTime$3,
+            y: processRelativeTime$3,
+            yy: processRelativeTime$3,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
             ss: [number + 'sekundi', number + 'sekundit'],
         relativeTime: {
             future: '%s pärast',
             past: '%s tagasi',
-            s: processRelativeTime$3,
-            ss: processRelativeTime$3,
-            m: processRelativeTime$3,
-            mm: processRelativeTime$3,
-            h: processRelativeTime$3,
-            hh: processRelativeTime$3,
-            d: processRelativeTime$3,
+            s: processRelativeTime$4,
+            ss: processRelativeTime$4,
+            m: processRelativeTime$4,
+            mm: processRelativeTime$4,
+            h: processRelativeTime$4,
+            hh: processRelativeTime$4,
+            d: processRelativeTime$4,
             dd: '%d päeva',
-            M: processRelativeTime$3,
-            MM: processRelativeTime$3,
-            y: processRelativeTime$3,
-            yy: processRelativeTime$3,
+            M: processRelativeTime$4,
+            MM: processRelativeTime$4,
+            y: processRelativeTime$4,
+            yy: processRelativeTime$4,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    var symbolMap$6 = {
+    var symbolMap$7 = {
             1: '۱',
             2: '۲',
             3: '۳',
             9: '۹',
             0: '۰',
         },
-        numberMap$5 = {
+        numberMap$6 = {
             '۱': '1',
             '۲': '2',
             '۳': '3',
         preparse: function (string) {
             return string
                 .replace(/[۰-۹]/g, function (match) {
-                    return numberMap$5[match];
+                    return numberMap$6[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$6[match];
+                    return symbolMap$7[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
             ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
         relativeTime: {
             future: '%s',
             past: '%s आदीं',
-            s: processRelativeTime$4,
-            ss: processRelativeTime$4,
-            m: processRelativeTime$4,
-            mm: processRelativeTime$4,
-            h: processRelativeTime$4,
-            hh: processRelativeTime$4,
-            d: processRelativeTime$4,
-            dd: processRelativeTime$4,
-            M: processRelativeTime$4,
-            MM: processRelativeTime$4,
-            y: processRelativeTime$4,
-            yy: processRelativeTime$4,
+            s: processRelativeTime$5,
+            ss: processRelativeTime$5,
+            m: processRelativeTime$5,
+            mm: processRelativeTime$5,
+            h: processRelativeTime$5,
+            hh: processRelativeTime$5,
+            d: processRelativeTime$5,
+            dd: processRelativeTime$5,
+            M: processRelativeTime$5,
+            MM: processRelativeTime$5,
+            y: processRelativeTime$5,
+            yy: processRelativeTime$5,
         },
         dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
         ordinal: function (number, period) {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['thoddea sekondamni', 'thodde sekond'],
             ss: [number + ' sekondamni', number + ' sekond'],
         relativeTime: {
             future: '%s',
             past: '%s adim',
-            s: processRelativeTime$5,
-            ss: processRelativeTime$5,
-            m: processRelativeTime$5,
-            mm: processRelativeTime$5,
-            h: processRelativeTime$5,
-            hh: processRelativeTime$5,
-            d: processRelativeTime$5,
-            dd: processRelativeTime$5,
-            M: processRelativeTime$5,
-            MM: processRelativeTime$5,
-            y: processRelativeTime$5,
-            yy: processRelativeTime$5,
+            s: processRelativeTime$6,
+            ss: processRelativeTime$6,
+            m: processRelativeTime$6,
+            mm: processRelativeTime$6,
+            h: processRelativeTime$6,
+            hh: processRelativeTime$6,
+            d: processRelativeTime$6,
+            dd: processRelativeTime$6,
+            M: processRelativeTime$6,
+            MM: processRelativeTime$6,
+            y: processRelativeTime$6,
+            yy: processRelativeTime$6,
         },
         dayOfMonthOrdinalParse: /\d{1,2}(er)/,
         ordinal: function (number, period) {
 
     //! moment.js locale configuration
 
-    var symbolMap$7 = {
+    var symbolMap$8 = {
             1: '૧',
             2: '૨',
             3: '૩',
             9: '૯',
             0: '૦',
         },
-        numberMap$6 = {
+        numberMap$7 = {
             '૧': '1',
             '૨': '2',
             '૩': '3',
         },
         preparse: function (string) {
             return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
-                return numberMap$6[match];
+                return numberMap$7[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$7[match];
+                return symbolMap$8[match];
             });
         },
         // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
 
     //! moment.js locale configuration
 
-    var symbolMap$8 = {
+    var symbolMap$9 = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$7 = {
+        numberMap$8 = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$7[match];
+                return numberMap$8[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$8[match];
+                return symbolMap$9[match];
             });
         },
         // Hindi notation for meridiems are quite fuzzy in practice. While there exists
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                     default:
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                 }
 
     //! moment.js locale configuration
 
-    var symbolMap$9 = {
+    var symbolMap$a = {
             1: '១',
             2: '២',
             3: '៣',
             9: '៩',
             0: '០',
         },
-        numberMap$8 = {
+        numberMap$9 = {
             '១': '1',
             '២': '2',
             '៣': '3',
         ordinal: 'ទី%d',
         preparse: function (string) {
             return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
-                return numberMap$8[match];
+                return numberMap$9[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$9[match];
+                return symbolMap$a[match];
             });
         },
         week: {
 
     //! moment.js locale configuration
 
-    var symbolMap$a = {
+    var symbolMap$b = {
             1: '೧',
             2: '೨',
             3: '೩',
             9: '೯',
             0: '೦',
         },
-        numberMap$9 = {
+        numberMap$a = {
             '೧': '1',
             '೨': '2',
             '೩': '3',
         },
         preparse: function (string) {
             return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
-                return numberMap$9[match];
+                return numberMap$a[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$a[match];
+                return symbolMap$b[match];
             });
         },
         meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
 
     //! moment.js locale configuration
 
-    var symbolMap$b = {
+    function processRelativeTime$7(num, withoutSuffix, key, isFuture) {
+        var format = {
+            s: ['çend sanîye', 'çend sanîyeyan'],
+            ss: [num + ' sanîye', num + ' sanîyeyan'],
+            m: ['deqîqeyek', 'deqîqeyekê'],
+            mm: [num + ' deqîqe', num + ' deqîqeyan'],
+            h: ['saetek', 'saetekê'],
+            hh: [num + ' saet', num + ' saetan'],
+            d: ['rojek', 'rojekê'],
+            dd: [num + ' roj', num + ' rojan'],
+            w: ['hefteyek', 'hefteyekê'],
+            ww: [num + ' hefte', num + ' hefteyan'],
+            M: ['mehek', 'mehekê'],
+            MM: [num + ' meh', num + ' mehan'],
+            y: ['salek', 'salekê'],
+            yy: [num + ' sal', num + ' salan'],
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    // function obliqueNumSuffix(num) {
+    //     if(num.includes(':'))
+    //         num = parseInt(num.split(':')[0]);
+    //     else
+    //         num = parseInt(num);
+    //     return num == 0 || num % 10 == 1 ? 'ê'
+    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');
+    // }
+    function ezafeNumSuffix(num) {
+        num = '' + num;
+        var l = num.substring(num.length - 1),
+            ll = num.length > 1 ? num.substring(num.length - 2) : '';
+        if (
+            !(ll == 12 || ll == 13) &&
+            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')
+        )
+            return 'yê';
+        return 'ê';
+    }
+
+    moment.defineLocale('ku-kmr', {
+        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
+        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'
+        // But the names below are more well known and handy
+        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(
+            '_'
+        ),
+        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),
+        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),
+        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),
+        meridiem: function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'bn' : 'BN';
+            } else {
+                return isLower ? 'pn' : 'PN';
+            }
+        },
+        meridiemParse: /bn|BN|pn|PN/,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'Do MMMM[a] YYYY[an]',
+            LLL: 'Do MMMM[a] YYYY[an] HH:mm',
+            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',
+            ll: 'Do MMM[.] YYYY[an]',
+            lll: 'Do MMM[.] YYYY[an] HH:mm',
+            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',
+        },
+        calendar: {
+            sameDay: '[Îro di saet] LT [de]',
+            nextDay: '[Sibê di saet] LT [de]',
+            nextWeek: 'dddd [di saet] LT [de]',
+            lastDay: '[Duh di saet] LT [de]',
+            lastWeek: 'dddd[a borî di saet] LT [de]',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'di %s de',
+            past: 'berî %s',
+            s: processRelativeTime$7,
+            ss: processRelativeTime$7,
+            m: processRelativeTime$7,
+            mm: processRelativeTime$7,
+            h: processRelativeTime$7,
+            hh: processRelativeTime$7,
+            d: processRelativeTime$7,
+            dd: processRelativeTime$7,
+            w: processRelativeTime$7,
+            ww: processRelativeTime$7,
+            M: processRelativeTime$7,
+            MM: processRelativeTime$7,
+            y: processRelativeTime$7,
+            yy: processRelativeTime$7,
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
+        ordinal: function (num, period) {
+            var p = period.toLowerCase();
+            if (p.includes('w') || p.includes('m')) return num + '.';
+
+            return num + ezafeNumSuffix(num);
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4, // The week that contains Jan 4th is the first week of the year.
+        },
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$c = {
             1: '١',
             2: '٢',
             3: '٣',
             9: '٩',
             0: '٠',
         },
-        numberMap$a = {
+        numberMap$b = {
             '١': '1',
             '٢': '2',
             '٣': '3',
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap$a[match];
+                    return numberMap$b[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$b[match];
+                    return symbolMap$c[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$8(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eng Minutt', 'enger Minutt'],
             h: ['eng Stonn', 'enger Stonn'],
             past: processPastTime,
             s: 'e puer Sekonnen',
             ss: '%d Sekonnen',
-            m: processRelativeTime$6,
+            m: processRelativeTime$8,
             mm: '%d Minutten',
-            h: processRelativeTime$6,
+            h: processRelativeTime$8,
             hh: '%d Stonnen',
-            d: processRelativeTime$6,
+            d: processRelativeTime$8,
             dd: '%d Deeg',
-            M: processRelativeTime$6,
+            M: processRelativeTime$8,
             MM: '%d Méint',
-            y: processRelativeTime$6,
+            y: processRelativeTime$8,
             yy: '%d Joer',
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         return withoutSuffix
             ? forms(key)[0]
             : isFuture
-            ? forms(key)[1]
-            : forms(key)[2];
+              ? forms(key)[1]
+              : forms(key)[2];
     }
     function special(number) {
         return number % 10 === 0 || (number > 10 && number < 20);
             return number === 1
                 ? wordKey[0]
                 : number >= 2 && number <= 4
-                ? wordKey[1]
-                : wordKey[2];
+                  ? wordKey[1]
+                  : wordKey[2];
         },
         translate: function (number, withoutSuffix, key) {
             var wordKey = translator.words[key];
 
     //! moment.js locale configuration
 
-    var symbolMap$c = {
+    var symbolMap$d = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$b = {
+        numberMap$c = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$b[match];
+                return numberMap$c[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$c[match];
+                return symbolMap$d[match];
             });
         },
         meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
 
     //! moment.js locale configuration
 
-    var symbolMap$d = {
+    var symbolMap$e = {
             1: '၁',
             2: '၂',
             3: '၃',
             9: '၉',
             0: '၀',
         },
-        numberMap$c = {
+        numberMap$d = {
             '၁': '1',
             '၂': '2',
             '၃': '3',
         },
         preparse: function (string) {
             return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
-                return numberMap$c[match];
+                return numberMap$d[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$d[match];
+                return symbolMap$e[match];
             });
         },
         week: {
             ss: '%d sekunder',
             m: 'ett minutt',
             mm: '%d minutter',
-            h: 'en time',
+            h: 'én time',
             hh: '%d timer',
-            d: 'en dag',
+            d: 'én dag',
             dd: '%d dager',
-            w: 'en uke',
+            w: 'én uke',
             ww: '%d uker',
-            M: 'en måned',
+            M: 'én måned',
             MM: '%d måneder',
             y: 'ett år',
             yy: '%d år',
 
     //! moment.js locale configuration
 
-    var symbolMap$e = {
+    var symbolMap$f = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$d = {
+        numberMap$e = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$d[match];
+                return numberMap$e[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$e[match];
+                return symbolMap$f[match];
             });
         },
         meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
         monthsParse$8 = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
         monthsParse$9 = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
 
     //! moment.js locale configuration
 
-    var symbolMap$f = {
+    var symbolMap$g = {
             1: '੧',
             2: '੨',
             3: '੩',
             9: '੯',
             0: '੦',
         },
-        numberMap$e = {
+        numberMap$f = {
             '੧': '1',
             '੨': '2',
             '੩': '3',
         },
         preparse: function (string) {
             return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
-                return numberMap$e[match];
+                return numberMap$f[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$f[match];
+                return symbolMap$g[match];
             });
         },
         // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural$3(number, withoutSuffix, key) {
         var format = {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$7(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$9(number, withoutSuffix, key, isFuture) {
         var result = number + ' ';
         switch (key) {
             case 's':
         relativeTime: {
             future: 'čez %s',
             past: 'pred %s',
-            s: processRelativeTime$7,
-            ss: processRelativeTime$7,
-            m: processRelativeTime$7,
-            mm: processRelativeTime$7,
-            h: processRelativeTime$7,
-            hh: processRelativeTime$7,
-            d: processRelativeTime$7,
-            dd: processRelativeTime$7,
-            M: processRelativeTime$7,
-            MM: processRelativeTime$7,
-            y: processRelativeTime$7,
-            yy: processRelativeTime$7,
+            s: processRelativeTime$9,
+            ss: processRelativeTime$9,
+            m: processRelativeTime$9,
+            mm: processRelativeTime$9,
+            h: processRelativeTime$9,
+            hh: processRelativeTime$9,
+            d: processRelativeTime$9,
+            dd: processRelativeTime$9,
+            M: processRelativeTime$9,
+            MM: processRelativeTime$9,
+            y: processRelativeTime$9,
+            yy: processRelativeTime$9,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
                     ~~((number % 100) / 10) === 1
                         ? ':e'
                         : b === 1
-                        ? ':a'
-                        : b === 2
-                        ? ':a'
-                        : b === 3
-                        ? ':e'
-                        : ':e';
+                          ? ':a'
+                          : b === 2
+                            ? ':a'
+                            : b === 3
+                              ? ':e'
+                              : ':e';
             return number + output;
         },
         week: {
 
     //! moment.js locale configuration
 
-    var symbolMap$g = {
+    var symbolMap$h = {
             1: '௧',
             2: '௨',
             3: '௩',
             9: '௯',
             0: '௦',
         },
-        numberMap$f = {
+        numberMap$g = {
             '௧': '1',
             '௨': '2',
             '௩': '3',
         },
         preparse: function (string) {
             return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
-                return numberMap$f[match];
+                return numberMap$g[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$g[match];
+                return symbolMap$h[match];
             });
         },
         // refer http://ta.wikipedia.org/s/1er1
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'leS'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'waQ'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'nem'
-                : time + ' pIq';
+                  ? time.slice(0, -3) + 'waQ'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'nem'
+                    : time + ' pIq';
         return time;
     }
 
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'Hu’'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'wen'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'ben'
-                : time + ' ret';
+                  ? time.slice(0, -3) + 'wen'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'ben'
+                    : time + ' ret';
         return time;
     }
 
         relativeTime: {
             future: 'osprei %s',
             past: 'ja%s',
-            s: processRelativeTime$8,
-            ss: processRelativeTime$8,
-            m: processRelativeTime$8,
-            mm: processRelativeTime$8,
-            h: processRelativeTime$8,
-            hh: processRelativeTime$8,
-            d: processRelativeTime$8,
-            dd: processRelativeTime$8,
-            M: processRelativeTime$8,
-            MM: processRelativeTime$8,
-            y: processRelativeTime$8,
-            yy: processRelativeTime$8,
+            s: processRelativeTime$a,
+            ss: processRelativeTime$a,
+            m: processRelativeTime$a,
+            mm: processRelativeTime$a,
+            h: processRelativeTime$a,
+            hh: processRelativeTime$a,
+            d: processRelativeTime$a,
+            dd: processRelativeTime$a,
+            M: processRelativeTime$a,
+            MM: processRelativeTime$a,
+            y: processRelativeTime$a,
+            yy: processRelativeTime$a,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
         },
     });
 
-    function processRelativeTime$8(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$a(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['viensas secunds', "'iensas secunds"],
             ss: [number + ' secunds', '' + number + ' secunds'],
         return isFuture
             ? format[key][0]
             : withoutSuffix
-            ? format[key][0]
-            : format[key][1];
+              ? format[key][0]
+              : format[key][1];
     }
 
     //! moment.js locale configuration
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural$4(number, withoutSuffix, key) {
         var format = {
         nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
             ? 'accusative'
             : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
-            ? 'genitive'
-            : 'nominative';
+              ? 'genitive'
+              : 'nominative';
         return weekdays[nounCase][m.day()];
     }
     function processHoursFunction(str) {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index b77ab6be23a26634e165c28f586bd4ee8d221257..49c47f5e2892ade61dbf471953d49bd617569082 100644 (file)
@@ -1,2 +1,2 @@
-!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"vm":"VM":_?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});function E(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function a(n){return function(e,a,_,s){var d=E(e),t=J[n][E(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}function F(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function _(n){return function(e,a,_,s){var d=F(e),t=N[n][F(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}function z(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function s(n){return function(e,a,_,s){var d=z(e),t=B[n][z(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}var J={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],I=(e.defineLocale("ar-dz",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),N={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],R=(e.defineLocale("ar-ly",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:_("s"),ss:_("s"),m:_("m"),mm:_("m"),h:_("h"),hh:_("h"),d:_("d"),dd:_("d"),M:_("M"),MM:_("M"),y:_("y"),yy:_("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return I[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),C={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},K=(e.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return C[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return R[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),G={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},B={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],q=(e.defineLocale("ar",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return G[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return K[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function t(e,a,_){return"m"===_?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===_?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,_){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(q[a]||q[e%100-a]||q[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:t,mm:t,h:t,hh:t,d:"\u0434\u0437\u0435\u043d\u044c",dd:t,M:"\u043c\u0435\u0441\u044f\u0446",MM:t,y:"\u0433\u043e\u0434",yy:t},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0==_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var U={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},$={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},Q=(e.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return $[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return U[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),V={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},Z=(e.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return V[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Q[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),X={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function ee(e,a,_){return e+" "+(_={mm:"munutenn",MM:"miz",dd:"devezh"}[_],2!==(e=e)?_:void 0!==(e={m:"v",b:"v",d:"z"})[(_=_).charAt(0)]?e[_.charAt(0)]+_.substring(1):_)}e.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return X[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Z[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});var d=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],n=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,r=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function i(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}e.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:r,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:r,monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:ee,h:"un eur",hh:"%d eur",d:"un devezh",dd:ee,M:"ur miz",MM:ee,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,_){return e<12?"a.m.":"g.m."}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:i,m:i,mm:i,h:i,hh:i,d:"dan",dd:i,M:"mjesec",MM:i,y:"godinu",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});var r={format:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),standalone:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_")},n="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),d=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],m=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function o(e){return 1<e&&e<5&&1!=~~(e/10)}function u(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?d+(o(e)?"sekundy":"sekund"):d+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?d+(o(e)?"minuty":"minut"):d+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(o(e)?"hodiny":"hodin"):d+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?d+(o(e)?"dny":"dn\xed"):d+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?d+(o(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):d+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?d+(o(e)?"roky":"let"):d+"lety"}}function l(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}function M(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}function L(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}e.defineLocale("cs",{months:r,monthsShort:n,monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:l,mm:"%d Minuten",h:l,hh:"%d Stunden",d:l,dd:l,w:l,ww:"%d Wochen",M:l,MM:l,y:l,yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:M,mm:"%d Minuten",h:M,hh:"%d Stunden",d:M,dd:M,w:M,ww:"%d Wochen",M:M,MM:M,y:M,yy:M},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:L,mm:"%d Minuten",h:L,hh:"%d Stunden",d:L,dd:L,w:L,ww:"%d Wochen",M:L,MM:L,y:L,yy:L},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});r=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];e.defineLocale("dv",{months:r,monthsShort:r,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,_){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),e.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,_){return 11<e?_?"\u03bc\u03bc":"\u039c\u039c":_?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var _,e=this._calendarEl[e],s=a&&a.hours();return _=e,(e="undefined"!=typeof Function&&_ instanceof Function||"[object Function]"===Object.prototype.toString.call(_)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),e.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"p.t.m.":"P.T.M.":_?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var ae="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),_e="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),m=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],d=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,se=(e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?_e:ae)[e.month()]:ae},monthsRegex:d,monthsShortRegex:d,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),de="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],n=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,te=(e.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?de:se)[e.month()]:se},monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ne="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),d=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],m=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,re=(e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ne:te)[e.month()]:te},monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ie="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function Y(e,a,_,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[_][2]||e[_][1]:s?e[_][0]:e[_][1]}e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ie:re)[e.month()]:re},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),e.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:Y,ss:Y,m:Y,mm:Y,h:Y,hh:Y,d:Y,dd:"%d p\xe4eva",M:Y,MM:Y,y:Y,yy:Y},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var me={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},oe={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},ue=(e.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,_){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return oe[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return me[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),le=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",ue[7],ue[8],ue[9]];function h(e,a,_,s){var d="";switch(_){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":d=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":d=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":d=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":d=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":d=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":d=s?"vuoden":"vuotta";break}return _=s,d=((e=e)<10?(_?le:ue)[e]:e)+" "+d}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:h,ss:h,m:h,mm:h,h:h,hh:h,d:h,dd:h,M:h,MM:h,y:h,yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),e.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var m=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,d=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],Me=(e.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),Le="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Le:Me)[e.month()]:Me},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function y(e,a,_,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[_][0]:e[_][1]}function c(e,a,_,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[_][0]:e[_][1]}e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:y,ss:y,m:y,mm:y,h:y,hh:y,d:y,dd:y,M:y,MM:y,y:y,yy:y},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),e.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var Ye={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},he={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},ye=(e.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return he[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ye[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),e.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,_){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?_?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?_?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),ce={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},r=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function k(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}e.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:r,longMonthsParse:r,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return ce[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ye[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:k,m:k,mm:k,h:k,hh:k,d:"dan",dd:k,M:"mjesec",MM:k,y:"godinu",yy:k},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var ke="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function D(e,a,_,s){var d=e;switch(_){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return d+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return d+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return d+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return d+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return d+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return d+(s||a?" \xe9v":" \xe9ve")}return""}function De(e){return(e?"":"[m\xfalt] ")+"["+ke[this.day()]+"] LT[-kor]"}function p(e){return e%100==11||e%10!=1}function T(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return p(e)?d+(a||s?"sek\xfandur":"sek\xfandum"):d+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return p(e)?d+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?d+"m\xedn\xfata":d+"m\xedn\xfatu";case"hh":return p(e)?d+(a||s?"klukkustundir":"klukkustundum"):d+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return p(e)?a?d+"dagar":d+(s?"daga":"d\xf6gum"):a?d+"dagur":d+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return p(e)?a?d+"m\xe1nu\xf0ir":d+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?d+"m\xe1nu\xf0ur":d+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return p(e)?d+(a||s?"\xe1r":"\xe1rum"):d+(a||s?"\xe1r":"\xe1ri")}}e.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,_){return e<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return De.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return De.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:D,ss:D,m:D,mm:D,h:D,hh:D,d:D,dd:D,M:D,MM:D,y:D,yy:D},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),e.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:T,ss:T,m:T,mm:T,h:"klukkustund",hh:T,d:T,dd:T,M:T,MM:T,y:T,yy:T},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,_){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),e.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,_){return"\u10d8"===_?a+"\u10e8\u10d8":a+_+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var pe={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},Te=(e.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(pe[e]||pe[e%10]||pe[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),fe={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},we=(e.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,_){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return fe[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Te[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),ge={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"},He=(e.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return ge[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return we[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),e.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,_){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),be={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},n=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],Se=(e.defineLocale("ku",{months:n,monthsShort:n,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,_){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return be[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return He[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function ve(e,a,_,s){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?d[_][0]:d[_][1]}function je(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return je(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return je(e)}return je(e/=1e3)}e.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(Se[e]||Se[e%10]||Se[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return je(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return je(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:ve,mm:"%d Minutten",h:ve,hh:"%d Stonnen",d:ve,dd:"%d Deeg",M:ve,MM:"%d M\xe9int",y:ve,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,_){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var xe={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Pe(e,a,_,s){return a?f(_)[0]:s?f(_)[1]:f(_)[2]}function We(e){return e%10==0||10<e&&e<20}function f(e){return xe[e].split("_")}function Ae(e,a,_,s){var d=e+" ";return 1===e?d+Pe(0,a,_[0],s):a?d+(We(e)?f(_)[1]:f(_)[0]):s?d+f(_)[1]:d+(We(e)?f(_)[1]:f(_)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,_,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:Ae,m:Pe,mm:Ae,h:Pe,hh:Ae,d:Pe,dd:Ae,M:Pe,MM:Ae,y:Pe,yy:Ae},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var Oe={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Ee(e,a,_){return _?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Fe(e,a,_){return e+" "+Ee(Oe[_],e,a)}function ze(e,a,_){return Ee(Oe[_],e,a)}e.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Fe,m:ze,mm:Fe,h:ze,hh:Fe,d:ze,dd:Fe,M:ze,MM:Fe,y:ze,yy:Fe},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var w={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=w.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+w.correctGrammaticalCase(e,s)}};function g(e,a,_,s){switch(_){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:w.translate,m:w.translate,mm:w.translate,h:w.translate,hh:w.translate,d:"dan",dd:w.translate,M:"mjesec",MM:w.translate,y:"godinu",yy:w.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0==_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),e.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,_){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:g,ss:g,m:g,mm:g,h:g,hh:g,d:g,dd:g,M:g,MM:g,y:g,yy:g},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var Je={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Ie={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function H(e,a,_,s){var d="";if(a)switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":d="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":d="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":d="%d \u0924\u093e\u0938";break;case"d":d="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":d="%d \u0926\u093f\u0935\u0938";break;case"M":d="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":d="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":d="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":d="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":d="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":d="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":d="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":d="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":d="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return d.replace(/%d/i,e)}e.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:H,ss:H,m:H,mm:H,h:H,hh:H,d:H,dd:H,M:H,MM:H,y:H,yy:H},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Ie[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Je[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,_){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Ne={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},Re={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},Ce=(e.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return Re[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ne[e]})},week:{dow:1,doy:4}}),e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",w:"en uke",ww:"%d uker",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),Ke={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},Ge=(e.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Ke[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ce[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,_){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Be="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),m=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],d=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,qe=(e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Be:Ge)[e.month()]:Ge},monthsRegex:d,monthsShortRegex:d,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Ue="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],n=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,$e=(e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ue:qe)[e.month()]:qe},monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),Qe={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},Ve=(e.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Qe[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return $e[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),Ze="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),d=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function Xe(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function b(e,a,_){var s=e+" ";switch(_){case"ss":return s+(Xe(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(Xe(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(Xe(e)?"godziny":"godzin");case"ww":return s+(Xe(e)?"tygodnie":"tygodni");case"MM":return s+(Xe(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(Xe(e)?"lata":"lat")}}function S(e,a,_){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[_]}function v(e,a,_){return"m"===_?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}e.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?Ze:Ve)[e.month()]:Ve},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:b,m:b,mm:b,h:b,hh:b,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:b,M:"miesi\u0105c",MM:b,y:"rok",yy:b},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),e.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:S,m:"un minut",mm:S,h:"o or\u0103",hh:S,d:"o zi",dd:S,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:S,M:"o lun\u0103",MM:S,y:"un an",yy:S},week:{dow:1,doy:7}});m=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],e.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:m,longMonthsParse:m,shortMonthsParse:m,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:v,m:v,mm:v,h:"\u0447\u0430\u0441",hh:v,d:"\u0434\u0435\u043d\u044c",dd:v,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:v,M:"\u043c\u0435\u0441\u044f\u0446",MM:v,y:"\u0433\u043e\u0434",yy:v},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),n=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],r=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],e.defineLocale("sd",{months:n,monthsShort:n,weekdays:r,weekdaysShort:r,weekdaysMin:r,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,_){return 11<e?_?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":_?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),d="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),m="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function ea(e){return 1<e&&e<5}function j(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?d+(ea(e)?"sekundy":"sek\xfand"):d+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?d+(ea(e)?"min\xfaty":"min\xfat"):d+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(ea(e)?"hodiny":"hod\xedn"):d+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?d+(ea(e)?"dni":"dn\xed"):d+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?d+(ea(e)?"mesiace":"mesiacov"):d+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?d+(ea(e)?"roky":"rokov"):d+"rokmi"}}function x(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return d+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return d+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return d+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return d+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return d+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return d+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}e.defineLocale("sk",{months:d,monthsShort:m,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:j,ss:j,m:j,mm:j,h:j,hh:j,d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,_){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var P={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,_,s){var d=P.words[_];return 1===_.length?"y"===_&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?d[0]:d[1]:(s=P.correctGrammaticalCase(e,d),"yy"===_&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},W=(e.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:P.translate,m:P.translate,mm:P.translate,h:P.translate,hh:P.translate,d:P.translate,dd:P.translate,M:P.translate,MM:P.translate,y:P.translate,yy:P.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,_,s){var d=W.words[_];return 1===_.length?"y"===_&&a?"jedna godina":s||a?d[0]:d[1]:(s=W.correctGrammaticalCase(e,d),"yy"===_&&a&&"godinu"===s?e+" godina":e+" "+s)}}),aa=(e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,_){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),_a={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},sa=(e.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return _a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return aa[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,_){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),e.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),da=(e.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(sa[e]||sa[e%10]||sa[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,_){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),ta=(e.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'unjy";var _=e%10;return e+(da[_]||da[e%100-_]||da[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function na(e,a,_,s){var d=function(e){var a=Math.floor(e%1e3/100),_=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=ta[a]+"vatlh");0<_&&(s+=(""!==s?" ":"")+ta[_]+"maH");0<e&&(s+=(""!==s?" ":"")+ta[e]);return""===s?"pagh":s}(e);switch(_){case"ss":return d+" lup";case"mm":return d+" tup";case"hh":return d+" rep";case"dd":return d+" jaj";case"MM":return d+" jar";case"yy":return d+" DIS"}}e.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:na,m:"wa\u2019 tup",mm:na,h:"wa\u2019 rep",hh:na,d:"wa\u2019 jaj",dd:na,M:"wa\u2019 jar",MM:na,y:"wa\u2019 DIS",yy:na},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var ra={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function A(e,a,_,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[_][0]:e[_][1]}function O(e,a,_){return"m"===_?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===_?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function ia(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,_){return e<12?_?"\xf6\xf6":"\xd6\xd6":_?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var _=e%10;return e+(ra[_]||ra[e%100-_]||ra[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"d'o":"D'O":_?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:A,ss:A,m:A,mm:A,h:A,hh:A,d:A,dd:A,M:A,MM:A,y:A,yy:A},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),e.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),e.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),e.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var _={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?_.nominative.slice(1,7).concat(_.nominative.slice(0,1)):e?_[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:_.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:ia("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:ia("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:ia("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:ia("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ia("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return ia("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:O,m:O,mm:O,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:O,d:"\u0434\u0435\u043d\u044c",dd:O,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:O,y:"\u0440\u0456\u043a",yy:O},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});n=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],r=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return e.defineLocale("ur",{months:n,monthsShort:n,weekdays:r,weekdaysShort:r,weekdaysMin:r,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),e.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),e.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"sa":"SA":_?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),e.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),e.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.locale("en"),e});
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"vm":"VM":_?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});function E(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function a(n){return function(e,a,_,s){var d=E(e),t=J[n][E(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}function F(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function _(n){return function(e,a,_,s){var d=F(e),t=I[n][F(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}function z(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function s(n){return function(e,a,_,s){var d=z(e),t=U[n][z(e)];return(t=2===d?t[a?0:1]:t).replace(/%d/i,e)}}var J={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],N=(e.defineLocale("ar-dz",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:a("s"),ss:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),I={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],R=(e.defineLocale("ar-ly",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:_("s"),ss:_("s"),m:_("m"),mm:_("m"),h:_("h"),hh:_("h"),d:_("d"),dd:_("d"),M:_("M"),MM:_("M"),y:_("y"),yy:_("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return N[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),C={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},K=(e.defineLocale("ar-ps",{months:"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0634\u0631\u064a \u0627\u0644\u0623\u0648\u0651\u0644_\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0651\u0644".split("_"),monthsShort:"\u0643\u0662_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0661_\u062a\u0662_\u0643\u0661".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return C[e]}).split("").reverse().join("").replace(/[\u0661\u0662](?![\u062a\u0643])/g,function(e){return C[e]}).split("").reverse().join("").replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return R[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),B={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},q=(e.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return B[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return K[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),G={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},U={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},d=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],$=(e.defineLocale("ar",{months:d,monthsShort:d,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:s("s"),ss:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return G[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return q[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function t(e,a,_){return"m"===_?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===_?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,_){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){var a;return 0===e?e+"-\u0131nc\u0131":e+($[a=e%10]||$[e%100-a]||$[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:t,mm:t,h:t,hh:t,d:"\u0434\u0437\u0435\u043d\u044c",dd:t,M:"\u043c\u0435\u0441\u044f\u0446",MM:t,y:"\u0433\u043e\u0434",yy:t},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0==_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Q={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},V={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},Z=(e.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return V[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Q[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),X={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},ee=(e.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return X[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Z[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),ae={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function _e(e,a,_){return e+" "+(_={mm:"munutenn",MM:"miz",dd:"devezh"}[_],2!==(e=e)?_:void 0!==(e={m:"v",b:"v",d:"z"})[(_=_).charAt(0)]?e[_.charAt(0)]+_.substring(1):_)}e.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ae[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ee[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});var d=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],n=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,r=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function i(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return"jedan sat";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}e.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:r,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:r,monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:_e,h:"un eur",hh:"%d eur",d:"un devezh",dd:_e,M:"ur miz",MM:_e,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,_){return e<12?"a.m.":"g.m."}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:i,m:function(e,a,_,s){switch(_){case"m":return a?"jedna minuta":s?"jednu minutu":"jedne minute"}},mm:i,h:i,hh:i,d:"dan",dd:i,M:"mjesec",MM:i,y:"godinu",yy:i},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});var r={standalone:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),format:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_"),isFormat:/DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/},n="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),d=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],m=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function o(e){return 1<e&&e<5&&1!=~~(e/10)}function u(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?d+(o(e)?"sekundy":"sekund"):d+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?d+(o(e)?"minuty":"minut"):d+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(o(e)?"hodiny":"hodin"):d+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?d+(o(e)?"dny":"dn\xed"):d+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?d+(o(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):d+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?d+(o(e)?"roky":"let"):d+"lety"}}function l(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}function M(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}function L(e,a,_,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[_][0]:e[_][1]}e.defineLocale("cs",{months:r,monthsShort:n,monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:l,mm:"%d Minuten",h:l,hh:"%d Stunden",d:l,dd:l,w:l,ww:"%d Wochen",M:l,MM:l,y:l,yy:l},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:M,mm:"%d Minuten",h:M,hh:"%d Stunden",d:M,dd:M,w:M,ww:"%d Wochen",M:M,MM:M,y:M,yy:M},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:L,mm:"%d Minuten",h:L,hh:"%d Stunden",d:L,dd:L,w:L,ww:"%d Wochen",M:L,MM:L,y:L,yy:L},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});r=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];e.defineLocale("dv",{months:r,monthsShort:r,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,_){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),e.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,_){return 11<e?_?"\u03bc\u03bc":"\u039c\u039c":_?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var _,e=this._calendarEl[e],s=a&&a.hours();return _=e,(e="undefined"!=typeof Function&&_ instanceof Function||"[object Function]"===Object.prototype.toString.call(_)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),e.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"p.t.m.":"P.T.M.":_?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var se="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),de="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),m=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],d=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,te=(e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?de:se)[e.month()]:se},monthsRegex:d,monthsShortRegex:d,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ne="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],n=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,re=(e.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ne:te)[e.month()]:te},monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ie="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),d=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],m=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,me=(e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ie:re)[e.month()]:re},monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),oe="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function Y(e,a,_,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[_][2]||e[_][1]:s?e[_][0]:e[_][1]}e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?oe:me)[e.month()]:me},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),e.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:Y,ss:Y,m:Y,mm:Y,h:Y,hh:Y,d:Y,dd:"%d p\xe4eva",M:Y,MM:Y,y:Y,yy:Y},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var ue={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},le={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},Me=(e.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,_){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return le[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ue[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),Le=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Me[7],Me[8],Me[9]];function h(e,a,_,s){var d="";switch(_){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":d=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":d=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":d=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":d=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":d=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":d=s?"vuoden":"vuotta";break}return _=s,d=((e=e)<10?(_?Le:Me)[e]:e)+" "+d}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:h,ss:h,m:h,mm:h,h:h,hh:h,d:h,dd:h,M:h,MM:h,y:h,yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),e.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var m=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,d=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],Ye=(e.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:m,monthsShortRegex:m,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),he="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?he:Ye)[e.month()]:Ye},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function y(e,a,_,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[_][0]:e[_][1]}function c(e,a,_,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[_][0]:e[_][1]}e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:y,ss:y,m:y,mm:y,h:y,hh:y,d:y,dd:y,M:y,MM:y,y:y,yy:y},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),e.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:c,ss:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var ye={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},ce={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},ke=(e.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return ce[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ye[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),e.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,_){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?_?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?_?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),De={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},r=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function k(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}e.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:r,longMonthsParse:r,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return De[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ke[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:k,m:k,mm:k,h:k,hh:k,d:"dan",dd:k,M:"mjesec",MM:k,y:"godinu",yy:k},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var pe="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function D(e,a,_,s){var d=e;switch(_){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return d+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return d+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return d+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return d+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return d+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return d+(s||a?" \xe9v":" \xe9ve")}return""}function Te(e){return(e?"":"[m\xfalt] ")+"["+pe[this.day()]+"] LT[-kor]"}function fe(e){return e%100==11||e%10!=1}function p(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return fe(e)?d+(a||s?"sek\xfandur":"sek\xfandum"):d+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return fe(e)?d+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?d+"m\xedn\xfata":d+"m\xedn\xfatu";case"hh":return fe(e)?d+(a||s?"klukkustundir":"klukkustundum"):d+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return fe(e)?a?d+"dagar":d+(s?"daga":"d\xf6gum"):a?d+"dagur":d+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return fe(e)?a?d+"m\xe1nu\xf0ir":d+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?d+"m\xe1nu\xf0ur":d+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return fe(e)?d+(a||s?"\xe1r":"\xe1rum"):d+(a||s?"\xe1r":"\xe1ri")}}e.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,_){return e<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Te.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Te.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:D,ss:D,m:D,mm:D,h:D,hh:D,d:D,dd:D,M:D,MM:D,y:D,yy:D},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),e.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:p,ss:p,m:p,mm:p,h:"klukkustund",hh:p,d:p,dd:p,M:p,MM:p,y:p,yy:p},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,_){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),e.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,_){return"\u10d8"===_?a+"\u10e8\u10d8":a+_+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var we={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},ge=(e.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(we[e]||we[e%10]||we[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),He={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},be=(e.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,_){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return He[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ge[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),Se={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};function T(e,a,_,s){e={s:["\xe7end san\xeeye","\xe7end san\xeeyeyan"],ss:[e+" san\xeeye",e+" san\xeeyeyan"],m:["deq\xeeqeyek","deq\xeeqeyek\xea"],mm:[e+" deq\xeeqe",e+" deq\xeeqeyan"],h:["saetek","saetek\xea"],hh:[e+" saet",e+" saetan"],d:["rojek","rojek\xea"],dd:[e+" roj",e+" rojan"],w:["hefteyek","hefteyek\xea"],ww:[e+" hefte",e+" hefteyan"],M:["mehek","mehek\xea"],MM:[e+" meh",e+" mehan"],y:["salek","salek\xea"],yy:[e+" sal",e+" salan"]};return a?e[_][0]:e[_][1]}e.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Se[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return be[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),e.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,_){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),e.defineLocale("ku-kmr",{months:"R\xeabendan_Sibat_Adar_N\xeesan_Gulan_Hez\xeeran_T\xeermeh_Tebax_\xcelon_Cotmeh_Mijdar_Berfanbar".split("_"),monthsShort:"R\xeab_Sib_Ada_N\xees_Gul_Hez_T\xeer_Teb_\xcelo_Cot_Mij_Ber".split("_"),monthsParseExact:!0,weekdays:"Yek\u015fem_Du\u015fem_S\xea\u015fem_\xc7ar\u015fem_P\xeanc\u015fem_\xcen_\u015eem\xee".split("_"),weekdaysShort:"Yek_Du_S\xea_\xc7ar_P\xean_\xcen_\u015eem".split("_"),weekdaysMin:"Ye_Du_S\xea_\xc7a_P\xea_\xcen_\u015ee".split("_"),meridiem:function(e,a,_){return e<12?_?"bn":"BN":_?"pn":"PN"},meridiemParse:/bn|BN|pn|PN/,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM[a] YYYY[an]",LLL:"Do MMMM[a] YYYY[an] HH:mm",LLLL:"dddd, Do MMMM[a] YYYY[an] HH:mm",ll:"Do MMM[.] YYYY[an]",lll:"Do MMM[.] YYYY[an] HH:mm",llll:"ddd[.], Do MMM[.] YYYY[an] HH:mm"},calendar:{sameDay:"[\xcero di saet] LT [de]",nextDay:"[Sib\xea di saet] LT [de]",nextWeek:"dddd [di saet] LT [de]",lastDay:"[Duh di saet] LT [de]",lastWeek:"dddd[a bor\xee di saet] LT [de]",sameElse:"L"},relativeTime:{future:"di %s de",past:"ber\xee %s",s:T,ss:T,m:T,mm:T,h:T,hh:T,d:T,dd:T,w:T,ww:T,M:T,MM:T,y:T,yy:T},dayOfMonthOrdinalParse:/\d{1,2}(?:y\xea|\xea|\.)/,ordinal:function(e,a){var a=a.toLowerCase();return a.includes("w")||a.includes("m")?e+".":e+(e=(a=""+(a=e)).substring(a.length-1),12==(a=1<a.length?a.substring(a.length-2):"")||13==a||"2"!=e&&"3"!=e&&"50"!=a&&"70"!=e&&"80"!=e?"\xea":"y\xea")},week:{dow:1,doy:4}});var ve={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},je={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},n=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],xe=(e.defineLocale("ku",{months:n,monthsShort:n,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,_){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return je[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ve[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function Pe(e,a,_,s){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?d[_][0]:d[_][1]}function We(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return We(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return We(e)}return We(e/=1e3)}e.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(xe[e]||xe[e%10]||xe[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return We(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return We(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Pe,mm:"%d Minutten",h:Pe,hh:"%d Stonnen",d:Pe,dd:"%d Deeg",M:Pe,MM:"%d M\xe9int",y:Pe,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,_){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var Ae={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Oe(e,a,_,s){return a?f(_)[0]:s?f(_)[1]:f(_)[2]}function Ee(e){return e%10==0||10<e&&e<20}function f(e){return Ae[e].split("_")}function Fe(e,a,_,s){var d=e+" ";return 1===e?d+Oe(0,a,_[0],s):a?d+(Ee(e)?f(_)[1]:f(_)[0]):s?d+f(_)[1]:d+(Ee(e)?f(_)[1]:f(_)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,_,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:Fe,m:Oe,mm:Fe,h:Oe,hh:Fe,d:Oe,dd:Fe,M:Oe,MM:Fe,y:Oe,yy:Fe},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var ze={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Je(e,a,_){return _?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Ne(e,a,_){return e+" "+Je(ze[_],e,a)}function Ie(e,a,_){return Je(ze[_],e,a)}e.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Ne,m:Ie,mm:Ne,h:Ie,hh:Ne,d:Ie,dd:Ne,M:Ie,MM:Ne,y:Ie,yy:Ne},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var w={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=w.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+w.correctGrammaticalCase(e,s)}};function g(e,a,_,s){switch(_){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:w.translate,m:w.translate,mm:w.translate,h:w.translate,hh:w.translate,d:"dan",dd:w.translate,M:"mjesec",MM:w.translate,y:"godinu",yy:w.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0==_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),e.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,_){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:g,ss:g,m:g,mm:g,h:g,hh:g,d:g,dd:g,M:g,MM:g,y:g,yy:g},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var Re={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Ce={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function H(e,a,_,s){var d="";if(a)switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":d="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":d="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":d="%d \u0924\u093e\u0938";break;case"d":d="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":d="%d \u0926\u093f\u0935\u0938";break;case"M":d="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":d="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":d="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":d="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":d="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":d="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":d="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":d="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":d="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return d.replace(/%d/i,e)}e.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:H,ss:H,m:H,mm:H,h:H,hh:H,d:H,dd:H,M:H,MM:H,y:H,yy:H},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Ce[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Re[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,_){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Ke={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},Be={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},qe=(e.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return Be[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ke[e]})},week:{dow:1,doy:4}}),e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"\xe9n time",hh:"%d timer",d:"\xe9n dag",dd:"%d dager",w:"\xe9n uke",ww:"%d uker",M:"\xe9n m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),Ge={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},Ue=(e.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Ge[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return qe[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,_){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),$e="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),m=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],d=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,Qe=(e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?$e:Ue)[e.month()]:Ue},monthsRegex:d,monthsShortRegex:d,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Ve="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],n=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,Ze=(e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ve:Qe)[e.month()]:Qe},monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),Xe={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},ea=(e.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Xe[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ze[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),aa="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),d=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function _a(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function b(e,a,_){var s=e+" ";switch(_){case"ss":return s+(_a(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(_a(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(_a(e)?"godziny":"godzin");case"ww":return s+(_a(e)?"tygodnie":"tygodni");case"MM":return s+(_a(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(_a(e)?"lata":"lat")}}function S(e,a,_){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[_]}function v(e,a,_){return"m"===_?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}e.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?aa:ea)[e.month()]:ea},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:d,longMonthsParse:d,shortMonthsParse:d,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:b,m:b,mm:b,h:b,hh:b,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:b,M:"miesi\u0105c",MM:b,y:"rok",yy:b},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),e.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:S,m:"un minut",mm:S,h:"o or\u0103",hh:S,d:"o zi",dd:S,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:S,M:"o lun\u0103",MM:S,y:"un an",yy:S},week:{dow:1,doy:7}});m=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],e.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:m,longMonthsParse:m,shortMonthsParse:m,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:v,m:v,mm:v,h:"\u0447\u0430\u0441",hh:v,d:"\u0434\u0435\u043d\u044c",dd:v,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:v,M:"\u043c\u0435\u0441\u044f\u0446",MM:v,y:"\u0433\u043e\u0434",yy:v},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),n=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],r=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],e.defineLocale("sd",{months:n,monthsShort:n,weekdays:r,weekdaysShort:r,weekdaysMin:r,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,_){return 11<e?_?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":_?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),d="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),m="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function sa(e){return 1<e&&e<5}function j(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?d+(sa(e)?"sekundy":"sek\xfand"):d+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?d+(sa(e)?"min\xfaty":"min\xfat"):d+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(sa(e)?"hodiny":"hod\xedn"):d+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?d+(sa(e)?"dni":"dn\xed"):d+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?d+(sa(e)?"mesiace":"mesiacov"):d+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?d+(sa(e)?"roky":"rokov"):d+"rokmi"}}function x(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return d+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return d+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return d+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return d+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return d+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return d+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}e.defineLocale("sk",{months:d,monthsShort:m,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:j,ss:j,m:j,mm:j,h:j,hh:j,d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,_){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var P={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,_,s){var d=P.words[_];return 1===_.length?"y"===_&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?d[0]:d[1]:(s=P.correctGrammaticalCase(e,d),"yy"===_&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},W=(e.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:P.translate,m:P.translate,mm:P.translate,h:P.translate,hh:P.translate,d:P.translate,dd:P.translate,M:P.translate,MM:P.translate,y:P.translate,yy:P.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,_,s){var d=W.words[_];return 1===_.length?"y"===_&&a?"jedna godina":s||a?d[0]:d[1]:(s=W.correctGrammaticalCase(e,d),"yy"===_&&a&&"godinu"===s?e+" godina":e+" "+s)}}),da=(e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,_){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),ta={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},na=(e.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return ta[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return da[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,_){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),e.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),ra=(e.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(na[e]||na[e%10]||na[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,_){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),ia=(e.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var _;return 0===e?e+"'unjy":e+(ra[_=e%10]||ra[e%100-_]||ra[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function ma(e,a,_,s){var d=function(e){var a=Math.floor(e%1e3/100),_=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=ia[a]+"vatlh");0<_&&(s+=(""!==s?" ":"")+ia[_]+"maH");0<e&&(s+=(""!==s?" ":"")+ia[e]);return""===s?"pagh":s}(e);switch(_){case"ss":return d+" lup";case"mm":return d+" tup";case"hh":return d+" rep";case"dd":return d+" jaj";case"MM":return d+" jar";case"yy":return d+" DIS"}}e.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:ma,m:"wa\u2019 tup",mm:ma,h:"wa\u2019 rep",hh:ma,d:"wa\u2019 jaj",dd:ma,M:"wa\u2019 jar",MM:ma,y:"wa\u2019 DIS",yy:ma},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var oa={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function A(e,a,_,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[_][0]:e[_][1]}function O(e,a,_){return"m"===_?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===_?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[_]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function ua(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,_){return e<12?_?"\xf6\xf6":"\xd6\xd6":_?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var _;return 0===e?e+"'\u0131nc\u0131":e+(oa[_=e%10]||oa[e%100-_]||oa[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"d'o":"D'O":_?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:A,ss:A,m:A,mm:A,h:A,hh:A,d:A,dd:A,M:A,MM:A,y:A,yy:A},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),e.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),e.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),e.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var _={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?_.nominative.slice(1,7).concat(_.nominative.slice(0,1)):e?_[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:_.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:ua("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:ua("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:ua("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:ua("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ua("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return ua("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:O,m:O,mm:O,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:O,d:"\u0434\u0435\u043d\u044c",dd:O,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:O,y:"\u0440\u0456\u043a",yy:O},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});n=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],r=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return e.defineLocale("ur",{months:n,monthsShort:n,weekdays:r,weekdaysShort:r,weekdaysMin:r,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),e.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),e.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"sa":"SA":_?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),e.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),e.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.locale("en"),e});
 //# sourceMappingURL=locales.min.js.map
\ No newline at end of file
index eab3b543b83fa5c4062439a71a4a96adbcf60ce0..9f506f73b674568d26db78a29a4c656c92acbf06 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"locales.min.js","sources":["locales.js"],"names":["global","factory","exports","module","require","define","amd","moment","this","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","input","test","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","number","week","dow","doy","pluralForm","n","pluralize","u","withoutSuffix","string","isFuture","f","str","plurals","replace","pluralForm$1","pluralize$1","plurals$1","pluralForm$2","pluralize$2","plurals$2","symbolMap","weekdaysParseExact","hour","minute","postformat","1","2","3","4","5","6","7","8","9","0","months$1","symbolMap$1","preparse","match","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","symbolMap$2","numberMap$1","months$2","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","key","num","forms","word","a","format","standalone","isFormat","day","period","w","ww","lastDigit","last2Digits","symbolMap$3","numberMap$2","১","২","৩","৪","৫","৬","৭","৮","৯","০","symbolMap$4","meridiemHour","numberMap$3","symbolMap$5","numberMap$4","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","text","undefined","mutationTable","b","charAt","substring","monthsShortRegex","monthsParseExact","monthsParse","monthsRegex","minWeekdaysParse","translate","result","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","token","ll","lll","llll","months$3","monthsParse$1","monthsRegex$1","plural$1","translate$1","processRelativeTime","processRelativeTime$1","processRelativeTime$2","l","output","exec","months$4","monthsNominativeEl","monthsGenitiveEl","momentToFormat","indexOf","_monthsGenitiveEl","_monthsNominativeEl","month","toLowerCase","calendarEl","mom","_calendarEl","Function","Object","prototype","toString","call","apply","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$2","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$3","monthsShortDot$2","invalidDate","monthsShort$3","monthsParse$4","monthsRegex$4","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$5","processRelativeTime$3","symbolMap$6","numberMap$5","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","translate$2","monthsRegex$6","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$4","processRelativeTime$5","symbolMap$7","numberMap$6","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","symbolMap$8","numberMap$7","१","२","३","४","५","६","७","८","९","०","monthsParse$7","translate$3","weekEndings","translate$4","plural$2","translate$5","eras","since","offset","name","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","parseInt","now","$0","$1","$2","suffixes$1","40","symbolMap$9","numberMap$8","១","២","៣","៤","៥","៦","៧","៨","៩","០","symbolMap$a","numberMap$9","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","symbolMap$b","isUpper","numberMap$a","months$7","suffixes$2","processRelativeTime$6","eifelerRegelAppliesToNumber","isNaN","substr","units","translateSingular","special","translate$6","units$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","length","translate$7","symbolMap$c","numberMap$b","relativeTimeMr","symbolMap$d","numberMap$c","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","symbolMap$e","numberMap$d","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$7","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$8","symbolMap$f","numberMap$e","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","relativeTimeWithPlural$3","monthsParse$b","months$8","days","months$9","monthsShort$7","plural$5","translate$9","processRelativeTime$7","translator$1","translator$2","symbolMap$g","numberMap$f","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","suffixes$3","12","13","suffixes$4","numbersNouns","translate$a","numberNoun","hundred","Math","floor","ten","one","numberAsNoun","time","slice","suffixes$5","processRelativeTime$8","relativeTimeWithPlural$4","processHoursFunction","hm","nominative","accusative","genitive","concat","months$a","days$1","locale"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"locales.min.js","sources":["locales.js"],"names":["global","factory","exports","module","require","define","amd","moment","this","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","input","test","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","number","week","dow","doy","pluralForm","n","pluralize","u","withoutSuffix","string","isFuture","f","str","plurals","replace","pluralForm$1","pluralize$1","plurals$1","pluralForm$2","pluralize$2","plurals$2","symbolMap","weekdaysParseExact","hour","minute","postformat","1","2","3","4","5","6","7","8","9","0","months$1","symbolMap$1","preparse","match","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","symbolMap$2","reverse","join","numberMap$1","symbolMap$3","numberMap$2","months$2","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","key","num","forms","word","a","format","standalone","isFormat","day","period","w","ww","lastDigit","last2Digits","symbolMap$4","numberMap$3","১","২","৩","৪","৫","৬","৭","৮","৯","০","symbolMap$5","meridiemHour","numberMap$4","symbolMap$6","numberMap$5","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","text","undefined","mutationTable","b","charAt","substring","monthsShortRegex","monthsParseExact","monthsParse","monthsRegex","minWeekdaysParse","translate","result","weekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","token","ll","lll","llll","months$3","monthsParse$1","monthsRegex$1","plural$1","translate$1","processRelativeTime$1","processRelativeTime$2","processRelativeTime$3","l","output","exec","months$4","monthsNominativeEl","monthsGenitiveEl","momentToFormat","indexOf","_monthsGenitiveEl","_monthsNominativeEl","month","toLowerCase","calendarEl","mom","_calendarEl","Function","Object","prototype","toString","call","apply","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$2","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$3","monthsShortDot$2","invalidDate","monthsShort$3","monthsParse$4","monthsRegex$4","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$5","processRelativeTime$4","symbolMap$7","numberMap$6","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","translate$2","monthsRegex$6","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$5","processRelativeTime$6","symbolMap$8","numberMap$7","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","symbolMap$9","numberMap$8","१","२","३","४","५","६","७","८","९","०","monthsParse$7","translate$3","weekEndings","translate$4","plural$2","translate$5","eras","since","offset","name","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","parseInt","now","$0","$1","$2","suffixes$1","40","symbolMap$a","numberMap$9","១","២","៣","៤","៥","៦","៧","៨","៩","០","symbolMap$b","numberMap$a","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","processRelativeTime$7","isUpper","p","includes","length","symbolMap$c","numberMap$b","months$7","suffixes$2","processRelativeTime$8","eifelerRegelAppliesToNumber","isNaN","substr","units","translateSingular","special","translate$6","units$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","translate$7","symbolMap$d","numberMap$c","relativeTimeMr","symbolMap$e","numberMap$d","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","symbolMap$f","numberMap$e","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$7","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$8","symbolMap$g","numberMap$f","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","relativeTimeWithPlural$3","monthsParse$b","months$8","days","months$9","monthsShort$7","plural$5","translate$9","processRelativeTime$9","translator$1","translator$2","symbolMap$h","numberMap$g","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","suffixes$3","12","13","suffixes$4","numbersNouns","translate$a","numberNoun","hundred","Math","floor","ten","one","time","slice","suffixes$5","processRelativeTime$a","relativeTimeWithPlural$4","processHoursFunction","hm","nominative","accusative","genitive","concat","months$a","days$1","locale"],"mappings":"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"}
\ No newline at end of file
index 0ecd1f84038b8b8a3083cc4438c56383b08cd404..692bfdf4549d7ba5771428ab698af40ba23afe9e 100644 (file)
     }
 
     function isValid(m) {
-        if (m._isValid == null) {
-            var flags = getParsingFlags(m),
-                parsedParts = some.call(flags.parsedDateParts, function (i) {
-                    return i != null;
-                }),
-                isNowValid =
-                    !isNaN(m._d.getTime()) &&
-                    flags.overflow < 0 &&
-                    !flags.empty &&
-                    !flags.invalidEra &&
-                    !flags.invalidMonth &&
-                    !flags.invalidWeekday &&
-                    !flags.weekdayMismatch &&
-                    !flags.nullInput &&
-                    !flags.invalidFormat &&
-                    !flags.userInvalidated &&
-                    (!flags.meridiem || (flags.meridiem && parsedParts));
-
+        var flags = null,
+            parsedParts = false,
+            isNowValid = m._d && !isNaN(m._d.getTime());
+        if (isNowValid) {
+            flags = getParsingFlags(m);
+            parsedParts = some.call(flags.parsedDateParts, function (i) {
+                return i != null;
+            });
+            isNowValid =
+                flags.overflow < 0 &&
+                !flags.empty &&
+                !flags.invalidEra &&
+                !flags.invalidMonth &&
+                !flags.invalidWeekday &&
+                !flags.weekdayMismatch &&
+                !flags.nullInput &&
+                !flags.invalidFormat &&
+                !flags.userInvalidated &&
+                (!flags.meridiem || (flags.meridiem && parsedParts));
             if (m._strict) {
                 isNowValid =
                     isNowValid &&
                     flags.unusedTokens.length === 0 &&
                     flags.bigHour === undefined;
             }
-
-            if (Object.isFrozen == null || !Object.isFrozen(m)) {
-                m._isValid = isNowValid;
-            } else {
-                return isNowValid;
-            }
+        }
+        if (Object.isFrozen == null || !Object.isFrozen(m)) {
+            m._isValid = isNowValid;
+        } else {
+            return isNowValid;
         }
         return m._isValid;
     }
         return isFunction(format) ? format(output) : format.replace(/%s/i, output);
     }
 
-    var aliases = {};
-
-    function addUnitAlias(unit, shorthand) {
-        var lowerCase = unit.toLowerCase();
-        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
-    }
+    var aliases = {
+        D: 'date',
+        dates: 'date',
+        date: 'date',
+        d: 'day',
+        days: 'day',
+        day: 'day',
+        e: 'weekday',
+        weekdays: 'weekday',
+        weekday: 'weekday',
+        E: 'isoWeekday',
+        isoweekdays: 'isoWeekday',
+        isoweekday: 'isoWeekday',
+        DDD: 'dayOfYear',
+        dayofyears: 'dayOfYear',
+        dayofyear: 'dayOfYear',
+        h: 'hour',
+        hours: 'hour',
+        hour: 'hour',
+        ms: 'millisecond',
+        milliseconds: 'millisecond',
+        millisecond: 'millisecond',
+        m: 'minute',
+        minutes: 'minute',
+        minute: 'minute',
+        M: 'month',
+        months: 'month',
+        month: 'month',
+        Q: 'quarter',
+        quarters: 'quarter',
+        quarter: 'quarter',
+        s: 'second',
+        seconds: 'second',
+        second: 'second',
+        gg: 'weekYear',
+        weekyears: 'weekYear',
+        weekyear: 'weekYear',
+        GG: 'isoWeekYear',
+        isoweekyears: 'isoWeekYear',
+        isoweekyear: 'isoWeekYear',
+        w: 'week',
+        weeks: 'week',
+        week: 'week',
+        W: 'isoWeek',
+        isoweeks: 'isoWeek',
+        isoweek: 'isoWeek',
+        y: 'year',
+        years: 'year',
+        year: 'year',
+    };
 
     function normalizeUnits(units) {
         return typeof units === 'string'
         return normalizedInput;
     }
 
-    var priorities = {};
-
-    function addUnitPriority(unit, priority) {
-        priorities[unit] = priority;
-    }
+    var priorities = {
+        date: 9,
+        day: 11,
+        weekday: 11,
+        isoWeekday: 11,
+        dayOfYear: 4,
+        hour: 13,
+        millisecond: 16,
+        minute: 14,
+        month: 8,
+        quarter: 7,
+        second: 15,
+        weekYear: 1,
+        isoWeekYear: 1,
+        week: 5,
+        isoWeek: 5,
+        year: 1,
+    };
 
     function getPrioritizedUnits(unitsObj) {
         var units = [],
         return units;
     }
 
-    function isLeapYear(year) {
-        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
-    }
-
-    function absFloor(number) {
-        if (number < 0) {
-            // -0 -> 0
-            return Math.ceil(number) || 0;
-        } else {
-            return Math.floor(number);
-        }
-    }
-
-    function toInt(argumentForCoercion) {
-        var coercedNumber = +argumentForCoercion,
-            value = 0;
-
-        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
-            value = absFloor(coercedNumber);
-        }
-
-        return value;
-    }
-
-    function makeGetSet(unit, keepTime) {
-        return function (value) {
-            if (value != null) {
-                set$1(this, unit, value);
-                hooks.updateOffset(this, keepTime);
-                return this;
-            } else {
-                return get(this, unit);
-            }
-        };
-    }
-
-    function get(mom, unit) {
-        return mom.isValid()
-            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
-            : NaN;
-    }
-
-    function set$1(mom, unit, value) {
-        if (mom.isValid() && !isNaN(value)) {
-            if (
-                unit === 'FullYear' &&
-                isLeapYear(mom.year()) &&
-                mom.month() === 1 &&
-                mom.date() === 29
-            ) {
-                value = toInt(value);
-                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
-                    value,
-                    mom.month(),
-                    daysInMonth(value, mom.month())
-                );
-            } else {
-                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
-            }
-        }
-    }
-
-    // MOMENTS
-
-    function stringGet(units) {
-        units = normalizeUnits(units);
-        if (isFunction(this[units])) {
-            return this[units]();
-        }
-        return this;
-    }
-
-    function stringSet(units, value) {
-        if (typeof units === 'object') {
-            units = normalizeObjectUnits(units);
-            var prioritized = getPrioritizedUnits(units),
-                i,
-                prioritizedLen = prioritized.length;
-            for (i = 0; i < prioritizedLen; i++) {
-                this[prioritized[i].unit](units[prioritized[i].unit]);
-            }
-        } else {
-            units = normalizeUnits(units);
-            if (isFunction(this[units])) {
-                return this[units](value);
-            }
-        }
-        return this;
-    }
-
     var match1 = /\d/, //       0 - 9
         match2 = /\d\d/, //      00 - 99
         match3 = /\d{3}/, //     000 - 999
         // includes scottish gaelic two word and hyphenated months
         matchWord =
             /[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,
+        match1to2NoLeadingZero = /^[1-9]\d?/, //         1-99
+        match1to2HasZero = /^([1-9]\d|\d)/, //           0-99
         regexes;
 
     regexes = {};
         return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
     }
 
+    function absFloor(number) {
+        if (number < 0) {
+            // -0 -> 0
+            return Math.ceil(number) || 0;
+        } else {
+            return Math.floor(number);
+        }
+    }
+
+    function toInt(argumentForCoercion) {
+        var coercedNumber = +argumentForCoercion,
+            value = 0;
+
+        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+            value = absFloor(coercedNumber);
+        }
+
+        return value;
+    }
+
     var tokens = {};
 
     function addParseToken(token, callback) {
         }
     }
 
+    function isLeapYear(year) {
+        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    }
+
     var YEAR = 0,
         MONTH = 1,
         DATE = 2,
         WEEK = 7,
         WEEKDAY = 8;
 
+    // FORMATTING
+
+    addFormatToken('Y', 0, 0, function () {
+        var y = this.year();
+        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
+    });
+
+    addFormatToken(0, ['YY', 2], 0, function () {
+        return this.year() % 100;
+    });
+
+    addFormatToken(0, ['YYYY', 4], 0, 'year');
+    addFormatToken(0, ['YYYYY', 5], 0, 'year');
+    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+    // PARSING
+
+    addRegexToken('Y', matchSigned);
+    addRegexToken('YY', match1to2, match2);
+    addRegexToken('YYYY', match1to4, match4);
+    addRegexToken('YYYYY', match1to6, match6);
+    addRegexToken('YYYYYY', match1to6, match6);
+
+    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+    addParseToken('YYYY', function (input, array) {
+        array[YEAR] =
+            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+    });
+    addParseToken('YY', function (input, array) {
+        array[YEAR] = hooks.parseTwoDigitYear(input);
+    });
+    addParseToken('Y', function (input, array) {
+        array[YEAR] = parseInt(input, 10);
+    });
+
+    // HELPERS
+
+    function daysInYear(year) {
+        return isLeapYear(year) ? 366 : 365;
+    }
+
+    // HOOKS
+
+    hooks.parseTwoDigitYear = function (input) {
+        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+    };
+
+    // MOMENTS
+
+    var getSetYear = makeGetSet('FullYear', true);
+
+    function getIsLeapYear() {
+        return isLeapYear(this.year());
+    }
+
+    function makeGetSet(unit, keepTime) {
+        return function (value) {
+            if (value != null) {
+                set$1(this, unit, value);
+                hooks.updateOffset(this, keepTime);
+                return this;
+            } else {
+                return get(this, unit);
+            }
+        };
+    }
+
+    function get(mom, unit) {
+        if (!mom.isValid()) {
+            return NaN;
+        }
+
+        var d = mom._d,
+            isUTC = mom._isUTC;
+
+        switch (unit) {
+            case 'Milliseconds':
+                return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();
+            case 'Seconds':
+                return isUTC ? d.getUTCSeconds() : d.getSeconds();
+            case 'Minutes':
+                return isUTC ? d.getUTCMinutes() : d.getMinutes();
+            case 'Hours':
+                return isUTC ? d.getUTCHours() : d.getHours();
+            case 'Date':
+                return isUTC ? d.getUTCDate() : d.getDate();
+            case 'Day':
+                return isUTC ? d.getUTCDay() : d.getDay();
+            case 'Month':
+                return isUTC ? d.getUTCMonth() : d.getMonth();
+            case 'FullYear':
+                return isUTC ? d.getUTCFullYear() : d.getFullYear();
+            default:
+                return NaN; // Just in case
+        }
+    }
+
+    function set$1(mom, unit, value) {
+        var d, isUTC, year, month, date;
+
+        if (!mom.isValid() || isNaN(value)) {
+            return;
+        }
+
+        d = mom._d;
+        isUTC = mom._isUTC;
+
+        switch (unit) {
+            case 'Milliseconds':
+                return void (isUTC
+                    ? d.setUTCMilliseconds(value)
+                    : d.setMilliseconds(value));
+            case 'Seconds':
+                return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));
+            case 'Minutes':
+                return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));
+            case 'Hours':
+                return void (isUTC ? d.setUTCHours(value) : d.setHours(value));
+            case 'Date':
+                return void (isUTC ? d.setUTCDate(value) : d.setDate(value));
+            // case 'Day': // Not real
+            //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
+            // case 'Month': // Not used because we need to pass two variables
+            //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
+            case 'FullYear':
+                break; // See below ...
+            default:
+                return; // Just in case
+        }
+
+        year = value;
+        month = mom.month();
+        date = mom.date();
+        date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;
+        void (isUTC
+            ? d.setUTCFullYear(year, month, date)
+            : d.setFullYear(year, month, date));
+    }
+
+    // MOMENTS
+
+    function stringGet(units) {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units]();
+        }
+        return this;
+    }
+
+    function stringSet(units, value) {
+        if (typeof units === 'object') {
+            units = normalizeObjectUnits(units);
+            var prioritized = getPrioritizedUnits(units),
+                i,
+                prioritizedLen = prioritized.length;
+            for (i = 0; i < prioritizedLen; i++) {
+                this[prioritized[i].unit](units[prioritized[i].unit]);
+            }
+        } else {
+            units = normalizeUnits(units);
+            if (isFunction(this[units])) {
+                return this[units](value);
+            }
+        }
+        return this;
+    }
+
     function mod(n, x) {
         return ((n % x) + x) % x;
     }
         return this.localeData().months(this, format);
     });
 
-    // ALIASES
-
-    addUnitAlias('month', 'M');
-
-    // PRIORITY
-
-    addUnitPriority('month', 8);
-
     // PARSING
 
-    addRegexToken('M', match1to2);
+    addRegexToken('M', match1to2, match1to2NoLeadingZero);
     addRegexToken('MM', match1to2, match2);
     addRegexToken('MMM', function (isStrict, locale) {
         return locale.monthsShortRegex(isStrict);
     // MOMENTS
 
     function setMonth(mom, value) {
-        var dayOfMonth;
-
         if (!mom.isValid()) {
             // No op
             return mom;
             }
         }
 
-        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
-        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+        var month = value,
+            date = mom.date();
+
+        date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));
+        void (mom._isUTC
+            ? mom._d.setUTCMonth(month, date)
+            : mom._d.setMonth(month, date));
         return mom;
     }
 
             longPieces = [],
             mixedPieces = [],
             i,
-            mom;
+            mom,
+            shortP,
+            longP;
         for (i = 0; i < 12; i++) {
             // make the regex if we don't have it already
             mom = createUTC([2000, i]);
-            shortPieces.push(this.monthsShort(mom, ''));
-            longPieces.push(this.months(mom, ''));
-            mixedPieces.push(this.months(mom, ''));
-            mixedPieces.push(this.monthsShort(mom, ''));
+            shortP = regexEscape(this.monthsShort(mom, ''));
+            longP = regexEscape(this.months(mom, ''));
+            shortPieces.push(shortP);
+            longPieces.push(longP);
+            mixedPieces.push(longP);
+            mixedPieces.push(shortP);
         }
         // Sorting makes sure if one month (or abbr) is a prefix of another it
         // will match the longer piece.
         shortPieces.sort(cmpLenRev);
         longPieces.sort(cmpLenRev);
         mixedPieces.sort(cmpLenRev);
-        for (i = 0; i < 12; i++) {
-            shortPieces[i] = regexEscape(shortPieces[i]);
-            longPieces[i] = regexEscape(longPieces[i]);
-        }
-        for (i = 0; i < 24; i++) {
-            mixedPieces[i] = regexEscape(mixedPieces[i]);
-        }
 
         this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
         this._monthsShortRegex = this._monthsRegex;
         );
     }
 
-    // FORMATTING
-
-    addFormatToken('Y', 0, 0, function () {
-        var y = this.year();
-        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
-    });
-
-    addFormatToken(0, ['YY', 2], 0, function () {
-        return this.year() % 100;
-    });
-
-    addFormatToken(0, ['YYYY', 4], 0, 'year');
-    addFormatToken(0, ['YYYYY', 5], 0, 'year');
-    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
-
-    // ALIASES
-
-    addUnitAlias('year', 'y');
-
-    // PRIORITIES
-
-    addUnitPriority('year', 1);
-
-    // PARSING
-
-    addRegexToken('Y', matchSigned);
-    addRegexToken('YY', match1to2, match2);
-    addRegexToken('YYYY', match1to4, match4);
-    addRegexToken('YYYYY', match1to6, match6);
-    addRegexToken('YYYYYY', match1to6, match6);
-
-    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
-    addParseToken('YYYY', function (input, array) {
-        array[YEAR] =
-            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
-    });
-    addParseToken('YY', function (input, array) {
-        array[YEAR] = hooks.parseTwoDigitYear(input);
-    });
-    addParseToken('Y', function (input, array) {
-        array[YEAR] = parseInt(input, 10);
-    });
-
-    // HELPERS
-
-    function daysInYear(year) {
-        return isLeapYear(year) ? 366 : 365;
-    }
-
-    // HOOKS
-
-    hooks.parseTwoDigitYear = function (input) {
-        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
-    };
-
-    // MOMENTS
-
-    var getSetYear = makeGetSet('FullYear', true);
-
-    function getIsLeapYear() {
-        return isLeapYear(this.year());
-    }
-
     function createDate(y, m, d, h, M, s, ms) {
         // can't just apply() to create a date:
         // https://stackoverflow.com/q/181348
     addFormatToken('w', ['ww', 2], 'wo', 'week');
     addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
 
-    // ALIASES
-
-    addUnitAlias('week', 'w');
-    addUnitAlias('isoWeek', 'W');
-
-    // PRIORITIES
-
-    addUnitPriority('week', 5);
-    addUnitPriority('isoWeek', 5);
-
     // PARSING
 
-    addRegexToken('w', match1to2);
+    addRegexToken('w', match1to2, match1to2NoLeadingZero);
     addRegexToken('ww', match1to2, match2);
-    addRegexToken('W', match1to2);
+    addRegexToken('W', match1to2, match1to2NoLeadingZero);
     addRegexToken('WW', match1to2, match2);
 
     addWeekParseToken(
     addFormatToken('e', 0, 0, 'weekday');
     addFormatToken('E', 0, 0, 'isoWeekday');
 
-    // ALIASES
-
-    addUnitAlias('day', 'd');
-    addUnitAlias('weekday', 'e');
-    addUnitAlias('isoWeekday', 'E');
-
-    // PRIORITY
-    addUnitPriority('day', 11);
-    addUnitPriority('weekday', 11);
-    addUnitPriority('isoWeekday', 11);
-
     // PARSING
 
     addRegexToken('d', match1to2);
         return m === true
             ? shiftWeekdays(weekdays, this._week.dow)
             : m
-            ? weekdays[m.day()]
-            : weekdays;
+              ? weekdays[m.day()]
+              : weekdays;
     }
 
     function localeWeekdaysShort(m) {
         return m === true
             ? shiftWeekdays(this._weekdaysShort, this._week.dow)
             : m
-            ? this._weekdaysShort[m.day()]
-            : this._weekdaysShort;
+              ? this._weekdaysShort[m.day()]
+              : this._weekdaysShort;
     }
 
     function localeWeekdaysMin(m) {
         return m === true
             ? shiftWeekdays(this._weekdaysMin, this._week.dow)
             : m
-            ? this._weekdaysMin[m.day()]
-            : this._weekdaysMin;
+              ? this._weekdaysMin[m.day()]
+              : this._weekdaysMin;
     }
 
     function handleStrictParse$1(weekdayName, format, strict) {
         if (!this.isValid()) {
             return input != null ? this : NaN;
         }
-        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+
+        var day = get(this, 'Day');
         if (input != null) {
             input = parseWeekday(input, this.localeData());
             return this.add(input - day, 'd');
     meridiem('a', true);
     meridiem('A', false);
 
-    // ALIASES
-
-    addUnitAlias('hour', 'h');
-
-    // PRIORITY
-    addUnitPriority('hour', 13);
-
     // PARSING
 
     function matchMeridiem(isStrict, locale) {
 
     addRegexToken('a', matchMeridiem);
     addRegexToken('A', matchMeridiem);
-    addRegexToken('H', match1to2);
-    addRegexToken('h', match1to2);
-    addRegexToken('k', match1to2);
+    addRegexToken('H', match1to2, match1to2HasZero);
+    addRegexToken('h', match1to2, match1to2NoLeadingZero);
+    addRegexToken('k', match1to2, match1to2NoLeadingZero);
     addRegexToken('HH', match1to2, match2);
     addRegexToken('hh', match1to2, match2);
     addRegexToken('kk', match1to2, match2);
 
     function isLocaleNameSane(name) {
         // Prevent names that look like filesystem paths, i.e contain '/' or '\'
-        return name.match('^[^/\\\\]*$') != null;
+        // Ensure name is available and function returns boolean
+        return !!(name && name.match('^[^/\\\\]*$'));
     }
 
     function loadLocale(name) {
                 a[MONTH] < 0 || a[MONTH] > 11
                     ? MONTH
                     : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
-                    ? DATE
-                    : a[HOUR] < 0 ||
-                      a[HOUR] > 24 ||
-                      (a[HOUR] === 24 &&
-                          (a[MINUTE] !== 0 ||
-                              a[SECOND] !== 0 ||
-                              a[MILLISECOND] !== 0))
-                    ? HOUR
-                    : a[MINUTE] < 0 || a[MINUTE] > 59
-                    ? MINUTE
-                    : a[SECOND] < 0 || a[SECOND] > 59
-                    ? SECOND
-                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
-                    ? MILLISECOND
-                    : -1;
+                      ? DATE
+                      : a[HOUR] < 0 ||
+                          a[HOUR] > 24 ||
+                          (a[HOUR] === 24 &&
+                              (a[MINUTE] !== 0 ||
+                                  a[SECOND] !== 0 ||
+                                  a[MILLISECOND] !== 0))
+                        ? HOUR
+                        : a[MINUTE] < 0 || a[MINUTE] > 59
+                          ? MINUTE
+                          : a[SECOND] < 0 || a[SECOND] > 59
+                            ? SECOND
+                            : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
+                              ? MILLISECOND
+                              : -1;
 
             if (
                 getParsingFlags(m)._overflowDayOfYear &&
         return diff < -6
             ? 'sameElse'
             : diff < -1
-            ? 'lastWeek'
-            : diff < 0
-            ? 'lastDay'
-            : diff < 1
-            ? 'sameDay'
-            : diff < 2
-            ? 'nextDay'
-            : diff < 7
-            ? 'nextWeek'
-            : 'sameElse';
+              ? 'lastWeek'
+              : diff < 0
+                ? 'lastDay'
+                : diff < 1
+                  ? 'sameDay'
+                  : diff < 2
+                    ? 'nextDay'
+                    : diff < 7
+                      ? 'nextWeek'
+                      : 'sameElse';
     }
 
     function calendar$1(time, formats) {
             mixedPieces = [],
             i,
             l,
+            erasName,
+            erasAbbr,
+            erasNarrow,
             eras = this.eras();
 
         for (i = 0, l = eras.length; i < l; ++i) {
-            namePieces.push(regexEscape(eras[i].name));
-            abbrPieces.push(regexEscape(eras[i].abbr));
-            narrowPieces.push(regexEscape(eras[i].narrow));
+            erasName = regexEscape(eras[i].name);
+            erasAbbr = regexEscape(eras[i].abbr);
+            erasNarrow = regexEscape(eras[i].narrow);
 
-            mixedPieces.push(regexEscape(eras[i].name));
-            mixedPieces.push(regexEscape(eras[i].abbr));
-            mixedPieces.push(regexEscape(eras[i].narrow));
+            namePieces.push(erasName);
+            abbrPieces.push(erasAbbr);
+            narrowPieces.push(erasNarrow);
+            mixedPieces.push(erasName);
+            mixedPieces.push(erasAbbr);
+            mixedPieces.push(erasNarrow);
         }
 
         this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
 
     // ALIASES
 
-    addUnitAlias('weekYear', 'gg');
-    addUnitAlias('isoWeekYear', 'GG');
-
-    // PRIORITY
-
-    addUnitPriority('weekYear', 1);
-    addUnitPriority('isoWeekYear', 1);
-
     // PARSING
 
     addRegexToken('G', matchSigned);
             this,
             input,
             this.week(),
-            this.weekday(),
+            this.weekday() + this.localeData()._week.dow,
             this.localeData()._week.dow,
             this.localeData()._week.doy
         );
 
     addFormatToken('Q', 0, 'Qo', 'quarter');
 
-    // ALIASES
-
-    addUnitAlias('quarter', 'Q');
-
-    // PRIORITY
-
-    addUnitPriority('quarter', 7);
-
     // PARSING
 
     addRegexToken('Q', match1);
 
     addFormatToken('D', ['DD', 2], 'Do', 'date');
 
-    // ALIASES
-
-    addUnitAlias('date', 'D');
-
-    // PRIORITY
-    addUnitPriority('date', 9);
-
     // PARSING
 
-    addRegexToken('D', match1to2);
+    addRegexToken('D', match1to2, match1to2NoLeadingZero);
     addRegexToken('DD', match1to2, match2);
     addRegexToken('Do', function (isStrict, locale) {
         // TODO: Remove "ordinalParse" fallback in next major release.
 
     addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
 
-    // ALIASES
-
-    addUnitAlias('dayOfYear', 'DDD');
-
-    // PRIORITY
-    addUnitPriority('dayOfYear', 4);
-
     // PARSING
 
     addRegexToken('DDD', match1to3);
 
     addFormatToken('m', ['mm', 2], 0, 'minute');
 
-    // ALIASES
-
-    addUnitAlias('minute', 'm');
-
-    // PRIORITY
-
-    addUnitPriority('minute', 14);
-
     // PARSING
 
-    addRegexToken('m', match1to2);
+    addRegexToken('m', match1to2, match1to2HasZero);
     addRegexToken('mm', match1to2, match2);
     addParseToken(['m', 'mm'], MINUTE);
 
 
     addFormatToken('s', ['ss', 2], 0, 'second');
 
-    // ALIASES
-
-    addUnitAlias('second', 's');
-
-    // PRIORITY
-
-    addUnitPriority('second', 15);
-
     // PARSING
 
-    addRegexToken('s', match1to2);
+    addRegexToken('s', match1to2, match1to2HasZero);
     addRegexToken('ss', match1to2, match2);
     addParseToken(['s', 'ss'], SECOND);
 
         return this.millisecond() * 1000000;
     });
 
-    // ALIASES
-
-    addUnitAlias('millisecond', 'ms');
-
-    // PRIORITY
-
-    addUnitPriority('millisecond', 16);
-
     // PARSING
 
     addRegexToken('S', match1to3, match1);
                     toInt((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
         }
     }
 
-    // TODO: Use this.as('ms')?
-    function valueOf$1() {
-        if (!this.isValid()) {
-            return NaN;
-        }
-        return (
-            this._milliseconds +
-            this._days * 864e5 +
-            (this._months % 12) * 2592e6 +
-            toInt(this._months / 12) * 31536e6
-        );
-    }
-
     function makeAs(alias) {
         return function () {
             return this.as(alias);
         asWeeks = makeAs('w'),
         asMonths = makeAs('M'),
         asQuarters = makeAs('Q'),
-        asYears = makeAs('y');
+        asYears = makeAs('y'),
+        valueOf$1 = asMilliseconds;
 
     function clone$1() {
         return createDuration(this);
 
     //! moment.js
 
-    hooks.version = '2.29.4';
+    hooks.version = '2.30.0';
 
     setHookCallback(createLocal);
 
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals = {
             s: [
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals$1 = {
             s: [
             '٠': '0',
         };
 
+    hooks.defineLocale('ar-ps', {
+        months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
+            '_'
+        ),
+        monthsShort:
+            'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm',
+        },
+        meridiemParse: /ص|م/,
+        isPM: function (input) {
+            return 'م' === input;
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'م';
+            }
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss: '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات',
+        },
+        preparse: function (string) {
+            return string
+                .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('') // reversed since negative lookbehind not supported everywhere
+                .reverse()
+                .join('')
+                .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
+                    return numberMap[match];
+                })
+                .split('')
+                .reverse()
+                .join('')
+                .replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string
+                .replace(/\d/g, function (match) {
+                    return symbolMap$1[match];
+                })
+                .replace(/,/g, '،');
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6, // The week that contains Jan 6th is the first week of the year.
+        },
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$2 = {
+            1: '١',
+            2: '٢',
+            3: '٣',
+            4: '٤',
+            5: '٥',
+            6: '٦',
+            7: '٧',
+            8: '٨',
+            9: '٩',
+            0: '٠',
+        },
+        numberMap$1 = {
+            '١': '1',
+            '٢': '2',
+            '٣': '3',
+            '٤': '4',
+            '٥': '5',
+            '٦': '6',
+            '٧': '7',
+            '٨': '8',
+            '٩': '9',
+            '٠': '0',
+        };
+
     hooks.defineLocale('ar-sa', {
         months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
             '_'
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap[match];
+                    return numberMap$1[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$1[match];
+                    return symbolMap$2[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    var symbolMap$2 = {
+    var symbolMap$3 = {
             1: '١',
             2: '٢',
             3: '٣',
             9: '٩',
             0: '٠',
         },
-        numberMap$1 = {
+        numberMap$2 = {
             '١': '1',
             '٢': '2',
             '٣': '3',
             return n === 0
                 ? 0
                 : n === 1
-                ? 1
-                : n === 2
-                ? 2
-                : n % 100 >= 3 && n % 100 <= 10
-                ? 3
-                : n % 100 >= 11
-                ? 4
-                : 5;
+                  ? 1
+                  : n === 2
+                    ? 2
+                    : n % 100 >= 3 && n % 100 <= 10
+                      ? 3
+                      : n % 100 >= 11
+                        ? 4
+                        : 5;
         },
         plurals$2 = {
             s: [
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap$1[match];
+                    return numberMap$2[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$2[match];
+                    return symbolMap$3[match];
                 })
                 .replace(/,/g, '،');
         },
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural(number, withoutSuffix, key) {
         var format = {
 
     //! moment.js locale configuration
 
-    var symbolMap$3 = {
+    var symbolMap$4 = {
             1: '১',
             2: '২',
             3: '৩',
             9: '৯',
             0: '০',
         },
-        numberMap$2 = {
+        numberMap$3 = {
             '১': '1',
             '২': '2',
             '৩': '3',
         },
         preparse: function (string) {
             return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
-                return numberMap$2[match];
+                return numberMap$3[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$3[match];
+                return symbolMap$4[match];
             });
         },
 
 
     //! moment.js locale configuration
 
-    var symbolMap$4 = {
+    var symbolMap$5 = {
             1: '১',
             2: '২',
             3: '৩',
             9: '৯',
             0: '০',
         },
-        numberMap$3 = {
+        numberMap$4 = {
             '১': '1',
             '২': '2',
             '৩': '3',
         },
         preparse: function (string) {
             return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
-                return numberMap$3[match];
+                return numberMap$4[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$4[match];
+                return symbolMap$5[match];
             });
         },
         meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
 
     //! moment.js locale configuration
 
-    var symbolMap$5 = {
+    var symbolMap$6 = {
             1: '༡',
             2: '༢',
             3: '༣',
             9: '༩',
             0: '༠',
         },
-        numberMap$4 = {
+        numberMap$5 = {
             '༡': '1',
             '༢': '2',
             '༣': '3',
         },
         preparse: function (string) {
             return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
-                return numberMap$4[match];
+                return numberMap$5[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$5[match];
+                return symbolMap$6[match];
             });
         },
         meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
 
     //! moment.js locale configuration
 
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 'm':
+                return withoutSuffix
+                    ? 'jedna minuta'
+                    : isFuture
+                      ? 'jednu minutu'
+                      : 'jedne minute';
+        }
+    }
+
     function translate(number, withoutSuffix, key) {
         var result = number + ' ';
         switch (key) {
                     result += 'sekundi';
                 }
                 return result;
-            case 'm':
-                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
             case 'mm':
                 if (number === 1) {
                     result += 'minuta';
                 }
                 return result;
             case 'h':
-                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+                return withoutSuffix ? 'jedan sat' : 'jedan sat';
             case 'hh':
                 if (number === 1) {
                     result += 'sat';
             past: 'prije %s',
             s: 'par sekundi',
             ss: translate,
-            m: translate,
+            m: processRelativeTime,
             mm: translate,
             h: translate,
             hh: translate,
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
     //! moment.js locale configuration
 
     var months$4 = {
-            format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
-                '_'
-            ),
             standalone:
-                'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
                     '_'
                 ),
+            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                '_'
+            ),
+            isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
         },
         monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
         monthsParse$1 = [
                 var affix = /сехет$/i.exec(output)
                     ? 'рен'
                     : /ҫул$/i.exec(output)
-                    ? 'тан'
-                    : 'ран';
+                      ? 'тан'
+                      : 'ран';
                 return output + affix;
             },
             past: '%s каялла',
 
     //! moment.js locale configuration
 
-    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime,
+            m: processRelativeTime$1,
             mm: '%d Minuten',
-            h: processRelativeTime,
+            h: processRelativeTime$1,
             hh: '%d Stunden',
-            d: processRelativeTime,
-            dd: processRelativeTime,
-            w: processRelativeTime,
+            d: processRelativeTime$1,
+            dd: processRelativeTime$1,
+            w: processRelativeTime$1,
             ww: '%d Wochen',
-            M: processRelativeTime,
-            MM: processRelativeTime,
-            y: processRelativeTime,
-            yy: processRelativeTime,
+            M: processRelativeTime$1,
+            MM: processRelativeTime$1,
+            y: processRelativeTime$1,
+            yy: processRelativeTime$1,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime$1,
+            m: processRelativeTime$2,
             mm: '%d Minuten',
-            h: processRelativeTime$1,
+            h: processRelativeTime$2,
             hh: '%d Stunden',
-            d: processRelativeTime$1,
-            dd: processRelativeTime$1,
-            w: processRelativeTime$1,
+            d: processRelativeTime$2,
+            dd: processRelativeTime$2,
+            w: processRelativeTime$2,
             ww: '%d Wochen',
-            M: processRelativeTime$1,
-            MM: processRelativeTime$1,
-            y: processRelativeTime$1,
-            yy: processRelativeTime$1,
+            M: processRelativeTime$2,
+            MM: processRelativeTime$2,
+            y: processRelativeTime$2,
+            yy: processRelativeTime$2,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eine Minute', 'einer Minute'],
             h: ['eine Stunde', 'einer Stunde'],
             past: 'vor %s',
             s: 'ein paar Sekunden',
             ss: '%d Sekunden',
-            m: processRelativeTime$2,
+            m: processRelativeTime$3,
             mm: '%d Minuten',
-            h: processRelativeTime$2,
+            h: processRelativeTime$3,
             hh: '%d Stunden',
-            d: processRelativeTime$2,
-            dd: processRelativeTime$2,
-            w: processRelativeTime$2,
+            d: processRelativeTime$3,
+            dd: processRelativeTime$3,
+            w: processRelativeTime$3,
             ww: '%d Wochen',
-            M: processRelativeTime$2,
-            MM: processRelativeTime$2,
-            y: processRelativeTime$2,
-            yy: processRelativeTime$2,
+            M: processRelativeTime$3,
+            MM: processRelativeTime$3,
+            y: processRelativeTime$3,
+            yy: processRelativeTime$3,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
             ss: [number + 'sekundi', number + 'sekundit'],
         relativeTime: {
             future: '%s pärast',
             past: '%s tagasi',
-            s: processRelativeTime$3,
-            ss: processRelativeTime$3,
-            m: processRelativeTime$3,
-            mm: processRelativeTime$3,
-            h: processRelativeTime$3,
-            hh: processRelativeTime$3,
-            d: processRelativeTime$3,
+            s: processRelativeTime$4,
+            ss: processRelativeTime$4,
+            m: processRelativeTime$4,
+            mm: processRelativeTime$4,
+            h: processRelativeTime$4,
+            hh: processRelativeTime$4,
+            d: processRelativeTime$4,
             dd: '%d päeva',
-            M: processRelativeTime$3,
-            MM: processRelativeTime$3,
-            y: processRelativeTime$3,
-            yy: processRelativeTime$3,
+            M: processRelativeTime$4,
+            MM: processRelativeTime$4,
+            y: processRelativeTime$4,
+            yy: processRelativeTime$4,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
 
     //! moment.js locale configuration
 
-    var symbolMap$6 = {
+    var symbolMap$7 = {
             1: '۱',
             2: '۲',
             3: '۳',
             9: '۹',
             0: '۰',
         },
-        numberMap$5 = {
+        numberMap$6 = {
             '۱': '1',
             '۲': '2',
             '۳': '3',
         preparse: function (string) {
             return string
                 .replace(/[۰-۹]/g, function (match) {
-                    return numberMap$5[match];
+                    return numberMap$6[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$6[match];
+                    return symbolMap$7[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
             ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
         relativeTime: {
             future: '%s',
             past: '%s आदीं',
-            s: processRelativeTime$4,
-            ss: processRelativeTime$4,
-            m: processRelativeTime$4,
-            mm: processRelativeTime$4,
-            h: processRelativeTime$4,
-            hh: processRelativeTime$4,
-            d: processRelativeTime$4,
-            dd: processRelativeTime$4,
-            M: processRelativeTime$4,
-            MM: processRelativeTime$4,
-            y: processRelativeTime$4,
-            yy: processRelativeTime$4,
+            s: processRelativeTime$5,
+            ss: processRelativeTime$5,
+            m: processRelativeTime$5,
+            mm: processRelativeTime$5,
+            h: processRelativeTime$5,
+            hh: processRelativeTime$5,
+            d: processRelativeTime$5,
+            dd: processRelativeTime$5,
+            M: processRelativeTime$5,
+            MM: processRelativeTime$5,
+            y: processRelativeTime$5,
+            yy: processRelativeTime$5,
         },
         dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
         ordinal: function (number, period) {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['thoddea sekondamni', 'thodde sekond'],
             ss: [number + ' sekondamni', number + ' sekond'],
         relativeTime: {
             future: '%s',
             past: '%s adim',
-            s: processRelativeTime$5,
-            ss: processRelativeTime$5,
-            m: processRelativeTime$5,
-            mm: processRelativeTime$5,
-            h: processRelativeTime$5,
-            hh: processRelativeTime$5,
-            d: processRelativeTime$5,
-            dd: processRelativeTime$5,
-            M: processRelativeTime$5,
-            MM: processRelativeTime$5,
-            y: processRelativeTime$5,
-            yy: processRelativeTime$5,
+            s: processRelativeTime$6,
+            ss: processRelativeTime$6,
+            m: processRelativeTime$6,
+            mm: processRelativeTime$6,
+            h: processRelativeTime$6,
+            hh: processRelativeTime$6,
+            d: processRelativeTime$6,
+            dd: processRelativeTime$6,
+            M: processRelativeTime$6,
+            MM: processRelativeTime$6,
+            y: processRelativeTime$6,
+            yy: processRelativeTime$6,
         },
         dayOfMonthOrdinalParse: /\d{1,2}(er)/,
         ordinal: function (number, period) {
 
     //! moment.js locale configuration
 
-    var symbolMap$7 = {
+    var symbolMap$8 = {
             1: '૧',
             2: '૨',
             3: '૩',
             9: '૯',
             0: '૦',
         },
-        numberMap$6 = {
+        numberMap$7 = {
             '૧': '1',
             '૨': '2',
             '૩': '3',
         },
         preparse: function (string) {
             return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
-                return numberMap$6[match];
+                return numberMap$7[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$7[match];
+                return symbolMap$8[match];
             });
         },
         // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
 
     //! moment.js locale configuration
 
-    var symbolMap$8 = {
+    var symbolMap$9 = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$7 = {
+        numberMap$8 = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$7[match];
+                return numberMap$8[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$8[match];
+                return symbolMap$9[match];
             });
         },
         // Hindi notation for meridiems are quite fuzzy in practice. While there exists
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                     default:
                             (this.hours() > 1
                                 ? 'lle '
                                 : this.hours() === 0
-                                ? ' '
-                                : "ll'") +
+                                  ? ' '
+                                  : "ll'") +
                             ']LT'
                         );
                 }
 
     //! moment.js locale configuration
 
-    var symbolMap$9 = {
+    var symbolMap$a = {
             1: '១',
             2: '២',
             3: '៣',
             9: '៩',
             0: '០',
         },
-        numberMap$8 = {
+        numberMap$9 = {
             '១': '1',
             '២': '2',
             '៣': '3',
         ordinal: 'ទី%d',
         preparse: function (string) {
             return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
-                return numberMap$8[match];
+                return numberMap$9[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$9[match];
+                return symbolMap$a[match];
             });
         },
         week: {
 
     //! moment.js locale configuration
 
-    var symbolMap$a = {
+    var symbolMap$b = {
             1: '೧',
             2: '೨',
             3: '೩',
             9: '೯',
             0: '೦',
         },
-        numberMap$9 = {
+        numberMap$a = {
             '೧': '1',
             '೨': '2',
             '೩': '3',
         },
         preparse: function (string) {
             return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
-                return numberMap$9[match];
+                return numberMap$a[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$a[match];
+                return symbolMap$b[match];
             });
         },
         meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
 
     //! moment.js locale configuration
 
-    var symbolMap$b = {
+    function processRelativeTime$7(num, withoutSuffix, key, isFuture) {
+        var format = {
+            s: ['çend sanîye', 'çend sanîyeyan'],
+            ss: [num + ' sanîye', num + ' sanîyeyan'],
+            m: ['deqîqeyek', 'deqîqeyekê'],
+            mm: [num + ' deqîqe', num + ' deqîqeyan'],
+            h: ['saetek', 'saetekê'],
+            hh: [num + ' saet', num + ' saetan'],
+            d: ['rojek', 'rojekê'],
+            dd: [num + ' roj', num + ' rojan'],
+            w: ['hefteyek', 'hefteyekê'],
+            ww: [num + ' hefte', num + ' hefteyan'],
+            M: ['mehek', 'mehekê'],
+            MM: [num + ' meh', num + ' mehan'],
+            y: ['salek', 'salekê'],
+            yy: [num + ' sal', num + ' salan'],
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    // function obliqueNumSuffix(num) {
+    //     if(num.includes(':'))
+    //         num = parseInt(num.split(':')[0]);
+    //     else
+    //         num = parseInt(num);
+    //     return num == 0 || num % 10 == 1 ? 'ê'
+    //                         : (num > 10 && num % 10 == 0 ? 'î' : 'an');
+    // }
+    function ezafeNumSuffix(num) {
+        num = '' + num;
+        var l = num.substring(num.length - 1),
+            ll = num.length > 1 ? num.substring(num.length - 2) : '';
+        if (
+            !(ll == 12 || ll == 13) &&
+            (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')
+        )
+            return 'yê';
+        return 'ê';
+    }
+
+    hooks.defineLocale('ku-kmr', {
+        // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
+        // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'
+        // But the names below are more well known and handy
+        months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(
+            '_'
+        ),
+        monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),
+        weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),
+        weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),
+        meridiem: function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'bn' : 'BN';
+            } else {
+                return isLower ? 'pn' : 'PN';
+            }
+        },
+        meridiemParse: /bn|BN|pn|PN/,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'Do MMMM[a] YYYY[an]',
+            LLL: 'Do MMMM[a] YYYY[an] HH:mm',
+            LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',
+            ll: 'Do MMM[.] YYYY[an]',
+            lll: 'Do MMM[.] YYYY[an] HH:mm',
+            llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',
+        },
+        calendar: {
+            sameDay: '[Îro di saet] LT [de]',
+            nextDay: '[Sibê di saet] LT [de]',
+            nextWeek: 'dddd [di saet] LT [de]',
+            lastDay: '[Duh di saet] LT [de]',
+            lastWeek: 'dddd[a borî di saet] LT [de]',
+            sameElse: 'L',
+        },
+        relativeTime: {
+            future: 'di %s de',
+            past: 'berî %s',
+            s: processRelativeTime$7,
+            ss: processRelativeTime$7,
+            m: processRelativeTime$7,
+            mm: processRelativeTime$7,
+            h: processRelativeTime$7,
+            hh: processRelativeTime$7,
+            d: processRelativeTime$7,
+            dd: processRelativeTime$7,
+            w: processRelativeTime$7,
+            ww: processRelativeTime$7,
+            M: processRelativeTime$7,
+            MM: processRelativeTime$7,
+            y: processRelativeTime$7,
+            yy: processRelativeTime$7,
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
+        ordinal: function (num, period) {
+            var p = period.toLowerCase();
+            if (p.includes('w') || p.includes('m')) return num + '.';
+
+            return num + ezafeNumSuffix(num);
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4, // The week that contains Jan 4th is the first week of the year.
+        },
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$c = {
             1: '١',
             2: '٢',
             3: '٣',
             9: '٩',
             0: '٠',
         },
-        numberMap$a = {
+        numberMap$b = {
             '١': '1',
             '٢': '2',
             '٣': '3',
         preparse: function (string) {
             return string
                 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
-                    return numberMap$a[match];
+                    return numberMap$b[match];
                 })
                 .replace(/،/g, ',');
         },
         postformat: function (string) {
             return string
                 .replace(/\d/g, function (match) {
-                    return symbolMap$b[match];
+                    return symbolMap$c[match];
                 })
                 .replace(/,/g, '،');
         },
 
     //! moment.js locale configuration
 
-    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$8(number, withoutSuffix, key, isFuture) {
         var format = {
             m: ['eng Minutt', 'enger Minutt'],
             h: ['eng Stonn', 'enger Stonn'],
             past: processPastTime,
             s: 'e puer Sekonnen',
             ss: '%d Sekonnen',
-            m: processRelativeTime$6,
+            m: processRelativeTime$8,
             mm: '%d Minutten',
-            h: processRelativeTime$6,
+            h: processRelativeTime$8,
             hh: '%d Stonnen',
-            d: processRelativeTime$6,
+            d: processRelativeTime$8,
             dd: '%d Deeg',
-            M: processRelativeTime$6,
+            M: processRelativeTime$8,
             MM: '%d Méint',
-            y: processRelativeTime$6,
+            y: processRelativeTime$8,
             yy: '%d Joer',
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         return withoutSuffix
             ? forms(key)[0]
             : isFuture
-            ? forms(key)[1]
-            : forms(key)[2];
+              ? forms(key)[1]
+              : forms(key)[2];
     }
     function special(number) {
         return number % 10 === 0 || (number > 10 && number < 20);
             return number === 1
                 ? wordKey[0]
                 : number >= 2 && number <= 4
-                ? wordKey[1]
-                : wordKey[2];
+                  ? wordKey[1]
+                  : wordKey[2];
         },
         translate: function (number, withoutSuffix, key) {
             var wordKey = translator.words[key];
 
     //! moment.js locale configuration
 
-    var symbolMap$c = {
+    var symbolMap$d = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$b = {
+        numberMap$c = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$b[match];
+                return numberMap$c[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$c[match];
+                return symbolMap$d[match];
             });
         },
         meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
 
     //! moment.js locale configuration
 
-    var symbolMap$d = {
+    var symbolMap$e = {
             1: '၁',
             2: '၂',
             3: '၃',
             9: '၉',
             0: '၀',
         },
-        numberMap$c = {
+        numberMap$d = {
             '၁': '1',
             '၂': '2',
             '၃': '3',
         },
         preparse: function (string) {
             return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
-                return numberMap$c[match];
+                return numberMap$d[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$d[match];
+                return symbolMap$e[match];
             });
         },
         week: {
             ss: '%d sekunder',
             m: 'ett minutt',
             mm: '%d minutter',
-            h: 'en time',
+            h: 'én time',
             hh: '%d timer',
-            d: 'en dag',
+            d: 'én dag',
             dd: '%d dager',
-            w: 'en uke',
+            w: 'én uke',
             ww: '%d uker',
-            M: 'en måned',
+            M: 'én måned',
             MM: '%d måneder',
             y: 'ett år',
             yy: '%d år',
 
     //! moment.js locale configuration
 
-    var symbolMap$e = {
+    var symbolMap$f = {
             1: '१',
             2: '२',
             3: '३',
             9: '९',
             0: '०',
         },
-        numberMap$d = {
+        numberMap$e = {
             '१': '1',
             '२': '2',
             '३': '3',
         },
         preparse: function (string) {
             return string.replace(/[१२३४५६७८९०]/g, function (match) {
-                return numberMap$d[match];
+                return numberMap$e[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$e[match];
+                return symbolMap$f[match];
             });
         },
         meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
         monthsParse$8 = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
         monthsParse$9 = [
             /^jan/i,
             /^feb/i,
-            /^maart|mrt.?$/i,
+            /^(maart|mrt\.?)$/i,
             /^apr/i,
             /^mei$/i,
             /^jun[i.]?$/i,
                 number === 1
                     ? 'r'
                     : number === 2
-                    ? 'n'
-                    : number === 3
-                    ? 'r'
-                    : number === 4
-                    ? 't'
-                    : 'è';
+                      ? 'n'
+                      : number === 3
+                        ? 'r'
+                        : number === 4
+                          ? 't'
+                          : 'è';
             if (period === 'w' || period === 'W') {
                 output = 'a';
             }
 
     //! moment.js locale configuration
 
-    var symbolMap$f = {
+    var symbolMap$g = {
             1: '੧',
             2: '੨',
             3: '੩',
             9: '੯',
             0: '੦',
         },
-        numberMap$e = {
+        numberMap$f = {
             '੧': '1',
             '੨': '2',
             '੩': '3',
         },
         preparse: function (string) {
             return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
-                return numberMap$e[match];
+                return numberMap$f[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$f[match];
+                return symbolMap$g[match];
             });
         },
         // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural$3(number, withoutSuffix, key) {
         var format = {
 
     //! moment.js locale configuration
 
-    function processRelativeTime$7(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$9(number, withoutSuffix, key, isFuture) {
         var result = number + ' ';
         switch (key) {
             case 's':
         relativeTime: {
             future: 'čez %s',
             past: 'pred %s',
-            s: processRelativeTime$7,
-            ss: processRelativeTime$7,
-            m: processRelativeTime$7,
-            mm: processRelativeTime$7,
-            h: processRelativeTime$7,
-            hh: processRelativeTime$7,
-            d: processRelativeTime$7,
-            dd: processRelativeTime$7,
-            M: processRelativeTime$7,
-            MM: processRelativeTime$7,
-            y: processRelativeTime$7,
-            yy: processRelativeTime$7,
+            s: processRelativeTime$9,
+            ss: processRelativeTime$9,
+            m: processRelativeTime$9,
+            mm: processRelativeTime$9,
+            h: processRelativeTime$9,
+            hh: processRelativeTime$9,
+            d: processRelativeTime$9,
+            dd: processRelativeTime$9,
+            M: processRelativeTime$9,
+            MM: processRelativeTime$9,
+            y: processRelativeTime$9,
+            yy: processRelativeTime$9,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
                     ~~((number % 100) / 10) === 1
                         ? ':e'
                         : b === 1
-                        ? ':a'
-                        : b === 2
-                        ? ':a'
-                        : b === 3
-                        ? ':e'
-                        : ':e';
+                          ? ':a'
+                          : b === 2
+                            ? ':a'
+                            : b === 3
+                              ? ':e'
+                              : ':e';
             return number + output;
         },
         week: {
 
     //! moment.js locale configuration
 
-    var symbolMap$g = {
+    var symbolMap$h = {
             1: '௧',
             2: '௨',
             3: '௩',
             9: '௯',
             0: '௦',
         },
-        numberMap$f = {
+        numberMap$g = {
             '௧': '1',
             '௨': '2',
             '௩': '3',
         },
         preparse: function (string) {
             return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
-                return numberMap$f[match];
+                return numberMap$g[match];
             });
         },
         postformat: function (string) {
             return string.replace(/\d/g, function (match) {
-                return symbolMap$g[match];
+                return symbolMap$h[match];
             });
         },
         // refer http://ta.wikipedia.org/s/1er1
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'leS'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'waQ'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'nem'
-                : time + ' pIq';
+                  ? time.slice(0, -3) + 'waQ'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'nem'
+                    : time + ' pIq';
         return time;
     }
 
             output.indexOf('jaj') !== -1
                 ? time.slice(0, -3) + 'Hu’'
                 : output.indexOf('jar') !== -1
-                ? time.slice(0, -3) + 'wen'
-                : output.indexOf('DIS') !== -1
-                ? time.slice(0, -3) + 'ben'
-                : time + ' ret';
+                  ? time.slice(0, -3) + 'wen'
+                  : output.indexOf('DIS') !== -1
+                    ? time.slice(0, -3) + 'ben'
+                    : time + ' ret';
         return time;
     }
 
         relativeTime: {
             future: 'osprei %s',
             past: 'ja%s',
-            s: processRelativeTime$8,
-            ss: processRelativeTime$8,
-            m: processRelativeTime$8,
-            mm: processRelativeTime$8,
-            h: processRelativeTime$8,
-            hh: processRelativeTime$8,
-            d: processRelativeTime$8,
-            dd: processRelativeTime$8,
-            M: processRelativeTime$8,
-            MM: processRelativeTime$8,
-            y: processRelativeTime$8,
-            yy: processRelativeTime$8,
+            s: processRelativeTime$a,
+            ss: processRelativeTime$a,
+            m: processRelativeTime$a,
+            mm: processRelativeTime$a,
+            h: processRelativeTime$a,
+            hh: processRelativeTime$a,
+            d: processRelativeTime$a,
+            dd: processRelativeTime$a,
+            M: processRelativeTime$a,
+            MM: processRelativeTime$a,
+            y: processRelativeTime$a,
+            yy: processRelativeTime$a,
         },
         dayOfMonthOrdinalParse: /\d{1,2}\./,
         ordinal: '%d.',
         },
     });
 
-    function processRelativeTime$8(number, withoutSuffix, key, isFuture) {
+    function processRelativeTime$a(number, withoutSuffix, key, isFuture) {
         var format = {
             s: ['viensas secunds', "'iensas secunds"],
             ss: [number + ' secunds', '' + number + ' secunds'],
         return isFuture
             ? format[key][0]
             : withoutSuffix
-            ? format[key][0]
-            : format[key][1];
+              ? format[key][0]
+              : format[key][1];
     }
 
     //! moment.js locale configuration
         return num % 10 === 1 && num % 100 !== 11
             ? forms[0]
             : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
-            ? forms[1]
-            : forms[2];
+              ? forms[1]
+              : forms[2];
     }
     function relativeTimeWithPlural$4(number, withoutSuffix, key) {
         var format = {
         nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
             ? 'accusative'
             : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
-            ? 'genitive'
-            : 'nominative';
+              ? 'genitive'
+              : 'nominative';
         return weekdays[nounCase][m.day()];
     }
     function processHoursFunction(str) {
                     ~~((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
         week: {
index fb177050ae4d038bc2c83992dc2b55f54cdfe388..7290bab5c48d1b3f39de08479bff6cc2099fdc2e 100644 (file)
@@ -1,2 +1,2 @@
-!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var E;function M(){return E.apply(null,arguments)}function F(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function z(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function N(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(l(e,a))return;return 1}function d(e){return void 0===e}function J(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function R(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function C(e,a){for(var t=[],s=e.length,n=0;n<s;++n)t.push(a(e[n],n));return t}function I(e,a){for(var t in a)l(a,t)&&(e[t]=a[t]);return l(a,"toString")&&(e.toString=a.toString),l(a,"valueOf")&&(e.valueOf=a.valueOf),e}function U(e,a,t,s){return Fa(e,a,t,s,!0).utc()}function h(e){return null==e._pf&&(e._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}),e._pf}function G(e){if(null==e._isValid){var a=h(e),t=B.call(a.parsedDateParts,function(e){return null!=e}),t=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t);if(e._strict&&(t=t&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return t;e._isValid=t}return e._isValid}function V(e){var a=U(NaN);return null!=e?I(h(a),e):h(a).userInvalidated=!0,a}var B=Array.prototype.some||function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1},K=M.momentProperties=[],q=!1;function Z(e,a){var t,s,n,r=K.length;if(d(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),d(a._i)||(e._i=a._i),d(a._f)||(e._f=a._f),d(a._l)||(e._l=a._l),d(a._strict)||(e._strict=a._strict),d(a._tzm)||(e._tzm=a._tzm),d(a._isUTC)||(e._isUTC=a._isUTC),d(a._offset)||(e._offset=a._offset),d(a._pf)||(e._pf=h(a)),d(a._locale)||(e._locale=a._locale),0<r)for(t=0;t<r;t++)d(n=a[s=K[t]])||(e[s]=n);return e}function $(e){Z(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===q&&(q=!0,M.updateOffset(this),q=!1)}function Q(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function X(e){!1===M.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,d){var i=!0;return I(function(){if(null!=M.deprecationHandler&&M.deprecationHandler(null,r),i){for(var e,a,t=[],s=arguments.length,n=0;n<s;n++){if(e="","object"==typeof arguments[n]){for(a in e+="\n["+n+"] ",arguments[0])l(arguments[0],a)&&(e+=a+": "+arguments[0][a]+", ");e=e.slice(0,-2)}else e=arguments[n];t.push(e)}X(r+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),i=!1}return d.apply(this,arguments)},d)}var ee={};function ae(e,a){null!=M.deprecationHandler&&M.deprecationHandler(e,a),ee[e]||(X(a),ee[e]=!0)}function te(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function se(e,a){var t,s=I({},e);for(t in a)l(a,t)&&(z(e[t])&&z(a[t])?(s[t]={},I(s[t],e[t]),I(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)l(e,t)&&!l(a,t)&&z(e[t])&&(s[t]=I({},s[t]));return s}function ne(e){null!=e&&this.set(e)}M.suppressDeprecationWarnings=!1,M.deprecationHandler=null;var re=Object.keys||function(e){var a,t=[];for(a in e)l(e,a)&&t.push(a);return t};function de(e,a,t){var s=""+Math.abs(e);return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,a-s.length)).toString().substr(1)+s}var ie=/(\[[^\[]*\])|(\\)?([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,_e=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,oe={},me={};function s(e,a,t,s){var n="string"==typeof s?function(){return this[s]()}:s;e&&(me[e]=n),a&&(me[a[0]]=function(){return de(n.apply(this,arguments),a[1],a[2])}),t&&(me[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function ue(e,a){return e.isValid()?(a=le(a,e.localeData()),oe[a]=oe[a]||function(s){for(var e,n=s.match(ie),a=0,r=n.length;a<r;a++)me[n[a]]?n[a]=me[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var a="",t=0;t<r;t++)a+=te(n[t])?n[t].call(e,s):n[t];return a}}(a),oe[a](e)):e.localeData().invalidDate()}function le(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(_e.lastIndex=0;0<=t&&_e.test(e);)e=e.replace(_e,s),_e.lastIndex=0,--t;return e}var Me={};function a(e,a){var t=e.toLowerCase();Me[t]=Me[t+"s"]=Me[a]=e}function i(e){return"string"==typeof e?Me[e]||Me[e.toLowerCase()]:void 0}function he(e){var a,t,s={};for(t in e)l(e,t)&&(a=i(t))&&(s[a]=e[t]);return s}var ce={};function t(e,a){ce[e]=a}function Le(e){return e%4==0&&e%100!=0||e%400==0}function u(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function m(e){var e=+e,a=0;return a=0!=e&&isFinite(e)?u(e):a}function Ye(a,t){return function(e){return null!=e?(fe(this,a,e),M.updateOffset(this,t),this):ye(this,a)}}function ye(e,a){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+a]():NaN}function fe(e,a,t){e.isValid()&&!isNaN(t)&&("FullYear"===a&&Le(e.year())&&1===e.month()&&29===e.date()?(t=m(t),e._d["set"+(e._isUTC?"UTC":"")+a](t,e.month(),ze(t,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+a](t))}var n=/\d/,r=/\d\d/,pe=/\d{3}/,ke=/\d{4}/,_=/[+-]?\d{6}/,o=/\d\d?/,c=/\d\d\d\d?/,L=/\d\d\d\d\d\d?/,De=/\d{1,3}/,Y=/\d{1,4}/,y=/[+-]?\d{1,6}/,Te=/\d+/,ge=/[+-]?\d+/,we=/Z|[+-]\d\d:?\d\d/gi,be=/Z|[+-]\d\d(?::?\d\d)?/gi,f=/[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 p(e,t,s){He[e]=te(t)?t:function(e,a){return e&&s?s:t}}function Se(e,a){return l(He,e)?He[e](a._strict,a._locale):new RegExp(k(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function k(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var He={},ve={};function D(e,t){var a,s,n=t;for("string"==typeof e&&(e=[e]),J(t)&&(n=function(e,a){a[t]=m(e)}),s=e.length,a=0;a<s;a++)ve[e[a]]=n}function je(e,n){D(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}var T,g=0,xe=1,Pe=2,w=3,Oe=4,We=5,Ae=6,Ee=7,Fe=8;function ze(e,a){if(isNaN(e)||isNaN(a))return NaN;var t=(a%(t=12)+t)%t;return e+=(a-t)/12,1==t?Le(e)?29:28:31-t%7%2}T=Array.prototype.indexOf||function(e){for(var a=0;a<this.length;++a)if(this[a]===e)return a;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),a("month","M"),t("month",8),p("M",o),p("MM",o,r),p("MMM",function(e,a){return a.monthsShortRegex(e)}),p("MMMM",function(e,a){return a.monthsRegex(e)}),D(["M","MM"],function(e,a){a[xe]=m(e)-1}),D(["MMM","MMMM"],function(e,a,t,s){s=t._locale.monthsParse(e,s,t._strict);null!=s?a[xe]=s:h(t).invalidMonth=e});var Ne="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Je="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Re=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ce=f,Ie=f;function Ue(e,a){var t;if(e.isValid()){if("string"==typeof a)if(/^\d+$/.test(a))a=m(a);else if(!J(a=e.localeData().monthsParse(a)))return;t=Math.min(e.date(),ze(e.year(),a)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](a,t)}}function Ge(e){return null!=e?(Ue(this,e),M.updateOffset(this,!0),this):ye(this,"Month")}function Ve(){function e(e,a){return a.length-e.length}for(var a,t=[],s=[],n=[],r=0;r<12;r++)a=U([2e3,r]),t.push(this.monthsShort(a,"")),s.push(this.months(a,"")),n.push(this.months(a,"")),n.push(this.monthsShort(a,""));for(t.sort(e),s.sort(e),n.sort(e),r=0;r<12;r++)t[r]=k(t[r]),s[r]=k(s[r]);for(r=0;r<24;r++)n[r]=k(n[r]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+t.join("|")+")","i")}function Be(e){return Le(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?de(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),a("year","y"),t("year",1),p("Y",ge),p("YY",o,r),p("YYYY",Y,ke),p("YYYYY",y,_),p("YYYYYY",y,_),D(["YYYYY","YYYYYY"],g),D("YYYY",function(e,a){a[g]=2===e.length?M.parseTwoDigitYear(e):m(e)}),D("YY",function(e,a){a[g]=M.parseTwoDigitYear(e)}),D("Y",function(e,a){a[g]=parseInt(e,10)}),M.parseTwoDigitYear=function(e){return m(e)+(68<m(e)?1900:2e3)};var Ke=Ye("FullYear",!0);function qe(e,a,t,s,n,r,d){var i;return e<100&&0<=e?(i=new Date(e+400,a,t,s,n,r,d),isFinite(i.getFullYear())&&i.setFullYear(e)):i=new Date(e,a,t,s,n,r,d),i}function Ze(e){var a;return e<100&&0<=e?((a=Array.prototype.slice.call(arguments))[0]=e+400,a=new Date(Date.UTC.apply(null,a)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function $e(e,a,t){t=7+a-t;return t-(7+Ze(e,0,t).getUTCDay()-a)%7-1}function Qe(e,a,t,s,n){var r,a=1+7*(a-1)+(7+t-s)%7+$e(e,s,n),t=a<=0?Be(r=e-1)+a:a>Be(e)?(r=e+1,a-Be(e)):(r=e,a);return{year:r,dayOfYear:t}}function Xe(e,a,t){var s,n,r=$e(e.year(),a,t),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+ea(n=e.year()-1,a,t):r>ea(e.year(),a,t)?(s=r-ea(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function ea(e,a,t){var s=$e(e,a,t),a=$e(e+1,a,t);return(Be(e)-s+a)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),a("week","w"),a("isoWeek","W"),t("week",5),t("isoWeek",5),p("w",o),p("ww",o,r),p("W",o),p("WW",o,r),je(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=m(e)});function aa(e,a){return e.slice(a,7).concat(e.slice(0,a))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),a("day","d"),a("weekday","e"),a("isoWeekday","E"),t("day",11),t("weekday",11),t("isoWeekday",11),p("d",o),p("e",o),p("E",o),p("dd",function(e,a){return a.weekdaysMinRegex(e)}),p("ddd",function(e,a){return a.weekdaysShortRegex(e)}),p("dddd",function(e,a){return a.weekdaysRegex(e)}),je(["dd","ddd","dddd"],function(e,a,t,s){s=t._locale.weekdaysParse(e,s,t._strict);null!=s?a.d=s:h(t).invalidWeekday=e}),je(["d","e","E"],function(e,a,t,s){a[s]=m(e)});var ta="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),sa="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),na="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ra=f,da=f,ia=f;function _a(){function e(e,a){return a.length-e.length}for(var a,t,s,n=[],r=[],d=[],i=[],_=0;_<7;_++)s=U([2e3,1]).day(_),a=k(this.weekdaysMin(s,"")),t=k(this.weekdaysShort(s,"")),s=k(this.weekdays(s,"")),n.push(a),r.push(t),d.push(s),i.push(a),i.push(t),i.push(s);n.sort(e),r.sort(e),d.sort(e),i.sort(e),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+n.join("|")+")","i")}function oa(){return this.hours()%12||12}function ma(e,a){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ua(e,a){return a._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,oa),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+oa.apply(this)+de(this.minutes(),2)}),s("hmmss",0,0,function(){return""+oa.apply(this)+de(this.minutes(),2)+de(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+de(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+de(this.minutes(),2)+de(this.seconds(),2)}),ma("a",!0),ma("A",!1),a("hour","h"),t("hour",13),p("a",ua),p("A",ua),p("H",o),p("h",o),p("k",o),p("HH",o,r),p("hh",o,r),p("kk",o,r),p("hmm",c),p("hmmss",L),p("Hmm",c),p("Hmmss",L),D(["H","HH"],w),D(["k","kk"],function(e,a,t){e=m(e);a[w]=24===e?0:e}),D(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),D(["h","hh"],function(e,a,t){a[w]=m(e),h(t).bigHour=!0}),D("hmm",function(e,a,t){var s=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s)),h(t).bigHour=!0}),D("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s,2)),a[We]=m(e.substr(n)),h(t).bigHour=!0}),D("Hmm",function(e,a,t){var s=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s))}),D("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s,2)),a[We]=m(e.substr(n))});f=Ye("Hours",!0);var la,Ma={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:Ne,monthsShort:Je,week:{dow:0,doy:6},weekdays:ta,weekdaysMin:na,weekdaysShort:sa,meridiemParse:/[ap]\.?m?\.?/i},b={},ha={};function ca(e){return e&&e.toLowerCase().replace("_","-")}function La(e){for(var a,t,s,n,r=0;r<e.length;){for(a=(n=ca(e[r]).split("-")).length,t=(t=ca(e[r+1]))?t.split("-"):null;0<a;){if(s=Ya(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s<t;s+=1)if(e[s]!==a[s])return s;return t}(n,t)>=a-1)break;a--}r++}return la}function Ya(a){var e;if(void 0===b[a]&&"undefined"!=typeof module&&module&&module.exports&&null!=a.match("^[^/\\\\]*$"))try{e=la._abbr,require("./locale/"+a),ya(e)}catch(e){b[a]=null}return b[a]}function ya(e,a){return e&&((a=d(a)?pa(e):fa(e,a))?la=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),la._abbr}function fa(e,a){if(null===a)return delete b[e],null;var t,s=Ma;if(a.abbr=e,null!=b[e])ae("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=b[e]._config;else if(null!=a.parentLocale)if(null!=b[a.parentLocale])s=b[a.parentLocale]._config;else{if(null==(t=Ya(a.parentLocale)))return ha[a.parentLocale]||(ha[a.parentLocale]=[]),ha[a.parentLocale].push({name:e,config:a}),null;s=t._config}return b[e]=new ne(se(s,a)),ha[e]&&ha[e].forEach(function(e){fa(e.name,e.config)}),ya(e),b[e]}function pa(e){var a;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return la;if(!F(e)){if(a=Ya(e))return a;e=[e]}return La(e)}function ka(e){var a=e._a;return a&&-2===h(e).overflow&&(a=a[xe]<0||11<a[xe]?xe:a[Pe]<1||a[Pe]>ze(a[g],a[xe])?Pe:a[w]<0||24<a[w]||24===a[w]&&(0!==a[Oe]||0!==a[We]||0!==a[Ae])?w:a[Oe]<0||59<a[Oe]?Oe:a[We]<0||59<a[We]?We:a[Ae]<0||999<a[Ae]?Ae:-1,h(e)._overflowDayOfYear&&(a<g||Pe<a)&&(a=Pe),h(e)._overflowWeeks&&-1===a&&(a=Ee),h(e)._overflowWeekday&&-1===a&&(a=Fe),h(e).overflow=a),e}var Da=/^\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)?)?$/,Ta=/^\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)?)?$/,ga=/Z|[+-]\d\d(?::?\d\d)?/,wa=[["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]],ba=[["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/]],Sa=/^\/?Date\((-?\d+)/i,Ha=/^(?:(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}))$/,va={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ja(e){var a,t,s,n,r,d,i=e._i,_=Da.exec(i)||Ta.exec(i),i=wa.length,o=ba.length;if(_){for(h(e).iso=!0,a=0,t=i;a<t;a++)if(wa[a][1].exec(_[1])){n=wa[a][0],s=!1!==wa[a][2];break}if(null==n)e._isValid=!1;else{if(_[3]){for(a=0,t=o;a<t;a++)if(ba[a][1].exec(_[3])){r=(_[2]||" ")+ba[a][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(_[4]){if(!ga.exec(_[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),Aa(e)}else e._isValid=!1}}else e._isValid=!1}function xa(e,a,t,s,n,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Je.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return r&&e.push(parseInt(r,10)),e}function Pa(e){var a,t,s,n,r=Ha.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));r?(a=xa(r[4],r[3],r[2],r[5],r[6],r[7]),t=r[1],s=a,n=e,t&&sa.indexOf(t)!==new Date(s[0],s[1],s[2]).getDay()?(h(n).weekdayMismatch=!0,n._isValid=!1):(e._a=a,e._tzm=(t=r[8],s=r[9],n=r[10],t?va[t]:s?0:60*(((t=parseInt(n,10))-(s=t%100))/100)+s),e._d=Ze.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),h(e).rfc2822=!0)):e._isValid=!1}function Oa(e,a,t){return null!=e?e:null!=a?a:t}function Wa(e){var a,t,s,n,r,d,i,_,o,m,u,l=[];if(!e._d){for(s=e,n=new Date(M.now()),t=s._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()],e._w&&null==e._a[Pe]&&null==e._a[xe]&&(null!=(n=(s=e)._w).GG||null!=n.W||null!=n.E?(_=1,o=4,r=Oa(n.GG,s._a[g],Xe(S(),1,4).year),d=Oa(n.W,1),((i=Oa(n.E,1))<1||7<i)&&(m=!0)):(_=s._locale._week.dow,o=s._locale._week.doy,u=Xe(S(),_,o),r=Oa(n.gg,s._a[g],u.year),d=Oa(n.w,u.week),null!=n.d?((i=n.d)<0||6<i)&&(m=!0):null!=n.e?(i=n.e+_,(n.e<0||6<n.e)&&(m=!0)):i=_),d<1||d>ea(r,_,o)?h(s)._overflowWeeks=!0:null!=m?h(s)._overflowWeekday=!0:(u=Qe(r,d,i,_,o),s._a[g]=u.year,s._dayOfYear=u.dayOfYear)),null!=e._dayOfYear&&(n=Oa(e._a[g],t[g]),(e._dayOfYear>Be(n)||0===e._dayOfYear)&&(h(e)._overflowDayOfYear=!0),m=Ze(n,0,e._dayOfYear),e._a[xe]=m.getUTCMonth(),e._a[Pe]=m.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=l[a]=t[a];for(;a<7;a++)e._a[a]=l[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[w]&&0===e._a[Oe]&&0===e._a[We]&&0===e._a[Ae]&&(e._nextDay=!0,e._a[w]=0),e._d=(e._useUTC?Ze:qe).apply(null,l),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[w]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(h(e).weekdayMismatch=!0)}}function Aa(e){if(e._f===M.ISO_8601)ja(e);else if(e._f===M.RFC_2822)Pa(e);else{e._a=[],h(e).empty=!0;for(var a,t,s,n,r,d=""+e._i,i=d.length,_=0,o=le(e._f,e._locale).match(ie)||[],m=o.length,u=0;u<m;u++)t=o[u],(a=(d.match(Se(t,e))||[])[0])&&(0<(s=d.substr(0,d.indexOf(a))).length&&h(e).unusedInput.push(s),d=d.slice(d.indexOf(a)+a.length),_+=a.length),me[t]?(a?h(e).empty=!1:h(e).unusedTokens.push(t),s=t,r=e,null!=(n=a)&&l(ve,s)&&ve[s](n,r._a,r,s)):e._strict&&!a&&h(e).unusedTokens.push(t);h(e).charsLeftOver=i-_,0<d.length&&h(e).unusedInput.push(d),e._a[w]<=12&&!0===h(e).bigHour&&0<e._a[w]&&(h(e).bigHour=void 0),h(e).parsedDateParts=e._a.slice(0),h(e).meridiem=e._meridiem,e._a[w]=function(e,a,t){if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):null!=e.isPM?((e=e.isPM(t))&&a<12&&(a+=12),a=e||12!==a?a:0):a}(e._locale,e._a[w],e._meridiem),null!==(i=h(e).era)&&(e._a[g]=e._locale.erasConvertYear(i,e._a[g])),Wa(e),ka(e)}}function Ea(e){var a,t,s,n=e._i,r=e._f;if(e._locale=e._locale||pa(e._l),null===n||void 0===r&&""===n)return V({nullInput:!0});if("string"==typeof n&&(e._i=n=e._locale.preparse(n)),Q(n))return new $(ka(n));if(R(n))e._d=n;else if(F(r))!function(e){var a,t,s,n,r,d,i=!1,_=e._f.length;if(0===_)return h(e).invalidFormat=!0,e._d=new Date(NaN);for(n=0;n<_;n++)r=0,d=!1,a=Z({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n],Aa(a),G(a)&&(d=!0),r=(r+=h(a).charsLeftOver)+10*h(a).unusedTokens.length,h(a).score=r,i?r<s&&(s=r,t=a):(null==s||r<s||d)&&(s=r,t=a,d&&(i=!0));I(e,t||a)}(e);else if(r)Aa(e);else if(d(r=(n=e)._i))n._d=new Date(M.now());else R(r)?n._d=new Date(r.valueOf()):"string"==typeof r?(t=n,null!==(a=Sa.exec(t._i))?t._d=new Date(+a[1]):(ja(t),!1===t._isValid&&(delete t._isValid,Pa(t),!1===t._isValid&&(delete t._isValid,t._strict?t._isValid=!1:M.createFromInputFallback(t))))):F(r)?(n._a=C(r.slice(0),function(e){return parseInt(e,10)}),Wa(n)):z(r)?(a=n)._d||(s=void 0===(t=he(a._i)).day?t.date:t.day,a._a=C([t.year,t.month,s,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Wa(a)):J(r)?n._d=new Date(r):M.createFromInputFallback(n);return G(e)||(e._d=null),e}function Fa(e,a,t,s,n){var r={};return!0!==a&&!1!==a||(s=a,a=void 0),!0!==t&&!1!==t||(s=t,t=void 0),(z(e)&&N(e)||F(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(n=new $(ka(Ea(n=r))))._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function S(e,a,t,s){return Fa(e,a,t,s,!1)}M.createFromInputFallback=e("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),M.ISO_8601=function(){},M.RFC_2822=function(){};c=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=S.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:V()}),L=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=S.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:V()});function za(e,a){var t,s;if(!(a=1===a.length&&F(a[0])?a[0]:a).length)return S();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Na=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ja(e){var e=he(e),a=e.year||0,t=e.quarter||0,s=e.month||0,n=e.week||e.isoWeek||0,r=e.day||0,d=e.hour||0,i=e.minute||0,_=e.second||0,o=e.millisecond||0;this._isValid=function(e){var a,t,s=!1,n=Na.length;for(a in e)if(l(e,a)&&(-1===T.call(Na,a)||null!=e[a]&&isNaN(e[a])))return!1;for(t=0;t<n;++t)if(e[Na[t]]){if(s)return!1;parseFloat(e[Na[t]])!==m(e[Na[t]])&&(s=!0)}return!0}(e),this._milliseconds=+o+1e3*_+6e4*i+1e3*d*60*60,this._days=+r+7*n,this._months=+s+3*t+12*a,this._data={},this._locale=pa(),this._bubble()}function Ra(e){return e instanceof Ja}function Ca(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ia(e,t){s(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+de(~~(e/60),2)+t+de(~~e%60,2)})}Ia("Z",":"),Ia("ZZ",""),p("Z",be),p("ZZ",be),D(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=Ga(be,e)});var Ua=/([\+\-]|\d\d)/gi;function Ga(e,a){var a=(a||"").match(e);return null===a?null:0===(a=60*(e=((a[a.length-1]||[])+"").match(Ua)||["-",0,0])[1]+m(e[2]))?0:"+"===e[0]?a:-a}function Va(e,a){var t;return a._isUTC?(a=a.clone(),t=(Q(e)||R(e)?e:S(e)).valueOf()-a.valueOf(),a._d.setTime(a._d.valueOf()+t),M.updateOffset(a,!1),a):S(e).local()}function Ba(e){return-Math.round(e._d.getTimezoneOffset())}function Ka(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}M.updateOffset=function(){};var qa=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Za=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function $a(e,a){var t,s=e,n=null;return Ra(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:J(e)||!isNaN(+e)?(s={},a?s[a]=+e:s.milliseconds=+e):(n=qa.exec(e))?(t="-"===n[1]?-1:1,s={y:0,d:m(n[Pe])*t,h:m(n[w])*t,m:m(n[Oe])*t,s:m(n[We])*t,ms:m(Ca(1e3*n[Ae]))*t}):(n=Za.exec(e))?(t="-"===n[1]?-1:1,s={y:Qa(n[2],t),M:Qa(n[3],t),w:Qa(n[4],t),d:Qa(n[5],t),h:Qa(n[6],t),m:Qa(n[7],t),s:Qa(n[8],t)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(a=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Va(a,e),e.isBefore(a)?t=Xa(e,a):((t=Xa(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(S(s.from),S(s.to)),(s={}).ms=a.milliseconds,s.M=a.months),n=new Ja(s),Ra(e)&&l(e,"_locale")&&(n._locale=e._locale),Ra(e)&&l(e,"_isValid")&&(n._isValid=e._isValid),n}function Qa(e,a){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*a}function Xa(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function et(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(ae(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),at(this,$a(e,a),s),this}}function at(e,a,t,s){var n=a._milliseconds,r=Ca(a._days),a=Ca(a._months);e.isValid()&&(s=null==s||s,a&&Ue(e,ye(e,"Month")+a*t),r&&fe(e,"Date",ye(e,"Date")+r*t),n&&e._d.setTime(e._d.valueOf()+n*t),s&&M.updateOffset(e,r||a))}$a.fn=Ja.prototype,$a.invalid=function(){return $a(NaN)};Ne=et(1,"add"),ta=et(-1,"subtract");function tt(e){return"string"==typeof e||e instanceof String}function st(e){return Q(e)||R(e)||tt(e)||J(e)||function(a){var e=F(a),t=!1;e&&(t=0===a.filter(function(e){return!J(e)&&tt(a)}).length);return e&&t}(e)||function(e){var a,t,s=z(e)&&!N(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],d=r.length;for(a=0;a<d;a+=1)t=r[a],n=n||l(e,t);return s&&n}(e)||null==e}function nt(e,a){if(e.date()<a.date())return-nt(a,e);var t=12*(a.year()-e.year())+(a.month()-e.month()),s=e.clone().add(t,"months"),a=a-s<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(1+t,"months")-s);return-(t+a)||0}function rt(e){return void 0===e?this._locale._abbr:(null!=(e=pa(e))&&(this._locale=e),this)}M.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",M.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";na=e("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 dt(){return this._locale}var it=126227808e5;function _t(e,a){return(e%a+a)%a}function ot(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-it:new Date(e,a,t).valueOf()}function mt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-it:Date.UTC(e,a,t)}function ut(e,a){return a.erasAbbrRegex(e)}function lt(){for(var e=[],a=[],t=[],s=[],n=this.eras(),r=0,d=n.length;r<d;++r)a.push(k(n[r].name)),e.push(k(n[r].abbr)),t.push(k(n[r].narrow)),s.push(k(n[r].name)),s.push(k(n[r].abbr)),s.push(k(n[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+a.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+t.join("|")+")","i")}function Mt(e,a){s(0,[e,e.length],0,a)}function ht(e,a,t,s,n){var r;return null==e?Xe(this,s,n).year:(r=ea(e,s,n),function(e,a,t,s,n){e=Qe(e,a,t,s,n),a=Ze(e.year,0,e.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,a=r<a?r:a,t,s,n))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),p("N",ut),p("NN",ut),p("NNN",ut),p("NNNN",function(e,a){return a.erasNameRegex(e)}),p("NNNNN",function(e,a){return a.erasNarrowRegex(e)}),D(["N","NN","NNN","NNNN","NNNNN"],function(e,a,t,s){s=t._locale.erasParse(e,s,t._strict);s?h(t).era=s:h(t).invalidEra=e}),p("y",Te),p("yy",Te),p("yyy",Te),p("yyyy",Te),p("yo",function(e,a){return a._eraYearOrdinalRegex||Te}),D(["y","yy","yyy","yyyy"],g),D(["yo"],function(e,a,t,s){var n;t._locale._eraYearOrdinalRegex&&(n=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?a[g]=t._locale.eraYearOrdinalParse(e,n):a[g]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Mt("gggg","weekYear"),Mt("ggggg","weekYear"),Mt("GGGG","isoWeekYear"),Mt("GGGGG","isoWeekYear"),a("weekYear","gg"),a("isoWeekYear","GG"),t("weekYear",1),t("isoWeekYear",1),p("G",ge),p("g",ge),p("GG",o,r),p("gg",o,r),p("GGGG",Y,ke),p("gggg",Y,ke),p("GGGGG",y,_),p("ggggg",y,_),je(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=m(e)}),je(["gg","GG"],function(e,a,t,s){a[s]=M.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),a("quarter","Q"),t("quarter",7),p("Q",n),D("Q",function(e,a){a[xe]=3*(m(e)-1)}),s("D",["DD",2],"Do","date"),a("date","D"),t("date",9),p("D",o),p("DD",o,r),p("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),D(["D","DD"],Pe),D("Do",function(e,a){a[Pe]=m(e.match(o)[0])});Y=Ye("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),a("dayOfYear","DDD"),t("dayOfYear",4),p("DDD",De),p("DDDD",pe),D(["DDD","DDDD"],function(e,a,t){t._dayOfYear=m(e)}),s("m",["mm",2],0,"minute"),a("minute","m"),t("minute",14),p("m",o),p("mm",o,r),D(["m","mm"],Oe);var ct,ke=Ye("Minutes",!1),y=(s("s",["ss",2],0,"second"),a("second","s"),t("second",15),p("s",o),p("ss",o,r),D(["s","ss"],We),Ye("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),a("millisecond","ms"),t("millisecond",16),p("S",De,n),p("SS",De,r),p("SSS",De,pe),ct="SSSS";ct.length<=9;ct+="S")p(ct,Te);function Lt(e,a){a[Ae]=m(1e3*("0."+e))}for(ct="S";ct.length<=9;ct+="S")D(ct,Lt);_=Ye("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");n=$.prototype;function Yt(e){return e}n.add=Ne,n.calendar=function(e,a){1===arguments.length&&(arguments[0]?st(arguments[0])?(e=arguments[0],a=void 0):function(e){for(var a=z(e)&&!N(e),t=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],n=0;n<s.length;n+=1)t=t||l(e,s[n]);return a&&t}(arguments[0])&&(a=arguments[0],e=void 0):a=e=void 0);var e=e||S(),t=Va(e,this).startOf("day"),t=M.calendarFormat(this,t)||"sameElse",a=a&&(te(a[t])?a[t].call(this,e):a[t]);return this.format(a||this.localeData().calendar(t,this,S(e)))},n.clone=function(){return new $(this)},n.diff=function(e,a,t){var s,n,r;if(!this.isValid())return NaN;if(!(s=Va(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=i(a)){case"year":r=nt(this,s)/12;break;case"month":r=nt(this,s);break;case"quarter":r=nt(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-n)/864e5;break;case"week":r=(this-s-n)/6048e5;break;default:r=this-s}return t?r:u(r)},n.endOf=function(e){var a,t;if(void 0===(e=i(e))||"millisecond"===e||!this.isValid())return this;switch(t=this._isUTC?mt:ot,e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-_t(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-_t(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-_t(a,1e3)-1;break}return this._d.setTime(a),M.updateOffset(this,!0),this},n.format=function(e){return e=e||(this.isUtc()?M.defaultFormatUtc:M.defaultFormat),e=ue(this,e),this.localeData().postformat(e)},n.from=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||S(e).isValid())?$a({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},n.fromNow=function(e){return this.from(S(),e)},n.to=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||S(e).isValid())?$a({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},n.toNow=function(e){return this.to(S(),e)},n.get=function(e){return te(this[e=i(e)])?this[e]():this},n.invalidAt=function(){return h(this).overflow},n.isAfter=function(e,a){return e=Q(e)?e:S(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=i(a)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(a).valueOf())},n.isBefore=function(e,a){return e=Q(e)?e:S(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=i(a)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(a).valueOf()<e.valueOf())},n.isBetween=function(e,a,t,s){return e=Q(e)?e:S(e),a=Q(a)?a:S(a),!!(this.isValid()&&e.isValid()&&a.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(e,t):!this.isBefore(e,t))&&(")"===s[1]?this.isBefore(a,t):!this.isAfter(a,t)))},n.isSame=function(e,a){var e=Q(e)?e:S(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(a=i(a)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(a).valueOf()<=e&&e<=this.clone().endOf(a).valueOf()))},n.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},n.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},n.isValid=function(){return G(this)},n.lang=na,n.locale=rt,n.localeData=dt,n.max=L,n.min=c,n.parsingFlags=function(){return I({},h(this))},n.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a,t=[];for(a in e)l(e,a)&&t.push({unit:a,priority:ce[a]});return t.sort(function(e,a){return e.priority-a.priority}),t}(e=he(e)),s=t.length,n=0;n<s;n++)this[t[n].unit](e[t[n].unit]);else if(te(this[e=i(e)]))return this[e](a);return this},n.startOf=function(e){var a,t;if(void 0===(e=i(e))||"millisecond"===e||!this.isValid())return this;switch(t=this._isUTC?mt:ot,e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=_t(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=_t(a,6e4);break;case"second":a=this._d.valueOf(),a-=_t(a,1e3);break}return this._d.setTime(a),M.updateOffset(this,!0),this},n.subtract=ta,n.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},n.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()}},n.toDate=function(){return new Date(this.valueOf())},n.toISOString=function(e){if(!this.isValid())return null;var a=(e=!0!==e)?this.clone().utc():this;return a.year()<0||9999<a.year()?ue(a,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):te(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",ue(a,"Z")):ue(a,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},n.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,a="moment",t="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z"),a="["+a+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(a+e+"-MM-DD[T]HH:mm:ss.SSS"+(t+'[")]'))},"undefined"!=typeof Symbol&&null!=Symbol.for&&(n[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},n.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},n.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].name;if(a[t].until<=e&&e<=a[t].since)return a[t].name}return""},n.eraNarrow=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].narrow;if(a[t].until<=e&&e<=a[t].since)return a[t].narrow}return""},n.eraAbbr=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].abbr;if(a[t].until<=e&&e<=a[t].since)return a[t].abbr}return""},n.eraYear=function(){for(var e,a,t=this.localeData().eras(),s=0,n=t.length;s<n;++s)if(e=t[s].since<=t[s].until?1:-1,a=this.clone().startOf("day").valueOf(),t[s].since<=a&&a<=t[s].until||t[s].until<=a&&a<=t[s].since)return(this.year()-M(t[s].since).year())*e+t[s].offset;return this.year()},n.year=Ke,n.isLeapYear=function(){return Le(this.year())},n.weekYear=function(e){return ht.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},n.isoWeekYear=function(e){return ht.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},n.quarter=n.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},n.month=Ge,n.daysInMonth=function(){return ze(this.year(),this.month())},n.week=n.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},n.isoWeek=n.isoWeeks=function(e){var a=Xe(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},n.weeksInYear=function(){var e=this.localeData()._week;return ea(this.year(),e.dow,e.doy)},n.weeksInWeekYear=function(){var e=this.localeData()._week;return ea(this.weekYear(),e.dow,e.doy)},n.isoWeeksInYear=function(){return ea(this.year(),1,4)},n.isoWeeksInISOWeekYear=function(){return ea(this.isoWeekYear(),1,4)},n.date=Y,n.day=n.days=function(e){if(!this.isValid())return null!=e?this:NaN;var a,t,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(a=e,t=this.localeData(),e="string"!=typeof a?a:isNaN(a)?"number"==typeof(a=t.weekdaysParse(a))?a:null:parseInt(a,10),this.add(e-s,"d")):s},n.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return null==e?a:this.add(e-a,"d")},n.isoWeekday=function(e){return this.isValid()?null!=e?(a=e,t=this.localeData(),t="string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a,this.day(this.day()%7?t:t-7)):this.day()||7:null!=e?this:NaN;var a,t},n.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},n.hour=n.hours=f,n.minute=n.minutes=ke,n.second=n.seconds=y,n.millisecond=n.milliseconds=_,n.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Ba(this);if("string"==typeof e){if(null===(e=Ga(be,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Ba(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?at(this,$a(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,M.updateOffset(this,!0),this._changeInProgress=null)),this},n.utc=function(e){return this.utcOffset(0,e)},n.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ba(this),"m")),this},n.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Ga(we,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},n.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?S(e).utcOffset():0,(this.utcOffset()-e)%60==0)},n.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},n.isLocal=function(){return!!this.isValid()&&!this._isUTC},n.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},n.isUtc=Ka,n.isUTC=Ka,n.zoneAbbr=function(){return this._isUTC?"UTC":""},n.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},n.dates=e("dates accessor is deprecated. Use date instead.",Y),n.months=e("months accessor is deprecated. Use month instead",Ge),n.years=e("years accessor is deprecated. Use year instead",Ke),n.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,a),this):-this.utcOffset()}),n.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!d(this._isDSTShifted))return this._isDSTShifted;var e,a={};return Z(a,this),(a=Ea(a))._a?(e=(a._isUTC?U:S)(a._a),this._isDSTShifted=this.isValid()&&0<function(e,a,t){for(var s=Math.min(e.length,a.length),n=Math.abs(e.length-a.length),r=0,d=0;d<s;d++)(t&&e[d]!==a[d]||!t&&m(e[d])!==m(a[d]))&&r++;return r+n}(a._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});r=ne.prototype;function yt(e,a,t,s){var n=pa(),s=U().set(s,a);return n[t](s,e)}function ft(e,a,t){if(J(e)&&(a=e,e=void 0),e=e||"",null!=a)return yt(e,a,t,"month");for(var s=[],n=0;n<12;n++)s[n]=yt(e,n,t,"month");return s}function pt(e,a,t,s){a=("boolean"==typeof e?J(a)&&(t=a,a=void 0):(a=e,e=!1,J(t=a)&&(t=a,a=void 0)),a||"");var n,r=pa(),d=e?r._week.dow:0,i=[];if(null!=t)return yt(a,(t+d)%7,s,"day");for(n=0;n<7;n++)i[n]=yt(a,(n+d)%7,s,"day");return i}r.calendar=function(e,a,t){return te(e=this._calendar[e]||this._calendar.sameElse)?e.call(a,t):e},r.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.match(ie).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},r.invalidDate=function(){return this._invalidDate},r.ordinal=function(e){return this._ordinal.replace("%d",e)},r.preparse=Yt,r.postformat=Yt,r.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return te(n)?n(e,a,t,s):n.replace(/%d/i,e)},r.pastFuture=function(e,a){return te(e=this._relativeTime[0<e?"future":"past"])?e(a):e.replace(/%s/i,a)},r.set=function(e){var a,t;for(t in e)l(e,t)&&(te(a=e[t])?this[t]=a:this["_"+t]=a);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},r.eras=function(e,a){for(var t,s=this._eras||pa("en")._eras,n=0,r=s.length;n<r;++n){switch(typeof s[n].since){case"string":t=M(s[n].since).startOf("day"),s[n].since=t.valueOf();break}switch(typeof s[n].until){case"undefined":s[n].until=1/0;break;case"string":t=M(s[n].until).startOf("day").valueOf(),s[n].until=t.valueOf();break}}return s},r.erasParse=function(e,a,t){var s,n,r,d,i,_=this.eras();for(e=e.toUpperCase(),s=0,n=_.length;s<n;++s)if(r=_[s].name.toUpperCase(),d=_[s].abbr.toUpperCase(),i=_[s].narrow.toUpperCase(),t)switch(a){case"N":case"NN":case"NNN":if(d===e)return _[s];break;case"NNNN":if(r===e)return _[s];break;case"NNNNN":if(i===e)return _[s];break}else if(0<=[r,d,i].indexOf(e))return _[s]},r.erasConvertYear=function(e,a){var t=e.since<=e.until?1:-1;return void 0===a?M(e.since).year():M(e.since).year()+(a-e.offset)*t},r.erasAbbrRegex=function(e){return l(this,"_erasAbbrRegex")||lt.call(this),e?this._erasAbbrRegex:this._erasRegex},r.erasNameRegex=function(e){return l(this,"_erasNameRegex")||lt.call(this),e?this._erasNameRegex:this._erasRegex},r.erasNarrowRegex=function(e){return l(this,"_erasNarrowRegex")||lt.call(this),e?this._erasNarrowRegex:this._erasRegex},r.months=function(e,a){return e?(F(this._months)?this._months:this._months[(this._months.isFormat||Re).test(a)?"format":"standalone"])[e.month()]:F(this._months)?this._months:this._months.standalone},r.monthsShort=function(e,a){return e?(F(this._monthsShort)?this._monthsShort:this._monthsShort[Re.test(a)?"format":"standalone"])[e.month()]:F(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},r.monthsParse=function(e,a,t){var s,n;if(this._monthsParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=U([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))?n:null:"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))||-1!==(n=T.call(this._longMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))||-1!==(n=T.call(this._shortMonthsParse,e))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=U([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(n="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},r.monthsRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ve.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=Ie),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},r.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ve.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ce),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},r.week=function(e){return Xe(e,this._week.dow,this._week.doy).week},r.firstDayOfYear=function(){return this._week.doy},r.firstDayOfWeek=function(){return this._week.dow},r.weekdays=function(e,a){return a=F(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"],!0===e?aa(a,this._week.dow):e?a[e.day()]:a},r.weekdaysMin=function(e){return!0===e?aa(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},r.weekdaysShort=function(e){return!0===e?aa(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},r.weekdaysParse=function(e,a,t){var s,n;if(this._weekdaysParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=U([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 t?"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=U([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(n="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(n.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},r.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||_a.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=ra),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},r.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||_a.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=da),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},r.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||_a.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ia),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},r.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},r.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ya("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===m(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.lang=e("moment.lang is deprecated. Use moment.locale instead.",ya),M.langData=e("moment.langData is deprecated. Use moment.localeData instead.",pa);var kt=Math.abs;function Dt(e,a,t,s){a=$a(a,t);return e._milliseconds+=s*a._milliseconds,e._days+=s*a._days,e._months+=s*a._months,e._bubble()}function Tt(e){return e<0?Math.floor(e):Math.ceil(e)}function gt(e){return 4800*e/146097}function wt(e){return 146097*e/4800}function bt(e){return function(){return this.as(e)}}De=bt("ms"),pe=bt("s"),Ne=bt("m"),L=bt("h"),c=bt("d"),ta=bt("w"),f=bt("M"),ke=bt("Q"),y=bt("y");function St(e){return function(){return this.isValid()?this._data[e]:NaN}}var _=St("milliseconds"),Y=St("seconds"),Ke=St("minutes"),r=St("hours"),Ht=St("days"),vt=St("months"),jt=St("years");var xt=Math.round,Pt={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Ot(e,a,t,s){var n=$a(e).abs(),r=xt(n.as("s")),d=xt(n.as("m")),i=xt(n.as("h")),_=xt(n.as("d")),o=xt(n.as("M")),m=xt(n.as("w")),n=xt(n.as("y")),r=(r<=t.ss?["s",r]:r<t.s&&["ss",r])||d<=1&&["m"]||d<t.m&&["mm",d]||i<=1&&["h"]||i<t.h&&["hh",i]||_<=1&&["d"]||_<t.d&&["dd",_];return(r=(r=null!=t.w?r||m<=1&&["w"]||m<t.w&&["ww",m]:r)||o<=1&&["M"]||o<t.M&&["MM",o]||n<=1&&["y"]||["yy",n])[2]=a,r[3]=0<+e,r[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,r)}var Wt=Math.abs;function At(e){return(0<e)-(e<0)||+e}function Et(){if(!this.isValid())return this.localeData().invalidDate();var e,a,t,s,n,r,d,i=Wt(this._milliseconds)/1e3,_=Wt(this._days),o=Wt(this._months),m=this.asSeconds();return m?(e=u(i/60),a=u(e/60),i%=60,e%=60,t=u(o/12),o%=12,s=i?i.toFixed(3).replace(/\.?0+$/,""):"",n=At(this._months)!==At(m)?"-":"",r=At(this._days)!==At(m)?"-":"",d=At(this._milliseconds)!==At(m)?"-":"",(m<0?"-":"")+"P"+(t?n+t+"Y":"")+(o?n+o+"M":"")+(_?r+_+"D":"")+(a||e||i?"T":"")+(a?d+a+"H":"")+(e?d+e+"M":"")+(i?d+s+"S":"")):"P0D"}function Ft(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function H(d){return function(e,a,t,s){var n=Ft(e),r=Jt[d][Ft(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function zt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function v(d){return function(e,a,t,s){var n=zt(e),r=Ct[d][zt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Nt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function j(d){return function(e,a,t,s){var n=Nt(e),r=Bt[d][Nt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}var x=Ja.prototype,Jt=(x.isValid=function(){return this._isValid},x.abs=function(){var e=this._data;return this._milliseconds=kt(this._milliseconds),this._days=kt(this._days),this._months=kt(this._months),e.milliseconds=kt(e.milliseconds),e.seconds=kt(e.seconds),e.minutes=kt(e.minutes),e.hours=kt(e.hours),e.months=kt(e.months),e.years=kt(e.years),this},x.add=function(e,a){return Dt(this,e,a,1)},x.subtract=function(e,a){return Dt(this,e,a,-1)},x.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=i(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+gt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(wt(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},x.asMilliseconds=De,x.asSeconds=pe,x.asMinutes=Ne,x.asHours=L,x.asDays=c,x.asWeeks=ta,x.asMonths=f,x.asQuarters=ke,x.asYears=y,x.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*m(this._months/12):NaN},x._bubble=function(){var e=this._milliseconds,a=this._days,t=this._months,s=this._data;return 0<=e&&0<=a&&0<=t||e<=0&&a<=0&&t<=0||(e+=864e5*Tt(wt(t)+a),t=a=0),s.milliseconds=e%1e3,e=u(e/1e3),s.seconds=e%60,e=u(e/60),s.minutes=e%60,e=u(e/60),s.hours=e%24,a+=u(e/24),t+=e=u(gt(a)),a-=Tt(wt(e)),e=u(t/12),t%=12,s.days=a,s.months=t,s.years=e,this},x.clone=function(){return $a(this)},x.get=function(e){return e=i(e),this.isValid()?this[e+"s"]():NaN},x.milliseconds=_,x.seconds=Y,x.minutes=Ke,x.hours=r,x.days=Ht,x.weeks=function(){return u(this.days()/7)},x.months=vt,x.years=jt,x.humanize=function(e,a){if(!this.isValid())return this.localeData().invalidDate();var t=!1,s=Pt;return"object"==typeof e&&(a=e,e=!1),"boolean"==typeof e&&(t=e),"object"==typeof a&&(s=Object.assign({},Pt,a),null!=a.s&&null==a.ss&&(s.ss=a.s-1)),e=this.localeData(),a=Ot(this,!t,s,e),t&&(a=e.pastFuture(+this,a)),e.postformat(a)},x.toISOString=Et,x.toString=Et,x.toJSON=Et,x.locale=rt,x.localeData=dt,x.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Et),x.lang=na,s("X",0,0,"unix"),s("x",0,0,"valueOf"),p("x",ge),p("X",/[+-]?\d+(\.\d{1,3})?/),D("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e))}),D("x",function(e,a,t){t._d=new Date(m(e))}),M.version="2.29.4",E=S,M.fn=n,M.min=function(){return za("isBefore",[].slice.call(arguments,0))},M.max=function(){return za("isAfter",[].slice.call(arguments,0))},M.now=function(){return Date.now?Date.now():+new Date},M.utc=U,M.unix=function(e){return S(1e3*e)},M.months=function(e,a){return ft(e,a,"months")},M.isDate=R,M.locale=ya,M.invalid=V,M.duration=$a,M.isMoment=Q,M.weekdays=function(e,a,t){return pt(e,a,t,"weekdays")},M.parseZone=function(){return S.apply(null,arguments).parseZone()},M.localeData=pa,M.isDuration=Ra,M.monthsShort=function(e,a){return ft(e,a,"monthsShort")},M.weekdaysMin=function(e,a,t){return pt(e,a,t,"weekdaysMin")},M.defineLocale=fa,M.updateLocale=function(e,a){var t,s;return null!=a?(s=Ma,null!=b[e]&&null!=b[e].parentLocale?b[e].set(se(b[e]._config,a)):(a=se(s=null!=(t=Ya(e))?t._config:s,a),null==t&&(a.abbr=e),(s=new ne(a)).parentLocale=b[e],b[e]=s),ya(e)):null!=b[e]&&(null!=b[e].parentLocale?(b[e]=b[e].parentLocale,e===ya()&&ya(e)):null!=b[e]&&delete b[e]),b[e]},M.locales=function(){return re(b)},M.weekdaysShort=function(e,a,t){return pt(e,a,t,"weekdaysShort")},M.normalizeUnits=i,M.relativeTimeRounding=function(e){return void 0===e?xt:"function"==typeof e&&(xt=e,!0)},M.relativeTimeThreshold=function(e,a){return void 0!==Pt[e]&&(void 0===a?Pt[e]:(Pt[e]=a,"s"===e&&(Pt.ss=a-1),!0))},M.calendarFormat=function(e,a){return(e=e.diff(a,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},M.prototype=n,M.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},M.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),{s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]}),De=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Rt=(M.defineLocale("ar-dz",{months:De,monthsShort:De,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:H("s"),ss:H("s"),m:H("m"),mm:H("m"),h:H("h"),hh:H("h"),d:H("d"),dd:H("d"),M:H("M"),MM:H("M"),y:H("y"),yy:H("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),M.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),Ct={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},pe=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],It=(M.defineLocale("ar-ly",{months:pe,monthsShort:pe,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:v("s"),ss:v("s"),m:v("m"),mm:v("m"),h:v("h"),hh:v("h"),d:v("d"),dd:v("d"),M:v("M"),MM:v("M"),y:v("y"),yy:v("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Rt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),M.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Ut={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Gt=(M.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Ut[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return It[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),M.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Vt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Bt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},Ne=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Kt=(M.defineLocale("ar",{months:Ne,monthsShort:Ne,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:j("s"),ss:j("s"),m:j("m"),mm:j("m"),h:j("h"),hh:j("h"),d:j("d"),dd:j("d"),M:j("M"),MM:j("M"),y:j("y"),yy:j("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Vt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Gt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function qt(e,a,t){return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}M.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(Kt[a]||Kt[e%100-a]||Kt[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:qt,mm:qt,h:qt,hh:qt,d:"\u0434\u0437\u0435\u043d\u044c",dd:qt,M:"\u043c\u0435\u0441\u044f\u0446",MM:qt,y:"\u0433\u043e\u0434",yy:qt},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),M.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),M.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Zt={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},$t={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},Qt=(M.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return $t[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Zt[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),Xt={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},es=(M.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return Xt[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Qt[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),as={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function ts(e,a,t){return e+" "+(t={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==(e=e)?t:void 0!==(e={m:"v",b:"v",d:"z"})[(t=t).charAt(0)]?e[t.charAt(0)]+t.substring(1):t)}M.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return as[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return es[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});L=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],c=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,ta=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function ss(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}M.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:ta,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:ta,monthsRegex:c,monthsShortRegex:c,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:L,longMonthsParse:L,shortMonthsParse:L,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:ts,h:"un eur",hh:"%d eur",d:"un devezh",dd:ts,M:"ur miz",MM:ts,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,t){return e<12?"a.m.":"g.m."}}),M.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:ss,m:ss,mm:ss,h:ss,hh:ss,d:"dan",dd:ss,M:"mjesec",MM:ss,y:"godinu",yy:ss},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});f={format:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),standalone:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_")},ke="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),y=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],_=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function ns(e){return 1<e&&e<5&&1!=~~(e/10)}function P(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(ns(e)?"sekundy":"sekund"):n+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(ns(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(ns(e)?"hodiny":"hodin"):n+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(ns(e)?"dny":"dn\xed"):n+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(ns(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(ns(e)?"roky":"let"):n+"lety"}}function rs(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function ds(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function is(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}M.defineLocale("cs",{months:f,monthsShort:ke,monthsRegex:_,monthsShortRegex:_,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:y,longMonthsParse:y,shortMonthsParse:y,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:P,ss:P,m:P,mm:P,h:P,hh:P,d:P,dd:P,M:P,MM:P,y:P,yy:P},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),M.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),M.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:rs,mm:"%d Minuten",h:rs,hh:"%d Stunden",d:rs,dd:rs,w:rs,ww:"%d Wochen",M:rs,MM:rs,y:rs,yy:rs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ds,mm:"%d Minuten",h:ds,hh:"%d Stunden",d:ds,dd:ds,w:ds,ww:"%d Wochen",M:ds,MM:ds,y:ds,yy:ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:is,mm:"%d Minuten",h:is,hh:"%d Stunden",d:is,dd:is,w:is,ww:"%d Wochen",M:is,MM:is,y:is,yy:is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});Y=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],Ke=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];M.defineLocale("dv",{months:Y,monthsShort:Y,weekdays:Ke,weekdaysShort:Ke,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),M.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t,e=this._calendarEl[e],s=a&&a.hours();return t=e,(e="undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),M.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),M.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),M.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var _s="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),os="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ht=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,ms=(M.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?os:_s)[e.month()]:_s},monthsRegex:Ht,monthsShortRegex:Ht,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),us="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),vt=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],jt=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,ls=(M.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?us:ms)[e.month()]:ms},monthsRegex:jt,monthsShortRegex:jt,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:vt,longMonthsParse:vt,shortMonthsParse:vt,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Ms="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),x=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],na=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,hs=(M.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ms:ls)[e.month()]:ls},monthsRegex:na,monthsShortRegex:na,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:x,longMonthsParse:x,shortMonthsParse:x,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),cs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),ge=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],n=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function Ls(e,a,t,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[t][2]||e[t][1]:s?e[t][0]:e[t][1]}M.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?cs:hs)[e.month()]:hs},monthsRegex:n,monthsShortRegex:n,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:ge,longMonthsParse:ge,shortMonthsParse:ge,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),M.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:Ls,ss:Ls,m:Ls,mm:Ls,h:Ls,hh:Ls,d:Ls,dd:"%d p\xe4eva",M:Ls,MM:Ls,y:Ls,yy:Ls},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Ys={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},ys={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},fs=(M.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return ys[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ys[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),ps=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",fs[7],fs[8],fs[9]];function O(e,a,t,s){var n="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":n=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((e=e)<10?(t?ps:fs)[e]:e)+" "+n}M.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:O,ss:O,m:O,mm:O,h:O,hh:O,d:O,dd:O,M:O,MM:O,y:O,yy:O},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),M.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),M.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var De=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,pe=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],ks=(M.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:De,monthsShortRegex:De,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:pe,longMonthsParse:pe,shortMonthsParse:pe,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),Ds="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");M.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ds:ks)[e.month()]:ks},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),M.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function Ts(e,a,t,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[t][0]:e[t][1]}function gs(e,a,t,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[t][0]:e[t][1]}M.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),M.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:Ts,ss:Ts,m:Ts,mm:Ts,h:Ts,hh:Ts,d:Ts,dd:Ts,M:Ts,MM:Ts,y:Ts,yy:Ts},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),M.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:gs,ss:gs,m:gs,mm:gs,h:gs,hh:gs,d:gs,dd:gs,M:gs,MM:gs,y:gs,yy:gs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var ws={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},bs={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},Ss=(M.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return bs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ws[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),M.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),Hs={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},Ne=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function vs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}M.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:Ne,longMonthsParse:Ne,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Hs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ss[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),M.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:vs,m:vs,mm:vs,h:vs,hh:vs,d:"dan",dd:vs,M:"mjesec",MM:vs,y:"godinu",yy:vs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var js="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function xs(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function Ps(e){return(e?"":"[m\xfalt] ")+"["+js[this.day()]+"] LT[-kor]"}function Os(e){return e%100==11||e%10!=1}function Ws(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return Os(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return Os(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return Os(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return Os(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return Os(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return Os(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}M.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Ps.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Ps.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:xs,ss:xs,m:xs,mm:xs,h:xs,hh:xs,d:xs,dd:xs,M:xs,MM:xs,y:xs,yy:xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),M.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),M.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:Ws,ss:Ws,m:Ws,mm:Ws,h:"klukkustund",hh:Ws,d:Ws,dd:Ws,M:Ws,MM:Ws,y:Ws,yy:Ws},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),M.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),M.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,t){return"\u10d8"===t?a+"\u10e8\u10d8":a+t+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var As={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},Es=(M.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(As[e]||As[e%10]||As[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),Fs={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},zs=(M.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return Fs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Es[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),Ns={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"},Js=(M.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return zs[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),M.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Rs={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},ta=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],Cs=(M.defineLocale("ku",{months:ta,monthsShort:ta,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Rs[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function Is(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function Us(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return Us(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return Us(e)}return Us(e/=1e3)}M.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(Cs[e]||Cs[e%10]||Cs[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return Us(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return Us(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Is,mm:"%d Minutten",h:Is,hh:"%d Stonnen",d:Is,dd:"%d Deeg",M:Is,MM:"%d M\xe9int",y:Is,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var Gs={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Vs(e,a,t,s){return a?Ks(t)[0]:s?Ks(t)[1]:Ks(t)[2]}function Bs(e){return e%10==0||10<e&&e<20}function Ks(e){return Gs[e].split("_")}function qs(e,a,t,s){var n=e+" ";return 1===e?n+Vs(0,a,t[0],s):a?n+(Bs(e)?Ks(t)[1]:Ks(t)[0]):s?n+Ks(t)[1]:n+(Bs(e)?Ks(t)[1]:Ks(t)[2])}M.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:qs,m:Vs,mm:qs,h:Vs,hh:qs,d:Vs,dd:qs,M:Vs,MM:qs,y:Vs,yy:qs},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var Zs={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function $s(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Qs(e,a,t){return e+" "+$s(Zs[t],e,a)}function Xs(e,a,t){return $s(Zs[t],e,a)}M.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Qs,m:Xs,mm:Qs,h:Xs,hh:Qs,d:Xs,dd:Qs,M:Xs,MM:Qs,y:Xs,yy:Qs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var en={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=en.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+en.correctGrammaticalCase(e,s)}};function an(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}M.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:en.translate,m:en.translate,mm:en.translate,h:en.translate,hh:en.translate,d:"dan",dd:en.translate,M:"mjesec",MM:en.translate,y:"godinu",yy:en.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),M.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),M.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:an,ss:an,m:an,mm:an,h:an,hh:an,d:an,dd:an,M:an,MM:an,y:an,yy:an},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var tn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},sn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function nn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}M.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:nn,ss:nn,m:nn,mm:nn,h:nn,hh:nn,d:nn,dd:nn,M:nn,MM:nn,y:nn,yy:nn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return tn[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,t){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),M.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),M.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),M.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var rn={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},dn={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},_n=(M.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return dn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return rn[e]})},week:{dow:1,doy:4}}),M.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",w:"en uke",ww:"%d uker",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),on={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},mn=(M.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return on[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _n[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),un="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),c=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],L=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,ln=(M.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?un:mn)[e.month()]:mn},monthsRegex:L,monthsShortRegex:L,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:c,longMonthsParse:c,shortMonthsParse:c,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Mn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],ke=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,hn=(M.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Mn:ln)[e.month()]:ln},monthsRegex:ke,monthsShortRegex:ke,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),M.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),cn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},Ln=(M.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return cn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return hn[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),Yn="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),_=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function yn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function fn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(yn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(yn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(yn(e)?"godziny":"godzin");case"ww":return s+(yn(e)?"tygodnie":"tygodni");case"MM":return s+(yn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(yn(e)?"lata":"lat")}}function pn(e,a,t){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[t]}function kn(e,a,t){return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}M.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?Yn:Ln)[e.month()]:Ln},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:_,longMonthsParse:_,shortMonthsParse:_,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:fn,m:fn,mm:fn,h:fn,hh:fn,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:fn,M:"miesi\u0105c",MM:fn,y:"rok",yy:fn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),M.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:pn,m:"un minut",mm:pn,h:"o or\u0103",hh:pn,d:"o zi",dd:pn,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:pn,M:"o lun\u0103",MM:pn,y:"un an",yy:pn},week:{dow:1,doy:7}});y=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],M.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:y,longMonthsParse:y,shortMonthsParse:y,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:kn,m:kn,mm:kn,h:"\u0447\u0430\u0441",hh:kn,d:"\u0434\u0435\u043d\u044c",dd:kn,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:kn,M:"\u043c\u0435\u0441\u044f\u0446",MM:kn,y:"\u0433\u043e\u0434",yy:kn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),Y=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],Ke=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],M.defineLocale("sd",{months:Y,monthsShort:Y,weekdays:Ke,weekdaysShort:Ke,weekdaysMin:Ke,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),M.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),Ht="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),r="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function Dn(e){return 1<e&&e<5}function Tn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(Dn(e)?"sekundy":"sek\xfand"):n+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(Dn(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(Dn(e)?"hodiny":"hod\xedn"):n+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(Dn(e)?"dni":"dn\xed"):n+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(Dn(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(Dn(e)?"roky":"rokov"):n+"rokmi"}}function gn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}M.defineLocale("sk",{months:Ht,monthsShort:r,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:Tn,ss:Tn,m:Tn,mm:Tn,h:Tn,hh:Tn,d:Tn,dd:Tn,M:Tn,MM:Tn,y:Tn,yy:Tn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:gn,ss:gn,m:gn,mm:gn,h:gn,hh:gn,d:gn,dd:gn,M:gn,MM:gn,y:gn,yy:gn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var W={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=W.words[t];return 1===t.length?"y"===t&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?n[0]:n[1]:(s=W.correctGrammaticalCase(e,n),"yy"===t&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},A=(M.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=A.words[t];return 1===t.length?"y"===t&&a?"jedna godina":s||a?n[0]:n[1]:(s=A.correctGrammaticalCase(e,n),"yy"===t&&a&&"godinu"===s?e+" godina":e+" "+s)}}),wn=(M.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:A.translate,m:A.translate,mm:A.translate,h:A.translate,hh:A.translate,d:A.translate,dd:A.translate,M:A.translate,MM:A.translate,y:A.translate,yy:A.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),M.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),M.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),bn={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},Sn=(M.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return bn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return wn[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),M.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),M.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),Hn=(M.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(Sn[e]||Sn[e%10]||Sn[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),vn=(M.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'unjy";var t=e%10;return e+(Hn[t]||Hn[e%100-t]||Hn[100<=e?100:null])}},week:{dow:1,doy:7}}),M.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function jn(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=vn[a]+"vatlh");0<t&&(s+=(""!==s?" ":"")+vn[t]+"maH");0<e&&(s+=(""!==s?" ":"")+vn[e]);return""===s?"pagh":s}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}M.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:jn,m:"wa\u2019 tup",mm:jn,h:"wa\u2019 rep",hh:jn,d:"wa\u2019 jaj",dd:jn,M:"wa\u2019 jar",MM:jn,y:"wa\u2019 DIS",yy:jn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var xn={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function Pn(e,a,t,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[t][0]:e[t][1]}function On(e,a,t){return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function Wn(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}M.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,t){return e<12?t?"\xf6\xf6":"\xd6\xd6":t?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var t=e%10;return e+(xn[t]||xn[e%100-t]||xn[100<=e?100:null])}},week:{dow:1,doy:7}}),M.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Pn,ss:Pn,m:Pn,mm:Pn,h:Pn,hh:Pn,d:Pn,dd:Pn,M:Pn,MM:Pn,y:Pn,yy:Pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),M.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),M.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),M.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:Wn("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:Wn("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:Wn("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:Wn("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Wn("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return Wn("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:On,m:On,mm:On,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:On,d:"\u0434\u0435\u043d\u044c",dd:On,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:On,y:"\u0440\u0456\u043a",yy:On},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});jt=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],vt=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return M.defineLocale("ur",{months:jt,monthsShort:jt,weekdays:vt,weekdaysShort:vt,weekdaysMin:vt,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),M.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),M.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),M.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),M.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),M.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),M.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.locale("en"),M});
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var E;function c(){return E.apply(null,arguments)}function F(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function z(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function N(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(l(e,a))return;return 1}function L(e){return void 0===e}function J(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function R(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function C(e,a){for(var t=[],s=e.length,n=0;n<s;++n)t.push(a(e[n],n));return t}function I(e,a){for(var t in a)l(a,t)&&(e[t]=a[t]);return l(a,"toString")&&(e.toString=a.toString),l(a,"valueOf")&&(e.valueOf=a.valueOf),e}function U(e,a,t,s){return Na(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._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}),e._pf}function G(e){var a,t,s=e._d&&!isNaN(e._d.getTime());return s&&(a=Y(e),t=q.call(a.parsedDateParts,function(e){return null!=e}),s=a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t),e._strict)&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function V(e){var a=U(NaN);return null!=e?I(Y(a),e):Y(a).userInvalidated=!0,a}var q=Array.prototype.some||function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1},B=c.momentProperties=[],K=!1;function Z(e,a){var t,s,n,r=B.length;if(L(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),L(a._i)||(e._i=a._i),L(a._f)||(e._f=a._f),L(a._l)||(e._l=a._l),L(a._strict)||(e._strict=a._strict),L(a._tzm)||(e._tzm=a._tzm),L(a._isUTC)||(e._isUTC=a._isUTC),L(a._offset)||(e._offset=a._offset),L(a._pf)||(e._pf=Y(a)),L(a._locale)||(e._locale=a._locale),0<r)for(t=0;t<r;t++)L(n=a[s=B[t]])||(e[s]=n);return e}function $(e){Z(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===K&&(K=!0,c.updateOffset(this),K=!1)}function Q(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function X(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,d){var _=!0;return I(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,r),_){for(var e,a,t=[],s=arguments.length,n=0;n<s;n++){if(e="","object"==typeof arguments[n]){for(a in e+="\n["+n+"] ",arguments[0])l(arguments[0],a)&&(e+=a+": "+arguments[0][a]+", ");e=e.slice(0,-2)}else e=arguments[n];t.push(e)}X(r+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),_=!1}return d.apply(this,arguments)},d)}var ee={};function ae(e,a){null!=c.deprecationHandler&&c.deprecationHandler(e,a),ee[e]||(X(a),ee[e]=!0)}function te(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function se(e,a){var t,s=I({},e);for(t in a)l(a,t)&&(z(e[t])&&z(a[t])?(s[t]={},I(s[t],e[t]),I(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)l(e,t)&&!l(a,t)&&z(e[t])&&(s[t]=I({},s[t]));return s}function ne(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null;var re=Object.keys||function(e){var a,t=[];for(a in e)l(e,a)&&t.push(a);return t};function de(e,a,t){var s=""+Math.abs(e);return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,a-s.length)).toString().substr(1)+s}var _e=/(\[[^\[]*\])|(\\)?([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,ie=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,oe={},me={};function s(e,a,t,s){var n="string"==typeof s?function(){return this[s]()}:s;e&&(me[e]=n),a&&(me[a[0]]=function(){return de(n.apply(this,arguments),a[1],a[2])}),t&&(me[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function ue(e,a){return e.isValid()?(a=le(a,e.localeData()),oe[a]=oe[a]||function(s){for(var e,n=s.match(_e),a=0,r=n.length;a<r;a++)me[n[a]]?n[a]=me[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var a="",t=0;t<r;t++)a+=te(n[t])?n[t].call(e,s):n[t];return a}}(a),oe[a](e)):e.localeData().invalidDate()}function le(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(ie.lastIndex=0;0<=t&&ie.test(e);)e=e.replace(ie,s),ie.lastIndex=0,--t;return e}var Me={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function d(e){return"string"==typeof e?Me[e]||Me[e.toLowerCase()]:void 0}function he(e){var a,t,s={};for(t in e)l(e,t)&&(a=d(t))&&(s[a]=e[t]);return s}var ce={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var Le=/\d/,a=/\d\d/,Ye=/\d{3}/,t=/\d{4}/,n=/[+-]?\d{6}/,r=/\d\d?/,ye=/\d\d\d\d?/,_=/\d\d\d\d\d\d?/,fe=/\d{1,3}/,i=/\d{1,4}/,o=/[+-]?\d{1,6}/,ke=/\d+/,pe=/[+-]?\d+/,De=/Z|[+-]\d\d:?\d\d/gi,Te=/Z|[+-]\d\d(?::?\d\d)?/gi,m=/[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,u=/^[1-9]\d?/,M=/^([1-9]\d|\d)/;function h(e,t,s){be[e]=te(t)?t:function(e,a){return e&&s?s:t}}function ge(e,a){return l(be,e)?be[e](a._strict,a._locale):new RegExp(we(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function we(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function f(e){var e=+e,a=0;return a=0!=e&&isFinite(e)?y(e):a}var be={},He={};function k(e,t){var a,s,n=t;for("string"==typeof e&&(e=[e]),J(t)&&(n=function(e,a){a[t]=f(e)}),s=e.length,a=0;a<s;a++)He[e[a]]=n}function Se(e,n){k(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}function ve(e){return e%4==0&&e%100!=0||e%400==0}var p=0,je=1,xe=2,D=3,Pe=4,Oe=5,We=6,Ae=7,Ee=8;function Fe(e){return ve(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?de(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),h("Y",pe),h("YY",r,a),h("YYYY",i,t),h("YYYYY",o,n),h("YYYYYY",o,n),k(["YYYYY","YYYYYY"],p),k("YYYY",function(e,a){a[p]=2===e.length?c.parseTwoDigitYear(e):f(e)}),k("YY",function(e,a){a[p]=c.parseTwoDigitYear(e)}),k("Y",function(e,a){a[p]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return f(e)+(68<f(e)?1900:2e3)};var T,ze=Ne("FullYear",!0);function Ne(a,t){return function(e){return null!=e?(Re(this,a,e),c.updateOffset(this,t),this):Je(this,a)}}function Je(e,a){if(!e.isValid())return NaN;var t=e._d,s=e._isUTC;switch(a){case"Milliseconds":return s?t.getUTCMilliseconds():t.getMilliseconds();case"Seconds":return s?t.getUTCSeconds():t.getSeconds();case"Minutes":return s?t.getUTCMinutes():t.getMinutes();case"Hours":return s?t.getUTCHours():t.getHours();case"Date":return s?t.getUTCDate():t.getDate();case"Day":return s?t.getUTCDay():t.getDay();case"Month":return s?t.getUTCMonth():t.getMonth();case"FullYear":return s?t.getUTCFullYear():t.getFullYear();default:return NaN}}function Re(e,a,t){var s,n,r;if(e.isValid()&&!isNaN(t)){switch(s=e._d,n=e._isUTC,a){case"Milliseconds":return n?s.setUTCMilliseconds(t):s.setMilliseconds(t);case"Seconds":return n?s.setUTCSeconds(t):s.setSeconds(t);case"Minutes":return n?s.setUTCMinutes(t):s.setMinutes(t);case"Hours":return n?s.setUTCHours(t):s.setHours(t);case"Date":return n?s.setUTCDate(t):s.setDate(t);case"FullYear":break;default:return}a=t,r=e.month(),e=29!==(e=e.date())||1!==r||ve(a)?e:28,n?s.setUTCFullYear(a,r,e):s.setFullYear(a,r,e)}}function Ce(e,a){var t;return isNaN(e)||isNaN(a)?NaN:(t=(a%(t=12)+t)%t,e+=(a-t)/12,1==t?ve(e)?29:28:31-t%7%2)}T=Array.prototype.indexOf||function(e){for(var a=0;a<this.length;++a)if(this[a]===e)return a;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),h("M",r,u),h("MM",r,a),h("MMM",function(e,a){return a.monthsShortRegex(e)}),h("MMMM",function(e,a){return a.monthsRegex(e)}),k(["M","MM"],function(e,a){a[je]=f(e)-1}),k(["MMM","MMMM"],function(e,a,t,s){s=t._locale.monthsParse(e,s,t._strict);null!=s?a[je]=s:Y(t).invalidMonth=e});var Ie="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ue="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ge=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ve=m,qe=m;function Be(e,a){if(e.isValid()){if("string"==typeof a)if(/^\d+$/.test(a))a=f(a);else if(!J(a=e.localeData().monthsParse(a)))return;var t=(t=e.date())<29?t:Math.min(t,Ce(e.year(),a));e._isUTC?e._d.setUTCMonth(a,t):e._d.setMonth(a,t)}}function Ke(e){return null!=e?(Be(this,e),c.updateOffset(this,!0),this):Je(this,"Month")}function Ze(){function e(e,a){return a.length-e.length}for(var a,t,s=[],n=[],r=[],d=0;d<12;d++)t=U([2e3,d]),a=we(this.monthsShort(t,"")),t=we(this.months(t,"")),s.push(a),n.push(t),r.push(t),r.push(a);s.sort(e),n.sort(e),r.sort(e),this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function $e(e,a,t,s,n,r,d){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,r,d),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,r,d),_}function Qe(e){var a;return e<100&&0<=e?((a=Array.prototype.slice.call(arguments))[0]=e+400,a=new Date(Date.UTC.apply(null,a)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function Xe(e,a,t){t=7+a-t;return t-(7+Qe(e,0,t).getUTCDay()-a)%7-1}function ea(e,a,t,s,n){var r,a=1+7*(a-1)+(7+t-s)%7+Xe(e,s,n),t=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:t}}function aa(e,a,t){var s,n,r=Xe(e.year(),a,t),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+ta(n=e.year()-1,a,t):r>ta(e.year(),a,t)?(s=r-ta(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function ta(e,a,t){var s=Xe(e,a,t),a=Xe(e+1,a,t);return(Fe(e)-s+a)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),h("w",r,u),h("ww",r,a),h("W",r,u),h("WW",r,a),Se(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=f(e)});function sa(e,a){return e.slice(a,7).concat(e.slice(0,a))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),h("d",r),h("e",r),h("E",r),h("dd",function(e,a){return a.weekdaysMinRegex(e)}),h("ddd",function(e,a){return a.weekdaysShortRegex(e)}),h("dddd",function(e,a){return a.weekdaysRegex(e)}),Se(["dd","ddd","dddd"],function(e,a,t,s){s=t._locale.weekdaysParse(e,s,t._strict);null!=s?a.d=s:Y(t).invalidWeekday=e}),Se(["d","e","E"],function(e,a,t,s){a[s]=f(e)});var na="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ra="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),da="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),_a=m,ia=m,oa=m;function ma(){function e(e,a){return a.length-e.length}for(var a,t,s,n=[],r=[],d=[],_=[],i=0;i<7;i++)s=U([2e3,1]).day(i),a=we(this.weekdaysMin(s,"")),t=we(this.weekdaysShort(s,"")),s=we(this.weekdays(s,"")),n.push(a),r.push(t),d.push(s),_.push(a),_.push(t),_.push(s);n.sort(e),r.sort(e),d.sort(e),_.sort(e),this._weekdaysRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+n.join("|")+")","i")}function ua(){return this.hours()%12||12}function la(e,a){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function Ma(e,a){return a._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,ua),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)}),s("hmmss",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)+de(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+de(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+de(this.minutes(),2)+de(this.seconds(),2)}),la("a",!0),la("A",!1),h("a",Ma),h("A",Ma),h("H",r,M),h("h",r,u),h("k",r,u),h("HH",r,a),h("hh",r,a),h("kk",r,a),h("hmm",ye),h("hmmss",_),h("Hmm",ye),h("Hmmss",_),k(["H","HH"],D),k(["k","kk"],function(e,a,t){e=f(e);a[D]=24===e?0:e}),k(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),k(["h","hh"],function(e,a,t){a[D]=f(e),Y(t).bigHour=!0}),k("hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s)),Y(t).bigHour=!0}),k("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n)),Y(t).bigHour=!0}),k("Hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s))}),k("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n))});m=Ne("Hours",!0);var ha,ca={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:Ie,monthsShort:Ue,week:{dow:0,doy:6},weekdays:na,weekdaysMin:da,weekdaysShort:ra,meridiemParse:/[ap]\.?m?\.?/i},g={},La={};function Ya(e){return e&&e.toLowerCase().replace("_","-")}function ya(e){for(var a,t,s,n,r=0;r<e.length;){for(a=(n=Ya(e[r]).split("-")).length,t=(t=Ya(e[r+1]))?t.split("-"):null;0<a;){if(s=fa(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s<t;s+=1)if(e[s]!==a[s])return s;return t}(n,t)>=a-1)break;a--}r++}return ha}function fa(a){var e,t;if(void 0===g[a]&&"undefined"!=typeof module&&module&&module.exports&&(t=a)&&t.match("^[^/\\\\]*$"))try{e=ha._abbr,require("./locale/"+a),ka(e)}catch(e){g[a]=null}return g[a]}function ka(e,a){return e&&((a=L(a)?Da(e):pa(e,a))?ha=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ha._abbr}function pa(e,a){if(null===a)return delete g[e],null;var t,s=ca;if(a.abbr=e,null!=g[e])ae("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=g[e]._config;else if(null!=a.parentLocale)if(null!=g[a.parentLocale])s=g[a.parentLocale]._config;else{if(null==(t=fa(a.parentLocale)))return La[a.parentLocale]||(La[a.parentLocale]=[]),La[a.parentLocale].push({name:e,config:a}),null;s=t._config}return g[e]=new ne(se(s,a)),La[e]&&La[e].forEach(function(e){pa(e.name,e.config)}),ka(e),g[e]}function Da(e){var a;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return ha;if(!F(e)){if(a=fa(e))return a;e=[e]}return ya(e)}function Ta(e){var a=e._a;return a&&-2===Y(e).overflow&&(a=a[je]<0||11<a[je]?je:a[xe]<1||a[xe]>Ce(a[p],a[je])?xe:a[D]<0||24<a[D]||24===a[D]&&(0!==a[Pe]||0!==a[Oe]||0!==a[We])?D:a[Pe]<0||59<a[Pe]?Pe:a[Oe]<0||59<a[Oe]?Oe:a[We]<0||999<a[We]?We:-1,Y(e)._overflowDayOfYear&&(a<p||xe<a)&&(a=xe),Y(e)._overflowWeeks&&-1===a&&(a=Ae),Y(e)._overflowWeekday&&-1===a&&(a=Ee),Y(e).overflow=a),e}var ga=/^\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)?)?$/,wa=/^\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)?)?$/,ba=/Z|[+-]\d\d(?::?\d\d)?/,Ha=[["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]],Sa=[["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/]],va=/^\/?Date\((-?\d+)/i,ja=/^(?:(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}))$/,xa={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Pa(e){var a,t,s,n,r,d,_=e._i,i=ga.exec(_)||wa.exec(_),_=Ha.length,o=Sa.length;if(i){for(Y(e).iso=!0,a=0,t=_;a<t;a++)if(Ha[a][1].exec(i[1])){n=Ha[a][0],s=!1!==Ha[a][2];break}if(null==n)e._isValid=!1;else{if(i[3]){for(a=0,t=o;a<t;a++)if(Sa[a][1].exec(i[3])){r=(i[2]||" ")+Sa[a][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(i[4]){if(!ba.exec(i[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),Fa(e)}else e._isValid=!1}}else e._isValid=!1}function Oa(e,a,t,s,n,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Ue.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return r&&e.push(parseInt(r,10)),e}function Wa(e){var a,t,s=ja.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));s?(a=Oa(s[4],s[3],s[2],s[5],s[6],s[7]),function(e,a,t){if(!e||ra.indexOf(e)===new Date(a[0],a[1],a[2]).getDay())return 1;Y(t).weekdayMismatch=!0,t._isValid=!1}(s[1],a,e)&&(e._a=a,e._tzm=(a=s[8],t=s[9],s=s[10],a?xa[a]:t?0:60*(((a=parseInt(s,10))-(t=a%100))/100)+t),e._d=Qe.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0)):e._isValid=!1}function Aa(e,a,t){return null!=e?e:null!=a?a:t}function Ea(e){var a,t,s,n,r,d,_,i,o,m,u,l=[];if(!e._d){for(s=e,n=new Date(c.now()),t=s._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()],e._w&&null==e._a[xe]&&null==e._a[je]&&(null!=(n=(s=e)._w).GG||null!=n.W||null!=n.E?(i=1,o=4,r=Aa(n.GG,s._a[p],aa(w(),1,4).year),d=Aa(n.W,1),((_=Aa(n.E,1))<1||7<_)&&(m=!0)):(i=s._locale._week.dow,o=s._locale._week.doy,u=aa(w(),i,o),r=Aa(n.gg,s._a[p],u.year),d=Aa(n.w,u.week),null!=n.d?((_=n.d)<0||6<_)&&(m=!0):null!=n.e?(_=n.e+i,(n.e<0||6<n.e)&&(m=!0)):_=i),d<1||d>ta(r,i,o)?Y(s)._overflowWeeks=!0:null!=m?Y(s)._overflowWeekday=!0:(u=ea(r,d,_,i,o),s._a[p]=u.year,s._dayOfYear=u.dayOfYear)),null!=e._dayOfYear&&(n=Aa(e._a[p],t[p]),(e._dayOfYear>Fe(n)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),m=Qe(n,0,e._dayOfYear),e._a[je]=m.getUTCMonth(),e._a[xe]=m.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=l[a]=t[a];for(;a<7;a++)e._a[a]=l[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[D]&&0===e._a[Pe]&&0===e._a[Oe]&&0===e._a[We]&&(e._nextDay=!0,e._a[D]=0),e._d=(e._useUTC?Qe:$e).apply(null,l),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[D]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(Y(e).weekdayMismatch=!0)}}function Fa(e){if(e._f===c.ISO_8601)Pa(e);else if(e._f===c.RFC_2822)Wa(e);else{e._a=[],Y(e).empty=!0;for(var a,t,s,n,r,d=""+e._i,_=d.length,i=0,o=le(e._f,e._locale).match(_e)||[],m=o.length,u=0;u<m;u++)t=o[u],(a=(d.match(ge(t,e))||[])[0])&&(0<(s=d.substr(0,d.indexOf(a))).length&&Y(e).unusedInput.push(s),d=d.slice(d.indexOf(a)+a.length),i+=a.length),me[t]?(a?Y(e).empty=!1:Y(e).unusedTokens.push(t),s=t,r=e,null!=(n=a)&&l(He,s)&&He[s](n,r._a,r,s)):e._strict&&!a&&Y(e).unusedTokens.push(t);Y(e).charsLeftOver=_-i,0<d.length&&Y(e).unusedInput.push(d),e._a[D]<=12&&!0===Y(e).bigHour&&0<e._a[D]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[D]=function(e,a,t){if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):null!=e.isPM?((e=e.isPM(t))&&a<12&&(a+=12),a=e||12!==a?a:0):a}(e._locale,e._a[D],e._meridiem),null!==(_=Y(e).era)&&(e._a[p]=e._locale.erasConvertYear(_,e._a[p])),Ea(e),Ta(e)}}function za(e){var a,t,s,n=e._i,r=e._f;if(e._locale=e._locale||Da(e._l),null===n||void 0===r&&""===n)return V({nullInput:!0});if("string"==typeof n&&(e._i=n=e._locale.preparse(n)),Q(n))return new $(Ta(n));if(R(n))e._d=n;else if(F(r)){var d,_,i,o,m,u,l=e,M=!1,h=l._f.length;if(0===h)Y(l).invalidFormat=!0,l._d=new Date(NaN);else{for(o=0;o<h;o++)m=0,u=!1,d=Z({},l),null!=l._useUTC&&(d._useUTC=l._useUTC),d._f=l._f[o],Fa(d),G(d)&&(u=!0),m=(m+=Y(d).charsLeftOver)+10*Y(d).unusedTokens.length,Y(d).score=m,M?m<i&&(i=m,_=d):(null==i||m<i||u)&&(i=m,_=d,u)&&(M=!0);I(l,_||d)}}else if(r)Fa(e);else if(L(r=(n=e)._i))n._d=new Date(c.now());else R(r)?n._d=new Date(r.valueOf()):"string"==typeof r?(t=n,null!==(a=va.exec(t._i))?t._d=new Date(+a[1]):(Pa(t),!1===t._isValid&&(delete t._isValid,Wa(t),!1===t._isValid)&&(delete t._isValid,t._strict?t._isValid=!1:c.createFromInputFallback(t)))):F(r)?(n._a=C(r.slice(0),function(e){return parseInt(e,10)}),Ea(n)):z(r)?(a=n)._d||(s=void 0===(t=he(a._i)).day?t.date:t.day,a._a=C([t.year,t.month,s,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Ea(a)):J(r)?n._d=new Date(r):c.createFromInputFallback(n);return G(e)||(e._d=null),e}function Na(e,a,t,s,n){var r={};return!0!==a&&!1!==a||(s=a,a=void 0),!0!==t&&!1!==t||(s=t,t=void 0),(z(e)&&N(e)||F(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(n=new $(Ta(za(n=r))))._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function w(e,a,t,s){return Na(e,a,t,s,!1)}c.createFromInputFallback=e("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};ye=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:V()}),_=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:V()});function Ja(e,a){var t,s;if(!(a=1===a.length&&F(a[0])?a[0]:a).length)return w();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Ra=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ca(e){var e=he(e),a=e.year||0,t=e.quarter||0,s=e.month||0,n=e.week||e.isoWeek||0,r=e.day||0,d=e.hour||0,_=e.minute||0,i=e.second||0,o=e.millisecond||0;this._isValid=function(e){var a,t,s=!1,n=Ra.length;for(a in e)if(l(e,a)&&(-1===T.call(Ra,a)||null!=e[a]&&isNaN(e[a])))return!1;for(t=0;t<n;++t)if(e[Ra[t]]){if(s)return!1;parseFloat(e[Ra[t]])!==f(e[Ra[t]])&&(s=!0)}return!0}(e),this._milliseconds=+o+1e3*i+6e4*_+1e3*d*60*60,this._days=+r+7*n,this._months=+s+3*t+12*a,this._data={},this._locale=Da(),this._bubble()}function Ia(e){return e instanceof Ca}function Ua(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ga(e,t){s(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+de(~~(e/60),2)+t+de(~~e%60,2)})}Ga("Z",":"),Ga("ZZ",""),h("Z",Te),h("ZZ",Te),k(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=qa(Te,e)});var Va=/([\+\-]|\d\d)/gi;function qa(e,a){var a=(a||"").match(e);return null===a?null:0===(a=60*(e=((a[a.length-1]||[])+"").match(Va)||["-",0,0])[1]+f(e[2]))?0:"+"===e[0]?a:-a}function Ba(e,a){var t;return a._isUTC?(a=a.clone(),t=(Q(e)||R(e)?e:w(e)).valueOf()-a.valueOf(),a._d.setTime(a._d.valueOf()+t),c.updateOffset(a,!1),a):w(e).local()}function Ka(e){return-Math.round(e._d.getTimezoneOffset())}function Za(){return!!this.isValid()&&this._isUTC&&0===this._offset}c.updateOffset=function(){};var $a=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Qa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Xa(e,a){var t,s=e;return Ia(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:J(e)||!isNaN(+e)?(s={},a?s[a]=+e:s.milliseconds=+e):(a=$a.exec(e))?(t="-"===a[1]?-1:1,s={y:0,d:f(a[xe])*t,h:f(a[D])*t,m:f(a[Pe])*t,s:f(a[Oe])*t,ms:f(Ua(1e3*a[We]))*t}):(a=Qa.exec(e))?(t="-"===a[1]?-1:1,s={y:et(a[2],t),M:et(a[3],t),w:et(a[4],t),d:et(a[5],t),h:et(a[6],t),m:et(a[7],t),s:et(a[8],t)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(a=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ba(a,e),e.isBefore(a)?t=at(e,a):((t=at(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(w(s.from),w(s.to)),(s={}).ms=a.milliseconds,s.M=a.months),t=new Ca(s),Ia(e)&&l(e,"_locale")&&(t._locale=e._locale),Ia(e)&&l(e,"_isValid")&&(t._isValid=e._isValid),t}function et(e,a){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*a}function at(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function tt(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(ae(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),st(this,Xa(e,a),s),this}}function st(e,a,t,s){var n=a._milliseconds,r=Ua(a._days),a=Ua(a._months);e.isValid()&&(s=null==s||s,a&&Be(e,Je(e,"Month")+a*t),r&&Re(e,"Date",Je(e,"Date")+r*t),n&&e._d.setTime(e._d.valueOf()+n*t),s)&&c.updateOffset(e,r||a)}Xa.fn=Ca.prototype,Xa.invalid=function(){return Xa(NaN)};Ie=tt(1,"add"),na=tt(-1,"subtract");function nt(e){return"string"==typeof e||e instanceof String}function rt(e){return Q(e)||R(e)||nt(e)||J(e)||function(a){var e=F(a),t=!1;e&&(t=0===a.filter(function(e){return!J(e)&&nt(a)}).length);return e&&t}(e)||function(e){var a,t,s=z(e)&&!N(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],d=r.length;for(a=0;a<d;a+=1)t=r[a],n=n||l(e,t);return s&&n}(e)||null==e}function dt(e,a){var t,s;return e.date()<a.date()?-dt(a,e):-((t=12*(a.year()-e.year())+(a.month()-e.month()))+(a-(s=e.clone().add(t,"months"))<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(1+t,"months")-s)))||0}function _t(e){return void 0===e?this._locale._abbr:(null!=(e=Da(e))&&(this._locale=e),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";da=e("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 it(){return this._locale}var ot=126227808e5;function mt(e,a){return(e%a+a)%a}function ut(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-ot:new Date(e,a,t).valueOf()}function lt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-ot:Date.UTC(e,a,t)}function Mt(e,a){return a.erasAbbrRegex(e)}function ht(){for(var e,a,t,s=[],n=[],r=[],d=[],_=this.eras(),i=0,o=_.length;i<o;++i)e=we(_[i].name),a=we(_[i].abbr),t=we(_[i].narrow),n.push(e),s.push(a),r.push(t),d.push(e),d.push(a),d.push(t);this._erasRegex=new RegExp("^("+d.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+n.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function ct(e,a){s(0,[e,e.length],0,a)}function Lt(e,a,t,s,n){var r;return null==e?aa(this,s,n).year:(r=ta(e,s,n),function(e,a,t,s,n){e=ea(e,a,t,s,n),a=Qe(e.year,0,e.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,a=r<a?r:a,t,s,n))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),h("N",Mt),h("NN",Mt),h("NNN",Mt),h("NNNN",function(e,a){return a.erasNameRegex(e)}),h("NNNNN",function(e,a){return a.erasNarrowRegex(e)}),k(["N","NN","NNN","NNNN","NNNNN"],function(e,a,t,s){s=t._locale.erasParse(e,s,t._strict);s?Y(t).era=s:Y(t).invalidEra=e}),h("y",ke),h("yy",ke),h("yyy",ke),h("yyyy",ke),h("yo",function(e,a){return a._eraYearOrdinalRegex||ke}),k(["y","yy","yyy","yyyy"],p),k(["yo"],function(e,a,t,s){var n;t._locale._eraYearOrdinalRegex&&(n=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?a[p]=t._locale.eraYearOrdinalParse(e,n):a[p]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ct("gggg","weekYear"),ct("ggggg","weekYear"),ct("GGGG","isoWeekYear"),ct("GGGGG","isoWeekYear"),h("G",pe),h("g",pe),h("GG",r,a),h("gg",r,a),h("GGGG",i,t),h("gggg",i,t),h("GGGGG",o,n),h("ggggg",o,n),Se(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=f(e)}),Se(["gg","GG"],function(e,a,t,s){a[s]=c.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),h("Q",Le),k("Q",function(e,a){a[je]=3*(f(e)-1)}),s("D",["DD",2],"Do","date"),h("D",r,u),h("DD",r,a),h("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),k(["D","DD"],xe),k("Do",function(e,a){a[xe]=f(e.match(r)[0])});i=Ne("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),h("DDD",fe),h("DDDD",Ye),k(["DDD","DDDD"],function(e,a,t){t._dayOfYear=f(e)}),s("m",["mm",2],0,"minute"),h("m",r,M),h("mm",r,a),k(["m","mm"],Pe);var Yt,t=Ne("Minutes",!1),o=(s("s",["ss",2],0,"second"),h("s",r,M),h("ss",r,a),k(["s","ss"],Oe),Ne("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),h("S",fe,Le),h("SS",fe,a),h("SSS",fe,Ye),Yt="SSSS";Yt.length<=9;Yt+="S")h(Yt,ke);function yt(e,a){a[We]=f(1e3*("0."+e))}for(Yt="S";Yt.length<=9;Yt+="S")k(Yt,yt);n=Ne("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");u=$.prototype;function ft(e){return e}u.add=Ie,u.calendar=function(e,a){1===arguments.length&&(arguments[0]?rt(arguments[0])?(e=arguments[0],a=void 0):function(e){for(var a=z(e)&&!N(e),t=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],n=0;n<s.length;n+=1)t=t||l(e,s[n]);return a&&t}(arguments[0])&&(a=arguments[0],e=void 0):a=e=void 0);var e=e||w(),t=Ba(e,this).startOf("day"),t=c.calendarFormat(this,t)||"sameElse",a=a&&(te(a[t])?a[t].call(this,e):a[t]);return this.format(a||this.localeData().calendar(t,this,w(e)))},u.clone=function(){return new $(this)},u.diff=function(e,a,t){var s,n,r;if(!this.isValid())return NaN;if(!(s=Ba(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=d(a)){case"year":r=dt(this,s)/12;break;case"month":r=dt(this,s);break;case"quarter":r=dt(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-n)/864e5;break;case"week":r=(this-s-n)/6048e5;break;default:r=this-s}return t?r:y(r)},u.endOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-mt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-mt(a,1e3)-1;break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.format=function(e){return e=e||(this.isUtc()?c.defaultFormatUtc:c.defaultFormat),e=ue(this,e),this.localeData().postformat(e)},u.from=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.fromNow=function(e){return this.from(w(),e)},u.to=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.toNow=function(e){return this.to(w(),e)},u.get=function(e){return te(this[e=d(e)])?this[e]():this},u.invalidAt=function(){return Y(this).overflow},u.isAfter=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(a).valueOf())},u.isBefore=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(a).valueOf()<e.valueOf())},u.isBetween=function(e,a,t,s){return e=Q(e)?e:w(e),a=Q(a)?a:w(a),!!(this.isValid()&&e.isValid()&&a.isValid())&&("("===(s=s||"()")[0]?this.isAfter(e,t):!this.isBefore(e,t))&&(")"===s[1]?this.isBefore(a,t):!this.isAfter(a,t))},u.isSame=function(e,a){var e=Q(e)?e:w(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(a).valueOf()<=e&&e<=this.clone().endOf(a).valueOf()))},u.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},u.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},u.isValid=function(){return G(this)},u.lang=da,u.locale=_t,u.localeData=it,u.max=_,u.min=ye,u.parsingFlags=function(){return I({},Y(this))},u.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a,t=[];for(a in e)l(e,a)&&t.push({unit:a,priority:ce[a]});return t.sort(function(e,a){return e.priority-a.priority}),t}(e=he(e)),s=t.length,n=0;n<s;n++)this[t[n].unit](e[t[n].unit]);else if(te(this[e=d(e)]))return this[e](a);return this},u.startOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=mt(a,6e4);break;case"second":a=this._d.valueOf(),a-=mt(a,1e3);break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.subtract=na,u.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},u.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()}},u.toDate=function(){return new Date(this.valueOf())},u.toISOString=function(e){var a;return this.isValid()?(a=(e=!0!==e)?this.clone().utc():this).year()<0||9999<a.year()?ue(a,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):te(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",ue(a,"Z")):ue(a,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ"):null},u.inspect=function(){var e,a,t;return this.isValid()?(a="moment",e="",this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z"),a="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(a+t+"-MM-DD[T]HH:mm:ss.SSS"+(e+'[")]'))):"moment.invalid(/* "+this._i+" */)"},"undefined"!=typeof Symbol&&null!=Symbol.for&&(u[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},u.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},u.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].name;if(a[t].until<=e&&e<=a[t].since)return a[t].name}return""},u.eraNarrow=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].narrow;if(a[t].until<=e&&e<=a[t].since)return a[t].narrow}return""},u.eraAbbr=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].abbr;if(a[t].until<=e&&e<=a[t].since)return a[t].abbr}return""},u.eraYear=function(){for(var e,a,t=this.localeData().eras(),s=0,n=t.length;s<n;++s)if(e=t[s].since<=t[s].until?1:-1,a=this.clone().startOf("day").valueOf(),t[s].since<=a&&a<=t[s].until||t[s].until<=a&&a<=t[s].since)return(this.year()-c(t[s].since).year())*e+t[s].offset;return this.year()},u.year=ze,u.isLeapYear=function(){return ve(this.year())},u.weekYear=function(e){return Lt.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},u.isoWeekYear=function(e){return Lt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},u.quarter=u.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},u.month=Ke,u.daysInMonth=function(){return Ce(this.year(),this.month())},u.week=u.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},u.isoWeek=u.isoWeeks=function(e){var a=aa(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},u.weeksInYear=function(){var e=this.localeData()._week;return ta(this.year(),e.dow,e.doy)},u.weeksInWeekYear=function(){var e=this.localeData()._week;return ta(this.weekYear(),e.dow,e.doy)},u.isoWeeksInYear=function(){return ta(this.year(),1,4)},u.isoWeeksInISOWeekYear=function(){return ta(this.isoWeekYear(),1,4)},u.date=i,u.day=u.days=function(e){var a,t,s;return this.isValid()?(a=Je(this,"Day"),null!=e?(t=e,s=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=s.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-a,"d")):a):null!=e?this:NaN},u.weekday=function(e){var a;return this.isValid()?(a=(this.day()+7-this.localeData()._week.dow)%7,null==e?a:this.add(e-a,"d")):null!=e?this:NaN},u.isoWeekday=function(e){var a,t;return this.isValid()?null!=e?(a=e,t=this.localeData(),t="string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a,this.day(this.day()%7?t:t-7)):this.day()||7:null!=e?this:NaN},u.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},u.hour=u.hours=m,u.minute=u.minutes=t,u.second=u.seconds=o,u.millisecond=u.milliseconds=n,u.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Ka(this);if("string"==typeof e){if(null===(e=qa(Te,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Ka(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?st(this,Xa(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},u.utc=function(e){return this.utcOffset(0,e)},u.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e)&&this.subtract(Ka(this),"m"),this},u.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=qa(De,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},u.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?w(e).utcOffset():0,(this.utcOffset()-e)%60==0)},u.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},u.isLocal=function(){return!!this.isValid()&&!this._isUTC},u.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},u.isUtc=Za,u.isUTC=Za,u.zoneAbbr=function(){return this._isUTC?"UTC":""},u.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},u.dates=e("dates accessor is deprecated. Use date instead.",i),u.months=e("months accessor is deprecated. Use month instead",Ke),u.years=e("years accessor is deprecated. Use year instead",ze),u.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,a),this):-this.utcOffset()}),u.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){var e,a;return L(this._isDSTShifted)&&(Z(e={},this),(e=za(e))._a?(a=(e._isUTC?U:w)(e._a),this._isDSTShifted=this.isValid()&&0<function(e,a,t){for(var s=Math.min(e.length,a.length),n=Math.abs(e.length-a.length),r=0,d=0;d<s;d++)(t&&e[d]!==a[d]||!t&&f(e[d])!==f(a[d]))&&r++;return r+n}(e._a,a.toArray())):this._isDSTShifted=!1),this._isDSTShifted});M=ne.prototype;function kt(e,a,t,s){var n=Da(),s=U().set(s,a);return n[t](s,e)}function pt(e,a,t){if(J(e)&&(a=e,e=void 0),e=e||"",null!=a)return kt(e,a,t,"month");for(var s=[],n=0;n<12;n++)s[n]=kt(e,n,t,"month");return s}function Dt(e,a,t,s){a=("boolean"==typeof e?J(a)&&(t=a,a=void 0):(a=e,e=!1,J(t=a)&&(t=a,a=void 0)),a||"");var n,r=Da(),d=e?r._week.dow:0,_=[];if(null!=t)return kt(a,(t+d)%7,s,"day");for(n=0;n<7;n++)_[n]=kt(a,(n+d)%7,s,"day");return _}M.calendar=function(e,a,t){return te(e=this._calendar[e]||this._calendar.sameElse)?e.call(a,t):e},M.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.match(_e).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},M.invalidDate=function(){return this._invalidDate},M.ordinal=function(e){return this._ordinal.replace("%d",e)},M.preparse=ft,M.postformat=ft,M.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return te(n)?n(e,a,t,s):n.replace(/%d/i,e)},M.pastFuture=function(e,a){return te(e=this._relativeTime[0<e?"future":"past"])?e(a):e.replace(/%s/i,a)},M.set=function(e){var a,t;for(t in e)l(e,t)&&(te(a=e[t])?this[t]=a:this["_"+t]=a);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},M.eras=function(e,a){for(var t,s=this._eras||Da("en")._eras,n=0,r=s.length;n<r;++n){switch(typeof s[n].since){case"string":t=c(s[n].since).startOf("day"),s[n].since=t.valueOf();break}switch(typeof s[n].until){case"undefined":s[n].until=1/0;break;case"string":t=c(s[n].until).startOf("day").valueOf(),s[n].until=t.valueOf();break}}return s},M.erasParse=function(e,a,t){var s,n,r,d,_,i=this.eras();for(e=e.toUpperCase(),s=0,n=i.length;s<n;++s)if(r=i[s].name.toUpperCase(),d=i[s].abbr.toUpperCase(),_=i[s].narrow.toUpperCase(),t)switch(a){case"N":case"NN":case"NNN":if(d===e)return i[s];break;case"NNNN":if(r===e)return i[s];break;case"NNNNN":if(_===e)return i[s];break}else if(0<=[r,d,_].indexOf(e))return i[s]},M.erasConvertYear=function(e,a){var t=e.since<=e.until?1:-1;return void 0===a?c(e.since).year():c(e.since).year()+(a-e.offset)*t},M.erasAbbrRegex=function(e){return l(this,"_erasAbbrRegex")||ht.call(this),e?this._erasAbbrRegex:this._erasRegex},M.erasNameRegex=function(e){return l(this,"_erasNameRegex")||ht.call(this),e?this._erasNameRegex:this._erasRegex},M.erasNarrowRegex=function(e){return l(this,"_erasNarrowRegex")||ht.call(this),e?this._erasNarrowRegex:this._erasRegex},M.months=function(e,a){return e?(F(this._months)?this._months:this._months[(this._months.isFormat||Ge).test(a)?"format":"standalone"])[e.month()]:F(this._months)?this._months:this._months.standalone},M.monthsShort=function(e,a){return e?(F(this._monthsShort)?this._monthsShort:this._monthsShort[Ge.test(a)?"format":"standalone"])[e.month()]:F(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},M.monthsParse=function(e,a,t){var s,n;if(this._monthsParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=U([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))?n:null:"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))||-1!==(n=T.call(this._longMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))||-1!==(n=T.call(this._shortMonthsParse,e))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=U([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(n="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},M.monthsRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=qe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},M.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ve),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},M.week=function(e){return aa(e,this._week.dow,this._week.doy).week},M.firstDayOfYear=function(){return this._week.doy},M.firstDayOfWeek=function(){return this._week.dow},M.weekdays=function(e,a){return a=F(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"],!0===e?sa(a,this._week.dow):e?a[e.day()]:a},M.weekdaysMin=function(e){return!0===e?sa(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},M.weekdaysShort=function(e){return!0===e?sa(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},M.weekdaysParse=function(e,a,t){var s,n;if(this._weekdaysParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=U([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 t?"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=U([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(n="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(n.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},M.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=_a),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},M.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ia),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},M.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=oa),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},M.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},M.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ka("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===f(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.lang=e("moment.lang is deprecated. Use moment.locale instead.",ka),c.langData=e("moment.langData is deprecated. Use moment.localeData instead.",Da);var Tt=Math.abs;function gt(e,a,t,s){a=Xa(a,t);return e._milliseconds+=s*a._milliseconds,e._days+=s*a._days,e._months+=s*a._months,e._bubble()}function wt(e){return e<0?Math.floor(e):Math.ceil(e)}function bt(e){return 4800*e/146097}function Ht(e){return 146097*e/4800}function St(e){return function(){return this.as(e)}}Le=St("ms"),a=St("s"),fe=St("m"),Ye=St("h"),Ie=St("d"),_=St("w"),ye=St("M"),na=St("Q"),m=St("y"),t=Le;function vt(e){return function(){return this.isValid()?this._data[e]:NaN}}var o=vt("milliseconds"),n=vt("seconds"),i=vt("minutes"),ze=vt("hours"),M=vt("days"),jt=vt("months"),xt=vt("years");var Pt=Math.round,Ot={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Wt(e,a,t,s){var n=Xa(e).abs(),r=Pt(n.as("s")),d=Pt(n.as("m")),_=Pt(n.as("h")),i=Pt(n.as("d")),o=Pt(n.as("M")),m=Pt(n.as("w")),n=Pt(n.as("y")),r=(r<=t.ss?["s",r]:r<t.s&&["ss",r])||(d<=1?["m"]:d<t.m&&["mm",d])||(_<=1?["h"]:_<t.h&&["hh",_])||(i<=1?["d"]:i<t.d&&["dd",i]);return(r=(r=null!=t.w?r||(m<=1?["w"]:m<t.w&&["ww",m]):r)||(o<=1?["M"]:o<t.M&&["MM",o])||(n<=1?["y"]:["yy",n]))[2]=a,r[3]=0<+e,r[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,r)}var At=Math.abs;function Et(e){return(0<e)-(e<0)||+e}function Ft(){var e,a,t,s,n,r,d,_,i,o,m;return this.isValid()?(e=At(this._milliseconds)/1e3,a=At(this._days),t=At(this._months),(_=this.asSeconds())?(s=y(e/60),n=y(s/60),e%=60,s%=60,r=y(t/12),t%=12,d=e?e.toFixed(3).replace(/\.?0+$/,""):"",i=Et(this._months)!==Et(_)?"-":"",o=Et(this._days)!==Et(_)?"-":"",m=Et(this._milliseconds)!==Et(_)?"-":"",(_<0?"-":"")+"P"+(r?i+r+"Y":"")+(t?i+t+"M":"")+(a?o+a+"D":"")+(n||s||e?"T":"")+(n?m+n+"H":"")+(s?m+s+"M":"")+(e?m+d+"S":"")):"P0D"):this.localeData().invalidDate()}function zt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function b(d){return function(e,a,t,s){var n=zt(e),r=Rt[d][zt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Nt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function H(d){return function(e,a,t,s){var n=Nt(e),r=It[d][Nt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Jt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function S(d){return function(e,a,t,s){var n=Jt(e),r=Zt[d][Jt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}var v=Ca.prototype,Rt=(v.isValid=function(){return this._isValid},v.abs=function(){var e=this._data;return this._milliseconds=Tt(this._milliseconds),this._days=Tt(this._days),this._months=Tt(this._months),e.milliseconds=Tt(e.milliseconds),e.seconds=Tt(e.seconds),e.minutes=Tt(e.minutes),e.hours=Tt(e.hours),e.months=Tt(e.months),e.years=Tt(e.years),this},v.add=function(e,a){return gt(this,e,a,1)},v.subtract=function(e,a){return gt(this,e,a,-1)},v.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=d(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+bt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(Ht(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},v.asMilliseconds=Le,v.asSeconds=a,v.asMinutes=fe,v.asHours=Ye,v.asDays=Ie,v.asWeeks=_,v.asMonths=ye,v.asQuarters=na,v.asYears=m,v.valueOf=t,v._bubble=function(){var e=this._milliseconds,a=this._days,t=this._months,s=this._data;return 0<=e&&0<=a&&0<=t||e<=0&&a<=0&&t<=0||(e+=864e5*wt(Ht(t)+a),t=a=0),s.milliseconds=e%1e3,e=y(e/1e3),s.seconds=e%60,e=y(e/60),s.minutes=e%60,e=y(e/60),s.hours=e%24,a+=y(e/24),t+=e=y(bt(a)),a-=wt(Ht(e)),e=y(t/12),t%=12,s.days=a,s.months=t,s.years=e,this},v.clone=function(){return Xa(this)},v.get=function(e){return e=d(e),this.isValid()?this[e+"s"]():NaN},v.milliseconds=o,v.seconds=n,v.minutes=i,v.hours=ze,v.days=M,v.weeks=function(){return y(this.days()/7)},v.months=jt,v.years=xt,v.humanize=function(e,a){var t,s;return this.isValid()?(t=!1,s=Ot,"object"==typeof e&&(a=e,e=!1),"boolean"==typeof e&&(t=e),"object"==typeof a&&(s=Object.assign({},Ot,a),null!=a.s)&&null==a.ss&&(s.ss=a.s-1),e=this.localeData(),a=Wt(this,!t,s,e),t&&(a=e.pastFuture(+this,a)),e.postformat(a)):this.localeData().invalidDate()},v.toISOString=Ft,v.toString=Ft,v.toJSON=Ft,v.locale=_t,v.localeData=it,v.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ft),v.lang=da,s("X",0,0,"unix"),s("x",0,0,"valueOf"),h("x",pe),h("X",/[+-]?\d+(\.\d{1,3})?/),k("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e))}),k("x",function(e,a,t){t._d=new Date(f(e))}),c.version="2.30.0",E=w,c.fn=u,c.min=function(){return Ja("isBefore",[].slice.call(arguments,0))},c.max=function(){return Ja("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=U,c.unix=function(e){return w(1e3*e)},c.months=function(e,a){return pt(e,a,"months")},c.isDate=R,c.locale=ka,c.invalid=V,c.duration=Xa,c.isMoment=Q,c.weekdays=function(e,a,t){return Dt(e,a,t,"weekdays")},c.parseZone=function(){return w.apply(null,arguments).parseZone()},c.localeData=Da,c.isDuration=Ia,c.monthsShort=function(e,a){return pt(e,a,"monthsShort")},c.weekdaysMin=function(e,a,t){return Dt(e,a,t,"weekdaysMin")},c.defineLocale=pa,c.updateLocale=function(e,a){var t,s;return null!=a?(s=ca,null!=g[e]&&null!=g[e].parentLocale?g[e].set(se(g[e]._config,a)):(a=se(s=null!=(t=fa(e))?t._config:s,a),null==t&&(a.abbr=e),(s=new ne(a)).parentLocale=g[e],g[e]=s),ka(e)):null!=g[e]&&(null!=g[e].parentLocale?(g[e]=g[e].parentLocale,e===ka()&&ka(e)):null!=g[e]&&delete g[e]),g[e]},c.locales=function(){return re(g)},c.weekdaysShort=function(e,a,t){return Dt(e,a,t,"weekdaysShort")},c.normalizeUnits=d,c.relativeTimeRounding=function(e){return void 0===e?Pt:"function"==typeof e&&(Pt=e,!0)},c.relativeTimeThreshold=function(e,a){return void 0!==Ot[e]&&(void 0===a?Ot[e]:(Ot[e]=a,"s"===e&&(Ot.ss=a-1),!0))},c.calendarFormat=function(e,a){return(e=e.diff(a,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},c.prototype=u,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},c.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),{s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]}),Le=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ct=(c.defineLocale("ar-dz",{months:Le,monthsShort:Le,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:b("s"),ss:b("s"),m:b("m"),mm:b("m"),h:b("h"),hh:b("h"),d:b("d"),dd:b("d"),M:b("M"),MM:b("M"),y:b("y"),yy:b("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),c.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),It={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},a=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ut=(c.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:H("s"),ss:H("s"),m:H("m"),mm:H("m"),h:H("h"),hh:H("h"),d:H("d"),dd:H("d"),M:H("M"),MM:H("M"),y:H("y"),yy:H("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ct[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),c.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Gt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Vt=(c.defineLocale("ar-ps",{months:"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0634\u0631\u064a \u0627\u0644\u0623\u0648\u0651\u0644_\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0651\u0644".split("_"),monthsShort:"\u0643\u0662_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0661_\u062a\u0662_\u0643\u0661".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/[\u0661\u0662](?![\u062a\u0643])/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ut[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),qt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Bt=(c.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return qt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Vt[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),c.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Kt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Zt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},fe=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],$t=(c.defineLocale("ar",{months:fe,monthsShort:fe,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:S("s"),ss:S("s"),m:S("m"),mm:S("m"),h:S("h"),hh:S("h"),d:S("d"),dd:S("d"),M:S("M"),MM:S("M"),y:S("y"),yy:S("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Kt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Bt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function Qt(e,a,t){return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){var a;return 0===e?e+"-\u0131nc\u0131":e+($t[a=e%10]||$t[e%100-a]||$t[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:Qt,mm:Qt,h:Qt,hh:Qt,d:"\u0434\u0437\u0435\u043d\u044c",dd:Qt,M:"\u043c\u0435\u0441\u044f\u0446",MM:Qt,y:"\u0433\u043e\u0434",yy:Qt},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Xt={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},es={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},as=(c.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return es[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Xt[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),ts={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},ss=(c.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ts[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return as[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),ns={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function rs(e,a,t){return e+" "+(t={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==(e=e)?t:void 0!==(e={m:"v",b:"v",d:"z"})[(t=t).charAt(0)]?e[t.charAt(0)]+t.substring(1):t)}c.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ss[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});Ye=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],Ie=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,_=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function ds(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return"jedan sat";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:_,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:_,monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:rs,h:"un eur",hh:"%d eur",d:"un devezh",dd:rs,M:"ur miz",MM:rs,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,t){return e<12?"a.m.":"g.m."}}),c.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:ds,m:function(e,a,t,s){switch(t){case"m":return a?"jedna minuta":s?"jednu minutu":"jedne minute"}},mm:ds,h:ds,hh:ds,d:"dan",dd:ds,M:"mjesec",MM:ds,y:"godinu",yy:ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});ye={standalone:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),format:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_"),isFormat:/DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/},na="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),m=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],t=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function _s(e){return 1<e&&e<5&&1!=~~(e/10)}function j(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(_s(e)?"sekundy":"sekund"):n+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(_s(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(_s(e)?"hodiny":"hodin"):n+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(_s(e)?"dny":"dn\xed"):n+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(_s(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(_s(e)?"roky":"let"):n+"lety"}}function is(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function os(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function ms(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}c.defineLocale("cs",{months:ye,monthsShort:na,monthsRegex:t,monthsShortRegex:t,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:j,ss:j,m:j,mm:j,h:j,hh:j,d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),c.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),c.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:is,mm:"%d Minuten",h:is,hh:"%d Stunden",d:is,dd:is,w:is,ww:"%d Wochen",M:is,MM:is,y:is,yy:is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:os,mm:"%d Minuten",h:os,hh:"%d Stunden",d:os,dd:os,w:os,ww:"%d Wochen",M:os,MM:os,y:os,yy:os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ms,mm:"%d Minuten",h:ms,hh:"%d Stunden",d:ms,dd:ms,w:ms,ww:"%d Wochen",M:ms,MM:ms,y:ms,yy:ms},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});o=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];c.defineLocale("dv",{months:o,monthsShort:o,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),c.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t,e=this._calendarEl[e],s=a&&a.hours();return t=e,(e="undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),c.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),c.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),c.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},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"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var us="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],ze=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ms=(c.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ls:us)[e.month()]:us},monthsRegex:ze,monthsShortRegex:ze,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),hs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),M=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],jt=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,cs=(c.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?hs:Ms)[e.month()]:Ms},monthsRegex:jt,monthsShortRegex:jt,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:M,longMonthsParse:M,shortMonthsParse:M,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),xt=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],v=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ys=(c.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ls:cs)[e.month()]:cs},monthsRegex:v,monthsShortRegex:v,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:xt,longMonthsParse:xt,shortMonthsParse:xt,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ys="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),da=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],pe=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function fs(e,a,t,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[t][2]||e[t][1]:s?e[t][0]:e[t][1]}c.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ys:Ys)[e.month()]:Ys},monthsRegex:pe,monthsShortRegex:pe,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:da,longMonthsParse:da,shortMonthsParse:da,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),c.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:fs,ss:fs,m:fs,mm:fs,h:fs,hh:fs,d:fs,dd:"%d p\xe4eva",M:fs,MM:fs,y:fs,yy:fs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var ks={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},ps={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},Ds=(c.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return ps[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ks[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),Ts=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Ds[7],Ds[8],Ds[9]];function x(e,a,t,s){var n="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":n=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((e=e)<10?(t?Ts:Ds)[e]:e)+" "+n}c.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),c.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var u=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,Le=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],gs=(c.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:u,monthsShortRegex:u,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:Le,longMonthsParse:Le,shortMonthsParse:Le,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),ws="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");c.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ws:gs)[e.month()]:gs},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function P(e,a,t,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[t][0]:e[t][1]}function bs(e,a,t,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[t][0]:e[t][1]}c.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),c.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:P,ss:P,m:P,mm:P,h:P,hh:P,d:P,dd:P,M:P,MM:P,y:P,yy:P},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),c.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:bs,ss:bs,m:bs,mm:bs,h:bs,hh:bs,d:bs,dd:bs,M:bs,MM:bs,y:bs,yy:bs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var Hs={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Ss={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},vs=(c.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Ss[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hs[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),c.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),js={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},a=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function xs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:a,longMonthsParse:a,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return js[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return vs[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),c.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:xs,m:xs,mm:xs,h:xs,hh:xs,d:"dan",dd:xs,M:"mjesec",MM:xs,y:"godinu",yy:xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Ps="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Os(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function Ws(e){return(e?"":"[m\xfalt] ")+"["+Ps[this.day()]+"] LT[-kor]"}function As(e){return e%100==11||e%10!=1}function Es(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return As(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return As(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return As(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return As(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return As(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return As(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}c.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Ws.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Ws.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Os,ss:Os,m:Os,mm:Os,h:Os,hh:Os,d:Os,dd:Os,M:Os,MM:Os,y:Os,yy:Os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),c.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:Es,ss:Es,m:Es,mm:Es,h:"klukkustund",hh:Es,d:Es,dd:Es,M:Es,MM:Es,y:Es,yy:Es},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),c.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),c.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,t){return"\u10d8"===t?a+"\u10e8\u10d8":a+t+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var Fs={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},zs=(c.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(Fs[e]||Fs[e%10]||Fs[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),Ns={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},Js=(c.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return Ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return zs[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),Rs={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};function O(e,a,t,s){e={s:["\xe7end san\xeeye","\xe7end san\xeeyeyan"],ss:[e+" san\xeeye",e+" san\xeeyeyan"],m:["deq\xeeqeyek","deq\xeeqeyek\xea"],mm:[e+" deq\xeeqe",e+" deq\xeeqeyan"],h:["saetek","saetek\xea"],hh:[e+" saet",e+" saetan"],d:["rojek","rojek\xea"],dd:[e+" roj",e+" rojan"],w:["hefteyek","hefteyek\xea"],ww:[e+" hefte",e+" hefteyan"],M:["mehek","mehek\xea"],MM:[e+" meh",e+" mehan"],y:["salek","salek\xea"],yy:[e+" sal",e+" salan"]};return a?e[t][0]:e[t][1]}c.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Rs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),c.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),c.defineLocale("ku-kmr",{months:"R\xeabendan_Sibat_Adar_N\xeesan_Gulan_Hez\xeeran_T\xeermeh_Tebax_\xcelon_Cotmeh_Mijdar_Berfanbar".split("_"),monthsShort:"R\xeab_Sib_Ada_N\xees_Gul_Hez_T\xeer_Teb_\xcelo_Cot_Mij_Ber".split("_"),monthsParseExact:!0,weekdays:"Yek\u015fem_Du\u015fem_S\xea\u015fem_\xc7ar\u015fem_P\xeanc\u015fem_\xcen_\u015eem\xee".split("_"),weekdaysShort:"Yek_Du_S\xea_\xc7ar_P\xean_\xcen_\u015eem".split("_"),weekdaysMin:"Ye_Du_S\xea_\xc7a_P\xea_\xcen_\u015ee".split("_"),meridiem:function(e,a,t){return e<12?t?"bn":"BN":t?"pn":"PN"},meridiemParse:/bn|BN|pn|PN/,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM[a] YYYY[an]",LLL:"Do MMMM[a] YYYY[an] HH:mm",LLLL:"dddd, Do MMMM[a] YYYY[an] HH:mm",ll:"Do MMM[.] YYYY[an]",lll:"Do MMM[.] YYYY[an] HH:mm",llll:"ddd[.], Do MMM[.] YYYY[an] HH:mm"},calendar:{sameDay:"[\xcero di saet] LT [de]",nextDay:"[Sib\xea di saet] LT [de]",nextWeek:"dddd [di saet] LT [de]",lastDay:"[Duh di saet] LT [de]",lastWeek:"dddd[a bor\xee di saet] LT [de]",sameElse:"L"},relativeTime:{future:"di %s de",past:"ber\xee %s",s:O,ss:O,m:O,mm:O,h:O,hh:O,d:O,dd:O,w:O,ww:O,M:O,MM:O,y:O,yy:O},dayOfMonthOrdinalParse:/\d{1,2}(?:y\xea|\xea|\.)/,ordinal:function(e,a){var a=a.toLowerCase();return a.includes("w")||a.includes("m")?e+".":e+(e=(a=""+(a=e)).substring(a.length-1),12==(a=1<a.length?a.substring(a.length-2):"")||13==a||"2"!=e&&"3"!=e&&"50"!=a&&"70"!=e&&"80"!=e?"\xea":"y\xea")},week:{dow:1,doy:4}});var Cs={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},Is={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},fe=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],Us=(c.defineLocale("ku",{months:fe,monthsShort:fe,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Is[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Cs[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function Gs(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function Vs(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return Vs(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return Vs(e)}return Vs(e/=1e3)}c.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(Us[e]||Us[e%10]||Us[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Gs,mm:"%d Minutten",h:Gs,hh:"%d Stonnen",d:Gs,dd:"%d Deeg",M:Gs,MM:"%d M\xe9int",y:Gs,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var qs={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Bs(e,a,t,s){return a?Zs(t)[0]:s?Zs(t)[1]:Zs(t)[2]}function Ks(e){return e%10==0||10<e&&e<20}function Zs(e){return qs[e].split("_")}function $s(e,a,t,s){var n=e+" ";return 1===e?n+Bs(0,a,t[0],s):a?n+(Ks(e)?Zs(t)[1]:Zs(t)[0]):s?n+Zs(t)[1]:n+(Ks(e)?Zs(t)[1]:Zs(t)[2])}c.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:$s,m:Bs,mm:$s,h:Bs,hh:$s,d:Bs,dd:$s,M:Bs,MM:$s,y:Bs,yy:$s},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var Qs={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Xs(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function en(e,a,t){return e+" "+Xs(Qs[t],e,a)}function an(e,a,t){return Xs(Qs[t],e,a)}c.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:en,m:an,mm:en,h:an,hh:en,d:an,dd:en,M:an,MM:en,y:an,yy:en},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var tn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=tn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+tn.correctGrammaticalCase(e,s)}};function sn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}c.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:tn.translate,m:tn.translate,mm:tn.translate,h:tn.translate,hh:tn.translate,d:"dan",dd:tn.translate,M:"mjesec",MM:tn.translate,y:"godinu",yy:tn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),c.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:sn,ss:sn,m:sn,mm:sn,h:sn,hh:sn,d:sn,dd:sn,M:sn,MM:sn,y:sn,yy:sn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var nn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},rn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function dn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}c.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:dn,ss:dn,m:dn,mm:dn,h:dn,hh:dn,d:dn,dd:dn,M:dn,MM:dn,y:dn,yy:dn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return rn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,t){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),c.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var _n={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},on={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},mn=(c.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return on[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _n[e]})},week:{dow:1,doy:4}}),c.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"\xe9n time",hh:"%d timer",d:"\xe9n dag",dd:"%d dager",w:"\xe9n uke",ww:"%d uker",M:"\xe9n m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),un={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},ln=(c.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return un[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return mn[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Mn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),_=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Ie=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,hn=(c.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Mn:ln)[e.month()]:ln},monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:_,longMonthsParse:_,shortMonthsParse:_,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),cn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ye=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],ye=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,Ln=(c.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?cn:hn)[e.month()]:hn},monthsRegex:ye,monthsShortRegex:ye,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),Yn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},yn=(c.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Yn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ln[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),fn="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),na=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function kn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function pn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(kn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(kn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(kn(e)?"godziny":"godzin");case"ww":return s+(kn(e)?"tygodnie":"tygodni");case"MM":return s+(kn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(kn(e)?"lata":"lat")}}function Dn(e,a,t){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[t]}function Tn(e,a,t){return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?fn:yn)[e.month()]:yn},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:na,longMonthsParse:na,shortMonthsParse:na,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:pn,m:pn,mm:pn,h:pn,hh:pn,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:pn,M:"miesi\u0105c",MM:pn,y:"rok",yy:pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),c.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Dn,m:"un minut",mm:Dn,h:"o or\u0103",hh:Dn,d:"o zi",dd:Dn,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:Dn,M:"o lun\u0103",MM:Dn,y:"un an",yy:Dn},week:{dow:1,doy:7}});t=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],c.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:t,longMonthsParse:t,shortMonthsParse:t,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:Tn,m:Tn,mm:Tn,h:"\u0447\u0430\u0441",hh:Tn,d:"\u0434\u0435\u043d\u044c",dd:Tn,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:Tn,M:"\u043c\u0435\u0441\u044f\u0446",MM:Tn,y:"\u0433\u043e\u0434",yy:Tn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),m=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],o=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],c.defineLocale("sd",{months:m,monthsShort:m,weekdays:o,weekdaysShort:o,weekdaysMin:o,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),n="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),ze="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function gn(e){return 1<e&&e<5}function wn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(gn(e)?"sekundy":"sek\xfand"):n+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(gn(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(gn(e)?"hodiny":"hod\xedn"):n+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(gn(e)?"dni":"dn\xed"):n+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(gn(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(gn(e)?"roky":"rokov"):n+"rokmi"}}function bn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}c.defineLocale("sk",{months:n,monthsShort:ze,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:bn,ss:bn,m:bn,mm:bn,h:bn,hh:bn,d:bn,dd:bn,M:bn,MM:bn,y:bn,yy:bn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var W={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=W.words[t];return 1===t.length?"y"===t&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?n[0]:n[1]:(s=W.correctGrammaticalCase(e,n),"yy"===t&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},A=(c.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=A.words[t];return 1===t.length?"y"===t&&a?"jedna godina":s||a?n[0]:n[1]:(s=A.correctGrammaticalCase(e,n),"yy"===t&&a&&"godinu"===s?e+" godina":e+" "+s)}}),Hn=(c.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:A.translate,m:A.translate,mm:A.translate,h:A.translate,hh:A.translate,d:A.translate,dd:A.translate,M:A.translate,MM:A.translate,y:A.translate,yy:A.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),c.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),c.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),Sn={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},vn=(c.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hn[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),c.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),c.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),jn=(c.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(vn[e]||vn[e%10]||vn[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),xn=(c.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'unjy":e+(jn[t=e%10]||jn[e%100-t]||jn[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function Pn(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=xn[a]+"vatlh");0<t&&(s+=(""!==s?" ":"")+xn[t]+"maH");0<e&&(s+=(""!==s?" ":"")+xn[e]);return""===s?"pagh":s}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}c.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Pn,m:"wa\u2019 tup",mm:Pn,h:"wa\u2019 rep",hh:Pn,d:"wa\u2019 jaj",dd:Pn,M:"wa\u2019 jar",MM:Pn,y:"wa\u2019 DIS",yy:Pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var On={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function Wn(e,a,t,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[t][0]:e[t][1]}function An(e,a,t){return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function En(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}c.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,t){return e<12?t?"\xf6\xf6":"\xd6\xd6":t?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'\u0131nc\u0131":e+(On[t=e%10]||On[e%100-t]||On[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Wn,ss:Wn,m:Wn,mm:Wn,h:Wn,hh:Wn,d:Wn,dd:Wn,M:Wn,MM:Wn,y:Wn,yy:Wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),c.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),c.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),c.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:En("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:En("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:En("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:En("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:An,m:An,mm:An,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:An,d:"\u0434\u0435\u043d\u044c",dd:An,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:An,y:"\u0440\u0456\u043a",yy:An},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});i=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],jt=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return c.defineLocale("ur",{months:i,monthsShort:i,weekdays:jt,weekdaysShort:jt,weekdaysMin:jt,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),c.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),c.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),c.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),c.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.locale("en"),c});
 //# sourceMappingURL=moment-with-locales.min.js.map
\ No newline at end of file
index 61239636c73f063c7e93a478bb12a590c364ddf0..9319147ab434c8351c835471782e318cfbc972e4 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"moment-with-locales.min.js","sources":["moment-with-locales.js"],"names":["global","factory","exports","module","define","amd","moment","this","hookCallback","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","arrLen","i","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","some","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","argLen","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","keys","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","s","tokens","addParseToken","tokenLen","addWeekParseToken","_w","indexOf","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","x","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","setMonth","dayOfMonth","min","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","y","parseTwoDigitYear","parseInt","getSetYear","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","dayOfYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","chooseLocale","names","j","next","loadLocale","arr1","arr2","minl","commonPrefix","oldLocale","_abbr","require","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","checkOverflow","_a","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","configFromRFC2822","parsedArray","weekdayStr","parsedInput","getDay","obsOffset","militaryOffset","numOffset","hm","setUTCMinutes","getUTCMinutes","defaults","c","configFromArray","currentDate","weekYear","weekdayOverflow","curWeek","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","GG","W","E","createLocal","_week","gg","temp","_dayOfYear","yearToUse","_nextDay","expectedWeekday","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","skipped","hour","meridiemHour","isPm","meridiemFixWrap","erasConvertYear","prepareConfig","dayOrDate","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromStringAndArray","createFromInputFallback","minute","second","millisecond","isUTC","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","orderLen","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","parseIso","diffRes","base","isBefore","positiveMomentsDifference","momentsDifference","ret","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","isNumberOrStringArray","property","objectTest","propertyTest","properties","propertyLen","isMomentInputObject","monthDiff","wholeMonthDiff","anchor","adjust","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","prioritizedLen","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","Symbol","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","Infinity","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","relativeTime$1","posNegDuration","abs$1","toISOString$1","ymSign","daysSign","hmsSign","total","toFixed","pluralForm","pluralize","f","str","plurals","pluralForm$1","pluralize$1","plurals$1","pluralForm$2","pluralize$2","plurals$2","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","months$1","symbolMap","weekdaysParseExact","1","2","3","4","5","6","7","8","9","0","months$2","symbolMap$1","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","symbolMap$2","numberMap$1","months$3","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","num","forms","word","standalone","lastDigit","last2Digits","symbolMap$3","numberMap$2","১","২","৩","৪","৫","৬","৭","৮","৯","০","symbolMap$4","numberMap$3","symbolMap$5","numberMap$4","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","text","mutationTable","substring","monthsParseExact","monthsRegex$1","minWeekdaysParse","translate","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","ll","lll","llll","months$4","monthsParse$1","monthsRegex$2","plural$1","translate$1","processRelativeTime","processRelativeTime$1","processRelativeTime$2","months$5","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$3","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$4","monthsShortDot$2","monthsShort$3","monthsParse$4","monthsRegex$5","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$6","processRelativeTime$3","symbolMap$6","numberMap$5","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","translate$2","monthsRegex$7","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$4","processRelativeTime$5","symbolMap$7","numberMap$6","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","symbolMap$8","numberMap$7","१","२","३","४","५","६","७","८","९","०","monthsParse$7","translate$3","weekEndings","translate$4","plural$2","translate$5","eraYearOrdinalRegex","$0","$1","$2","suffixes$1","40","symbolMap$9","numberMap$8","១","២","៣","៤","៥","៦","៧","៨","៩","០","symbolMap$a","numberMap$9","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","symbolMap$b","isUpper","numberMap$a","months$8","suffixes$2","processRelativeTime$6","eifelerRegelAppliesToNumber","translateSingular","special","translate$6","units$1","format$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","translate$7","symbolMap$c","numberMap$b","relativeTimeMr","symbolMap$d","numberMap$c","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","symbolMap$e","numberMap$d","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$8","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$9","symbolMap$f","numberMap$e","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","relativeTimeWithPlural$3","monthsParse$b","months$9","days$1","months$a","monthsShort$7","plural$5","translate$9","processRelativeTime$7","translator$1","translator$2","symbolMap$g","numberMap$f","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","suffixes$3","12","13","suffixes$4","numbersNouns","translate$a","numberNoun","hundred","ten","one","numberAsNoun","suffixes$5","processRelativeTime$8","relativeTimeWithPlural$4","processHoursFunction","nominative","accusative","genitive","months$b","days$2"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"moment-with-locales.min.js","sources":["moment-with-locales.js"],"names":["global","factory","exports","module","define","amd","moment","this","hookCallback","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","arrLen","i","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","flags","parsedParts","isNowValid","_d","isNaN","getTime","some","invalidWeekday","_strict","undefined","bigHour","isFrozen","_isValid","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","argLen","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","keys","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","D","dates","date","d","days","day","e","weekdays","weekday","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","h","hours","hour","ms","milliseconds","millisecond","minutes","minute","M","months","month","Q","quarters","quarter","s","seconds","second","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","w","weeks","week","W","isoweeks","isoweek","y","years","year","normalizeUnits","units","toLowerCase","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","tokens","addParseToken","tokenLen","addWeekParseToken","_w","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","unit","keepTime","set$1","get","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","daysInMonth","x","modMonth","o","monthsShort","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","setMonth","min","setUTCMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","createUTCDate","UTC","firstWeekOffset","dow","doy","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","ww","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","chooseLocale","names","j","next","loadLocale","arr1","arr2","minl","oldLocale","_abbr","require","getSetGlobalLocale","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","checkOverflow","_a","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","configFromRFC2822","obsOffset","militaryOffset","parsedArray","weekdayStr","parsedInput","numOffset","hm","defaults","c","configFromArray","currentDate","weekdayOverflow","curWeek","nowValue","now","_useUTC","createLocal","_week","temp","_dayOfYear","yearToUse","_nextDay","expectedWeekday","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","skipped","meridiemHour","isPm","erasConvertYear","prepareConfig","dayOrDate","preparse","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","createFromInputFallback","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","unitHasDecimal","orderLen","parseFloat","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","parseIso","diffRes","base","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","property","objectTest","propertyTest","properties","propertyLen","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","priority","prioritizedLen","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","prefix","isLocal","Symbol","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","Infinity","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","makeGetter","thresholds","relativeTime$1","posNegDuration","abs$1","toISOString$1","total","ymSign","daysSign","hmsSign","toFixed","pluralForm","pluralize","f","str","plurals","pluralForm$1","pluralize$1","plurals$1","pluralForm$2","pluralize$2","plurals$2","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","months$1","symbolMap","weekdaysParseExact","1","2","3","4","5","6","7","8","9","0","months$2","symbolMap$1","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","symbolMap$2","reverse","numberMap$1","symbolMap$3","numberMap$2","months$3","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","num","forms","word","standalone","lastDigit","last2Digits","symbolMap$4","numberMap$3","১","২","৩","৪","৫","৬","৭","৮","৯","০","symbolMap$5","numberMap$4","symbolMap$6","numberMap$5","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","text","mutationTable","substring","monthsParseExact","monthsRegex$1","minWeekdaysParse","translate","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","ll","lll","llll","months$4","monthsParse$1","monthsRegex$2","plural$1","translate$1","processRelativeTime$1","processRelativeTime$2","processRelativeTime$3","months$5","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsShort$1","monthsParse$2","monthsRegex$3","monthsShortDot$1","monthsShort$2","monthsParse$3","monthsRegex$4","monthsShortDot$2","monthsShort$3","monthsParse$4","monthsRegex$5","monthsShortDot$3","monthsShort$4","monthsParse$5","monthsRegex$6","processRelativeTime$4","symbolMap$7","numberMap$6","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","translate$2","monthsRegex$7","monthsParse$6","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$5","processRelativeTime$6","symbolMap$8","numberMap$7","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","symbolMap$9","numberMap$8","१","२","३","४","५","६","७","८","९","०","monthsParse$7","translate$3","weekEndings","translate$4","plural$2","translate$5","eraYearOrdinalRegex","$0","$1","$2","suffixes$1","40","symbolMap$a","numberMap$9","១","២","៣","៤","៥","៦","៧","៨","៩","០","symbolMap$b","numberMap$a","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","processRelativeTime$7","isUpper","p","includes","symbolMap$c","numberMap$b","months$8","suffixes$2","processRelativeTime$8","eifelerRegelAppliesToNumber","translateSingular","special","translate$6","units$1","format$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","translate$7","symbolMap$d","numberMap$c","relativeTimeMr","symbolMap$e","numberMap$d","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","symbolMap$f","numberMap$e","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$8","monthsRegex$8","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$9","monthsRegex$9","symbolMap$g","numberMap$f","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","monthsParse$a","plural$3","translate$8","relativeTimeWithPlural$2","relativeTimeWithPlural$3","monthsParse$b","months$9","days$1","months$a","monthsShort$7","plural$5","translate$9","processRelativeTime$9","translator$1","translator$2","symbolMap$h","numberMap$g","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","suffixes$3","12","13","suffixes$4","numbersNouns","translate$a","numberNoun","hundred","ten","one","suffixes$5","processRelativeTime$a","relativeTimeWithPlural$4","processHoursFunction","nominative","accusative","genitive","months$b","days$2"],"mappings":"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"}
\ No newline at end of file
index 3427886d17d9f14ea76899d7758052b3c0196bc1..0aeaae5e60f99d2d3e55b6f91f6267e6a4c8e658 100644 (file)
@@ -1,2 +1,2 @@
-!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 H;function f(){return H.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function F(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function c(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function L(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(c(e,t))return;return 1}function o(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function V(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function G(e,t){for(var n=[],s=e.length,i=0;i<s;++i)n.push(t(e[i],i));return n}function E(e,t){for(var n in t)c(t,n)&&(e[n]=t[n]);return c(t,"toString")&&(e.toString=t.toString),c(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return Pt(e,t,n,s,!0).utc()}function m(e){return null==e._pf&&(e._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}),e._pf}function A(e){if(null==e._isValid){var t=m(e),n=j.call(t.parsedDateParts,function(e){return null!=e}),n=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(n=n&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return n;e._isValid=n}return e._isValid}function I(e){var t=l(NaN);return null!=e?E(m(t),e):m(t).userInvalidated=!0,t}var j=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},Z=f.momentProperties=[],z=!1;function $(e,t){var n,s,i,r=Z.length;if(o(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),o(t._i)||(e._i=t._i),o(t._f)||(e._f=t._f),o(t._l)||(e._l=t._l),o(t._strict)||(e._strict=t._strict),o(t._tzm)||(e._tzm=t._tzm),o(t._isUTC)||(e._isUTC=t._isUTC),o(t._offset)||(e._offset=t._offset),o(t._pf)||(e._pf=m(t)),o(t._locale)||(e._locale=t._locale),0<r)for(n=0;n<r;n++)o(i=t[s=Z[n]])||(e[s]=i);return e}function q(e){$(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===z&&(z=!0,f.updateOffset(this),z=!1)}function h(e){return e instanceof q||null!=e&&null!=e._isAMomentObject}function B(e){!1===f.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,a){var o=!0;return E(function(){if(null!=f.deprecationHandler&&f.deprecationHandler(null,r),o){for(var e,t,n=[],s=arguments.length,i=0;i<s;i++){if(e="","object"==typeof arguments[i]){for(t in e+="\n["+i+"] ",arguments[0])c(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[i];n.push(e)}B(r+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),o=!1}return a.apply(this,arguments)},a)}var J={};function Q(e,t){null!=f.deprecationHandler&&f.deprecationHandler(e,t),J[e]||(B(t),J[e]=!0)}function d(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function X(e,t){var n,s=E({},e);for(n in t)c(t,n)&&(F(e[n])&&F(t[n])?(s[n]={},E(s[n],e[n]),E(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)c(e,n)&&!c(t,n)&&F(e[n])&&(s[n]=E({},s[n]));return s}function K(e){null!=e&&this.set(e)}f.suppressDeprecationWarnings=!1,f.deprecationHandler=null;var ee=Object.keys||function(e){var t,n=[];for(t in e)c(e,t)&&n.push(t);return n};function r(e,t,n){var s=""+Math.abs(e);return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,t-s.length)).toString().substr(1)+s}var te=/(\[[^\[]*\])|(\\)?([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,ne=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,se={},ie={};function s(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(ie[e]=i),t&&(ie[t[0]]=function(){return r(i.apply(this,arguments),t[1],t[2])}),n&&(ie[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function re(e,t){return e.isValid()?(t=ae(t,e.localeData()),se[t]=se[t]||function(s){for(var e,i=s.match(te),t=0,r=i.length;t<r;t++)ie[i[t]]?i[t]=ie[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=d(i[n])?i[n].call(e,s):i[n];return t}}(t),se[t](e)):e.localeData().invalidDate()}function ae(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(ne.lastIndex=0;0<=n&&ne.test(e);)e=e.replace(ne,s),ne.lastIndex=0,--n;return e}var oe={};function t(e,t){var n=e.toLowerCase();oe[n]=oe[n+"s"]=oe[t]=e}function _(e){return"string"==typeof e?oe[e]||oe[e.toLowerCase()]:void 0}function ue(e){var t,n,s={};for(n in e)c(e,n)&&(t=_(n))&&(s[t]=e[n]);return s}var le={};function n(e,t){le[e]=t}function he(e){return e%4==0&&e%100!=0||e%400==0}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var e=+e,t=0;return t=0!=e&&isFinite(e)?y(e):t}function de(t,n){return function(e){return null!=e?(fe(this,t,e),f.updateOffset(this,n),this):ce(this,t)}}function ce(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function fe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&he(e.year())&&1===e.month()&&29===e.date()?(n=g(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),We(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var i=/\d/,w=/\d\d/,me=/\d{3}/,_e=/\d{4}/,ye=/[+-]?\d{6}/,p=/\d\d?/,ge=/\d\d\d\d?/,we=/\d\d\d\d\d\d?/,pe=/\d{1,3}/,ke=/\d{1,4}/,ve=/[+-]?\d{1,6}/,Me=/\d+/,De=/[+-]?\d+/,Se=/Z|[+-]\d\d:?\d\d/gi,Ye=/Z|[+-]\d\d(?::?\d\d)?/gi,k=/[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 v(e,n,s){be[e]=d(n)?n:function(e,t){return e&&s?s:n}}function Oe(e,t){return c(be,e)?be[e](t._strict,t._locale):new RegExp(M(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function M(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var be={},xe={};function D(e,n){var t,s,i=n;for("string"==typeof e&&(e=[e]),u(n)&&(i=function(e,t){t[n]=g(e)}),s=e.length,t=0;t<s;t++)xe[e[t]]=i}function Te(e,i){D(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var S,Y=0,O=1,b=2,x=3,T=4,N=5,Ne=6,Pe=7,Re=8;function We(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=(t%(n=12)+n)%n;return e+=(t-n)/12,1==n?he(e)?29:28:31-n%7%2}S=Array.prototype.indexOf||function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),t("month","M"),n("month",8),v("M",p),v("MM",p,w),v("MMM",function(e,t){return t.monthsShortRegex(e)}),v("MMMM",function(e,t){return t.monthsRegex(e)}),D(["M","MM"],function(e,t){t[O]=g(e)-1}),D(["MMM","MMMM"],function(e,t,n,s){s=n._locale.monthsParse(e,s,n._strict);null!=s?t[O]=s:m(n).invalidMonth=e});var Ce="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ue="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),He=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Fe=k,Le=k;function Ve(e,t){var n;if(e.isValid()){if("string"==typeof t)if(/^\d+$/.test(t))t=g(t);else if(!u(t=e.localeData().monthsParse(t)))return;n=Math.min(e.date(),We(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n)}}function Ge(e){return null!=e?(Ve(this,e),f.updateOffset(this,!0),this):ce(this,"Month")}function Ee(){function e(e,t){return t.length-e.length}for(var t,n=[],s=[],i=[],r=0;r<12;r++)t=l([2e3,r]),n.push(this.monthsShort(t,"")),s.push(this.months(t,"")),i.push(this.months(t,"")),i.push(this.monthsShort(t,""));for(n.sort(e),s.sort(e),i.sort(e),r=0;r<12;r++)n[r]=M(n[r]),s[r]=M(s[r]);for(r=0;r<24;r++)i[r]=M(i[r]);this._monthsRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function Ae(e){return he(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?r(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),t("year","y"),n("year",1),v("Y",De),v("YY",p,w),v("YYYY",ke,_e),v("YYYYY",ve,ye),v("YYYYYY",ve,ye),D(["YYYYY","YYYYYY"],Y),D("YYYY",function(e,t){t[Y]=2===e.length?f.parseTwoDigitYear(e):g(e)}),D("YY",function(e,t){t[Y]=f.parseTwoDigitYear(e)}),D("Y",function(e,t){t[Y]=parseInt(e,10)}),f.parseTwoDigitYear=function(e){return g(e)+(68<g(e)?1900:2e3)};var Ie=de("FullYear",!0);function je(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}function Ze(e){var t;return e<100&&0<=e?((t=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,t)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function ze(e,t,n){n=7+t-n;return n-(7+Ze(e,0,n).getUTCDay()-t)%7-1}function $e(e,t,n,s,i){var r,t=1+7*(t-1)+(7+n-s)%7+ze(e,s,i),n=t<=0?Ae(r=e-1)+t:t>Ae(e)?(r=e+1,t-Ae(e)):(r=e,t);return{year:r,dayOfYear:n}}function qe(e,t,n){var s,i,r=ze(e.year(),t,n),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+P(i=e.year()-1,t,n):r>P(e.year(),t,n)?(s=r-P(e.year(),t,n),i=e.year()+1):(i=e.year(),s=r),{week:s,year:i}}function P(e,t,n){var s=ze(e,t,n),t=ze(e+1,t,n);return(Ae(e)-s+t)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),t("week","w"),t("isoWeek","W"),n("week",5),n("isoWeek",5),v("w",p),v("ww",p,w),v("W",p),v("WW",p,w),Te(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=g(e)});function Be(e,t){return e.slice(t,7).concat(e.slice(0,t))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),t("day","d"),t("weekday","e"),t("isoWeekday","E"),n("day",11),n("weekday",11),n("isoWeekday",11),v("d",p),v("e",p),v("E",p),v("dd",function(e,t){return t.weekdaysMinRegex(e)}),v("ddd",function(e,t){return t.weekdaysShortRegex(e)}),v("dddd",function(e,t){return t.weekdaysRegex(e)}),Te(["dd","ddd","dddd"],function(e,t,n,s){s=n._locale.weekdaysParse(e,s,n._strict);null!=s?t.d=s:m(n).invalidWeekday=e}),Te(["d","e","E"],function(e,t,n,s){t[s]=g(e)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Qe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ke=k,et=k,tt=k;function nt(){function e(e,t){return t.length-e.length}for(var t,n,s,i=[],r=[],a=[],o=[],u=0;u<7;u++)s=l([2e3,1]).day(u),t=M(this.weekdaysMin(s,"")),n=M(this.weekdaysShort(s,"")),s=M(this.weekdays(s,"")),i.push(t),r.push(n),a.push(s),o.push(t),o.push(n),o.push(s);i.sort(e),r.sort(e),a.sort(e),o.sort(e),this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function st(){return this.hours()%12||12}function it(e,t){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function rt(e,t){return t._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,st),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+st.apply(this)+r(this.minutes(),2)}),s("hmmss",0,0,function(){return""+st.apply(this)+r(this.minutes(),2)+r(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+r(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+r(this.minutes(),2)+r(this.seconds(),2)}),it("a",!0),it("A",!1),t("hour","h"),n("hour",13),v("a",rt),v("A",rt),v("H",p),v("h",p),v("k",p),v("HH",p,w),v("hh",p,w),v("kk",p,w),v("hmm",ge),v("hmmss",we),v("Hmm",ge),v("Hmmss",we),D(["H","HH"],x),D(["k","kk"],function(e,t,n){e=g(e);t[x]=24===e?0:e}),D(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),D(["h","hh"],function(e,t,n){t[x]=g(e),m(n).bigHour=!0}),D("hmm",function(e,t,n){var s=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s)),m(n).bigHour=!0}),D("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s,2)),t[N]=g(e.substr(i)),m(n).bigHour=!0}),D("Hmm",function(e,t,n){var s=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s))}),D("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[x]=g(e.substr(0,s)),t[T]=g(e.substr(s,2)),t[N]=g(e.substr(i))});k=de("Hours",!0);var at,ot={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:Ce,monthsShort:Ue,week:{dow:0,doy:6},weekdays:Je,weekdaysMin:Xe,weekdaysShort:Qe,meridiemParse:/[ap]\.?m?\.?/i},R={},ut={};function lt(e){return e&&e.toLowerCase().replace("_","-")}function ht(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=lt(e[r]).split("-")).length,n=(n=lt(e[r+1]))?n.split("-"):null;0<t;){if(s=dt(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return at}function dt(t){var e;if(void 0===R[t]&&"undefined"!=typeof module&&module&&module.exports&&null!=t.match("^[^/\\\\]*$"))try{e=at._abbr,require("./locale/"+t),ct(e)}catch(e){R[t]=null}return R[t]}function ct(e,t){return e&&((t=o(t)?mt(e):ft(e,t))?at=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),at._abbr}function ft(e,t){if(null===t)return delete R[e],null;var n,s=ot;if(t.abbr=e,null!=R[e])Q("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=R[e]._config;else if(null!=t.parentLocale)if(null!=R[t.parentLocale])s=R[t.parentLocale]._config;else{if(null==(n=dt(t.parentLocale)))return ut[t.parentLocale]||(ut[t.parentLocale]=[]),ut[t.parentLocale].push({name:e,config:t}),null;s=n._config}return R[e]=new K(X(s,t)),ut[e]&&ut[e].forEach(function(e){ft(e.name,e.config)}),ct(e),R[e]}function mt(e){var t;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return at;if(!a(e)){if(t=dt(e))return t;e=[e]}return ht(e)}function _t(e){var t=e._a;return t&&-2===m(e).overflow&&(t=t[O]<0||11<t[O]?O:t[b]<1||t[b]>We(t[Y],t[O])?b:t[x]<0||24<t[x]||24===t[x]&&(0!==t[T]||0!==t[N]||0!==t[Ne])?x:t[T]<0||59<t[T]?T:t[N]<0||59<t[N]?N:t[Ne]<0||999<t[Ne]?Ne:-1,m(e)._overflowDayOfYear&&(t<Y||b<t)&&(t=b),m(e)._overflowWeeks&&-1===t&&(t=Pe),m(e)._overflowWeekday&&-1===t&&(t=Re),m(e).overflow=t),e}var yt=/^\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)?)?$/,gt=/^\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)?)?$/,wt=/Z|[+-]\d\d(?::?\d\d)?/,pt=[["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]],kt=[["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/]],vt=/^\/?Date\((-?\d+)/i,Mt=/^(?:(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}))$/,Dt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function St(e){var t,n,s,i,r,a,o=e._i,u=yt.exec(o)||gt.exec(o),o=pt.length,l=kt.length;if(u){for(m(e).iso=!0,t=0,n=o;t<n;t++)if(pt[t][1].exec(u[1])){i=pt[t][0],s=!1!==pt[t][2];break}if(null==i)e._isValid=!1;else{if(u[3]){for(t=0,n=l;t<n;t++)if(kt[t][1].exec(u[3])){r=(u[2]||" ")+kt[t][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(u[4]){if(!wt.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Tt(e)}else e._isValid=!1}}else e._isValid=!1}function Yt(e,t,n,s,i,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Ue.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&e.push(parseInt(r,10)),e}function Ot(e){var t,n,s,i,r=Mt.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));r?(t=Yt(r[4],r[3],r[2],r[5],r[6],r[7]),n=r[1],s=t,i=e,n&&Qe.indexOf(n)!==new Date(s[0],s[1],s[2]).getDay()?(m(i).weekdayMismatch=!0,i._isValid=!1):(e._a=t,e._tzm=(n=r[8],s=r[9],i=r[10],n?Dt[n]:s?0:60*(((n=parseInt(i,10))-(s=n%100))/100)+s),e._d=Ze.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),m(e).rfc2822=!0)):e._isValid=!1}function bt(e,t,n){return null!=e?e:null!=t?t:n}function xt(e){var t,n,s,i,r,a,o,u,l,h,d,c=[];if(!e._d){for(s=e,i=new Date(f.now()),n=s._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[b]&&null==e._a[O]&&(null!=(i=(s=e)._w).GG||null!=i.W||null!=i.E?(u=1,l=4,r=bt(i.GG,s._a[Y],qe(W(),1,4).year),a=bt(i.W,1),((o=bt(i.E,1))<1||7<o)&&(h=!0)):(u=s._locale._week.dow,l=s._locale._week.doy,d=qe(W(),u,l),r=bt(i.gg,s._a[Y],d.year),a=bt(i.w,d.week),null!=i.d?((o=i.d)<0||6<o)&&(h=!0):null!=i.e?(o=i.e+u,(i.e<0||6<i.e)&&(h=!0)):o=u),a<1||a>P(r,u,l)?m(s)._overflowWeeks=!0:null!=h?m(s)._overflowWeekday=!0:(d=$e(r,a,o,u,l),s._a[Y]=d.year,s._dayOfYear=d.dayOfYear)),null!=e._dayOfYear&&(i=bt(e._a[Y],n[Y]),(e._dayOfYear>Ae(i)||0===e._dayOfYear)&&(m(e)._overflowDayOfYear=!0),h=Ze(i,0,e._dayOfYear),e._a[O]=h.getUTCMonth(),e._a[b]=h.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=c[t]=n[t];for(;t<7;t++)e._a[t]=c[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[x]&&0===e._a[T]&&0===e._a[N]&&0===e._a[Ne]&&(e._nextDay=!0,e._a[x]=0),e._d=(e._useUTC?Ze:je).apply(null,c),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[x]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(m(e).weekdayMismatch=!0)}}function Tt(e){if(e._f===f.ISO_8601)St(e);else if(e._f===f.RFC_2822)Ot(e);else{e._a=[],m(e).empty=!0;for(var t,n,s,i,r,a=""+e._i,o=a.length,u=0,l=ae(e._f,e._locale).match(te)||[],h=l.length,d=0;d<h;d++)n=l[d],(t=(a.match(Oe(n,e))||[])[0])&&(0<(s=a.substr(0,a.indexOf(t))).length&&m(e).unusedInput.push(s),a=a.slice(a.indexOf(t)+t.length),u+=t.length),ie[n]?(t?m(e).empty=!1:m(e).unusedTokens.push(n),s=n,r=e,null!=(i=t)&&c(xe,s)&&xe[s](i,r._a,r,s)):e._strict&&!t&&m(e).unusedTokens.push(n);m(e).charsLeftOver=o-u,0<a.length&&m(e).unusedInput.push(a),e._a[x]<=12&&!0===m(e).bigHour&&0<e._a[x]&&(m(e).bigHour=void 0),m(e).parsedDateParts=e._a.slice(0),m(e).meridiem=e._meridiem,e._a[x]=function(e,t,n){if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((e=e.isPM(n))&&t<12&&(t+=12),t=e||12!==t?t:0):t}(e._locale,e._a[x],e._meridiem),null!==(o=m(e).era)&&(e._a[Y]=e._locale.erasConvertYear(o,e._a[Y])),xt(e),_t(e)}}function Nt(e){var t,n,s,i=e._i,r=e._f;if(e._locale=e._locale||mt(e._l),null===i||void 0===r&&""===i)return I({nullInput:!0});if("string"==typeof i&&(e._i=i=e._locale.preparse(i)),h(i))return new q(_t(i));if(V(i))e._d=i;else if(a(r))!function(e){var t,n,s,i,r,a,o=!1,u=e._f.length;if(0===u)return m(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<u;i++)r=0,a=!1,t=$({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Tt(t),A(t)&&(a=!0),r=(r+=m(t).charsLeftOver)+10*m(t).unusedTokens.length,m(t).score=r,o?r<s&&(s=r,n=t):(null==s||r<s||a)&&(s=r,n=t,a&&(o=!0));E(e,n||t)}(e);else if(r)Tt(e);else if(o(r=(i=e)._i))i._d=new Date(f.now());else V(r)?i._d=new Date(r.valueOf()):"string"==typeof r?(n=i,null!==(t=vt.exec(n._i))?n._d=new Date(+t[1]):(St(n),!1===n._isValid&&(delete n._isValid,Ot(n),!1===n._isValid&&(delete n._isValid,n._strict?n._isValid=!1:f.createFromInputFallback(n))))):a(r)?(i._a=G(r.slice(0),function(e){return parseInt(e,10)}),xt(i)):F(r)?(t=i)._d||(s=void 0===(n=ue(t._i)).day?n.date:n.day,t._a=G([n.year,n.month,s,n.hour,n.minute,n.second,n.millisecond],function(e){return e&&parseInt(e,10)}),xt(t)):u(r)?i._d=new Date(r):f.createFromInputFallback(i);return A(e)||(e._d=null),e}function Pt(e,t,n,s,i){var r={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(F(e)&&L(e)||a(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=i,r._l=n,r._i=e,r._f=t,r._strict=s,(i=new q(_t(Nt(i=r))))._nextDay&&(i.add(1,"d"),i._nextDay=void 0),i}function W(e,t,n,s){return Pt(e,t,n,s,!1)}f.createFromInputFallback=e("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),f.ISO_8601=function(){},f.RFC_2822=function(){};ge=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=W.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:I()}),we=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=W.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:I()});function Rt(e,t){var n,s;if(!(t=1===t.length&&a(t[0])?t[0]:t).length)return W();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var e=ue(e),t=e.year||0,n=e.quarter||0,s=e.month||0,i=e.week||e.isoWeek||0,r=e.day||0,a=e.hour||0,o=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(e){var t,n,s=!1,i=Wt.length;for(t in e)if(c(e,t)&&(-1===S.call(Wt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<i;++n)if(e[Wt[n]]){if(s)return!1;parseFloat(e[Wt[n]])!==g(e[Wt[n]])&&(s=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*o+1e3*a*60*60,this._days=+r+7*i,this._months=+s+3*n+12*t,this._data={},this._locale=mt(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){s(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+r(~~(e/60),2)+n+r(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),v("Z",Ye),v("ZZ",Ye),D(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(Ye,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var t=(t||"").match(e);return null===t?null:0===(t=60*(e=((t[t.length-1]||[])+"").match(Lt)||["-",0,0])[1]+g(e[2]))?0:"+"===e[0]?t:-t}function Gt(e,t){var n;return t._isUTC?(t=t.clone(),n=(h(e)||V(e)?e:W(e)).valueOf()-t.valueOf(),t._d.setTime(t._d.valueOf()+n),f.updateOffset(t,!1),t):W(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}f.updateOffset=function(){};var It=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,jt=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function C(e,t){var n,s=e,i=null;return Ut(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:u(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(i=It.exec(e))?(n="-"===i[1]?-1:1,s={y:0,d:g(i[b])*n,h:g(i[x])*n,m:g(i[T])*n,s:g(i[N])*n,ms:g(Ht(1e3*i[Ne]))*n}):(i=jt.exec(e))?(n="-"===i[1]?-1:1,s={y:Zt(i[2],n),M:Zt(i[3],n),w:Zt(i[4],n),d:Zt(i[5],n),h:Zt(i[6],n),m:Zt(i[7],n),s:Zt(i[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(t=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(W(s.from),W(s.to)),(s={}).ms=t.milliseconds,s.M=t.months),i=new Ct(s),Ut(e)&&c(e,"_locale")&&(i._locale=e._locale),Ut(e)&&c(e,"_isValid")&&(i._isValid=e._isValid),i}function Zt(e,t){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*t}function zt(e,t){var n={};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 $t(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Q(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),qt(this,C(e,t),s),this}}function qt(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),t=Ht(t._months);e.isValid()&&(s=null==s||s,t&&Ve(e,ce(e,"Month")+t*n),r&&fe(e,"Date",ce(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&f.updateOffset(e,r||t))}C.fn=Ct.prototype,C.invalid=function(){return C(NaN)};Ce=$t(1,"add"),Je=$t(-1,"subtract");function Bt(e){return"string"==typeof e||e instanceof String}function Jt(e){return h(e)||V(e)||Bt(e)||u(e)||function(t){var e=a(t),n=!1;e&&(n=0===t.filter(function(e){return!u(e)&&Bt(t)}).length);return e&&n}(e)||function(e){var t,n,s=F(e)&&!L(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a=r.length;for(t=0;t<a;t+=1)n=r[t],i=i||c(e,n);return s&&i}(e)||null==e}function Qt(e,t){if(e.date()<t.date())return-Qt(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months"),t=t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s);return-(n+t)||0}function Xt(e){return void 0===e?this._locale._abbr:(null!=(e=mt(e))&&(this._locale=e),this)}f.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",f.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";Xe=e("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}var en=126227808e5;function tn(e,t){return(e%t+t)%t}function nn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-en:new Date(e,t,n).valueOf()}function sn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-en:Date.UTC(e,t,n)}function rn(e,t){return t.erasAbbrRegex(e)}function an(){for(var e=[],t=[],n=[],s=[],i=this.eras(),r=0,a=i.length;r<a;++r)t.push(M(i[r].name)),e.push(M(i[r].abbr)),n.push(M(i[r].narrow)),s.push(M(i[r].name)),s.push(M(i[r].abbr)),s.push(M(i[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i")}function on(e,t){s(0,[e,e.length],0,t)}function un(e,t,n,s,i){var r;return null==e?qe(this,s,i).year:(r=P(e,s,i),function(e,t,n,s,i){e=$e(e,t,n,s,i),t=Ze(e.year,0,e.dayOfYear);return this.year(t.getUTCFullYear()),this.month(t.getUTCMonth()),this.date(t.getUTCDate()),this}.call(this,e,t=r<t?r:t,n,s,i))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),v("N",rn),v("NN",rn),v("NNN",rn),v("NNNN",function(e,t){return t.erasNameRegex(e)}),v("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),D(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){s=n._locale.erasParse(e,s,n._strict);s?m(n).era=s:m(n).invalidEra=e}),v("y",Me),v("yy",Me),v("yyy",Me),v("yyyy",Me),v("yo",function(e,t){return t._eraYearOrdinalRegex||Me}),D(["y","yy","yyy","yyyy"],Y),D(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[Y]=n._locale.eraYearOrdinalParse(e,i):t[Y]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),on("gggg","weekYear"),on("ggggg","weekYear"),on("GGGG","isoWeekYear"),on("GGGGG","isoWeekYear"),t("weekYear","gg"),t("isoWeekYear","GG"),n("weekYear",1),n("isoWeekYear",1),v("G",De),v("g",De),v("GG",p,w),v("gg",p,w),v("GGGG",ke,_e),v("gggg",ke,_e),v("GGGGG",ve,ye),v("ggggg",ve,ye),Te(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=g(e)}),Te(["gg","GG"],function(e,t,n,s){t[s]=f.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),t("quarter","Q"),n("quarter",7),v("Q",i),D("Q",function(e,t){t[O]=3*(g(e)-1)}),s("D",["DD",2],"Do","date"),t("date","D"),n("date",9),v("D",p),v("DD",p,w),v("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),D(["D","DD"],b),D("Do",function(e,t){t[b]=g(e.match(p)[0])});ke=de("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),t("dayOfYear","DDD"),n("dayOfYear",4),v("DDD",pe),v("DDDD",me),D(["DDD","DDDD"],function(e,t,n){n._dayOfYear=g(e)}),s("m",["mm",2],0,"minute"),t("minute","m"),n("minute",14),v("m",p),v("mm",p,w),D(["m","mm"],T);var ln,_e=de("Minutes",!1),ve=(s("s",["ss",2],0,"second"),t("second","s"),n("second",15),v("s",p),v("ss",p,w),D(["s","ss"],N),de("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),t("millisecond","ms"),n("millisecond",16),v("S",pe,i),v("SS",pe,w),v("SSS",pe,me),ln="SSSS";ln.length<=9;ln+="S")v(ln,Me);function hn(e,t){t[Ne]=g(1e3*("0."+e))}for(ln="S";ln.length<=9;ln+="S")D(ln,hn);ye=de("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");i=q.prototype;function dn(e){return e}i.add=Ce,i.calendar=function(e,t){1===arguments.length&&(arguments[0]?Jt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=F(e)&&!L(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||c(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var e=e||W(),n=Gt(e,this).startOf("day"),n=f.calendarFormat(this,n)||"sameElse",t=t&&(d(t[n])?t[n].call(this,e):t[n]);return this.format(t||this.localeData().calendar(n,this,W(e)))},i.clone=function(){return new q(this)},i.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=_(t)){case"year":r=Qt(this,s)/12;break;case"month":r=Qt(this,s);break;case"quarter":r=Qt(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:y(r)},i.endOf=function(e){var t,n;if(void 0===(e=_(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-tn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-tn(t,1e3)-1;break}return this._d.setTime(t),f.updateOffset(this,!0),this},i.format=function(e){return e=e||(this.isUtc()?f.defaultFormatUtc:f.defaultFormat),e=re(this,e),this.localeData().postformat(e)},i.from=function(e,t){return this.isValid()&&(h(e)&&e.isValid()||W(e).isValid())?C({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},i.fromNow=function(e){return this.from(W(),e)},i.to=function(e,t){return this.isValid()&&(h(e)&&e.isValid()||W(e).isValid())?C({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},i.toNow=function(e){return this.to(W(),e)},i.get=function(e){return d(this[e=_(e)])?this[e]():this},i.invalidAt=function(){return m(this).overflow},i.isAfter=function(e,t){return e=h(e)?e:W(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=_(t)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(t).valueOf())},i.isBefore=function(e,t){return e=h(e)?e:W(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=_(t)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(t).valueOf()<e.valueOf())},i.isBetween=function(e,t,n,s){return e=h(e)?e:W(e),t=h(t)?t:W(t),!!(this.isValid()&&e.isValid()&&t.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n)))},i.isSame=function(e,t){var e=h(e)?e:W(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(t=_(t)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(t).valueOf()<=e&&e<=this.clone().endOf(t).valueOf()))},i.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},i.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},i.isValid=function(){return A(this)},i.lang=Xe,i.locale=Xt,i.localeData=Kt,i.max=we,i.min=ge,i.parsingFlags=function(){return E({},m(this))},i.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)c(e,t)&&n.push({unit:t,priority:le[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=ue(e)),s=n.length,i=0;i<s;i++)this[n[i].unit](e[n[i].unit]);else if(d(this[e=_(e)]))return this[e](t);return this},i.startOf=function(e){var t,n;if(void 0===(e=_(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=tn(t,6e4);break;case"second":t=this._d.valueOf(),t-=tn(t,1e3);break}return this._d.setTime(t),f.updateOffset(this,!0),this},i.subtract=Je,i.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},i.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()}},i.toDate=function(){return new Date(this.valueOf())},i.toISOString=function(e){if(!this.isValid())return null;var t=(e=!0!==e)?this.clone().utc():this;return t.year()<0||9999<t.year()?re(t,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):d(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",re(t,"Z")):re(t,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},i.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t="moment",n="";return this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",n="Z"),t="["+t+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(t+e+"-MM-DD[T]HH:mm:ss.SSS"+(n+'[")]'))},"undefined"!=typeof Symbol&&null!=Symbol.for&&(i[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},i.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},i.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},i.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},i.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},i.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-f(n[s].since).year())*e+n[s].offset;return this.year()},i.year=Ie,i.isLeapYear=function(){return he(this.year())},i.weekYear=function(e){return un.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},i.isoWeekYear=function(e){return un.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},i.quarter=i.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},i.month=Ge,i.daysInMonth=function(){return We(this.year(),this.month())},i.week=i.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},i.isoWeek=i.isoWeeks=function(e){var t=qe(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},i.weeksInYear=function(){var e=this.localeData()._week;return P(this.year(),e.dow,e.doy)},i.weeksInWeekYear=function(){var e=this.localeData()._week;return P(this.weekYear(),e.dow,e.doy)},i.isoWeeksInYear=function(){return P(this.year(),1,4)},i.isoWeeksInISOWeekYear=function(){return P(this.isoWeekYear(),1,4)},i.date=ke,i.day=i.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},i.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")},i.isoWeekday=function(e){return this.isValid()?null!=e?(t=e,n=this.localeData(),n="string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t,this.day(this.day()%7?n:n-7)):this.day()||7:null!=e?this:NaN;var t,n},i.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")},i.hour=i.hours=k,i.minute=i.minutes=_e,i.second=i.seconds=ve,i.millisecond=i.milliseconds=ye,i.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(Ye,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?qt(this,C(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,f.updateOffset(this,!0),this._changeInProgress=null)),this},i.utc=function(e){return this.utcOffset(0,e)},i.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Et(this),"m")),this},i.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(Se,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},i.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?W(e).utcOffset():0,(this.utcOffset()-e)%60==0)},i.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},i.isLocal=function(){return!!this.isValid()&&!this._isUTC},i.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},i.isUtc=At,i.isUTC=At,i.zoneAbbr=function(){return this._isUTC?"UTC":""},i.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},i.dates=e("dates accessor is deprecated. Use date instead.",ke),i.months=e("months accessor is deprecated. Use month instead",Ge),i.years=e("years accessor is deprecated. Use year instead",Ie),i.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,t),this):-this.utcOffset()}),i.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e,t={};return $(t,this),(t=Nt(t))._a?(e=(t._isUTC?l:W)(t._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&g(e[a])!==g(t[a]))&&r++;return r+i}(t._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});w=K.prototype;function cn(e,t,n,s){var i=mt(),s=l().set(s,t);return i[n](s,e)}function fn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=cn(e,i,n,"month");return s}function mn(e,t,n,s){t=("boolean"==typeof e?u(t)&&(n=t,t=void 0):(t=e,e=!1,u(n=t)&&(n=t,t=void 0)),t||"");var i,r=mt(),a=e?r._week.dow:0,o=[];if(null!=n)return cn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=cn(t,(i+a)%7,s,"day");return o}w.calendar=function(e,t,n){return d(e=this._calendar[e]||this._calendar.sameElse)?e.call(t,n):e},w.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(te).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},w.invalidDate=function(){return this._invalidDate},w.ordinal=function(e){return this._ordinal.replace("%d",e)},w.preparse=dn,w.postformat=dn,w.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return d(i)?i(e,t,n,s):i.replace(/%d/i,e)},w.pastFuture=function(e,t){return d(e=this._relativeTime[0<e?"future":"past"])?e(t):e.replace(/%s/i,t)},w.set=function(e){var t,n;for(n in e)c(e,n)&&(d(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)},w.eras=function(e,t){for(var n,s=this._eras||mt("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=f(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=f(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},w.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},w.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?f(e.since).year():f(e.since).year()+(t-e.offset)*n},w.erasAbbrRegex=function(e){return c(this,"_erasAbbrRegex")||an.call(this),e?this._erasAbbrRegex:this._erasRegex},w.erasNameRegex=function(e){return c(this,"_erasNameRegex")||an.call(this),e?this._erasNameRegex:this._erasRegex},w.erasNarrowRegex=function(e){return c(this,"_erasNarrowRegex")||an.call(this),e?this._erasNarrowRegex:this._erasRegex},w.months=function(e,t){return e?(a(this._months)?this._months:this._months[(this._months.isFormat||He).test(t)?"format":"standalone"])[e.month()]:a(this._months)?this._months:this._months.standalone},w.monthsShort=function(e,t){return e?(a(this._monthsShort)?this._monthsShort:this._monthsShort[He.test(t)?"format":"standalone"])[e.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},w.monthsParse=function(e,t,n){var s,i;if(this._monthsParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=S.call(this._shortMonthsParse,e))?i:null:-1!==(i=S.call(this._longMonthsParse,e))?i:null:"MMM"===t?-1!==(i=S.call(this._shortMonthsParse,e))||-1!==(i=S.call(this._longMonthsParse,e))?i:null:-1!==(i=S.call(this._longMonthsParse,e))||-1!==(i=S.call(this._shortMonthsParse,e))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([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]||(i="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(i.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}},w.monthsRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||Ee.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Le),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},w.monthsShortRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||Ee.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Fe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},w.week=function(e){return qe(e,this._week.dow,this._week.doy).week},w.firstDayOfYear=function(){return this._week.doy},w.firstDayOfWeek=function(){return this._week.dow},w.weekdays=function(e,t){return t=a(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"],!0===e?Be(t,this._week.dow):e?t[e.day()]:t},w.weekdaysMin=function(e){return!0===e?Be(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},w.weekdaysShort=function(e){return!0===e?Be(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},w.weekdaysParse=function(e,t,n){var s,i;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([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=S.call(this._weekdaysParse,e))?i:null:"ddd"===t?-1!==(i=S.call(this._shortWeekdaysParse,e))?i:null:-1!==(i=S.call(this._minWeekdaysParse,e))?i:null:"dddd"===t?-1!==(i=S.call(this._weekdaysParse,e))||-1!==(i=S.call(this._shortWeekdaysParse,e))||-1!==(i=S.call(this._minWeekdaysParse,e))?i:null:"ddd"===t?-1!==(i=S.call(this._shortWeekdaysParse,e))||-1!==(i=S.call(this._weekdaysParse,e))||-1!==(i=S.call(this._minWeekdaysParse,e))?i:null:-1!==(i=S.call(this._minWeekdaysParse,e))||-1!==(i=S.call(this._weekdaysParse,e))||-1!==(i=S.call(this._shortWeekdaysParse,e))?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=l([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]||(i="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(i.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}},w.weekdaysRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||nt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=Ke),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},w.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||nt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=et),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},w.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||nt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=tt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},w.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},w.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ct("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===g(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),f.lang=e("moment.lang is deprecated. Use moment.locale instead.",ct),f.langData=e("moment.langData is deprecated. Use moment.localeData instead.",mt);var _n=Math.abs;function yn(e,t,n,s){t=C(t,n);return e._milliseconds+=s*t._milliseconds,e._days+=s*t._days,e._months+=s*t._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function wn(e){return 4800*e/146097}function pn(e){return 146097*e/4800}function kn(e){return function(){return this.as(e)}}pe=kn("ms"),me=kn("s"),Ce=kn("m"),we=kn("h"),ge=kn("d"),Je=kn("w"),k=kn("M"),_e=kn("Q"),ve=kn("y");function vn(e){return function(){return this.isValid()?this._data[e]:NaN}}var ye=vn("milliseconds"),ke=vn("seconds"),Ie=vn("minutes"),w=vn("hours"),Mn=vn("days"),Dn=vn("months"),Sn=vn("years");var Yn=Math.round,On={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function bn(e,t,n,s){var i=C(e).abs(),r=Yn(i.as("s")),a=Yn(i.as("m")),o=Yn(i.as("h")),u=Yn(i.as("d")),l=Yn(i.as("M")),h=Yn(i.as("w")),i=Yn(i.as("y")),r=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||a<=1&&["m"]||a<n.m&&["mm",a]||o<=1&&["h"]||o<n.h&&["hh",o]||u<=1&&["d"]||u<n.d&&["dd",u];return(r=(r=null!=n.w?r||h<=1&&["w"]||h<n.w&&["ww",h]:r)||l<=1&&["M"]||l<n.M&&["MM",l]||i<=1&&["y"]||["yy",i])[2]=t,r[3]=0<+e,r[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,r)}var xn=Math.abs;function Tn(e){return(0<e)-(e<0)||+e}function Nn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s,i,r,a,o=xn(this._milliseconds)/1e3,u=xn(this._days),l=xn(this._months),h=this.asSeconds();return h?(e=y(o/60),t=y(e/60),o%=60,e%=60,n=y(l/12),l%=12,s=o?o.toFixed(3).replace(/\.?0+$/,""):"",i=Tn(this._months)!==Tn(h)?"-":"",r=Tn(this._days)!==Tn(h)?"-":"",a=Tn(this._milliseconds)!==Tn(h)?"-":"",(h<0?"-":"")+"P"+(n?i+n+"Y":"")+(l?i+l+"M":"")+(u?r+u+"D":"")+(t||e||o?"T":"")+(t?a+t+"H":"")+(e?a+e+"M":"")+(o?a+s+"S":"")):"P0D"}var U=Ct.prototype;return U.isValid=function(){return this._isValid},U.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},U.add=function(e,t){return yn(this,e,t,1)},U.subtract=function(e,t){return yn(this,e,t,-1)},U.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=_(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+wn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(pn(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)}},U.asMilliseconds=pe,U.asSeconds=me,U.asMinutes=Ce,U.asHours=we,U.asDays=ge,U.asWeeks=Je,U.asMonths=k,U.asQuarters=_e,U.asYears=ve,U.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},U._bubble=function(){var e=this._milliseconds,t=this._days,n=this._months,s=this._data;return 0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0||(e+=864e5*gn(pn(n)+t),n=t=0),s.milliseconds=e%1e3,e=y(e/1e3),s.seconds=e%60,e=y(e/60),s.minutes=e%60,e=y(e/60),s.hours=e%24,t+=y(e/24),n+=e=y(wn(t)),t-=gn(pn(e)),e=y(n/12),n%=12,s.days=t,s.months=n,s.years=e,this},U.clone=function(){return C(this)},U.get=function(e){return e=_(e),this.isValid()?this[e+"s"]():NaN},U.milliseconds=ye,U.seconds=ke,U.minutes=Ie,U.hours=w,U.days=Mn,U.weeks=function(){return y(this.days()/7)},U.months=Dn,U.years=Sn,U.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=!1,s=On;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(n=e),"object"==typeof t&&(s=Object.assign({},On,t),null!=t.s&&null==t.ss&&(s.ss=t.s-1)),e=this.localeData(),t=bn(this,!n,s,e),n&&(t=e.pastFuture(+this,t)),e.postformat(t)},U.toISOString=Nn,U.toString=Nn,U.toJSON=Nn,U.locale=Xt,U.localeData=Kt,U.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Nn),U.lang=Xe,s("X",0,0,"unix"),s("x",0,0,"valueOf"),v("x",De),v("X",/[+-]?\d+(\.\d{1,3})?/),D("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),D("x",function(e,t,n){n._d=new Date(g(e))}),f.version="2.29.4",H=W,f.fn=i,f.min=function(){return Rt("isBefore",[].slice.call(arguments,0))},f.max=function(){return Rt("isAfter",[].slice.call(arguments,0))},f.now=function(){return Date.now?Date.now():+new Date},f.utc=l,f.unix=function(e){return W(1e3*e)},f.months=function(e,t){return fn(e,t,"months")},f.isDate=V,f.locale=ct,f.invalid=I,f.duration=C,f.isMoment=h,f.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},f.parseZone=function(){return W.apply(null,arguments).parseZone()},f.localeData=mt,f.isDuration=Ut,f.monthsShort=function(e,t){return fn(e,t,"monthsShort")},f.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},f.defineLocale=ft,f.updateLocale=function(e,t){var n,s;return null!=t?(s=ot,null!=R[e]&&null!=R[e].parentLocale?R[e].set(X(R[e]._config,t)):(t=X(s=null!=(n=dt(e))?n._config:s,t),null==n&&(t.abbr=e),(s=new K(t)).parentLocale=R[e],R[e]=s),ct(e)):null!=R[e]&&(null!=R[e].parentLocale?(R[e]=R[e].parentLocale,e===ct()&&ct(e)):null!=R[e]&&delete R[e]),R[e]},f.locales=function(){return ee(R)},f.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},f.normalizeUnits=_,f.relativeTimeRounding=function(e){return void 0===e?Yn:"function"==typeof e&&(Yn=e,!0)},f.relativeTimeThreshold=function(e,t){return void 0!==On[e]&&(void 0===t?On[e]:(On[e]=t,"s"===e&&(On.ss=t-1),!0))},f.calendarFormat=function(e,t){return(e=e.diff(t,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},f.prototype=i,f.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},f});
+!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 H;function _(){return H.apply(null,arguments)}function y(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function F(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function c(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function L(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(c(e,t))return;return 1}function g(e){return void 0===e}function w(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function V(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function G(e,t){for(var n=[],s=e.length,i=0;i<s;++i)n.push(t(e[i],i));return n}function E(e,t){for(var n in t)c(t,n)&&(e[n]=t[n]);return c(t,"toString")&&(e.toString=t.toString),c(t,"valueOf")&&(e.valueOf=t.valueOf),e}function l(e,t,n,s){return Wt(e,t,n,s,!0).utc()}function p(e){return null==e._pf&&(e._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}),e._pf}function A(e){var t,n,s=e._d&&!isNaN(e._d.getTime());return s&&(t=p(e),n=j.call(t.parsedDateParts,function(e){return null!=e}),s=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n),e._strict)&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function I(e){var t=l(NaN);return null!=e?E(p(t),e):p(t).userInvalidated=!0,t}var j=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},Z=_.momentProperties=[],z=!1;function q(e,t){var n,s,i,r=Z.length;if(g(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),g(t._i)||(e._i=t._i),g(t._f)||(e._f=t._f),g(t._l)||(e._l=t._l),g(t._strict)||(e._strict=t._strict),g(t._tzm)||(e._tzm=t._tzm),g(t._isUTC)||(e._isUTC=t._isUTC),g(t._offset)||(e._offset=t._offset),g(t._pf)||(e._pf=p(t)),g(t._locale)||(e._locale=t._locale),0<r)for(n=0;n<r;n++)g(i=t[s=Z[n]])||(e[s]=i);return e}function $(e){q(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===z&&(z=!0,_.updateOffset(this),z=!1)}function k(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function B(e){!1===_.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,a){var o=!0;return E(function(){if(null!=_.deprecationHandler&&_.deprecationHandler(null,r),o){for(var e,t,n=[],s=arguments.length,i=0;i<s;i++){if(e="","object"==typeof arguments[i]){for(t in e+="\n["+i+"] ",arguments[0])c(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[i];n.push(e)}B(r+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),o=!1}return a.apply(this,arguments)},a)}var J={};function Q(e,t){null!=_.deprecationHandler&&_.deprecationHandler(e,t),J[e]||(B(t),J[e]=!0)}function a(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function X(e,t){var n,s=E({},e);for(n in t)c(t,n)&&(F(e[n])&&F(t[n])?(s[n]={},E(s[n],e[n]),E(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)c(e,n)&&!c(t,n)&&F(e[n])&&(s[n]=E({},s[n]));return s}function K(e){null!=e&&this.set(e)}_.suppressDeprecationWarnings=!1,_.deprecationHandler=null;var ee=Object.keys||function(e){var t,n=[];for(t in e)c(e,t)&&n.push(t);return n};function r(e,t,n){var s=""+Math.abs(e);return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,t-s.length)).toString().substr(1)+s}var te=/(\[[^\[]*\])|(\\)?([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,ne=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,se={},ie={};function s(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(ie[e]=i),t&&(ie[t[0]]=function(){return r(i.apply(this,arguments),t[1],t[2])}),n&&(ie[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function re(e,t){return e.isValid()?(t=ae(t,e.localeData()),se[t]=se[t]||function(s){for(var e,i=s.match(te),t=0,r=i.length;t<r;t++)ie[i[t]]?i[t]=ie[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=a(i[n])?i[n].call(e,s):i[n];return t}}(t),se[t](e)):e.localeData().invalidDate()}function ae(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(ne.lastIndex=0;0<=n&&ne.test(e);)e=e.replace(ne,s),ne.lastIndex=0,--n;return e}var oe={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function o(e){return"string"==typeof e?oe[e]||oe[e.toLowerCase()]:void 0}function ue(e){var t,n,s={};for(n in e)c(e,n)&&(t=o(n))&&(s[t]=e[n]);return s}var le={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var de=/\d/,t=/\d\d/,he=/\d{3}/,ce=/\d{4}/,fe=/[+-]?\d{6}/,n=/\d\d?/,me=/\d\d\d\d?/,_e=/\d\d\d\d\d\d?/,ye=/\d{1,3}/,ge=/\d{1,4}/,we=/[+-]?\d{1,6}/,pe=/\d+/,ke=/[+-]?\d+/,Me=/Z|[+-]\d\d:?\d\d/gi,ve=/Z|[+-]\d\d(?::?\d\d)?/gi,i=/[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,u=/^[1-9]\d?/,d=/^([1-9]\d|\d)/;function h(e,n,s){Ye[e]=a(n)?n:function(e,t){return e&&s?s:n}}function De(e,t){return c(Ye,e)?Ye[e](t._strict,t._locale):new RegExp(f(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function f(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function m(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function M(e){var e=+e,t=0;return t=0!=e&&isFinite(e)?m(e):t}var Ye={},Se={};function v(e,n){var t,s,i=n;for("string"==typeof e&&(e=[e]),w(n)&&(i=function(e,t){t[n]=M(e)}),s=e.length,t=0;t<s;t++)Se[e[t]]=i}function Oe(e,i){v(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}function be(e){return e%4==0&&e%100!=0||e%400==0}var D=0,Y=1,S=2,O=3,b=4,T=5,Te=6,xe=7,Ne=8;function We(e){return be(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?r(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),h("Y",ke),h("YY",n,t),h("YYYY",ge,ce),h("YYYYY",we,fe),h("YYYYYY",we,fe),v(["YYYYY","YYYYYY"],D),v("YYYY",function(e,t){t[D]=2===e.length?_.parseTwoDigitYear(e):M(e)}),v("YY",function(e,t){t[D]=_.parseTwoDigitYear(e)}),v("Y",function(e,t){t[D]=parseInt(e,10)}),_.parseTwoDigitYear=function(e){return M(e)+(68<M(e)?1900:2e3)};var x,Pe=Re("FullYear",!0);function Re(t,n){return function(e){return null!=e?(Ue(this,t,e),_.updateOffset(this,n),this):Ce(this,t)}}function Ce(e,t){if(!e.isValid())return NaN;var n=e._d,s=e._isUTC;switch(t){case"Milliseconds":return s?n.getUTCMilliseconds():n.getMilliseconds();case"Seconds":return s?n.getUTCSeconds():n.getSeconds();case"Minutes":return s?n.getUTCMinutes():n.getMinutes();case"Hours":return s?n.getUTCHours():n.getHours();case"Date":return s?n.getUTCDate():n.getDate();case"Day":return s?n.getUTCDay():n.getDay();case"Month":return s?n.getUTCMonth():n.getMonth();case"FullYear":return s?n.getUTCFullYear():n.getFullYear();default:return NaN}}function Ue(e,t,n){var s,i,r;if(e.isValid()&&!isNaN(n)){switch(s=e._d,i=e._isUTC,t){case"Milliseconds":return i?s.setUTCMilliseconds(n):s.setMilliseconds(n);case"Seconds":return i?s.setUTCSeconds(n):s.setSeconds(n);case"Minutes":return i?s.setUTCMinutes(n):s.setMinutes(n);case"Hours":return i?s.setUTCHours(n):s.setHours(n);case"Date":return i?s.setUTCDate(n):s.setDate(n);case"FullYear":break;default:return}t=n,r=e.month(),e=29!==(e=e.date())||1!==r||be(t)?e:28,i?s.setUTCFullYear(t,r,e):s.setFullYear(t,r,e)}}function He(e,t){var n;return isNaN(e)||isNaN(t)?NaN:(n=(t%(n=12)+n)%n,e+=(t-n)/12,1==n?be(e)?29:28:31-n%7%2)}x=Array.prototype.indexOf||function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),h("M",n,u),h("MM",n,t),h("MMM",function(e,t){return t.monthsShortRegex(e)}),h("MMMM",function(e,t){return t.monthsRegex(e)}),v(["M","MM"],function(e,t){t[Y]=M(e)-1}),v(["MMM","MMMM"],function(e,t,n,s){s=n._locale.monthsParse(e,s,n._strict);null!=s?t[Y]=s:p(n).invalidMonth=e});var Fe="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Le="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ve=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ge=i,Ee=i;function Ae(e,t){if(e.isValid()){if("string"==typeof t)if(/^\d+$/.test(t))t=M(t);else if(!w(t=e.localeData().monthsParse(t)))return;var n=(n=e.date())<29?n:Math.min(n,He(e.year(),t));e._isUTC?e._d.setUTCMonth(t,n):e._d.setMonth(t,n)}}function Ie(e){return null!=e?(Ae(this,e),_.updateOffset(this,!0),this):Ce(this,"Month")}function je(){function e(e,t){return t.length-e.length}for(var t,n,s=[],i=[],r=[],a=0;a<12;a++)n=l([2e3,a]),t=f(this.monthsShort(n,"")),n=f(this.months(n,"")),s.push(t),i.push(n),r.push(n),r.push(t);s.sort(e),i.sort(e),r.sort(e),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 Ze(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}function ze(e){var t;return e<100&&0<=e?((t=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,t)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function qe(e,t,n){n=7+t-n;return n-(7+ze(e,0,n).getUTCDay()-t)%7-1}function $e(e,t,n,s,i){var r,t=1+7*(t-1)+(7+n-s)%7+qe(e,s,i),n=t<=0?We(r=e-1)+t:t>We(e)?(r=e+1,t-We(e)):(r=e,t);return{year:r,dayOfYear:n}}function Be(e,t,n){var s,i,r=qe(e.year(),t,n),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+N(i=e.year()-1,t,n):r>N(e.year(),t,n)?(s=r-N(e.year(),t,n),i=e.year()+1):(i=e.year(),s=r),{week:s,year:i}}function N(e,t,n){var s=qe(e,t,n),t=qe(e+1,t,n);return(We(e)-s+t)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),h("w",n,u),h("ww",n,t),h("W",n,u),h("WW",n,t),Oe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=M(e)});function Je(e,t){return e.slice(t,7).concat(e.slice(0,t))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),h("d",n),h("e",n),h("E",n),h("dd",function(e,t){return t.weekdaysMinRegex(e)}),h("ddd",function(e,t){return t.weekdaysShortRegex(e)}),h("dddd",function(e,t){return t.weekdaysRegex(e)}),Oe(["dd","ddd","dddd"],function(e,t,n,s){s=n._locale.weekdaysParse(e,s,n._strict);null!=s?t.d=s:p(n).invalidWeekday=e}),Oe(["d","e","E"],function(e,t,n,s){t[s]=M(e)});var Qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Xe="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),et=i,tt=i,nt=i;function st(){function e(e,t){return t.length-e.length}for(var t,n,s,i=[],r=[],a=[],o=[],u=0;u<7;u++)s=l([2e3,1]).day(u),t=f(this.weekdaysMin(s,"")),n=f(this.weekdaysShort(s,"")),s=f(this.weekdays(s,"")),i.push(t),r.push(n),a.push(s),o.push(t),o.push(n),o.push(s);i.sort(e),r.sort(e),a.sort(e),o.sort(e),this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function it(){return this.hours()%12||12}function rt(e,t){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function at(e,t){return t._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,it),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+it.apply(this)+r(this.minutes(),2)}),s("hmmss",0,0,function(){return""+it.apply(this)+r(this.minutes(),2)+r(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+r(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+r(this.minutes(),2)+r(this.seconds(),2)}),rt("a",!0),rt("A",!1),h("a",at),h("A",at),h("H",n,d),h("h",n,u),h("k",n,u),h("HH",n,t),h("hh",n,t),h("kk",n,t),h("hmm",me),h("hmmss",_e),h("Hmm",me),h("Hmmss",_e),v(["H","HH"],O),v(["k","kk"],function(e,t,n){e=M(e);t[O]=24===e?0:e}),v(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),v(["h","hh"],function(e,t,n){t[O]=M(e),p(n).bigHour=!0}),v("hmm",function(e,t,n){var s=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s)),p(n).bigHour=!0}),v("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s,2)),t[T]=M(e.substr(i)),p(n).bigHour=!0}),v("Hmm",function(e,t,n){var s=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s))}),v("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[O]=M(e.substr(0,s)),t[b]=M(e.substr(s,2)),t[T]=M(e.substr(i))});i=Re("Hours",!0);var ot,ut={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:Fe,monthsShort:Le,week:{dow:0,doy:6},weekdays:Qe,weekdaysMin:Ke,weekdaysShort:Xe,meridiemParse:/[ap]\.?m?\.?/i},W={},lt={};function dt(e){return e&&e.toLowerCase().replace("_","-")}function ht(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=dt(e[r]).split("-")).length,n=(n=dt(e[r+1]))?n.split("-"):null;0<t;){if(s=ct(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return ot}function ct(t){var e,n;if(void 0===W[t]&&"undefined"!=typeof module&&module&&module.exports&&(n=t)&&n.match("^[^/\\\\]*$"))try{e=ot._abbr,require("./locale/"+t),ft(e)}catch(e){W[t]=null}return W[t]}function ft(e,t){return e&&((t=g(t)?P(e):mt(e,t))?ot=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ot._abbr}function mt(e,t){if(null===t)return delete W[e],null;var n,s=ut;if(t.abbr=e,null!=W[e])Q("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=W[e]._config;else if(null!=t.parentLocale)if(null!=W[t.parentLocale])s=W[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return lt[t.parentLocale]||(lt[t.parentLocale]=[]),lt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return W[e]=new K(X(s,t)),lt[e]&&lt[e].forEach(function(e){mt(e.name,e.config)}),ft(e),W[e]}function P(e){var t;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return ot;if(!y(e)){if(t=ct(e))return t;e=[e]}return ht(e)}function _t(e){var t=e._a;return t&&-2===p(e).overflow&&(t=t[Y]<0||11<t[Y]?Y:t[S]<1||t[S]>He(t[D],t[Y])?S:t[O]<0||24<t[O]||24===t[O]&&(0!==t[b]||0!==t[T]||0!==t[Te])?O:t[b]<0||59<t[b]?b:t[T]<0||59<t[T]?T:t[Te]<0||999<t[Te]?Te:-1,p(e)._overflowDayOfYear&&(t<D||S<t)&&(t=S),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=Ne),p(e).overflow=t),e}var yt=/^\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)?)?$/,gt=/^\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)?)?$/,wt=/Z|[+-]\d\d(?::?\d\d)?/,pt=[["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]],kt=[["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/]],Mt=/^\/?Date\((-?\d+)/i,vt=/^(?:(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}))$/,Dt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Yt(e){var t,n,s,i,r,a,o=e._i,u=yt.exec(o)||gt.exec(o),o=pt.length,l=kt.length;if(u){for(p(e).iso=!0,t=0,n=o;t<n;t++)if(pt[t][1].exec(u[1])){i=pt[t][0],s=!1!==pt[t][2];break}if(null==i)e._isValid=!1;else{if(u[3]){for(t=0,n=l;t<n;t++)if(kt[t][1].exec(u[3])){r=(u[2]||" ")+kt[t][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(u[4]){if(!wt.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),xt(e)}else e._isValid=!1}}else e._isValid=!1}function St(e,t,n,s,i,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Le.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&e.push(parseInt(r,10)),e}function Ot(e){var t,n,s=vt.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));s?(t=St(s[4],s[3],s[2],s[5],s[6],s[7]),function(e,t,n){if(!e||Xe.indexOf(e)===new Date(t[0],t[1],t[2]).getDay())return 1;p(n).weekdayMismatch=!0,n._isValid=!1}(s[1],t,e)&&(e._a=t,e._tzm=(t=s[8],n=s[9],s=s[10],t?Dt[t]:n?0:60*(((t=parseInt(s,10))-(n=t%100))/100)+n),e._d=ze.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(e).rfc2822=!0)):e._isValid=!1}function bt(e,t,n){return null!=e?e:null!=t?t:n}function Tt(e){var t,n,s,i,r,a,o,u,l,d,h,c=[];if(!e._d){for(s=e,i=new Date(_.now()),n=s._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[S]&&null==e._a[Y]&&(null!=(i=(s=e)._w).GG||null!=i.W||null!=i.E?(u=1,l=4,r=bt(i.GG,s._a[D],Be(R(),1,4).year),a=bt(i.W,1),((o=bt(i.E,1))<1||7<o)&&(d=!0)):(u=s._locale._week.dow,l=s._locale._week.doy,h=Be(R(),u,l),r=bt(i.gg,s._a[D],h.year),a=bt(i.w,h.week),null!=i.d?((o=i.d)<0||6<o)&&(d=!0):null!=i.e?(o=i.e+u,(i.e<0||6<i.e)&&(d=!0)):o=u),a<1||a>N(r,u,l)?p(s)._overflowWeeks=!0:null!=d?p(s)._overflowWeekday=!0:(h=$e(r,a,o,u,l),s._a[D]=h.year,s._dayOfYear=h.dayOfYear)),null!=e._dayOfYear&&(i=bt(e._a[D],n[D]),(e._dayOfYear>We(i)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),d=ze(i,0,e._dayOfYear),e._a[Y]=d.getUTCMonth(),e._a[S]=d.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=c[t]=n[t];for(;t<7;t++)e._a[t]=c[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[O]&&0===e._a[b]&&0===e._a[T]&&0===e._a[Te]&&(e._nextDay=!0,e._a[O]=0),e._d=(e._useUTC?ze:Ze).apply(null,c),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[O]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(p(e).weekdayMismatch=!0)}}function xt(e){if(e._f===_.ISO_8601)Yt(e);else if(e._f===_.RFC_2822)Ot(e);else{e._a=[],p(e).empty=!0;for(var t,n,s,i,r,a=""+e._i,o=a.length,u=0,l=ae(e._f,e._locale).match(te)||[],d=l.length,h=0;h<d;h++)n=l[h],(t=(a.match(De(n,e))||[])[0])&&(0<(s=a.substr(0,a.indexOf(t))).length&&p(e).unusedInput.push(s),a=a.slice(a.indexOf(t)+t.length),u+=t.length),ie[n]?(t?p(e).empty=!1:p(e).unusedTokens.push(n),s=n,r=e,null!=(i=t)&&c(Se,s)&&Se[s](i,r._a,r,s)):e._strict&&!t&&p(e).unusedTokens.push(n);p(e).charsLeftOver=o-u,0<a.length&&p(e).unusedInput.push(a),e._a[O]<=12&&!0===p(e).bigHour&&0<e._a[O]&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[O]=function(e,t,n){if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((e=e.isPM(n))&&t<12&&(t+=12),t=e||12!==t?t:0):t}(e._locale,e._a[O],e._meridiem),null!==(o=p(e).era)&&(e._a[D]=e._locale.erasConvertYear(o,e._a[D])),Tt(e),_t(e)}}function Nt(e){var t,n,s,i=e._i,r=e._f;if(e._locale=e._locale||P(e._l),null===i||void 0===r&&""===i)return I({nullInput:!0});if("string"==typeof i&&(e._i=i=e._locale.preparse(i)),k(i))return new $(_t(i));if(V(i))e._d=i;else if(y(r)){var a,o,u,l,d,h,c=e,f=!1,m=c._f.length;if(0===m)p(c).invalidFormat=!0,c._d=new Date(NaN);else{for(l=0;l<m;l++)d=0,h=!1,a=q({},c),null!=c._useUTC&&(a._useUTC=c._useUTC),a._f=c._f[l],xt(a),A(a)&&(h=!0),d=(d+=p(a).charsLeftOver)+10*p(a).unusedTokens.length,p(a).score=d,f?d<u&&(u=d,o=a):(null==u||d<u||h)&&(u=d,o=a,h)&&(f=!0);E(c,o||a)}}else if(r)xt(e);else if(g(r=(i=e)._i))i._d=new Date(_.now());else V(r)?i._d=new Date(r.valueOf()):"string"==typeof r?(n=i,null!==(t=Mt.exec(n._i))?n._d=new Date(+t[1]):(Yt(n),!1===n._isValid&&(delete n._isValid,Ot(n),!1===n._isValid)&&(delete n._isValid,n._strict?n._isValid=!1:_.createFromInputFallback(n)))):y(r)?(i._a=G(r.slice(0),function(e){return parseInt(e,10)}),Tt(i)):F(r)?(t=i)._d||(s=void 0===(n=ue(t._i)).day?n.date:n.day,t._a=G([n.year,n.month,s,n.hour,n.minute,n.second,n.millisecond],function(e){return e&&parseInt(e,10)}),Tt(t)):w(r)?i._d=new Date(r):_.createFromInputFallback(i);return A(e)||(e._d=null),e}function Wt(e,t,n,s,i){var r={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(F(e)&&L(e)||y(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=i,r._l=n,r._i=e,r._f=t,r._strict=s,(i=new $(_t(Nt(i=r))))._nextDay&&(i.add(1,"d"),i._nextDay=void 0),i}function R(e,t,n,s){return Wt(e,t,n,s,!1)}_.createFromInputFallback=e("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(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),_.ISO_8601=function(){},_.RFC_2822=function(){};me=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=R.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:I()}),_e=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=R.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:I()});function Pt(e,t){var n,s;if(!(t=1===t.length&&y(t[0])?t[0]:t).length)return R();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Rt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var e=ue(e),t=e.year||0,n=e.quarter||0,s=e.month||0,i=e.week||e.isoWeek||0,r=e.day||0,a=e.hour||0,o=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(e){var t,n,s=!1,i=Rt.length;for(t in e)if(c(e,t)&&(-1===x.call(Rt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<i;++n)if(e[Rt[n]]){if(s)return!1;parseFloat(e[Rt[n]])!==M(e[Rt[n]])&&(s=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*o+1e3*a*60*60,this._days=+r+7*i,this._months=+s+3*n+12*t,this._data={},this._locale=P(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){s(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+r(~~(e/60),2)+n+r(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),h("Z",ve),h("ZZ",ve),v(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(ve,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var t=(t||"").match(e);return null===t?null:0===(t=60*(e=((t[t.length-1]||[])+"").match(Lt)||["-",0,0])[1]+M(e[2]))?0:"+"===e[0]?t:-t}function Gt(e,t){var n;return t._isUTC?(t=t.clone(),n=(k(e)||V(e)?e:R(e)).valueOf()-t.valueOf(),t._d.setTime(t._d.valueOf()+n),_.updateOffset(t,!1),t):R(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&this._isUTC&&0===this._offset}_.updateOffset=function(){};var It=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,jt=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function C(e,t){var n,s=e;return Ut(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:w(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(t=It.exec(e))?(n="-"===t[1]?-1:1,s={y:0,d:M(t[S])*n,h:M(t[O])*n,m:M(t[b])*n,s:M(t[T])*n,ms:M(Ht(1e3*t[Te]))*n}):(t=jt.exec(e))?(n="-"===t[1]?-1:1,s={y:Zt(t[2],n),M:Zt(t[3],n),w:Zt(t[4],n),d:Zt(t[5],n),h:Zt(t[6],n),m:Zt(t[7],n),s:Zt(t[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(t=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(R(s.from),R(s.to)),(s={}).ms=t.milliseconds,s.M=t.months),n=new Ct(s),Ut(e)&&c(e,"_locale")&&(n._locale=e._locale),Ut(e)&&c(e,"_isValid")&&(n._isValid=e._isValid),n}function Zt(e,t){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*t}function zt(e,t){var n={};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 qt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Q(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),$t(this,C(e,t),s),this}}function $t(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),t=Ht(t._months);e.isValid()&&(s=null==s||s,t&&Ae(e,Ce(e,"Month")+t*n),r&&Ue(e,"Date",Ce(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s)&&_.updateOffset(e,r||t)}C.fn=Ct.prototype,C.invalid=function(){return C(NaN)};Fe=qt(1,"add"),Qe=qt(-1,"subtract");function Bt(e){return"string"==typeof e||e instanceof String}function Jt(e){return k(e)||V(e)||Bt(e)||w(e)||function(t){var e=y(t),n=!1;e&&(n=0===t.filter(function(e){return!w(e)&&Bt(t)}).length);return e&&n}(e)||function(e){var t,n,s=F(e)&&!L(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a=r.length;for(t=0;t<a;t+=1)n=r[t],i=i||c(e,n);return s&&i}(e)||null==e}function Qt(e,t){var n,s;return e.date()<t.date()?-Qt(t,e):-((n=12*(t.year()-e.year())+(t.month()-e.month()))+(t-(s=e.clone().add(n,"months"))<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s)))||0}function Xt(e){return void 0===e?this._locale._abbr:(null!=(e=P(e))&&(this._locale=e),this)}_.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",_.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";Ke=e("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}var en=126227808e5;function tn(e,t){return(e%t+t)%t}function nn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-en:new Date(e,t,n).valueOf()}function sn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-en:Date.UTC(e,t,n)}function rn(e,t){return t.erasAbbrRegex(e)}function an(){for(var e,t,n,s=[],i=[],r=[],a=[],o=this.eras(),u=0,l=o.length;u<l;++u)e=f(o[u].name),t=f(o[u].abbr),n=f(o[u].narrow),i.push(e),s.push(t),r.push(n),a.push(e),a.push(t),a.push(n);this._erasRegex=new RegExp("^("+a.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+i.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function on(e,t){s(0,[e,e.length],0,t)}function un(e,t,n,s,i){var r;return null==e?Be(this,s,i).year:(r=N(e,s,i),function(e,t,n,s,i){e=$e(e,t,n,s,i),t=ze(e.year,0,e.dayOfYear);return this.year(t.getUTCFullYear()),this.month(t.getUTCMonth()),this.date(t.getUTCDate()),this}.call(this,e,t=r<t?r:t,n,s,i))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),h("N",rn),h("NN",rn),h("NNN",rn),h("NNNN",function(e,t){return t.erasNameRegex(e)}),h("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),v(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){s=n._locale.erasParse(e,s,n._strict);s?p(n).era=s:p(n).invalidEra=e}),h("y",pe),h("yy",pe),h("yyy",pe),h("yyyy",pe),h("yo",function(e,t){return t._eraYearOrdinalRegex||pe}),v(["y","yy","yyy","yyyy"],D),v(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[D]=n._locale.eraYearOrdinalParse(e,i):t[D]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),on("gggg","weekYear"),on("ggggg","weekYear"),on("GGGG","isoWeekYear"),on("GGGGG","isoWeekYear"),h("G",ke),h("g",ke),h("GG",n,t),h("gg",n,t),h("GGGG",ge,ce),h("gggg",ge,ce),h("GGGGG",we,fe),h("ggggg",we,fe),Oe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=M(e)}),Oe(["gg","GG"],function(e,t,n,s){t[s]=_.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),h("Q",de),v("Q",function(e,t){t[Y]=3*(M(e)-1)}),s("D",["DD",2],"Do","date"),h("D",n,u),h("DD",n,t),h("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),v(["D","DD"],S),v("Do",function(e,t){t[S]=M(e.match(n)[0])});ge=Re("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),h("DDD",ye),h("DDDD",he),v(["DDD","DDDD"],function(e,t,n){n._dayOfYear=M(e)}),s("m",["mm",2],0,"minute"),h("m",n,d),h("mm",n,t),v(["m","mm"],b);var ln,ce=Re("Minutes",!1),we=(s("s",["ss",2],0,"second"),h("s",n,d),h("ss",n,t),v(["s","ss"],T),Re("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),h("S",ye,de),h("SS",ye,t),h("SSS",ye,he),ln="SSSS";ln.length<=9;ln+="S")h(ln,pe);function dn(e,t){t[Te]=M(1e3*("0."+e))}for(ln="S";ln.length<=9;ln+="S")v(ln,dn);fe=Re("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");u=$.prototype;function hn(e){return e}u.add=Fe,u.calendar=function(e,t){1===arguments.length&&(arguments[0]?Jt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=F(e)&&!L(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||c(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var e=e||R(),n=Gt(e,this).startOf("day"),n=_.calendarFormat(this,n)||"sameElse",t=t&&(a(t[n])?t[n].call(this,e):t[n]);return this.format(t||this.localeData().calendar(n,this,R(e)))},u.clone=function(){return new $(this)},u.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=o(t)){case"year":r=Qt(this,s)/12;break;case"month":r=Qt(this,s);break;case"quarter":r=Qt(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:m(r)},u.endOf=function(e){var t,n;if(void 0!==(e=o(e))&&"millisecond"!==e&&this.isValid()){switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-tn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-tn(t,1e3)-1;break}this._d.setTime(t),_.updateOffset(this,!0)}return this},u.format=function(e){return e=e||(this.isUtc()?_.defaultFormatUtc:_.defaultFormat),e=re(this,e),this.localeData().postformat(e)},u.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||R(e).isValid())?C({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},u.fromNow=function(e){return this.from(R(),e)},u.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||R(e).isValid())?C({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},u.toNow=function(e){return this.to(R(),e)},u.get=function(e){return a(this[e=o(e)])?this[e]():this},u.invalidAt=function(){return p(this).overflow},u.isAfter=function(e,t){return e=k(e)?e:R(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(t).valueOf())},u.isBefore=function(e,t){return e=k(e)?e:R(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(t).valueOf()<e.valueOf())},u.isBetween=function(e,t,n,s){return e=k(e)?e:R(e),t=k(t)?t:R(t),!!(this.isValid()&&e.isValid()&&t.isValid())&&("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},u.isSame=function(e,t){var e=k(e)?e:R(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(t=o(t)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(t).valueOf()<=e&&e<=this.clone().endOf(t).valueOf()))},u.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},u.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},u.isValid=function(){return A(this)},u.lang=Ke,u.locale=Xt,u.localeData=Kt,u.max=_e,u.min=me,u.parsingFlags=function(){return E({},p(this))},u.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)c(e,t)&&n.push({unit:t,priority:le[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=ue(e)),s=n.length,i=0;i<s;i++)this[n[i].unit](e[n[i].unit]);else if(a(this[e=o(e)]))return this[e](t);return this},u.startOf=function(e){var t,n;if(void 0!==(e=o(e))&&"millisecond"!==e&&this.isValid()){switch(n=this._isUTC?sn:nn,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=tn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=tn(t,6e4);break;case"second":t=this._d.valueOf(),t-=tn(t,1e3);break}this._d.setTime(t),_.updateOffset(this,!0)}return this},u.subtract=Qe,u.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},u.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()}},u.toDate=function(){return new Date(this.valueOf())},u.toISOString=function(e){var t;return this.isValid()?(t=(e=!0!==e)?this.clone().utc():this).year()<0||9999<t.year()?re(t,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):a(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",re(t,"Z")):re(t,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ"):null},u.inspect=function(){var e,t,n;return this.isValid()?(t="moment",e="",this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z"),t="["+t+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(t+n+"-MM-DD[T]HH:mm:ss.SSS"+(e+'[")]'))):"moment.invalid(/* "+this._i+" */)"},"undefined"!=typeof Symbol&&null!=Symbol.for&&(u[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},u.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},u.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},u.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},u.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},u.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-_(n[s].since).year())*e+n[s].offset;return this.year()},u.year=Pe,u.isLeapYear=function(){return be(this.year())},u.weekYear=function(e){return un.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},u.isoWeekYear=function(e){return un.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},u.quarter=u.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},u.month=Ie,u.daysInMonth=function(){return He(this.year(),this.month())},u.week=u.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},u.isoWeek=u.isoWeeks=function(e){var t=Be(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},u.weeksInYear=function(){var e=this.localeData()._week;return N(this.year(),e.dow,e.doy)},u.weeksInWeekYear=function(){var e=this.localeData()._week;return N(this.weekYear(),e.dow,e.doy)},u.isoWeeksInYear=function(){return N(this.year(),1,4)},u.isoWeeksInISOWeekYear=function(){return N(this.isoWeekYear(),1,4)},u.date=ge,u.day=u.days=function(e){var t,n,s;return this.isValid()?(t=Ce(this,"Day"),null!=e?(n=e,s=this.localeData(),e="string"!=typeof n?n:isNaN(n)?"number"==typeof(n=s.weekdaysParse(n))?n:null:parseInt(n,10),this.add(e-t,"d")):t):null!=e?this:NaN},u.weekday=function(e){var t;return this.isValid()?(t=(this.day()+7-this.localeData()._week.dow)%7,null==e?t:this.add(e-t,"d")):null!=e?this:NaN},u.isoWeekday=function(e){var t,n;return this.isValid()?null!=e?(t=e,n=this.localeData(),n="string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t,this.day(this.day()%7?n:n-7)):this.day()||7:null!=e?this:NaN},u.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")},u.hour=u.hours=i,u.minute=u.minutes=ce,u.second=u.seconds=we,u.millisecond=u.milliseconds=fe,u.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(ve,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?$t(this,C(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,_.updateOffset(this,!0),this._changeInProgress=null)),this},u.utc=function(e){return this.utcOffset(0,e)},u.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e)&&this.subtract(Et(this),"m"),this},u.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(Me,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},u.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?R(e).utcOffset():0,(this.utcOffset()-e)%60==0)},u.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},u.isLocal=function(){return!!this.isValid()&&!this._isUTC},u.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},u.isUtc=At,u.isUTC=At,u.zoneAbbr=function(){return this._isUTC?"UTC":""},u.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},u.dates=e("dates accessor is deprecated. Use date instead.",ge),u.months=e("months accessor is deprecated. Use month instead",Ie),u.years=e("years accessor is deprecated. Use year instead",Pe),u.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,t),this):-this.utcOffset()}),u.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){var e,t;return g(this._isDSTShifted)&&(q(e={},this),(e=Nt(e))._a?(t=(e._isUTC?l:R)(e._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&M(e[a])!==M(t[a]))&&r++;return r+i}(e._a,t.toArray())):this._isDSTShifted=!1),this._isDSTShifted});d=K.prototype;function cn(e,t,n,s){var i=P(),s=l().set(s,t);return i[n](s,e)}function fn(e,t,n){if(w(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=cn(e,i,n,"month");return s}function mn(e,t,n,s){t=("boolean"==typeof e?w(t)&&(n=t,t=void 0):(t=e,e=!1,w(n=t)&&(n=t,t=void 0)),t||"");var i,r=P(),a=e?r._week.dow:0,o=[];if(null!=n)return cn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=cn(t,(i+a)%7,s,"day");return o}d.calendar=function(e,t,n){return a(e=this._calendar[e]||this._calendar.sameElse)?e.call(t,n):e},d.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(te).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},d.invalidDate=function(){return this._invalidDate},d.ordinal=function(e){return this._ordinal.replace("%d",e)},d.preparse=hn,d.postformat=hn,d.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return a(i)?i(e,t,n,s):i.replace(/%d/i,e)},d.pastFuture=function(e,t){return a(e=this._relativeTime[0<e?"future":"past"])?e(t):e.replace(/%s/i,t)},d.set=function(e){var t,n;for(n in e)c(e,n)&&(a(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)},d.eras=function(e,t){for(var n,s=this._eras||P("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=_(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=_(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},d.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},d.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?_(e.since).year():_(e.since).year()+(t-e.offset)*n},d.erasAbbrRegex=function(e){return c(this,"_erasAbbrRegex")||an.call(this),e?this._erasAbbrRegex:this._erasRegex},d.erasNameRegex=function(e){return c(this,"_erasNameRegex")||an.call(this),e?this._erasNameRegex:this._erasRegex},d.erasNarrowRegex=function(e){return c(this,"_erasNarrowRegex")||an.call(this),e?this._erasNarrowRegex:this._erasRegex},d.months=function(e,t){return e?(y(this._months)?this._months:this._months[(this._months.isFormat||Ve).test(t)?"format":"standalone"])[e.month()]:y(this._months)?this._months:this._months.standalone},d.monthsShort=function(e,t){return e?(y(this._monthsShort)?this._monthsShort:this._monthsShort[Ve.test(t)?"format":"standalone"])[e.month()]:y(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},d.monthsParse=function(e,t,n){var s,i;if(this._monthsParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=l([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=x.call(this._shortMonthsParse,e))?i:null:-1!==(i=x.call(this._longMonthsParse,e))?i:null:"MMM"===t?-1!==(i=x.call(this._shortMonthsParse,e))||-1!==(i=x.call(this._longMonthsParse,e))?i:null:-1!==(i=x.call(this._longMonthsParse,e))||-1!==(i=x.call(this._shortMonthsParse,e))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=l([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]||(i="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(i.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}},d.monthsRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||je.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Ee),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},d.monthsShortRegex=function(e){return this._monthsParseExact?(c(this,"_monthsRegex")||je.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Ge),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},d.week=function(e){return Be(e,this._week.dow,this._week.doy).week},d.firstDayOfYear=function(){return this._week.doy},d.firstDayOfWeek=function(){return this._week.dow},d.weekdays=function(e,t){return t=y(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"],!0===e?Je(t,this._week.dow):e?t[e.day()]:t},d.weekdaysMin=function(e){return!0===e?Je(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},d.weekdaysShort=function(e){return!0===e?Je(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},d.weekdaysParse=function(e,t,n){var s,i;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=l([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=x.call(this._weekdaysParse,e))?i:null:"ddd"===t?-1!==(i=x.call(this._shortWeekdaysParse,e))?i:null:-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:"dddd"===t?-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._shortWeekdaysParse,e))||-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:"ddd"===t?-1!==(i=x.call(this._shortWeekdaysParse,e))||-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._minWeekdaysParse,e))?i:null:-1!==(i=x.call(this._minWeekdaysParse,e))||-1!==(i=x.call(this._weekdaysParse,e))||-1!==(i=x.call(this._shortWeekdaysParse,e))?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=l([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]||(i="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(i.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}},d.weekdaysRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=et),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},d.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=tt),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},d.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||st.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=nt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},d.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},d.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ft("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===M(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),_.lang=e("moment.lang is deprecated. Use moment.locale instead.",ft),_.langData=e("moment.langData is deprecated. Use moment.localeData instead.",P);var _n=Math.abs;function yn(e,t,n,s){t=C(t,n);return e._milliseconds+=s*t._milliseconds,e._days+=s*t._days,e._months+=s*t._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function wn(e){return 4800*e/146097}function pn(e){return 146097*e/4800}function kn(e){return function(){return this.as(e)}}de=kn("ms"),t=kn("s"),ye=kn("m"),he=kn("h"),Fe=kn("d"),_e=kn("w"),me=kn("M"),Qe=kn("Q"),i=kn("y"),ce=de;function Mn(e){return function(){return this.isValid()?this._data[e]:NaN}}var we=Mn("milliseconds"),fe=Mn("seconds"),ge=Mn("minutes"),Pe=Mn("hours"),d=Mn("days"),vn=Mn("months"),Dn=Mn("years");var Yn=Math.round,Sn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function On(e,t,n,s){var i=C(e).abs(),r=Yn(i.as("s")),a=Yn(i.as("m")),o=Yn(i.as("h")),u=Yn(i.as("d")),l=Yn(i.as("M")),d=Yn(i.as("w")),i=Yn(i.as("y")),r=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||(a<=1?["m"]:a<n.m&&["mm",a])||(o<=1?["h"]:o<n.h&&["hh",o])||(u<=1?["d"]:u<n.d&&["dd",u]);return(r=(r=null!=n.w?r||(d<=1?["w"]:d<n.w&&["ww",d]):r)||(l<=1?["M"]:l<n.M&&["MM",l])||(i<=1?["y"]:["yy",i]))[2]=t,r[3]=0<+e,r[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,r)}var bn=Math.abs;function Tn(e){return(0<e)-(e<0)||+e}function xn(){var e,t,n,s,i,r,a,o,u,l,d;return this.isValid()?(e=bn(this._milliseconds)/1e3,t=bn(this._days),n=bn(this._months),(o=this.asSeconds())?(s=m(e/60),i=m(s/60),e%=60,s%=60,r=m(n/12),n%=12,a=e?e.toFixed(3).replace(/\.?0+$/,""):"",u=Tn(this._months)!==Tn(o)?"-":"",l=Tn(this._days)!==Tn(o)?"-":"",d=Tn(this._milliseconds)!==Tn(o)?"-":"",(o<0?"-":"")+"P"+(r?u+r+"Y":"")+(n?u+n+"M":"")+(t?l+t+"D":"")+(i||s||e?"T":"")+(i?d+i+"H":"")+(s?d+s+"M":"")+(e?d+a+"S":"")):"P0D"):this.localeData().invalidDate()}var U=Ct.prototype;return U.isValid=function(){return this._isValid},U.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},U.add=function(e,t){return yn(this,e,t,1)},U.subtract=function(e,t){return yn(this,e,t,-1)},U.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=o(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+wn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(pn(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)}},U.asMilliseconds=de,U.asSeconds=t,U.asMinutes=ye,U.asHours=he,U.asDays=Fe,U.asWeeks=_e,U.asMonths=me,U.asQuarters=Qe,U.asYears=i,U.valueOf=ce,U._bubble=function(){var e=this._milliseconds,t=this._days,n=this._months,s=this._data;return 0<=e&&0<=t&&0<=n||e<=0&&t<=0&&n<=0||(e+=864e5*gn(pn(n)+t),n=t=0),s.milliseconds=e%1e3,e=m(e/1e3),s.seconds=e%60,e=m(e/60),s.minutes=e%60,e=m(e/60),s.hours=e%24,t+=m(e/24),n+=e=m(wn(t)),t-=gn(pn(e)),e=m(n/12),n%=12,s.days=t,s.months=n,s.years=e,this},U.clone=function(){return C(this)},U.get=function(e){return e=o(e),this.isValid()?this[e+"s"]():NaN},U.milliseconds=we,U.seconds=fe,U.minutes=ge,U.hours=Pe,U.days=d,U.weeks=function(){return m(this.days()/7)},U.months=vn,U.years=Dn,U.humanize=function(e,t){var n,s;return this.isValid()?(n=!1,s=Sn,"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(n=e),"object"==typeof t&&(s=Object.assign({},Sn,t),null!=t.s)&&null==t.ss&&(s.ss=t.s-1),e=this.localeData(),t=On(this,!n,s,e),n&&(t=e.pastFuture(+this,t)),e.postformat(t)):this.localeData().invalidDate()},U.toISOString=xn,U.toString=xn,U.toJSON=xn,U.locale=Xt,U.localeData=Kt,U.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",xn),U.lang=Ke,s("X",0,0,"unix"),s("x",0,0,"valueOf"),h("x",ke),h("X",/[+-]?\d+(\.\d{1,3})?/),v("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),v("x",function(e,t,n){n._d=new Date(M(e))}),_.version="2.30.0",H=R,_.fn=u,_.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},_.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},_.now=function(){return Date.now?Date.now():+new Date},_.utc=l,_.unix=function(e){return R(1e3*e)},_.months=function(e,t){return fn(e,t,"months")},_.isDate=V,_.locale=ft,_.invalid=I,_.duration=C,_.isMoment=k,_.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},_.parseZone=function(){return R.apply(null,arguments).parseZone()},_.localeData=P,_.isDuration=Ut,_.monthsShort=function(e,t){return fn(e,t,"monthsShort")},_.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},_.defineLocale=mt,_.updateLocale=function(e,t){var n,s;return null!=t?(s=ut,null!=W[e]&&null!=W[e].parentLocale?W[e].set(X(W[e]._config,t)):(t=X(s=null!=(n=ct(e))?n._config:s,t),null==n&&(t.abbr=e),(s=new K(t)).parentLocale=W[e],W[e]=s),ft(e)):null!=W[e]&&(null!=W[e].parentLocale?(W[e]=W[e].parentLocale,e===ft()&&ft(e)):null!=W[e]&&delete W[e]),W[e]},_.locales=function(){return ee(W)},_.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},_.normalizeUnits=o,_.relativeTimeRounding=function(e){return void 0===e?Yn:"function"==typeof e&&(Yn=e,!0)},_.relativeTimeThreshold=function(e,t){return void 0!==Sn[e]&&(void 0===t?Sn[e]:(Sn[e]=t,"s"===e&&(Sn.ss=t-1),!0))},_.calendarFormat=function(e,t){return(e=e.diff(t,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},_.prototype=u,_.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},_});
 //# sourceMappingURL=moment.min.js.map
\ No newline at end of file
index 52396b48668156f7795a97c8278629055ececed2..4973b066610c7b1b8be37ec48a0df8986daff89a 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"moment.min.js","sources":["../moment.js"],"names":["global","factory","exports","module","define","amd","moment","this","hookCallback","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","arrLen","i","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","some","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","argLen","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","keys","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","s","tokens","addParseToken","tokenLen","addWeekParseToken","_w","indexOf","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","modMonth","x","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","setMonth","dayOfMonth","min","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","y","parseTwoDigitYear","parseInt","getSetYear","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","dayOfYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","chooseLocale","names","j","next","loadLocale","arr1","arr2","minl","commonPrefix","oldLocale","_abbr","require","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","checkOverflow","_a","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","untruncateYear","configFromRFC2822","parsedArray","weekdayStr","parsedInput","getDay","obsOffset","militaryOffset","numOffset","hm","setUTCMinutes","getUTCMinutes","defaults","c","configFromArray","currentDate","weekYear","weekdayOverflow","curWeek","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","GG","W","E","createLocal","_week","gg","temp","_dayOfYear","yearToUse","_nextDay","expectedWeekday","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","skipped","hour","meridiemHour","isPm","meridiemFixWrap","erasConvertYear","prepareConfig","dayOrDate","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromStringAndArray","createFromInputFallback","minute","second","millisecond","isUTC","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","orderLen","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","parseIso","diffRes","base","isBefore","positiveMomentsDifference","momentsDifference","ret","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","isNumberOrStringArray","property","objectTest","propertyTest","properties","propertyLen","isMomentInputObject","monthDiff","wholeMonthDiff","anchor","adjust","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","isCalendarSpec","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","prioritizedLen","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","Symbol","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","Infinity","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","relativeTime$1","posNegDuration","abs$1","toISOString$1","ymSign","daysSign","hmsSign","total","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"moment.min.js","sources":["../moment.js"],"names":["global","factory","exports","module","define","amd","moment","this","hookCallback","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","hasOwnProp","a","b","hasOwnProperty","isObjectEmpty","obj","getOwnPropertyNames","length","k","isUndefined","isNumber","isDate","Date","map","arr","fn","res","arrLen","i","push","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","isValid","flags","parsedParts","isNowValid","_d","isNaN","getTime","some","invalidWeekday","_strict","undefined","bigHour","isFrozen","_isValid","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","key","args","argLen","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","keys","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","aliases","D","dates","date","d","days","day","e","weekdays","weekday","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","h","hours","hour","ms","milliseconds","millisecond","minutes","minute","M","months","month","Q","quarters","quarter","s","seconds","second","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","w","weeks","week","W","isoweeks","isoweek","y","years","year","normalizeUnits","units","toLowerCase","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","regexes","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","tokens","addParseToken","tokenLen","addWeekParseToken","_w","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","unit","keepTime","set$1","get","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","daysInMonth","x","modMonth","o","monthsShort","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","setMonth","min","setUTCMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","createUTCDate","UTC","firstWeekOffset","dow","doy","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","n","concat","weekdaysMin","weekdaysShort","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","getSetHour","globalLocale","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","ww","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","chooseLocale","names","j","next","loadLocale","arr1","arr2","minl","oldLocale","_abbr","require","getSetGlobalLocale","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","checkOverflow","_a","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","configFromRFC2822","obsOffset","militaryOffset","parsedArray","weekdayStr","parsedInput","numOffset","hm","defaults","c","configFromArray","currentDate","weekdayOverflow","curWeek","nowValue","now","_useUTC","createLocal","_week","temp","_dayOfYear","yearToUse","_nextDay","expectedWeekday","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","skipped","meridiemHour","isPm","erasConvertYear","prepareConfig","dayOrDate","preparse","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","createFromInputFallback","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","unitHasDecimal","orderLen","parseFloat","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","parseIso","diffRes","base","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","isString","String","isMomentInput","arrayTest","dataTypeTest","filter","item","property","objectTest","propertyTest","properties","propertyLen","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","priority","prioritizedLen","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","prefix","isLocal","Symbol","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","_eras","Infinity","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","makeGetter","thresholds","relativeTime$1","posNegDuration","abs$1","toISOString$1","total","ymSign","daysSign","hmsSign","toFixed","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","assign","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS"],"mappings":"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"}
\ No newline at end of file
index 5bb4752b15a92ab0399b6b2a0e50d179e8f4e039..077a33ed13dada7580d3cd721fabf9c5770a5b1f 100644 (file)
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ar-sa');
+    localeModule('ar-ps');
 
     test('parse', function (assert) {
         var tests =
-                'Ù\8aÙ\86اÙ\8aر:Ù\8aÙ\86اÙ\8aر_Ù\81براÙ\8aر:Ù\81براÙ\8aر_Ù\85ارس:Ù\85ارس_أبرÙ\8aÙ\84:أبرÙ\8aÙ\84\85اÙ\8aÙ\88\85اÙ\8aÙ\88\8aÙ\88Ù\86Ù\8aÙ\88\8aÙ\88Ù\86Ù\8aÙ\88\8aÙ\88Ù\84Ù\8aÙ\88\8aÙ\88Ù\84Ù\8aÙ\88_أغسطس:أغسطس_سبتÙ\85بر:سبتÙ\85بر_Ø£Ù\83تÙ\88بر:Ø£Ù\83تÙ\88بر_Ù\86Ù\88Ù\81Ù\85بر:Ù\86Ù\88Ù\81Ù\85بر_دÙ\8aسÙ\85بر:دÙ\8aسÙ\85بر'.split(
+                'Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a_شباط:شباط_آذار:آذار_Ù\86Ù\8aساÙ\86\86Ù\8aساÙ\86_Ø£Ù\8aÙ\91ار:Ø£Ù\8aÙ\91ار_حزÙ\8aراÙ\86:حزÙ\8aراÙ\86_تÙ\85Ù\91Ù\88ز:تÙ\85Ù\91Ù\88ز_آب:آب_Ø£Ù\8aÙ\84Ù\88Ù\84:Ø£Ù\8aÙ\84Ù\88Ù\84_تشرÙ\8a Ø§Ù\84Ø£Ù\88Ù\91Ù\84:تشرÙ\8a Ø§Ù\84Ø£Ù\88Ù\91Ù\84_تشرÙ\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a:تشرÙ\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a\83اÙ\86Ù\88Ù\86 Ø§Ù\84Ø£Ù\88Ù\91Ù\84\83اÙ\86Ù\88Ù\86 Ø§Ù\84Ø£Ù\88Ù\91Ù\84'.split(
                     '_'
                 ),
             i;
             );
         }
 
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
-
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(':');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
-                [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'الأحد، فبراير ١٤ ٢٠١٠، ٣:٢٥:٥٠ م',
-                ],
+                ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد، شباط ١٤ ٢٠١٠، ٣:٢٥:٥٠ م'],
                 ['ddd, hA', 'أحد، ٣م'],
-                ['M Mo MM MMMM MMM', '٢ ٢ ٠٢ فبراير فبراير'],
+                ['M Mo MM MMMM MMM', '٢ ٢ ٠٢ شباط شباط'],
                 ['YYYY YY', '٢٠١٠ ١٠'],
                 ['D Do DD', '١٤ ١٤ ١٤'],
                 ['d do dddd ddd dd', '٠ ٠ الأحد أحد ح'],
                 ['LT', '١٥:٢٥'],
                 ['LTS', '١٥:٢٥:٥٠'],
                 ['L', '١٤/٠٢/٢٠١٠'],
-                ['LL', '١٤ فبراير ٢٠١٠'],
-                ['LLL', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
-                ['LLLL', 'الأحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['LL', '١٤ شباط ٢٠١٠'],
+                ['LLL', '١٤ شباط ٢٠١٠ ١٥:٢٥'],
+                ['LLLL', 'الأحد ١٤ شباط ٢٠١٠ ١٥:٢٥'],
                 ['l', '١٤/٢/٢٠١٠'],
-                ['ll', '١٤ فبراير ٢٠١٠'],
-                ['lll', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
-                ['llll', 'أحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['ll', '١٤ شباط ٢٠١٠'],
+                ['lll', '١٤ شباط ٢٠١٠ ١٥:٢٥'],
+                ['llll', 'أحد ١٤ شباط ٢٠١٠ ١٥:٢٥'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
 
     test('format month', function (assert) {
         var expected =
-                'Ù\8aÙ\86اÙ\8aر Ù\8aÙ\86اÙ\8aر_Ù\81براÙ\8aر Ù\81براÙ\8aر_Ù\85ارس Ù\85ارس_أبرÙ\8aÙ\84 Ø£Ø¨Ø±Ù\8aÙ\84\85اÙ\8aÙ\88 Ù\85اÙ\8aÙ\88\8aÙ\88Ù\86Ù\8aÙ\88 Ù\8aÙ\88Ù\86Ù\8aÙ\88\8aÙ\88Ù\84Ù\8aÙ\88 Ù\8aÙ\88Ù\84Ù\8aÙ\88_أغسطس Ø£ØºØ³Ø·Ø³_سبتÙ\85بر Ø³Ø¨ØªÙ\85بر_Ø£Ù\83تÙ\88بر Ø£Ù\83تÙ\88بر_Ù\86Ù\88Ù\81Ù\85بر Ù\86Ù\88Ù\81Ù\85بر_دÙ\8aسÙ\85بر Ø¯Ù\8aسÙ\85بر'.split(
+                'Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84ثاÙ\86Ù\8a Ù\83Ù¢_شباط Ø´Ø¨Ø§Ø·_آذار Ø¢Ø°Ø§Ø±_Ù\86Ù\8aساÙ\86 Ù\86Ù\8aساÙ\86_Ø£Ù\8aÙ\91ار Ø£Ù\8aÙ\91ار_حزÙ\8aراÙ\86 Ø­Ø²Ù\8aراÙ\86_تÙ\85Ù\91Ù\88ز ØªÙ\85Ù\91Ù\88ز_آب Ø¢Ø¨_Ø£Ù\8aÙ\84Ù\88Ù\84 Ø£Ù\8aÙ\84Ù\88Ù\84_تشرÙ\8a Ø§Ù\84Ø£Ù\88Ù\91Ù\84 ØªÙ¡_تشرÙ\8aÙ\86 Ø§Ù\84ثاÙ\86Ù\8a ØªÙ¢_Ù\83اÙ\86Ù\88Ù\86 Ø§Ù\84Ø£Ù\88Ù\91Ù\84 Ù\83Ù¡'.split(
                     '_'
                 ),
             i;
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ar-tn');
+    localeModule('ar-sa');
 
     test('parse', function (assert) {
         var tests =
-                'جانفي:جانفي_فيفري:فيفري_مارس:مارس_أفريل:أفريل_ماي:ماي_جوان:جوان_جويلية:جويلية_أوت:أوت_سبتمبر:سبتمبر_أكتوبر:أكتوبر_نوفمبر:نوفمبر_ديسمبر:ديسمبر'.split(
+                'يناير:يناير_فبراير:فبراير_مارس:مارس_أبريل:أبريل_مايو:مايو_يونيو:يونيو_يوليو:يوليو_أغسطس:أغسطس_سبتمبر:سبتمبر_أكتوبر:أكتوبر_نوفمبر:نوفمبر_ديسمبر:ديسمبر'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1)
+                input +
+                    ' should be month ' +
+                    (i + 1) +
+                    ' instead is month ' +
+                    moment(input, mmm).month()
             );
         }
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'الأحد, فيفري 14 2010, 3:25:50 pm',
+                    'الأحد، فبراير ١٤ ٢٠١٠، ٣:٢٥:٥٠ م',
                 ],
-                ['ddd, hA', 'أحد, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2 02 فيفري فيفري'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 الأحد أحد ح'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '6 6 06'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
-                ['LT', '15:25'],
-                ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 فيفري 2010'],
-                ['LLL', '14 فيفري 2010 15:25'],
-                ['LLLL', 'الأحد 14 فيفري 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 فيفري 2010'],
-                ['lll', '14 فيفري 2010 15:25'],
-                ['llll', 'أحد 14 فيفري 2010 15:25'],
+                ['ddd, hA', 'أحد، ٣م'],
+                ['M Mo MM MMMM MMM', '٢ ٢ ٠٢ فبراير فبراير'],
+                ['YYYY YY', '٢٠١٠ ١٠'],
+                ['D Do DD', '١٤ ١٤ ١٤'],
+                ['d do dddd ddd dd', '٠ ٠ الأحد أحد ح'],
+                ['DDD DDDo DDDD', '٤٥ ٤٥ ٠٤٥'],
+                ['w wo ww', '٨ ٨ ٠٨'],
+                ['h hh', '٣ ٠٣'],
+                ['H HH', '١٥ ١٥'],
+                ['m mm', '٢٥ ٢٥'],
+                ['s ss', '٥٠ ٥٠'],
+                ['a A', 'م م'],
+                ['[the] DDDo [day of the year]', 'the ٤٥ day of the year'],
+                ['LT', '١٥:٢٥'],
+                ['LTS', '١٥:٢٥:٥٠'],
+                ['L', '١٤/٠٢/٢٠١٠'],
+                ['LL', '١٤ فبراير ٢٠١٠'],
+                ['LLL', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['LLLL', 'الأحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['l', '١٤/٢/٢٠١٠'],
+                ['ll', '١٤ فبراير ٢٠١٠'],
+                ['lll', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['llll', 'أحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '١', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '٢', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '٣', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '٤', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '٥', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '٦', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '٧', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '٨', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '٩', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '١٠', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '١١', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '١٢', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '١٣', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '١٤', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '١٥', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '١٦', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '١٧', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '١٨', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '١٩', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '٢٠', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '٢١', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '٢٢', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '٢٣', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '٢٤', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '٢٥', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '٢٦', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '٢٧', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '٢٨', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '٢٩', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '٣٠', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '٣١', '31');
     });
 
     test('format month', function (assert) {
         var expected =
-                'جانفي جانفي_فيفري فيفري_مارس مارس_أفريل أفريل_ماي ماي_جوان جوان_جويلية جويلية_أوت أوت_سبتمبر سبتمبر_أكتوبر أكتوبر_نوفمبر نوفمبر_ديسمبر ديسمبر'.split(
+                'يناير يناير_فبراير فبراير_مارس مارس_أبريل أبريل_مايو مايو_يونيو يونيو_يوليو يوليو_أغسطس أغسطس_سبتمبر سبتمبر_أكتوبر أكتوبر_نوفمبر نوفمبر_ديسمبر ديسمبر'.split(
                     '_'
                 ),
             i;
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    s: 44,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
             'ثوان',
             '44 seconds = a few seconds'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    s: 45,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
             'دقيقة',
             '45 seconds = a minute'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    s: 89,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
             'دقيقة',
             '89 seconds = a minute'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    s: 90,
-                }),
-                true
-            ),
-            '2 دقائق',
+            start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
+            '٢ دقائق',
             '90 seconds = 2 minutes'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    m: 44,
-                }),
-                true
-            ),
-            '44 دقائق',
+            start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
+            '٤٤ دقائق',
             '44 minutes = 44 minutes'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    m: 45,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
             'ساعة',
             '45 minutes = an hour'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    m: 89,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
             'ساعة',
             '89 minutes = an hour'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    m: 90,
-                }),
-                true
-            ),
-            '2 ساعات',
+            start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
+            '٢ ساعات',
             '90 minutes = 2 hours'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    h: 5,
-                }),
-                true
-            ),
-            '5 ساعات',
+            start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
+            '٥ ساعات',
             '5 hours = 5 hours'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    h: 21,
-                }),
-                true
-            ),
-            '21 ساعات',
+            start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
+            '٢١ ساعات',
             '21 hours = 21 hours'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    h: 22,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
             'يوم',
             '22 hours = a day'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    h: 35,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
             'يوم',
             '35 hours = a day'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    h: 36,
-                }),
-                true
-            ),
-            '2 أيام',
+            start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
+            '٢ أيام',
             '36 hours = 2 days'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 1,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
             'يوم',
             '1 day = a day'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 5,
-                }),
-                true
-            ),
-            '5 أيام',
+            start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
+            '٥ أيام',
             '5 days = 5 days'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 25,
-                }),
-                true
-            ),
-            '25 أيام',
+            start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
+            '٢٥ أيام',
             '25 days = 25 days'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 26,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
             'شهر',
             '26 days = a month'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 30,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
             'شهر',
             '30 days = a month'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 43,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
             'شهر',
             '43 days = a month'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 46,
-                }),
-                true
-            ),
-            '2 أشهر',
+            start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
+            '٢ أشهر',
             '46 days = 2 months'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 74,
-                }),
-                true
-            ),
-            '2 أشهر',
+            start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
+            '٢ أشهر',
             '75 days = 2 months'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 76,
-                }),
-                true
-            ),
-            '3 أشهر',
+            start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
+            '٣ أشهر',
             '76 days = 3 months'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    M: 1,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
             'شهر',
             '1 month = a month'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    M: 5,
-                }),
-                true
-            ),
-            '5 أشهر',
+            start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
+            '٥ أشهر',
             '5 months = 5 months'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 345,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
             'سنة',
             '345 days = a year'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    d: 548,
-                }),
-                true
-            ),
-            '2 سنوات',
+            start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
+            '٢ سنوات',
             '548 days = 2 years'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    y: 1,
-                }),
-                true
-            ),
+            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
             'سنة',
             '1 year = a year'
         );
         assert.equal(
-            start.from(
-                moment([2007, 1, 28]).add({
-                    y: 5,
-                }),
-                true
-            ),
-            '5 سنوات',
+            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
+            '٥ سنوات',
             '5 years = 5 years'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
-            moment()
-                .add({
-                    s: 30,
-                })
-                .fromNow(),
+            moment().add({ s: 30 }).fromNow(),
             'في ثوان',
             'in a few seconds'
         );
-        assert.equal(
-            moment()
-                .add({
-                    d: 5,
-                })
-                .fromNow(),
-            'في 5 أيام',
-            'in 5 days'
-        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'في ٥ أيام', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'اليوم على الساعة 12:00',
+            'اليوم على الساعة ١٢:٠٠',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'اليوم على الساعة 12:25',
+            'اليوم على الساعة ١٢:٢٥',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'اليوم على الساعة 13:00',
+            'اليوم على الساعة ١٣:٠٠',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'غدا على الساعة 12:00',
+            'غدا على الساعة ١٢:٠٠',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'اليوم على الساعة 11:00',
+            'اليوم على الساعة ١١:٠٠',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'أمس على الساعة 12:00',
+            'أمس على الساعة ١٢:٠٠',
             'yesterday at the same time'
         );
     });
     test('calendar next week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().add({
-                d: i,
-            });
+            m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
                 m.format('dddd [على الساعة] LT'),
     test('calendar last week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().subtract({
-                d: i,
-            });
+            m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
                 m.format('dddd [على الساعة] LT'),
     });
 
     test('calendar all else', function (assert) {
-        var weeksAgo = moment().subtract({
-                w: 1,
-            }),
-            weeksFromNow = moment().add({
-                w: 1,
-            });
+        var weeksAgo = moment().subtract({ w: 1 }),
+            weeksFromNow = moment().add({ w: 1 });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             'in 1 week'
         );
 
-        weeksAgo = moment().subtract({
-            w: 2,
-        });
-        weeksFromNow = moment().add({
-            w: 2,
-        });
+        weeksAgo = moment().subtract({ w: 2 });
+        weeksFromNow = moment().add({ w: 2 });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting wednesday custom', function (assert) {
         assert.equal(
-            moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52',
-            'Jan  1 2012 should be week 52'
+            moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'),
+            '٢٠٠٣-٠١-٠٤',
+            '2003 1 6 : gggg w d'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1',
-            'Jan  2 2012 should be week 1'
+            moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'),
+            '٢٠٠٢-١٢-٢٩',
+            '2003 1 0 : gggg w e'
         );
         assert.equal(
-            moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1',
-            'Jan  8 2012 should be week 1'
+            moment('2003 1 6', 'gggg w d').format('gggg w d'),
+            '٢٠٠٣ ١ ٦',
+            '2003 1 6 : gggg w d'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2',
-            'Jan  9 2012 should be week 2'
+            moment('2003 1 0', 'gggg w e').format('gggg w e'),
+            '٢٠٠٣ ١ ٠',
+            '2003 1 0 : gggg w e'
         );
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2',
-            'Jan 15 2012 should be week 2'
+            moment([2011, 11, 31]).format('w ww wo'),
+            '٥٣ ٥٣ ٥٣',
+            '2011 11 31'
+        );
+        assert.equal(moment([2012, 0, 6]).format('w ww wo'), '١ ٠١ ١', '2012 0 6');
+        assert.equal(moment([2012, 0, 7]).format('w ww wo'), '١ ٠١ ١', '2012 0 7');
+        assert.equal(
+            moment([2012, 0, 13]).format('w ww wo'),
+            '٢ ٠٢ ٢',
+            '2012 0 13'
+        );
+        assert.equal(
+            moment([2012, 0, 14]).format('w ww wo'),
+            '٢ ٠٢ ٢',
+            '2012 0 14'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ar');
-
-    var months = [
-        'يناير',
-        'فبراير',
-        'مارس',
-        'أبريل',
-        'مايو',
-        'يونيو',
-        'يوليو',
-        'أغسطس',
-        'سبتمبر',
-        'أكتوبر',
-        'نوفمبر',
-        'ديسمبر',
-    ];
+    localeModule('ar-tn');
 
     test('parse', function (assert) {
-        var tests = months,
+        var tests =
+                'جانفي:جانفي_فيفري:فيفري_مارس:مارس_أفريل:أفريل_ماي:ماي_جوان:جوان_جويلية:جويلية_أوت:أوت_سبتمبر:سبتمبر_أكتوبر:أكتوبر_نوفمبر:نوفمبر_ديسمبر:ديسمبر'.split(
+                    '_'
+                ),
             i;
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input +
-                    ' should be month ' +
-                    (i + 1) +
-                    ' instead is month ' +
-                    moment(input, mmm).month()
+                input + ' should be month ' + (i + 1)
             );
         }
 
-        // function equalTestStrict(input, mmm, monthIndex) {
-        //     assert.equal(
-        //         moment(input, mmm, true).month(),
-        //         monthIndex,
-        //         input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-        //     );
-        // }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
 
         for (i = 0; i < 12; i++) {
-            equalTest(tests[i], 'MMM', i);
-            equalTest(tests[i], 'MMM', i);
-            equalTest(tests[i], 'MMMM', i);
-            equalTest(tests[i], 'MMMM', i);
-            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            tests[i] = tests[i].split(':');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            // All strict parsing tests fail
-            // equalTestStrict(tests[i][1], 'MMM', i);
-            // equalTestStrict(tests[i][0], 'MMMM', i);
-            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            // equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            // equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'الأحد، فبراير ١٤ ٢٠١٠، ٣:٢٥:٥٠ م',
+                    'الأحد, فيفري 14 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'أحد، ٣م'],
-                ['M Mo MM MMMM MMM', '٢ ٢ ٠٢ فبراير فبراير'],
-                ['YYYY YY', '٢٠١٠ ١٠'],
-                ['D Do DD', '١٤ ١٤ ١٤'],
-                ['d do dddd ddd dd', '٠ ٠ الأحد أحد ح'],
-                ['DDD DDDo DDDD', '٤٥ ٤٥ ٠٤٥'],
-                ['w wo ww', '٨ ٨ ٠٨'],
-                ['h hh', '٣ ٠٣'],
-                ['H HH', '١٥ ١٥'],
-                ['m mm', '٢٥ ٢٥'],
-                ['s ss', '٥٠ ٥٠'],
-                ['a A', 'م م'],
-                ['[the] DDDo [day of the year]', 'the ٤٥ day of the year'],
-                ['LT', '١٥:٢٥'],
-                ['LTS', '١٥:٢٥:٥٠'],
-                ['L', '١٤/\u200f٢/\u200f٢٠١٠'],
-                ['LL', '١٤ فبراير ٢٠١٠'],
-                ['LLL', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
-                ['LLLL', 'الأحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
-                ['l', '١٤/\u200f٢/\u200f٢٠١٠'],
-                ['ll', '١٤ فبراير ٢٠١٠'],
-                ['lll', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
-                ['llll', 'أحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['ddd, hA', 'أحد, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2 02 فيفري فيفري'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 الأحد أحد ح'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '6 6 06'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+                ['LT', '15:25'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
+                ['LL', '14 فيفري 2010'],
+                ['LLL', '14 فيفري 2010 15:25'],
+                ['LLLL', 'الأحد 14 فيفري 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 فيفري 2010'],
+                ['lll', '14 فيفري 2010 15:25'],
+                ['llll', 'أحد 14 فيفري 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '١', '1');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '٢', '2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '٣', '3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '٤', '4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '٥', '5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '٦', '6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '٧', '7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '٨', '8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '٩', '9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '١٠', '10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '١١', '11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '١٢', '12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '١٣', '13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '١٤', '14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '١٥', '15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '١٦', '16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '١٧', '17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '١٨', '18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '١٩', '19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '٢٠', '20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '٢١', '21');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '٢٢', '22');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '٢٣', '23');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '٢٤', '24');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '٢٥', '25');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '٢٦', '26');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '٢٧', '27');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '٢٨', '28');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '٢٩', '29');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '٣٠', '30');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '٣١', '31');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
     });
 
     test('format month', function (assert) {
-        var expected = months,
+        var expected =
+                'جانفي جانفي_فيفري فيفري_مارس مارس_أفريل أفريل_ماي ماي_جوان جوان_جويلية جويلية_أوت أوت_سبتمبر سبتمبر_أكتوبر أكتوبر_نوفمبر نوفمبر_ديسمبر ديسمبر'.split(
+                    '_'
+                ),
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
-                moment([2011, i, 1]).format('MMMM'),
-                expected[i],
-                expected[i]
-            );
-            assert.equal(
-                moment([2011, i, 1]).format('MMM'),
+                moment([2011, i, 1]).format('MMMM MMM'),
                 expected[i],
                 expected[i]
             );
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            '٤٤ ثانية',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    s: 44,
+                }),
+                true
+            ),
+            'ثوان',
             '44 seconds = a few seconds'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'دقيقة واحدة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    s: 45,
+                }),
+                true
+            ),
+            'دقيقة',
             '45 seconds = a minute'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'دقيقة واحدة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    s: 89,
+                }),
+                true
+            ),
+            'دقيقة',
             '89 seconds = a minute'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            'دقيقتان',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    s: 90,
+                }),
+                true
+            ),
+            '2 دقائق',
             '90 seconds = 2 minutes'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '٤٤ دقيقة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    m: 44,
+                }),
+                true
+            ),
+            '44 دقائق',
             '44 minutes = 44 minutes'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ساعة واحدة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    m: 45,
+                }),
+                true
+            ),
+            'ساعة',
             '45 minutes = an hour'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ساعة واحدة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    m: 89,
+                }),
+                true
+            ),
+            'ساعة',
             '89 minutes = an hour'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            'ساعتان',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    m: 90,
+                }),
+                true
+            ),
+            '2 ساعات',
             '90 minutes = 2 hours'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '٥ ساعات',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    h: 5,
+                }),
+                true
+            ),
+            '5 ساعات',
             '5 hours = 5 hours'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '٢١ ساعة',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    h: 21,
+                }),
+                true
+            ),
+            '21 ساعات',
             '21 hours = 21 hours'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'يوم واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    h: 22,
+                }),
+                true
+            ),
+            'يوم',
             '22 hours = a day'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'يوم واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    h: 35,
+                }),
+                true
+            ),
+            'يوم',
             '35 hours = a day'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            'يومان',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    h: 36,
+                }),
+                true
+            ),
+            '2 أيام',
             '36 hours = 2 days'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'يوم واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 1,
+                }),
+                true
+            ),
+            'يوم',
             '1 day = a day'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '٥ أيام',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 5,
+                }),
+                true
+            ),
+            '5 أيام',
             '5 days = 5 days'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '٢٥ يومًا',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 25,
+                }),
+                true
+            ),
+            '25 أيام',
             '25 days = 25 days'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'شهر واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 26,
+                }),
+                true
+            ),
+            'شهر',
             '26 days = a month'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'شهر واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 30,
+                }),
+                true
+            ),
+            'شهر',
             '30 days = a month'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'شهر واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 43,
+                }),
+                true
+            ),
+            'شهر',
             '43 days = a month'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            'شهران',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 46,
+                }),
+                true
+            ),
+            '2 أشهر',
             '46 days = 2 months'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            'شهران',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 74,
+                }),
+                true
+            ),
+            '2 أشهر',
             '75 days = 2 months'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '٣ أشهر',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 76,
+                }),
+                true
+            ),
+            '3 أشهر',
             '76 days = 3 months'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'شهر واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    M: 1,
+                }),
+                true
+            ),
+            'شهر',
             '1 month = a month'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '٥ أشهر',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    M: 5,
+                }),
+                true
+            ),
+            '5 أشهر',
             '5 months = 5 months'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'عام واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 345,
+                }),
+                true
+            ),
+            'سنة',
             '345 days = a year'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            'عامان',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    d: 548,
+                }),
+                true
+            ),
+            '2 سنوات',
             '548 days = 2 years'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'عام واحد',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    y: 1,
+                }),
+                true
+            ),
+            'سنة',
             '1 year = a year'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '٥ أعوام',
+            start.from(
+                moment([2007, 1, 28]).add({
+                    y: 5,
+                }),
+                true
+            ),
+            '5 سنوات',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'بعد ٣٠ ثانية', 'prefix');
-        assert.equal(moment(0).from(30000), 'منذ ٣٠ ثانية', 'suffix');
+        assert.equal(moment(30000).from(0), 'في ثوان', 'prefix');
+        assert.equal(moment(0).from(30000), 'منذ ثوان', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'منذ ثانية واحدة',
+            'منذ ثوان',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
-            moment().add({ s: 30 }).fromNow(),
-            'بعد ٣٠ ثانية',
+            moment()
+                .add({
+                    s: 30,
+                })
+                .fromNow(),
+            'في ثوان',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'بعد ٥ أيام', 'in 5 days');
+        assert.equal(
+            moment()
+                .add({
+                    d: 5,
+                })
+                .fromNow(),
+            'في 5 أيام',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د Ø§Ù\84ساعة Ù¡Ù¢:٠٠',
+            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 Ø§Ù\84ساعة 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د Ø§Ù\84ساعة Ù¡Ù¢:٢٥',
+            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 Ø§Ù\84ساعة 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د Ø§Ù\84ساعة Ù¡Ù£:٠٠',
+            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 Ø§Ù\84ساعة 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'غدًا عند الساعة ١٢:٠٠',
+            'غدا على الساعة 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\86د Ø§Ù\84ساعة Ù¡Ù¡:٠٠',
+            'اÙ\84Ù\8aÙ\88Ù\85 Ø¹Ù\84Ù\89 Ø§Ù\84ساعة 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Ø£Ù\85س Ø¹Ù\86د Ø§Ù\84ساعة Ù¡Ù¢:٠٠',
+            'Ø£Ù\85س Ø¹Ù\84Ù\89 Ø§Ù\84ساعة 12:00',
             'yesterday at the same time'
         );
     });
     test('calendar next week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().add({ d: i });
+            m = moment().add({
+                d: i,
+            });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     test('calendar last week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().subtract({ d: i });
+            m = moment().subtract({
+                d: i,
+            });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [عÙ\86د الساعة] LT'),
+                m.format('dddd [عÙ\84Ù\89 الساعة] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar all else', function (assert) {
-        var weeksAgo = moment().subtract({ w: 1 }),
-            weeksFromNow = moment().add({ w: 1 });
+        var weeksAgo = moment().subtract({
+                w: 1,
+            }),
+            weeksFromNow = moment().add({
+                w: 1,
+            });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             'in 1 week'
         );
 
-        weeksAgo = moment().subtract({ w: 2 });
-        weeksFromNow = moment().add({ w: 2 });
+        weeksAgo = moment().subtract({
+            w: 2,
+        });
+        weeksFromNow = moment().add({
+            w: 2,
+        });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
         );
     });
 
-    test('weeks year starting wednesday custom', function (assert) {
-        assert.equal(
-            moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'),
-            '٢٠٠٢-١٢-٢٨',
-            'Week 1 of 2003 should be Dec 28 2002'
-        );
-        assert.equal(
-            moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'),
-            '٢٠٠٢-١٢-٢٨',
-            'Week 1 of 2003 should be Dec 28 2002'
-        );
-        assert.equal(
-            moment('2003 1 6', 'gggg w d').format('gggg w d'),
-            '٢٠٠٣ ١ ٦',
-            'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6'
-        );
-        assert.equal(
-            moment('2003 1 0', 'gggg w e').format('gggg w e'),
-            '٢٠٠٣ ١ ٠',
-            '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0'
-        );
-    });
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            moment([2011, 11, 31]).format('w ww wo'),
-            '١ ٠١ ١',
-            'Dec 31 2011 should be week 1'
-        );
-        assert.equal(
-            moment([2012, 0, 6]).format('w ww wo'),
-            '١ ٠١ ١',
-            'Jan  6 2012 should be week 1'
-        );
-        assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '٢ ٠٢ ٢',
-            'Jan  7 2012 should be week 2'
+            moment([2012, 0, 1]).format('w ww wo'),
+            '52 52 52',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 13]).format('w ww wo'),
-            '٢ ٠٢ ٢',
-            'Jan 13 2012 should be week 2'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '٣ ٠٣ ٣',
-            'Jan 14 2012 should be week 3'
+            moment([2012, 0, 8]).format('w ww wo'),
+            '1 01 1',
+            'Jan  8 2012 should be week 1'
         );
-    });
-
-    test('no leading zeros in long date formats', function (assert) {
-        var i, j, longDateStr, shortDateStr;
-        for (i = 1; i <= 9; ++i) {
-            for (j = 1; j <= 9; ++j) {
-                longDateStr = moment([2014, i, j]).format('L');
-                shortDateStr = moment([2014, i, j]).format('l');
-                assert.equal(
-                    longDateStr,
-                    shortDateStr,
-                    'should not have leading zeros in month or day'
-                );
-            }
-        }
-    });
-
-    // locale-specific
-    test('ar strict mode parsing works', function (assert) {
-        var m, formattedDate;
-        m = moment().locale('ar');
-        formattedDate = m.format('l');
         assert.equal(
-            moment.utc(formattedDate, 'l', 'ar', false).isValid(),
-            true,
-            'Non-strict parsing works'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
-            moment.utc(formattedDate, 'l', 'ar', true).isValid(),
-            true,
-            'Strict parsing must work'
+            moment([2012, 0, 15]).format('w ww wo'),
+            '2 02 2',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('az');
+    localeModule('ar');
+
+    var months = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر',
+    ];
 
     test('parse', function (assert) {
-        var tests =
-                'yanvar yan_fevral fev_mart mar_Aprel apr_may may_iyun iyn_iyul iyl_Avqust avq_sentyabr sen_oktyabr okt_noyabr noy_dekabr dek'.split(
-                    '_'
-                ),
+        var tests = months,
             i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1)
+                input +
+                    ' should be month ' +
+                    (i + 1) +
+                    ' instead is month ' +
+                    moment(input, mmm).month()
             );
         }
 
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
+        // function equalTestStrict(input, mmm, monthIndex) {
+        //     assert.equal(
+        //         moment(input, mmm, true).month(),
+        //         monthIndex,
+        //         input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+        //     );
+        // }
 
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(' ');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            // All strict parsing tests fail
+            // equalTestStrict(tests[i][1], 'MMM', i);
+            // equalTestStrict(tests[i][0], 'MMMM', i);
+            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            // equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            // equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
-                ['dddd, D MMMM YYYY, HH:mm:ss', 'Bazar, 14 fevral 2010, 15:25:50'],
-                ['ddd, A h', 'Baz, gündüz 3'],
-                ['M Mo MM MMMM MMM', '2 2-nci 02 fevral fev'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14-üncü 14'],
-                ['d do dddd ddd dd', '0 0-ıncı Bazar Baz Bz'],
-                ['DDD DDDo DDDD', '45 45-inci 045'],
-                ['w wo ww', '7 7-nci 07'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'gündüz gündüz'],
-                ['[ilin] DDDo [günü]', 'ilin 45-inci günü'],
-                ['LT', '15:25'],
-                ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14 fevral 2010'],
-                ['LLL', '14 fevral 2010 15:25'],
-                ['LLLL', 'Bazar, 14 fevral 2010 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14 fev 2010'],
-                ['lll', '14 fev 2010 15:25'],
-                ['llll', 'Baz, 14 fev 2010 15:25'],
-            ],
-            DDDo = [
-                [359, '360-ıncı'],
-                [199, '200-üncü'],
-                [149, '150-nci'],
+                [
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'الأحد، فبراير ١٤ ٢٠١٠، ٣:٢٥:٥٠ م',
+                ],
+                ['ddd, hA', 'أحد، ٣م'],
+                ['M Mo MM MMMM MMM', '٢ ٢ ٠٢ فبراير فبراير'],
+                ['YYYY YY', '٢٠١٠ ١٠'],
+                ['D Do DD', '١٤ ١٤ ١٤'],
+                ['d do dddd ddd dd', '٠ ٠ الأحد أحد ح'],
+                ['DDD DDDo DDDD', '٤٥ ٤٥ ٠٤٥'],
+                ['w wo ww', '٨ ٨ ٠٨'],
+                ['h hh', '٣ ٠٣'],
+                ['H HH', '١٥ ١٥'],
+                ['m mm', '٢٥ ٢٥'],
+                ['s ss', '٥٠ ٥٠'],
+                ['a A', 'م م'],
+                ['[the] DDDo [day of the year]', 'the ٤٥ day of the year'],
+                ['LT', '١٥:٢٥'],
+                ['LTS', '١٥:٢٥:٥٠'],
+                ['L', '١٤/\u200f٢/\u200f٢٠١٠'],
+                ['LL', '١٤ فبراير ٢٠١٠'],
+                ['LLL', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['LLLL', 'الأحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['l', '١٤/\u200f٢/\u200f٢٠١٠'],
+                ['ll', '١٤ فبراير ٢٠١٠'],
+                ['lll', '١٤ فبراير ٢٠١٠ ١٥:٢٥'],
+                ['llll', 'أحد ١٤ فبراير ٢٠١٠ ١٥:٢٥'],
             ],
-            dt = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
-            DDDoDt,
+            b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
-            assert.equal(dt.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
-        }
-        for (i = 0; i < DDDo.length; i++) {
-            DDDoDt = moment([2010]);
-            assert.equal(
-                DDDoDt.add(DDDo[i][0], 'days').format('DDDo'),
-                DDDo[i][1],
-                DDDo[i][0] + ' ---> ' + DDDo[i][1]
-            );
+            assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-inci', '1st');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-nci', '2nd');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-üncü', '3rd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-üncü', '4th');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-inci', '5th');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-ncı', '6th');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-nci', '7th');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-inci', '8th');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-uncu', '9th');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-uncu', '10th');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '١', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '٢', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '٣', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '٤', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '٥', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '٦', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '٧', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '٨', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '٩', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '١٠', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-inci', '11th');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-nci', '12th');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-üncü', '13th');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-üncü', '14th');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-inci', '15th');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-ncı', '16th');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-nci', '17th');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-inci', '18th');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-uncu', '19th');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-nci', '20th');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '١١', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '١٢', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '١٣', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '١٤', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '١٥', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '١٦', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '١٧', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '١٨', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '١٩', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '٢٠', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-inci', '21th');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-nci', '22th');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-üncü', '23th');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-üncü', '24th');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-inci', '25th');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ncı', '26th');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-nci', '27th');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-inci', '28th');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-uncu', '29th');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-uncu', '30th');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '٢١', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '٢٢', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '٢٣', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '٢٤', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '٢٥', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '٢٦', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '٢٧', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '٢٨', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '٢٩', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '٣٠', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-inci', '31st');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '٣١', '31');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'yanvar yan_fevral fev_mart mar_aprel apr_may may_iyun iyn_iyul iyl_avqust avq_sentyabr sen_oktyabr okt_noyabr noy_dekabr dek'.split(
-                    '_'
-                ),
+        var expected = months,
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
-                moment([2011, i, 1]).format('MMMM MMM'),
+                moment([2011, i, 1]).format('MMMM'),
+                expected[i],
+                expected[i]
+            );
+            assert.equal(
+                moment([2011, i, 1]).format('MMM'),
                 expected[i],
                 expected[i]
             );
 
     test('format week', function (assert) {
         var expected =
-                'Bazar Baz Bz_Bazar ertəsi BzE BE_Çərşənbə axşamı ÇAx ÇA_Çərşənbə Çər Çə_Cümə axşamı CAx CA_Cümə Cüm Cü_Şənbə Şən Şə'.split(
+                'الأحد أحد ح_الإثنين إثنين ن_الثلاثاء ثلاثاء ث_الأربعاء أربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'bir neçə saniyə',
+            '٤٤ ثانية',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'bir dəqiqə',
+            'دقيقة واحدة',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'bir dəqiqə',
+            'دقيقة واحدة',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 dəqiqə',
+            'دقيقتان',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 dəqiqə',
+            '٤٤ دقيقة',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'bir saat',
+            'ساعة واحدة',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'bir saat',
+            'ساعة واحدة',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 saat',
+            'ساعتان',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 saat',
+            '٥ ساعات',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 saat',
+            '٢١ ساعة',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'bir gün',
+            'يوم واحد',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'bir gün',
+            'يوم واحد',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 gün',
+            'يومان',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'bir gün',
+            'يوم واحد',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 gün',
+            '٥ أيام',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 gün',
+            '٢٥ يومًا',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'bir ay',
+            'شهر واحد',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'bir ay',
+            'شهر واحد',
             '30 days = a month'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
+            'شهر واحد',
+            '43 days = a month'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 ay',
+            'شهران',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 ay',
+            'شهران',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 ay',
+            '٣ أشهر',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'bir ay',
+            'شهر واحد',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 ay',
+            '٥ أشهر',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'bir il',
+            'عام واحد',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 il',
+            'عامان',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'bir il',
+            'عام واحد',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 il',
+            '٥ أعوام',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'bir neçə saniyə sonra', 'prefix');
-        assert.equal(moment(0).from(30000), 'bir neçə saniyə əvvəl', 'suffix');
+        assert.equal(moment(30000).from(0), 'بعد ٣٠ ثانية', 'prefix');
+        assert.equal(moment(0).from(30000), 'منذ ٣٠ ثانية', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'bir neçə saniyə əvvəl',
+            'منذ ثانية واحدة',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'bir neçə saniyə sonra',
+            'بعد ٣٠ ثانية',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 gün sonra', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'بعد ٥ أيام', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'bugün saat 12:00',
+            'اليوم عند الساعة ١٢:٠٠',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'bugün saat 12:25',
+            'اليوم عند الساعة ١٢:٢٥',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'bugün saat 13:00',
+            'اليوم عند الساعة ١٣:٠٠',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'sabah saat 12:00',
+            'غدًا عند الساعة ١٢:٠٠',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'bugün saat 11:00',
+            'اليوم عند الساعة ١١:٠٠',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'dünən 12:00',
+            'أمس عند الساعة ١٢:٠٠',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[gələn həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[gələn həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[gələn həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[keçən həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[keçən həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[keçən həftə] dddd [saat] LT'),
+                m.format('dddd [عند الساعة] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
+    test('weeks year starting wednesday custom', function (assert) {
+        assert.equal(
+            moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'),
+            '٢٠٠٢-١٢-٢٨',
+            'Week 1 of 2003 should be Dec 28 2002'
+        );
+        assert.equal(
+            moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'),
+            '٢٠٠٢-١٢-٢٨',
+            'Week 1 of 2003 should be Dec 28 2002'
+        );
+        assert.equal(
+            moment('2003 1 6', 'gggg w d').format('gggg w d'),
+            '٢٠٠٣ ١ ٦',
+            'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6'
+        );
+        assert.equal(
+            moment('2003 1 0', 'gggg w e').format('gggg w e'),
+            '٢٠٠٣ ١ ٠',
+            '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0'
+        );
+    });
+
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1-inci',
-            'Dec 26 2011 should be week 1'
+            moment([2011, 11, 31]).format('w ww wo'),
+            '١ ٠١ ١',
+            'Dec 31 2011 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-inci',
-            'Jan  1 2012 should be week 1'
+            moment([2012, 0, 6]).format('w ww wo'),
+            '١ ٠١ ١',
+            'Jan  6 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2-nci',
-            'Jan  2 2012 should be week 2'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '٢ ٠٢ ٢',
+            'Jan  7 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2-nci',
-            'Jan  8 2012 should be week 2'
+            moment([2012, 0, 13]).format('w ww wo'),
+            '٢ ٠٢ ٢',
+            'Jan 13 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3-üncü',
-            'Jan  9 2012 should be week 3'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '٣ ٠٣ ٣',
+            'Jan 14 2012 should be week 3'
+        );
+    });
+
+    test('no leading zeros in long date formats', function (assert) {
+        var i, j, longDateStr, shortDateStr;
+        for (i = 1; i <= 9; ++i) {
+            for (j = 1; j <= 9; ++j) {
+                longDateStr = moment([2014, i, j]).format('L');
+                shortDateStr = moment([2014, i, j]).format('l');
+                assert.equal(
+                    longDateStr,
+                    shortDateStr,
+                    'should not have leading zeros in month or day'
+                );
+            }
+        }
+    });
+
+    // locale-specific
+    test('ar strict mode parsing works', function (assert) {
+        var m, formattedDate;
+        m = moment().locale('ar');
+        formattedDate = m.format('l');
+        assert.equal(
+            moment.utc(formattedDate, 'l', 'ar', false).isValid(),
+            true,
+            'Non-strict parsing works'
+        );
+        assert.equal(
+            moment.utc(formattedDate, 'l', 'ar', true).isValid(),
+            true,
+            'Strict parsing must work'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('be');
+    localeModule('az');
 
     test('parse', function (assert) {
         var tests =
-                'студзень студ_люты лют_сакавік сак_красавік крас_травень трав_чэрвень чэрв_ліпень ліп_жнівень жнів_верасень вер_кастрычнік каст_лістапад ліст_снежань снеж'.split(
+                'yanvar yan_fevral fev_mart mar_Aprel apr_may may_iyun iyn_iyul iyl_Avqust avq_sentyabr sen_oktyabr okt_noyabr noy_dekabr dek'.split(
                     '_'
                 ),
             i;
 
     test('format', function (assert) {
         var a = [
-                [
-                    'dddd, Do MMMM YYYY, HH:mm:ss',
-                    'нядзеля, 14-га лютага 2010, 15:25:50',
-                ],
-                ['ddd, h A', 'нд, 3 дня'],
-                ['M Mo MM MMMM MMM', '2 2-і 02 люты лют'],
+                ['dddd, D MMMM YYYY, HH:mm:ss', 'Bazar, 14 fevral 2010, 15:25:50'],
+                ['ddd, A h', 'Baz, gündüz 3'],
+                ['M Mo MM MMMM MMM', '2 2-nci 02 fevral fev'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14-га 14'],
-                ['d do dddd ddd dd', '0 0-ы нядзеля нд нд'],
-                ['DDD DDDo DDDD', '45 45-ы 045'],
-                ['w wo ww', '7 7-ы 07'],
+                ['D Do DD', '14 14-üncü 14'],
+                ['d do dddd ddd dd', '0 0-ıncı Bazar Baz Bz'],
+                ['DDD DDDo DDDD', '45 45-inci 045'],
+                ['w wo ww', '7 7-nci 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'дня дня'],
-                ['DDDo [дзень года]', '45-ы дзень года'],
+                ['a A', 'gündüz gündüz'],
+                ['[ilin] DDDo [günü]', 'ilin 45-inci günü'],
                 ['LT', '15:25'],
                 ['LTS', '15:25:50'],
                 ['L', '14.02.2010'],
-                ['LL', '14 лютага 2010 г.'],
-                ['LLL', '14 лютага 2010 г., 15:25'],
-                ['LLLL', 'нядзеля, 14 лютага 2010 г., 15:25'],
+                ['LL', '14 fevral 2010'],
+                ['LLL', '14 fevral 2010 15:25'],
+                ['LLLL', 'Bazar, 14 fevral 2010 15:25'],
                 ['l', '14.2.2010'],
-                ['ll', '14 лют 2010 г.'],
-                ['lll', '14 лют 2010 г., 15:25'],
-                ['llll', 'нд, 14 лют 2010 г., 15:25'],
+                ['ll', '14 fev 2010'],
+                ['lll', '14 fev 2010 15:25'],
+                ['llll', 'Baz, 14 fev 2010 15:25'],
             ],
-            b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+            DDDo = [
+                [359, '360-ıncı'],
+                [199, '200-üncü'],
+                [149, '150-nci'],
+            ],
+            dt = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+            DDDoDt,
             i;
+
         for (i = 0; i < a.length; i++) {
-            assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+            assert.equal(dt.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+        }
+        for (i = 0; i < DDDo.length; i++) {
+            DDDoDt = moment([2010]);
+            assert.equal(
+                DDDoDt.add(DDDo[i][0], 'days').format('DDDo'),
+                DDDo[i][1],
+                DDDo[i][0] + ' ---> ' + DDDo[i][1]
+            );
         }
-    });
-
-    test('format meridiem', function (assert) {
-        assert.equal(moment([2012, 11, 28, 0, 0]).format('A'), 'ночы', 'night');
-        assert.equal(moment([2012, 11, 28, 3, 59]).format('A'), 'ночы', 'night');
-        assert.equal(moment([2012, 11, 28, 4, 0]).format('A'), 'раніцы', 'morning');
-        assert.equal(
-            moment([2012, 11, 28, 11, 59]).format('A'),
-            'раніцы',
-            'morning'
-        );
-        assert.equal(moment([2012, 11, 28, 12, 0]).format('A'), 'дня', 'afternoon');
-        assert.equal(
-            moment([2012, 11, 28, 16, 59]).format('A'),
-            'дня',
-            'afternoon'
-        );
-        assert.equal(
-            moment([2012, 11, 28, 17, 0]).format('A'),
-            'вечара',
-            'evening'
-        );
-        assert.equal(
-            moment([2012, 11, 28, 23, 59]).format('A'),
-            'вечара',
-            'evening'
-        );
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ы', '1-ы');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-і', '2-і');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-і', '3-і');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-ы', '4-ы');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-ы', '5-ы');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-ы', '6-ы');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ы', '7-ы');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ы', '8-ы');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-ы', '9-ы');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-ы', '10-ы');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-inci', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-nci', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-üncü', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-üncü', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-inci', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-ncı', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-nci', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-inci', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-uncu', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-uncu', '10th');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-ы', '11-ы');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-ы', '12-ы');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-ы', '13-ы');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-ы', '14-ы');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-ы', '15-ы');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-ы', '16-ы');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-ы', '17-ы');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-ы', '18-ы');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-ы', '19-ы');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-ы', '20-ы');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-inci', '11th');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-nci', '12th');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-üncü', '13th');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-üncü', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-inci', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-ncı', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-nci', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-inci', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-uncu', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-nci', '20th');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ы', '21-ы');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-і', '22-і');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-і', '23-і');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ы', '24-ы');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ы', '25-ы');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ы', '26-ы');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ы', '27-ы');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ы', '28-ы');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-ы', '29-ы');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-ы', '30-ы');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-inci', '21th');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-nci', '22th');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-üncü', '23th');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-üncü', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-inci', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ncı', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-nci', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-inci', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-uncu', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-uncu', '30th');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ы', '31-ы');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-inci', '31st');
     });
 
     test('format month', function (assert) {
         var expected =
-                'студзень студ_люты лют_сакавік сак_красавік крас_травень трав_чэрвень чэрв_ліпень ліп_жнівень жнів_верасень вер_кастрычнік каст_лістапад ліст_снежань снеж'.split(
+                'yanvar yan_fevral fev_mart mar_aprel apr_may may_iyun iyn_iyul iyl_avqust avq_sentyabr sen_oktyabr okt_noyabr noy_dekabr dek'.split(
                     '_'
                 ),
             i;
         }
     });
 
-    test('format month case', function (assert) {
-        var months = {
-                nominative:
-                    'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
-                        '_'
-                    ),
-                accusative:
-                    'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
-                        '_'
-                    ),
-            },
-            i;
-        for (i = 0; i < 12; i++) {
-            assert.equal(
-                moment([2011, i, 1]).format('D MMMM'),
-                '1 ' + months.accusative[i],
-                '1 ' + months.accusative[i]
-            );
-            assert.equal(
-                moment([2011, i, 1]).format('MMMM'),
-                months.nominative[i],
-                '1 ' + months.nominative[i]
-            );
-        }
-    });
-
-    test('format month case with escaped symbols', function (assert) {
-        var months = {
-                nominative:
-                    'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
-                        '_'
-                    ),
-                accusative:
-                    'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
-                        '_'
-                    ),
-            },
-            i;
-        for (i = 0; i < 12; i++) {
-            assert.equal(
-                moment([2013, i, 1]).format('D[] MMMM'),
-                '1 ' + months.accusative[i],
-                '1 ' + months.accusative[i]
-            );
-            assert.equal(
-                moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMMM[</b>]'),
-                '<i>1</i> <b>' + months.accusative[i] + '</b>',
-                '1 <b>' + months.accusative[i] + '</b>'
-            );
-            assert.equal(
-                moment([2013, i, 1]).format('D[-ы дзень] MMMM'),
-                '1-ы дзень ' + months.accusative[i],
-                '1-ы дзень ' + months.accusative[i]
-            );
-            assert.equal(
-                moment([2013, i, 1]).format('D, MMMM'),
-                '1, ' + months.nominative[i],
-                '1, ' + months.nominative[i]
-            );
-        }
-    });
-
     test('format week', function (assert) {
         var expected =
-                'нядзеля нд нд_панядзелак пн пн_аўторак ат ат_серада ср ср_чацвер чц чц_пятніца пт пт_субота сб сб'.split(
+                'Bazar Baz Bz_Bazar ertəsi BzE BE_Çərşənbə axşamı ÇAx ÇA_Çərşənbə Çər Çə_Cümə axşamı CAx CA_Cümə Cüm Cü_Şənbə Şən Şə'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'некалькі секунд',
+            'bir neçə saniyə',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'хвіліна',
+            'bir dəqiqə',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'хвіліна',
+            'bir dəqiqə',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 хвіліны',
+            '2 dəqiqə',
             '90 seconds = 2 minutes'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ m: 31 }), true),
-            '31 хвіліна',
-            '31 minutes = 31 minutes'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 хвіліны',
+            '44 dəqiqə',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'гадзіна',
+            'bir saat',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'гадзіна',
+            'bir saat',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 гадзіны',
+            '2 saat',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 гадзін',
+            '5 saat',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 гадзіна',
+            '21 saat',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'дзень',
+            'bir gün',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'дзень',
+            'bir gün',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 дні',
+            '2 gün',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'дзень',
+            'bir gün',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 дзён',
+            '5 gün',
             '5 days = 5 days'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 11 }), true),
-            '11 дзён',
-            '11 days = 11 days'
-        );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 21 }), true),
-            '21 дзень',
-            '21 days = 21 days'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 дзён',
+            '25 gün',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'месяц',
+            'bir ay',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'месяц',
+            'bir ay',
             '30 days = a month'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'месяц',
-            '43 days = a month'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 месяцы',
+            '2 ay',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 месяцы',
+            '2 ay',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 месяцы',
+            '3 ay',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'месяц',
+            'bir ay',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 месяцаў',
+            '5 ay',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'год',
+            'bir il',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 гады',
+            '2 il',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'год',
+            'bir il',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 гадоў',
+            '5 il',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'праз некалькі секунд', 'prefix');
-        assert.equal(moment(0).from(30000), 'некалькі секунд таму', 'suffix');
+        assert.equal(moment(30000).from(0), 'bir neçə saniyə sonra', 'prefix');
+        assert.equal(moment(0).from(30000), 'bir neçə saniyə əvvəl', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'bir neçə saniyə əvvəl',
+            'now from now should display as in the past'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'праз некалькі секунд',
+            'bir neçə saniyə sonra',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'праз 5 дзён', 'in 5 days');
-        assert.equal(
-            moment().add({ m: 31 }).fromNow(),
-            'праз 31 хвіліну',
-            'in 31 minutes = in 31 minutes'
-        );
-        assert.equal(
-            moment().subtract({ m: 31 }).fromNow(),
-            '31 хвіліну таму',
-            '31 minutes ago = 31 minutes ago'
-        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 gün sonra', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Сёння ў 12:00',
+            'bugün saat 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Сёння ў 12:25',
+            'bugün saat 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Сёння ў 13:00',
+            'bugün saat 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Заўтра ў 12:00',
+            'sabah saat 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Сёння ў 11:00',
+            'bugün saat 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Учора ў 12:00',
+            'dünən 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
-        function makeFormat(d) {
-            return '[У] dddd [ў] LT';
-        }
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat()),
+                m.format('[gələn həftə] dddd [saat] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat()),
+                m.format('[gələn həftə] dddd [saat] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat()),
+                m.format('[gələn həftə] dddd [saat] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
-
-        function makeFormat(d) {
-            switch (d.day()) {
-                case 0:
-                case 3:
-                case 5:
-                case 6:
-                    return '[У мінулую] dddd [ў] LT';
-                case 1:
-                case 2:
-                case 4:
-                    return '[У мінулы] dddd [ў] LT';
-            }
-        }
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[keçən həftə] dddd [saat] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[keçən həftə] dddd [saat] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[keçən həftə] dddd [saat] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1-ы',
+            '1 01 1-inci',
             'Dec 26 2011 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-ы',
+            '1 01 1-inci',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2-і',
+            '2 02 2-nci',
             'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2-і',
+            '2 02 2-nci',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3-і',
+            '3 03 3-üncü',
             'Jan  9 2012 should be week 3'
         );
     });
 
-    test('calendar should format', function (assert) {
-        assert.equal(
-            moment('2018-04-13').calendar(moment('2018-04-16')),
-            'У мінулую пятніцу ў 00:00',
-            'calendar should handle day of week'
-        );
-    });
-
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bg');
+    localeModule('be');
 
     test('parse', function (assert) {
         var tests =
-                'Ñ\8fнÑ\83аÑ\80и Ñ\8fнÑ\83\84евÑ\80Ñ\83аÑ\80и Ñ\84ев_маÑ\80Ñ\82 Ð¼Ð°Ñ\80_апÑ\80ил Ð°Ð¿Ñ\80_май Ð¼Ð°Ð¹_Ñ\8eни Ñ\8eни_Ñ\8eли Ñ\8eли_авгÑ\83Ñ\81Ñ\82 Ð°Ð²Ð³_Ñ\81епÑ\82емвÑ\80и Ñ\81еп_окÑ\82омвÑ\80и Ð¾ÐºÑ\82_ноемвÑ\80и Ð½Ð¾Ðµ_декемвÑ\80и Ð´ÐµÐº'.split(
+                'Ñ\81Ñ\82Ñ\83дзенÑ\8c Ñ\81Ñ\82Ñ\83д_лÑ\8eÑ\82Ñ\8b Ð»Ñ\8eÑ\82\81акавÑ\96к Ñ\81ак_кÑ\80аÑ\81авÑ\96к ÐºÑ\80аÑ\81\82Ñ\80авенÑ\8c Ñ\82Ñ\80ав_Ñ\87Ñ\8dÑ\80венÑ\8c Ñ\87Ñ\8dÑ\80в_лÑ\96пенÑ\8c Ð»Ñ\96п_жнÑ\96венÑ\8c Ð¶Ð½Ñ\96в_веÑ\80аÑ\81енÑ\8c Ð²ÐµÑ\80_каÑ\81Ñ\82Ñ\80Ñ\8bÑ\87нÑ\96к ÐºÐ°Ñ\81Ñ\82_лÑ\96Ñ\81Ñ\82апад Ð»Ñ\96Ñ\81Ñ\82\81нежанÑ\8c Ñ\81неж'.split(
                     '_'
                 ),
             i;
                 input + ' should be month ' + (i + 1)
             );
         }
+
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
                 input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
             );
         }
+
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, H:mm:ss',
-                    'неделя, февруари 14-ти 2010, 15:25:50',
+                    'dddd, Do MMMM YYYY, HH:mm:ss',
+                    'нядзеля, 14-га лютага 2010, 15:25:50',
                 ],
-                ['ddd, hA', 'нед, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2-Ñ\80и 02 Ñ\84евÑ\80Ñ\83аÑ\80и Ñ\84ев'],
+                ['ddd, h A', 'нд, 3 дня'],
+                ['M Mo MM MMMM MMM', '2 2-Ñ\96 02 Ð»Ñ\8eÑ\82Ñ\8b Ð»Ñ\8eÑ\82'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14-ти 14'],
-                ['d do dddd ddd dd', '0 0-ев неделя нед нд'],
-                ['DDD DDDo DDDD', '45 45-Ñ\82и 045'],
-                ['w wo ww', '7 7-ми 07'],
+                ['D Do DD', '14 14-га 14'],
+                ['d do dddd ddd dd', '0 0-ы нядзеля нд нд'],
+                ['DDD DDDo DDDD', '45 45-Ñ\8b 045'],
+                ['w wo ww', '7 7-ы 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45-ти day of the year'],
+                ['a A', 'дня дня'],
+                ['DDDo [дзень года]', '45-ы дзень года'],
                 ['LT', '15:25'],
                 ['LTS', '15:25:50'],
                 ['L', '14.02.2010'],
-                ['LL', '14 февруари 2010'],
-                ['LLL', '14 февруари 2010 15:25'],
-                ['LLLL', 'неделя, 14 февруари 2010 15:25'],
+                ['LL', '14 лютага 2010 г.'],
+                ['LLL', '14 лютага 2010 г., 15:25'],
+                ['LLLL', 'нядзеля, 14 лютага 2010 г., 15:25'],
                 ['l', '14.2.2010'],
-                ['ll', '14 фев 2010'],
-                ['lll', '14 фев 2010 15:25'],
-                ['llll', 'нед, 14 Ñ\84ев 2010 15:25'],
+                ['ll', '14 лют 2010 г.'],
+                ['lll', '14 лют 2010 г., 15:25'],
+                ['llll', 'нд, 14 Ð»Ñ\8eÑ\82 2010 Ð³., 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         }
     });
 
+    test('format meridiem', function (assert) {
+        assert.equal(moment([2012, 11, 28, 0, 0]).format('A'), 'ночы', 'night');
+        assert.equal(moment([2012, 11, 28, 3, 59]).format('A'), 'ночы', 'night');
+        assert.equal(moment([2012, 11, 28, 4, 0]).format('A'), 'раніцы', 'morning');
+        assert.equal(
+            moment([2012, 11, 28, 11, 59]).format('A'),
+            'раніцы',
+            'morning'
+        );
+        assert.equal(moment([2012, 11, 28, 12, 0]).format('A'), 'дня', 'afternoon');
+        assert.equal(
+            moment([2012, 11, 28, 16, 59]).format('A'),
+            'дня',
+            'afternoon'
+        );
+        assert.equal(
+            moment([2012, 11, 28, 17, 0]).format('A'),
+            'вечара',
+            'evening'
+        );
+        assert.equal(
+            moment([2012, 11, 28, 23, 59]).format('A'),
+            'вечара',
+            'evening'
+        );
+    });
+
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ви', '1-ви');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-Ñ\80и', '2-Ñ\80и');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-Ñ\82и', '3-Ñ\82и');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-Ñ\82и', '4-Ñ\82и');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-Ñ\82и', '5-Ñ\82и');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-Ñ\82и', '6-Ñ\82и');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ми', '7-ми');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ми', '8-ми');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-Ñ\82и', '9-Ñ\82и');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-Ñ\82и', '10-Ñ\82и');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ы', '1-ы');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-Ñ\96', '2-Ñ\96');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-Ñ\96', '3-Ñ\96');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-Ñ\8b', '4-Ñ\8b');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-Ñ\8b', '5-Ñ\8b');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-Ñ\8b', '6-Ñ\8b');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ы', '7-ы');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ы', '8-ы');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-Ñ\8b', '9-Ñ\8b');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-Ñ\8b', '10-Ñ\8b');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-Ñ\82и', '11-Ñ\82и');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-Ñ\82и', '12-Ñ\82и');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-Ñ\82и', '13-Ñ\82и');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-Ñ\82и', '14-Ñ\82и');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-Ñ\82и', '15-Ñ\82и');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-Ñ\82и', '16-Ñ\82и');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-Ñ\82и', '17-Ñ\82и');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-Ñ\82и', '18-Ñ\82и');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-Ñ\82и', '19-Ñ\82и');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-Ñ\82и', '20-Ñ\82и');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-Ñ\8b', '11-Ñ\8b');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-Ñ\8b', '12-Ñ\8b');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-Ñ\8b', '13-Ñ\8b');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-Ñ\8b', '14-Ñ\8b');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-Ñ\8b', '15-Ñ\8b');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-Ñ\8b', '16-Ñ\8b');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-Ñ\8b', '17-Ñ\8b');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-Ñ\8b', '18-Ñ\8b');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-Ñ\8b', '19-Ñ\8b');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-Ñ\8b', '20-Ñ\8b');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ви', '21-ви');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-Ñ\80и', '22-Ñ\80и');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-Ñ\82и', '23-Ñ\82и');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-Ñ\82и', '24-Ñ\82и');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-Ñ\82и', '25-Ñ\82и');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-Ñ\82и', '26-Ñ\82и');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ми', '27-ми');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ми', '28-ми');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-Ñ\82и', '29-Ñ\82и');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-Ñ\82и', '30-Ñ\82и');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ы', '21-ы');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-Ñ\96', '22-Ñ\96');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-Ñ\96', '23-Ñ\96');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-Ñ\8b', '24-Ñ\8b');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-Ñ\8b', '25-Ñ\8b');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-Ñ\8b', '26-Ñ\8b');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ы', '27-ы');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ы', '28-ы');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-Ñ\8b', '29-Ñ\8b');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-Ñ\8b', '30-Ñ\8b');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ви', '31-ви');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ы', '31-ы');
     });
 
     test('format month', function (assert) {
         var expected =
-                'Ñ\8fнÑ\83аÑ\80и Ñ\8fнÑ\83\84евÑ\80Ñ\83аÑ\80и Ñ\84ев_маÑ\80Ñ\82 Ð¼Ð°Ñ\80_апÑ\80ил Ð°Ð¿Ñ\80_май Ð¼Ð°Ð¹_Ñ\8eни Ñ\8eни_Ñ\8eли Ñ\8eли_авгÑ\83Ñ\81Ñ\82 Ð°Ð²Ð³_Ñ\81епÑ\82емвÑ\80и Ñ\81еп_окÑ\82омвÑ\80и Ð¾ÐºÑ\82_ноемвÑ\80и Ð½Ð¾Ðµ_декемвÑ\80и Ð´ÐµÐº'.split(
+                'Ñ\81Ñ\82Ñ\83дзенÑ\8c Ñ\81Ñ\82Ñ\83д_лÑ\8eÑ\82Ñ\8b Ð»Ñ\8eÑ\82\81акавÑ\96к Ñ\81ак_кÑ\80аÑ\81авÑ\96к ÐºÑ\80аÑ\81\82Ñ\80авенÑ\8c Ñ\82Ñ\80ав_Ñ\87Ñ\8dÑ\80венÑ\8c Ñ\87Ñ\8dÑ\80в_лÑ\96пенÑ\8c Ð»Ñ\96п_жнÑ\96венÑ\8c Ð¶Ð½Ñ\96в_веÑ\80аÑ\81енÑ\8c Ð²ÐµÑ\80_каÑ\81Ñ\82Ñ\80Ñ\8bÑ\87нÑ\96к ÐºÐ°Ñ\81Ñ\82_лÑ\96Ñ\81Ñ\82апад Ð»Ñ\96Ñ\81Ñ\82\81нежанÑ\8c Ñ\81неж'.split(
                     '_'
                 ),
             i;
         }
     });
 
+    test('format month case', function (assert) {
+        var months = {
+                nominative:
+                    'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
+                        '_'
+                    ),
+                accusative:
+                    'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
+                        '_'
+                    ),
+            },
+            i;
+        for (i = 0; i < 12; i++) {
+            assert.equal(
+                moment([2011, i, 1]).format('D MMMM'),
+                '1 ' + months.accusative[i],
+                '1 ' + months.accusative[i]
+            );
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM'),
+                months.nominative[i],
+                '1 ' + months.nominative[i]
+            );
+        }
+    });
+
+    test('format month case with escaped symbols', function (assert) {
+        var months = {
+                nominative:
+                    'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
+                        '_'
+                    ),
+                accusative:
+                    'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
+                        '_'
+                    ),
+            },
+            i;
+        for (i = 0; i < 12; i++) {
+            assert.equal(
+                moment([2013, i, 1]).format('D[] MMMM'),
+                '1 ' + months.accusative[i],
+                '1 ' + months.accusative[i]
+            );
+            assert.equal(
+                moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMMM[</b>]'),
+                '<i>1</i> <b>' + months.accusative[i] + '</b>',
+                '1 <b>' + months.accusative[i] + '</b>'
+            );
+            assert.equal(
+                moment([2013, i, 1]).format('D[-ы дзень] MMMM'),
+                '1-ы дзень ' + months.accusative[i],
+                '1-ы дзень ' + months.accusative[i]
+            );
+            assert.equal(
+                moment([2013, i, 1]).format('D, MMMM'),
+                '1, ' + months.nominative[i],
+                '1, ' + months.nominative[i]
+            );
+        }
+    });
+
     test('format week', function (assert) {
         var expected =
-                'неделя нед нд_понеделник пон пн_вторник вто вт_сряда сря ср_четвъртък чет чт_петък пет пт_събота съб сб'.split(
+                'нядзеля нд нд_панядзелак пн пн_аўторак ат ат_серада ср ср_чацвер чц чц_пятніца пт пт_субота сб сб'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'няколко секунди',
+            'некалькі секунд',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'минута',
+            'хвіліна',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'минута',
+            'хвіліна',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 минути',
+            '2 хвіліны',
             '90 seconds = 2 minutes'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 31 }), true),
+            '31 хвіліна',
+            '31 minutes = 31 minutes'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 минути',
+            '44 хвіліны',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'час',
+            'гадзіна',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'час',
+            'гадзіна',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 часа',
+            '2 гадзіны',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 часа',
+            '5 гадзін',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 часа',
+            '21 гадзіна',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ден',
+            'дзенÑ\8c',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ден',
+            'дзенÑ\8c',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 Ð´ÐµÐ½Ð°',
+            '2 Ð´Ð½Ñ\96',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ден',
+            'дзенÑ\8c',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 Ð´ÐµÐ½Ð°',
+            '5 Ð´Ð·Ñ\91н',
             '5 days = 5 days'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 11 }), true),
+            '11 дзён',
+            '11 days = 11 days'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 21 }), true),
+            '21 дзень',
+            '21 days = 21 days'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 Ð´ÐµÐ½Ð°',
+            '25 Ð´Ð·Ñ\91н',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'месец',
+            'месяц',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'месец',
+            'месяц',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'месец',
+            'месяц',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 месеца',
+            '2 месяцы',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 месеца',
+            '2 месяцы',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 месеца',
+            '3 месяцы',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'месец',
+            'месяц',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 месеца',
+            '5 месяцаў',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'година',
+            'год',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 Ð³Ð¾Ð´Ð¸Ð½Ð¸',
+            '2 Ð³Ð°Ð´Ñ\8b',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'година',
+            'год',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 Ð³Ð¾Ð´Ð¸Ð½Ð¸',
+            '5 Ð³Ð°Ð´Ð¾Ñ\9e',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'след няколко секунди', 'prefix');
-        assert.equal(moment(0).from(30000), 'преди няколко секунди', 'suffix');
-    });
-
-    test('now from now', function (assert) {
-        assert.equal(
-            moment().fromNow(),
-            'преди няколко секунди',
-            'now from now should display as in the past'
-        );
+        assert.equal(moment(30000).from(0), 'праз некалькі секунд', 'prefix');
+        assert.equal(moment(0).from(30000), 'некалькі секунд таму', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'след няколко секунди',
+            'праз некалькі секунд',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'след 5 дена', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'праз 5 дзён', 'in 5 days');
+        assert.equal(
+            moment().add({ m: 31 }).fromNow(),
+            'праз 31 хвіліну',
+            'in 31 minutes = in 31 minutes'
+        );
+        assert.equal(
+            moment().subtract({ m: 31 }).fromNow(),
+            '31 хвіліну таму',
+            '31 minutes ago = 31 minutes ago'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Ð\94неÑ\81 Ð² 12:00',
+            'СÑ\91ннÑ\8f Ñ\9e 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Ð\94неÑ\81 Ð² 12:25',
+            'СÑ\91ннÑ\8f Ñ\9e 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Ð\94неÑ\81 Ð² 13:00',
+            'СÑ\91ннÑ\8f Ñ\9e 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'УÑ\82Ñ\80е Ð² 12:00',
+            'Ð\97аÑ\9eÑ\82Ñ\80а Ñ\9e 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Ð\94неÑ\81 Ð² 11:00',
+            'СÑ\91ннÑ\8f Ñ\9e 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Ð\92Ñ\87еÑ\80а Ð² 12:00',
+            'УÑ\87оÑ\80а Ñ\9e 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+        function makeFormat(d) {
+            return '[У] dddd [ў] LT';
+        }
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [в] LT'),
+                m.format(makeFormat()),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [в] LT'),
+                m.format(makeFormat()),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [в] LT'),
+                m.format(makeFormat()),
                 'Today + ' + i + ' days end of day'
             );
         }
             switch (d.day()) {
                 case 0:
                 case 3:
+                case 5:
                 case 6:
-                    return '[Ð\9cиналаÑ\82а] dddd [в] LT';
+                    return '[У Ð¼Ñ\96нÑ\83лÑ\83Ñ\8e] dddd [Ñ\9e] LT';
                 case 1:
                 case 2:
                 case 4:
-                case 5:
-                    return '[Миналия] dddd [в] LT';
+                    return '[У мінулы] dddd [ў] LT';
             }
         }
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1-ви',
+            '1 01 1-ы',
             'Dec 26 2011 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-ви',
+            '1 01 1-ы',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2-Ñ\80и',
+            '2 02 2-Ñ\96',
             'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2-Ñ\80и',
+            '2 02 2-Ñ\96',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3-Ñ\82и',
+            '3 03 3-Ñ\96',
             'Jan  9 2012 should be week 3'
         );
     });
 
+    test('calendar should format', function (assert) {
+        assert.equal(
+            moment('2018-04-13').calendar(moment('2018-04-16')),
+            'У мінулую пятніцу ў 00:00',
+            'calendar should handle day of week'
+        );
+    });
+
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bm');
+    localeModule('bg');
 
     test('parse', function (assert) {
-        var i,
-            tests =
-                'Zanwuyekalo Zan_Fewuruyekalo Few_Marisikalo Mar_Awirilikalo Awi_Mɛkalo Mɛ_Zuwɛnkalo Zuw_Zuluyekalo Zul_Utikalo Uti_Sɛtanburukalo Sɛt_ɔkutɔburukalo ɔku_Nowanburukalo Now_Desanburukalo Des'.split(
+        var tests =
+                'януари яну_февруари фев_март мар_април апр_май май_юни юни_юли юли_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
-
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
                 input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
             );
         }
-
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Kari, Fewuruyekalo 14 2010, 3:25:50 pm',
+                    'dddd, MMMM Do YYYY, H:mm:ss',
+                    'неделя, февруари 14-ти 2010, 15:25:50',
                 ],
-                ['ddd, hA', 'Kar, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2 02 Fewuruyekalo Few'],
+                ['ddd, hA', 'нед, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2-ри 02 февруари фев'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 Kari Kar Ka'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '6 6 06'],
+                ['D Do DD', '14 14-ти 14'],
+                ['d do dddd ddd dd', '0 0-ев неделя нед нд'],
+                ['DDD DDDo DDDD', '45 45-ти 045'],
+                ['w wo ww', '7 7-ми 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[le] Do [jour du mois]', 'le 14 jour du mois'],
-                ['[le] DDDo [jour de l’année]', 'le 45 jour de l’année'],
+                ['[the] DDDo [day of the year]', 'the 45-ти day of the year'],
+                ['LT', '15:25'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', 'Fewuruyekalo tile 14 san 2010'],
-                ['LLL', 'Fewuruyekalo tile 14 san 2010 lɛrɛ 15:25'],
-                ['LLLL', 'Kari Fewuruyekalo tile 14 san 2010 lɛrɛ 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', 'Few tile 14 san 2010'],
-                ['lll', 'Few tile 14 san 2010 lɛrɛ 15:25'],
-                ['llll', 'Kar Few tile 14 san 2010 lɛrɛ 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14 февруари 2010'],
+                ['LLL', '14 февруари 2010 15:25'],
+                ['LLLL', 'неделя, 14 февруари 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14 фев 2010'],
+                ['lll', '14 фев 2010 15:25'],
+                ['llll', 'нед, 14 фев 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ви', '1-ви');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-ри', '2-ри');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-ти', '3-ти');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-ти', '4-ти');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-ти', '5-ти');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-ти', '6-ти');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ми', '7-ми');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ми', '8-ми');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-ти', '9-ти');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-ти', '10-ти');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-ти', '11-ти');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-ти', '12-ти');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-ти', '13-ти');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-ти', '14-ти');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-ти', '15-ти');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-ти', '16-ти');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-ти', '17-ти');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-ти', '18-ти');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-ти', '19-ти');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-ти', '20-ти');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ви', '21-ви');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-ри', '22-ри');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-ти', '23-ти');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ти', '24-ти');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ти', '25-ти');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ти', '26-ти');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ми', '27-ми');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ми', '28-ми');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-ти', '29-ти');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-ти', '30-ти');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ви', '31-ви');
+    });
+
     test('format month', function (assert) {
-        var i,
-            expected =
-                'Zanwuyekalo Zan_Fewuruyekalo Few_Marisikalo Mar_Awirilikalo Awi_Mɛkalo Mɛ_Zuwɛnkalo Zuw_Zuluyekalo Zul_Utikalo Uti_Sɛtanburukalo Sɛt_ɔkutɔburukalo ɔku_Nowanburukalo Now_Desanburukalo Des'.split(
+        var expected =
+                'януари яну_февруари фев_март мар_април апр_май май_юни юни_юли юли_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
-                'Kari Kar Ka_Ntɛnɛn Ntɛ Nt_Tarata Tar Ta_Araba Ara Ar_Alamisa Ala Al_Juma Jum Ju_Sibiri Sib Si'.split(
+        var expected =
+                'неделя нед нд_понеделник пон пн_вторник вто вт_сряда сря ср_четвъртък чет чт_петък пет пт_събота съб сб'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'sanga dama dama',
+            'няколко секунди',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'miniti kelen',
+            'минута',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'miniti kelen',
+            'минута',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            'miniti 2',
+            '2 минути',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            'miniti 44',
+            '44 минути',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'lɛrɛ kelen',
+            'час',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'lɛrɛ kelen',
+            'час',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            'lɛrɛ 2',
+            '2 часа',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            'lɛrɛ 5',
+            '5 часа',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            'lɛrɛ 21',
+            '21 часа',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'tile kelen',
+            'ден',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'tile kelen',
+            'ден',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            'tile 2',
+            '2 дена',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'tile kelen',
+            'ден',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            'tile 5',
+            '5 дена',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            'tile 25',
+            '25 дена',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'kalo kelen',
+            'месец',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'kalo kelen',
+            'месец',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'kalo kelen',
+            'месец',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            'kalo 2',
+            '2 месеца',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            'kalo 2',
+            '2 месеца',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            'kalo 3',
+            '3 месеца',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'kalo kelen',
+            'месец',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            'kalo 5',
+            '5 месеца',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'san kelen',
+            'година',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            'san 2',
+            '2 години',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'san kelen',
+            'година',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            'san 5',
+            '5 години',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'sanga dama dama kɔnɔ', 'prefix');
-        assert.equal(moment(0).from(30000), 'a bɛ sanga dama dama bɔ', 'suffix');
+        assert.equal(moment(30000).from(0), 'след няколко секунди', 'prefix');
+        assert.equal(moment(0).from(30000), 'преди няколко секунди', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'преди няколко секунди',
+            'now from now should display as in the past'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'sanga dama dama kɔnɔ',
+            'след няколко секунди',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'tile 5 kɔnɔ', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'след 5 дена', 'in 5 days');
     });
 
-    test('same day', function (assert) {
+    test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'Bi lɛrɛ 12:00',
-            'Today at the same time'
+            'Днес в 12:00',
+            'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Bi lɛrɛ 12:25',
+            'Днес в 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Bi lɛrɛ 13:00',
+            'Днес в 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Sini lɛrɛ 12:00',
-            'Tomorrow at the same time'
+            'Утре в 12:00',
+            'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Bi lɛrɛ 11:00',
+            'Днес в 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Kunu lɛrɛ 12:00',
-            'Yesterday at the same time'
+            'Вчера в 12:00',
+            'yesterday at the same time'
         );
     });
 
-    test('same next week', function (assert) {
+    test('calendar next week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [don lɛrɛ] LT'),
+                m.format('dddd [в] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [don lɛrɛ] LT'),
+                m.format('dddd [в] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [don lɛrɛ] LT'),
+                m.format('dddd [в] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('same last week', function (assert) {
+    test('calendar last week', function (assert) {
         var i, m;
 
+        function makeFormat(d) {
+            switch (d.day()) {
+                case 0:
+                case 3:
+                case 6:
+                    return '[Миналата] dddd [в] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[Миналия] dddd [в] LT';
+            }
+        }
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('same all else', function (assert) {
+    test('calendar all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
     });
 
     test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1-ви',
+            'Dec 26 2011 should be week 1'
+        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52',
-            'Jan  1 2012 should be week 52'
+            '1 01 1-ви',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1',
-            'Jan  2 2012 should be week 1'
+            '2 02 2-ри',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1',
-            'Jan  8 2012 should be week 1'
+            '2 02 2-ри',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2',
-            'Jan  9 2012 should be week 2'
-        );
-        assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2',
-            'Jan 15 2012 should be week 2'
+            '3 03 3-ти',
+            'Jan  9 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bn-bd');
+    localeModule('bm');
 
     test('parse', function (assert) {
-        var tests =
-                'জানুয়ারি জানু_ফেব্রুয়ারি ফেব্রু_মার্চ মার্চ_এপ্রিল এপ্রিল_মে মে_জুন জুন_জুলাই জুলাই_আগস্ট আগস্ট_সেপ্টেম্বর সেপ্ট_অক্টোবর অক্টো_নভেম্বর নভে_ডিসেম্বর ডিসে'.split(
+        var i,
+            tests =
+                'Zanwuyekalo Zan_Fewuruyekalo Few_Marisikalo Mar_Awirilikalo Awi_Mɛkalo Mɛ_Zuwɛnkalo Zuw_Zuluyekalo Zul_Utikalo Uti_Sɛtanburukalo Sɛt_ɔkutɔburukalo ɔku_Nowanburukalo Now_Desanburukalo Des'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, a h:mm:ss সময়',
-                    'রবিবার, ১৪ ফেব্রুয়ারি ২০১০, বিকাল ৩:২৫:৫০ সময়',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Kari, Fewuruyekalo 14 2010, 3:25:50 pm',
                 ],
-                ['ddd, a h সময়', 'রবি, বিকাল ৩ সময়'],
-                ['M Mo MM MMMM MMM', '২ ২ ০২ ফেব্রুয়ারি ফেব্রু'],
-                ['YYYY YY', '২০১০ ১০'],
-                ['D Do DD', '১৪ ১৪ ১৪'],
-                ['d do dddd ddd dd', '০ ০ রবিবার রবি রবি'],
-                ['DDD DDDo DDDD', '৪৫ ৪৫ ০৪৫'],
-                ['w wo ww', '৮ ৮ ০৮'],
-                ['h hh', '৩ ০৩'],
-                ['H HH', '১৫ ১৫'],
-                ['m mm', '২৫ ২৫'],
-                ['s ss', '৫০ ৫০'],
-                ['a A', 'বিকাল বিকাল'],
-                ['LT', 'বিকাল ৩:২৫ সময়'],
-                ['LTS', 'বিকাল ৩:২৫:৫০ সময়'],
-                ['L', '১৪/০২/২০১০'],
-                ['LL', '১৪ ফেব্রুয়ারি ২০১০'],
-                ['LLL', '১৪ ফেব্রুয়ারি ২০১০, বিকাল ৩:২৫ সময়'],
-                ['LLLL', 'রবিবার, ১৪ ফেব্রুয়ারি ২০১০, বিকাল ৩:২৫ সময়'],
-                ['l', '১৪/২/২০১০'],
-                ['ll', '১৪ ফেব্রু ২০১০'],
-                ['lll', '১৪ ফেব্রু ২০১০, বিকাল ৩:২৫ সময়'],
-                ['llll', 'রবি, ১৪ ফেব্রু ২০১০, বিকাল ৩:২৫ সময়'],
+                ['ddd, hA', 'Kar, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2 02 Fewuruyekalo Few'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 Kari Kar Ka'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '6 6 06'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'pm PM'],
+                ['[le] Do [jour du mois]', 'le 14 jour du mois'],
+                ['[le] DDDo [jour de l’année]', 'le 45 jour de l’année'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
+                ['LL', 'Fewuruyekalo tile 14 san 2010'],
+                ['LLL', 'Fewuruyekalo tile 14 san 2010 lɛrɛ 15:25'],
+                ['LLLL', 'Kari Fewuruyekalo tile 14 san 2010 lɛrɛ 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', 'Few tile 14 san 2010'],
+                ['lll', 'Few tile 14 san 2010 lɛrɛ 15:25'],
+                ['llll', 'Kar Few tile 14 san 2010 lɛrɛ 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
-    test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '১', '১');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '২', '২');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '৩', '৩');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '৪', '৪');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '৫', '৫');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '৬', '৬');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '৭', '৭');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '৮', '৮');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '৯', '৯');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '১০', '১০');
-
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '১১', '১১');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '১২', '১২');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '১৩', '১৩');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '১৪', '১৪');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '১৫', '১৫');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '১৬', '১৬');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '১৭', '১৭');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '১৮', '১৮');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '১৯', '১৯');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '২০', '২০');
-
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '২১', '২১');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '২২', '২২');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '২৩', '২৩');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '২৪', '২৪');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '২৫', '২৫');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '২৬', '২৬');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '২৭', '২৭');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '২৮', '२৮');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '২৯', '২৯');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '৩০', '৩০');
-
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '৩১', '৩১');
-    });
-
     test('format month', function (assert) {
-        var expected =
-                'জানুয়ারি জানু_ফেব্রুয়ারি ফেব্রু_মার্চ মার্চ_এপ্রিল এপ্রিল_মে মে_জুন জুন_জুলাই জুলাই_আগস্ট আগস্ট_সেপ্টেম্বর সেপ্ট_অক্টোবর অক্টো_নভেম্বর নভে_ডিসেম্বর ডিসে'.split(
+        var i,
+            expected =
+                'Zanwuyekalo Zan_Fewuruyekalo Few_Marisikalo Mar_Awirilikalo Awi_Mɛkalo Mɛ_Zuwɛnkalo Zuw_Zuluyekalo Zul_Utikalo Uti_Sɛtanburukalo Sɛt_ɔkutɔburukalo ɔku_Nowanburukalo Now_Desanburukalo Des'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'রবিবার রবি রবি_সোমবার সোম সোম_মঙ্গলবার মঙ্গল মঙ্গল_বুধবার বুধ বুধ_বৃহস্পতিবার বৃহস্পতি বৃহ_শুক্রবার শুক্র শুক্র_শনিবার শনি শনি'.split(
+        var i,
+            expected =
+                'Kari Kar Ka_Ntɛnɛn Ntɛ Nt_Tarata Tar Ta_Araba Ara Ar_Alamisa Ala Al_Juma Jum Ju_Sibiri Sib Si'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'কয়েক সেকেন্ড',
+            'sanga dama dama',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'এক মিনিট',
+            'miniti kelen',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'এক মিনিট',
+            'miniti kelen',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '২ মিনিট',
+            'miniti 2',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '৪৪ মিনিট',
+            'miniti 44',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'এক ঘন্টা',
+            'lɛrɛ kelen',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'এক ঘন্টা',
+            'lɛrɛ kelen',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '২ ঘন্টা',
+            'lɛrɛ 2',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '৫ ঘন্টা',
+            'lɛrɛ 5',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '২১ ঘন্টা',
+            'lɛrɛ 21',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'এক দিন',
+            'tile kelen',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'এক দিন',
+            'tile kelen',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '২ দিন',
+            'tile 2',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'এক দিন',
+            'tile kelen',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '৫ দিন',
+            'tile 5',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '২৫ দিন',
+            'tile 25',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'এক মাস',
+            'kalo kelen',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'এক মাস',
+            'kalo kelen',
             '30 days = a month'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
+            'kalo kelen',
+            '43 days = a month'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '২ মাস',
+            'kalo 2',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '২ মাস',
+            'kalo 2',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '৩ মাস',
+            'kalo 3',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'এক মাস',
+            'kalo kelen',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '৫ মাস',
+            'kalo 5',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'এক বছর',
+            'san kelen',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '২ বছর',
+            'san 2',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'এক বছর',
+            'san kelen',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '৫ বছর',
+            'san 5',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'কয়েক সেকেন্ড পরে', 'prefix');
-        assert.equal(moment(0).from(30000), 'কয়েক সেকেন্ড আগে', 'suffix');
-    });
-
-    test('now from now', function (assert) {
-        assert.equal(
-            moment().fromNow(),
-            'কয়েক সেকেন্ড আগে',
-            'now from now should display as in the past'
-        );
+        assert.equal(moment(30000).from(0), 'sanga dama dama kɔnɔ', 'prefix');
+        assert.equal(moment(0).from(30000), 'a bɛ sanga dama dama bɔ', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'কয়েক সেকেন্ড পরে',
-            'কয়েক সেকেন্ড পরে'
+            'sanga dama dama kɔnɔ',
+            'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '৫ দিন পরে', '৫ দিন পরে');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'tile 5 kɔnɔ', 'in 5 days');
     });
 
-    test('calendar day', function (assert) {
+    test('same day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'আজ দুপুর ১২:০০ সময়',
-            'today at the same time'
+            'Bi lɛrɛ 12:00',
+            'Today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'আজ দুপুর ১২:২৫ সময়',
+            'Bi lɛrɛ 12:25',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 3 }).calendar(),
-            'আজ বিকাল ৩:০০ সময়',
-            'Now plus 3 hours'
+            moment(a).add({ h: 1 }).calendar(),
+            'Bi lɛrɛ 13:00',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'আগামীকাল দুপুর ১২:০০ সময়',
-            'tomorrow at the same time'
+            'Sini lɛrɛ 12:00',
+            'Tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'আজ সকাল ১১:০০ সময়',
+            'Bi lɛrɛ 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'গতকাল দুপুর ১২:০০ সময়',
-            'yesterday at the same time'
+            'Kunu lɛrɛ 12:00',
+            'Yesterday at the same time'
         );
     });
 
-    test('calendar next week', function (assert) {
+    test('same next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [don lɛrɛ] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [don lɛrɛ] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [don lɛrɛ] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar last week', function (assert) {
+    test('same last week', function (assert) {
         var i, m;
 
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[গত] dddd[,] LT'),
+                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[গত] dddd[,] LT'),
+                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[গত] dddd[,] LT'),
+                m.format('dddd [tɛmɛnen lɛrɛ] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar all else', function (assert) {
+    test('same all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
         );
     });
 
-    test('meridiem', function (assert) {
-        assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'রাত', 'Night');
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'সকাল', 'morning');
-        assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'দুপুর', 'Noon');
-        assert.equal(
-            moment([2011, 2, 23, 17, 30]).format('a'),
-            'বিকাল',
-            'Afternoon'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('a'),
-            'সন্ধ্যা',
-            'evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'রাত', 'night');
-
-        assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'রাত', 'Night');
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'সকাল', 'morning');
-        assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'দুপুর', 'Noon');
-        assert.equal(
-            moment([2011, 2, 23, 17, 30]).format('A'),
-            'বিকাল',
-            'Afternoon'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('A'),
-            'সন্ধ্যা',
-            'evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'রাত', 'night');
-    });
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '১ ০১ ১',
-            'Jan  1 2012 should be week 1'
+            '52 52 52',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '১ ০১ ১',
-            'Jan  7 2012 should be week 1'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '২ ০২ ২',
-            'Jan  8 2012 should be week 2'
+            '1 01 1',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '২ ০২ ২',
-            'Jan 14 2012 should be week 2'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '৩ ০৩ ৩',
-            'Jan 15 2012 should be week 3'
+            '2 02 2',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bn');
+    localeModule('bn-bd');
 
     test('parse', function (assert) {
         var tests =
         var a = [
                 [
                     'dddd, Do MMMM YYYY, a h:mm:ss সময়',
-                    'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র ৩:২৫:৫০ সময়',
+                    'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¬à¦¿à¦\95াল ৩:২৫:৫০ সময়',
                 ],
-                ['ddd, a h à¦¸à¦®à§\9f', 'রবি, à¦¦à§\81পà§\81র ৩ সময়'],
+                ['ddd, a h à¦¸à¦®à§\9f', 'রবি, à¦¬à¦¿à¦\95াল ৩ সময়'],
                 ['M Mo MM MMMM MMM', '২ ২ ০২ ফেব্রুয়ারি ফেব্রু'],
                 ['YYYY YY', '২০১০ ১০'],
                 ['D Do DD', '১৪ ১৪ ১৪'],
                 ['H HH', '১৫ ১৫'],
                 ['m mm', '২৫ ২৫'],
                 ['s ss', '৫০ ৫০'],
-                ['a A', 'দà§\81পà§\81র à¦¦à§\81পà§\81র'],
-                ['LT', 'দà§\81পà§\81র ৩:২৫ সময়'],
-                ['LTS', 'দà§\81পà§\81র ৩:২৫:৫০ সময়'],
+                ['a A', 'বিà¦\95াল à¦¬à¦¿à¦\95াল'],
+                ['LT', 'বিà¦\95াল ৩:২৫ সময়'],
+                ['LTS', 'বিà¦\95াল ৩:২৫:৫০ সময়'],
                 ['L', '১৪/০২/২০১০'],
                 ['LL', '১৪ ফেব্রুয়ারি ২০১০'],
-                ['LLL', '১৪ à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র ৩:২৫ সময়'],
-                ['LLLL', 'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র ৩:২৫ সময়'],
+                ['LLL', '১৪ à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¬à¦¿à¦\95াল ৩:২৫ সময়'],
+                ['LLLL', 'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¬à¦¿à¦\95াল ৩:২৫ সময়'],
                 ['l', '১৪/২/২০১০'],
                 ['ll', '১৪ ফেব্রু ২০১০'],
-                ['lll', '১৪ à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র ৩:২৫ সময়'],
-                ['llll', 'রবি, à§§à§ª à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র ৩:২৫ সময়'],
+                ['lll', '১৪ à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¬à¦¿à¦\95াল ৩:২৫ সময়'],
+                ['llll', 'রবি, à§§à§ª à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¬à¦¿à¦\95াল ৩:২৫ সময়'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         );
         assert.equal(
             moment(a).add({ h: 3 }).calendar(),
-            'à¦\86à¦\9c à¦¦à§\81পà§\81র ৩:০০ সময়',
+            'à¦\86à¦\9c à¦¬à¦¿à¦\95াল ৩:০০ সময়',
             'Now plus 3 hours'
         );
         assert.equal(
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'à¦\86à¦\9c à¦¦à§\81পà§\81র ১১:০০ সময়',
+            'à¦\86à¦\9c à¦¸à¦\95াল ১১:০০ সময়',
             'Now minus 1 hour'
         );
         assert.equal(
     });
 
     test('meridiem', function (assert) {
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('a'),
-            'রাত',
-            'before dawn'
-        );
+        assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'রাত', 'Night');
         assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'সকাল', 'morning');
+        assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'দুপুর', 'Noon');
         assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('a'),
-            'দà§\81পà§\81র',
-            'during day'
+            moment([2011, 2, 23, 17, 30]).format('a'),
+            'বিà¦\95াল',
+            'Afternoon'
         );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'বিকাল', 'evening');
         assert.equal(
             moment([2011, 2, 23, 19, 30]).format('a'),
-            'বিà¦\95াল',
-            'late evening'
+            'সনà§\8dধà§\8dযা',
+            'evening'
         );
         assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'রাত', 'night');
 
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('A'),
-            'রাত',
-            'before dawn'
-        );
+        assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'রাত', 'Night');
         assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'সকাল', 'morning');
+        assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'দুপুর', 'Noon');
         assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('A'),
-            'দà§\81পà§\81র',
-            ' during day'
+            moment([2011, 2, 23, 17, 30]).format('A'),
+            'বিà¦\95াল',
+            'Afternoon'
         );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'বিকাল', 'evening');
         assert.equal(
             moment([2011, 2, 23, 19, 30]).format('A'),
-            'বিà¦\95াল',
-            'late evening'
+            'সনà§\8dধà§\8dযা',
+            'evening'
         );
         assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'রাত', 'night');
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bo');
+    localeModule('bn');
 
     test('parse', function (assert) {
         var tests =
-                'à½\9fླà¼\8bà½\96à¼\8bà½\91à½\84à¼\8bà½\94ོ à½\9fླà¼\8b༡_à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à½\9fླà¼\8b༢_à½\9fླà¼\8bà½\96à¼\8bà½\82སུà½\98à¼\8bà½\94 à½\9fླà¼\8b༣_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\9eིà¼\8bà½\94 à½\9fླà¼\8b༤_à½\9fླà¼\8bà½\96à¼\8bལà¾\94à¼\8bà½\94 à½\9fླà¼\8b༥_à½\9fླà¼\8bà½\96à¼\8bà½\91ྲུà½\82à¼\8bà½\94 à½\9fླà¼\8b༦_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\91ུà½\93à¼\8bà½\94 à½\9fླà¼\8b༧_à½\9fླà¼\8bà½\96à¼\8bà½\96རà¾\92ྱà½\91à¼\8bà½\94 à½\9fླà¼\8b༨_à½\9fླà¼\8bà½\96à¼\8bà½\91à½\82ུà¼\8bà½\94 à½\9fླà¼\8b༩_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\94 à½\9fླà¼\8b༡༠_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\82à½\85ིà½\82à¼\8bà½\94 à½\9fླà¼\8b༡༡_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\82à½\89ིསà¼\8bà½\94 à½\9fླà¼\8b༡༢'.split(
+                'à¦\9cানà§\81à§\9fারি à¦\9cানà§\81_ফà§\87বà§\8dরà§\81à§\9fারি à¦«à§\87বà§\8dরà§\81_মারà§\8dà¦\9a à¦®à¦¾à¦°à§\8dà¦\9a_à¦\8fপà§\8dরিল à¦\8fপà§\8dরিল_মà§\87 à¦®à§\87_à¦\9cà§\81ন à¦\9cà§\81ন_à¦\9cà§\81লাà¦\87 à¦\9cà§\81লাà¦\87_à¦\86à¦\97সà§\8dà¦\9f à¦\86à¦\97সà§\8dà¦\9f_সà§\87পà§\8dà¦\9fà§\87মà§\8dবর à¦¸à§\87পà§\8dà¦\9f_à¦\85à¦\95à§\8dà¦\9fà§\8bবর à¦\85à¦\95à§\8dà¦\9fà§\8b_নভà§\87মà§\8dবর à¦¨à¦­à§\87_ডিসà§\87মà§\8dবর à¦¡à¦¿à¦¸à§\87'.split(
                     '_'
                 ),
             i;
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            // Failing only for month 1 (index 0)
-            // equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            // Failing only for month 1 (index 0)
-            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            // Failing only for month 1 (index 0)
-            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, a h:mm:ss à½£à¼\8b',
-                    'à½\82à½\9fའà¼\8bà½\89ིà¼\8bà½\98à¼\8b, à¼¡à¼¤ à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à¼¢à¼ à¼¡à¼ , à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥:༥༠ à½£à¼\8b',
+                    'dddd, Do MMMM YYYY, a h:mm:ss à¦¸à¦®à§\9f',
+                    'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র à§©:২৫:৫০ à¦¸à¦®à§\9f',
                 ],
-                ['ddd, a h à½£à¼\8b', 'à½\89ིà¼\8bà½\98à¼\8b, à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£ à½£à¼\8b'],
-                ['M Mo MM MMMM MMM', '༢ à¼¢ à¼ à¼¢ à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à½\9fླà¼\8b༢'],
-                ['YYYY YY', '༢༠༡༠ à¼¡à¼ '],
-                ['D Do DD', '༡༤ à¼¡à¼¤ à¼¡à¼¤'],
-                ['d do dddd ddd dd', '༠ à¼  à½\82à½\9fའà¼\8bà½\89ིà¼\8bà½\98à¼\8b à½\89ིà¼\8bà½\98à¼\8b à½\89ི'],
-                ['DDD DDDo DDDD', '༤༥ à¼¤à¼¥ à¼ à¼¤à¼¥'],
-                ['w wo ww', '༨ à¼¨ à¼ à¼¨'],
-                ['h hh', '༣ à¼ à¼£'],
-                ['H HH', '༡༥ à¼¡à¼¥'],
-                ['m mm', '༢༥ à¼¢à¼¥'],
-                ['s ss', '༥༠ à¼¥à¼ '],
-                ['a A', 'à½\89ིà½\93à¼\8bà½\82ུà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84'],
-                ['LT', 'à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥'],
-                ['LTS', 'à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥:༥༠'],
-                ['L', '༡༤/༠༢/༢༠༡༠'],
-                ['LL', '༡༤ à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à¼¢à¼ à¼¡à¼ '],
-                ['LLL', '༡༤ à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à¼¢à¼ à¼¡à¼ , à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥'],
-                ['LLLL', 'à½\82à½\9fའà¼\8bà½\89ིà¼\8bà½\98à¼\8b, à¼¡à¼¤ à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à¼¢à¼ à¼¡à¼ , à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥'],
-                ['l', '༡༤/༢/༢༠༡༠'],
-                ['ll', '༡༤ à½\9fླà¼\8b༢ à¼¢à¼ à¼¡à¼ '],
-                ['lll', '༡༤ à½\9fླà¼\8b༢ à¼¢à¼ à¼¡à¼ , à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥'],
-                ['llll', 'à½\89ིà¼\8bà½\98à¼\8b, à¼¡à¼¤ à½\9fླà¼\8b༢ à¼¢à¼ à¼¡à¼ , à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༢༥'],
+                ['ddd, a h à¦¸à¦®à§\9f', 'রবি, à¦¦à§\81পà§\81র à§© à¦¸à¦®à§\9f'],
+                ['M Mo MM MMMM MMM', '২ à§¨ à§¦à§¨ à¦«à§\87বà§\8dরà§\81à§\9fারি à¦«à§\87বà§\8dরà§\81'],
+                ['YYYY YY', '২০১০ à§§à§¦'],
+                ['D Do DD', '১৪ à§§à§ª à§§à§ª'],
+                ['d do dddd ddd dd', '০ à§¦ à¦°à¦¬à¦¿à¦¬à¦¾à¦° à¦°à¦¬à¦¿ à¦°à¦¬à¦¿'],
+                ['DDD DDDo DDDD', '৪৫ à§ªà§« à§¦à§ªà§«'],
+                ['w wo ww', 'à§® à§® à§¦à§®'],
+                ['h hh', 'à§© à§¦à§©'],
+                ['H HH', 'à§§à§« à§§à§«'],
+                ['m mm', '২৫ à§¨à§«'],
+                ['s ss', '৫০ à§«à§¦'],
+                ['a A', 'দà§\81পà§\81র à¦¦à§\81পà§\81র'],
+                ['LT', 'দà§\81পà§\81র à§©:২৫ à¦¸à¦®à§\9f'],
+                ['LTS', 'দà§\81পà§\81র à§©:২৫:৫০ à¦¸à¦®à§\9f'],
+                ['L', '১৪/০২/২০১০'],
+                ['LL', '১৪ à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦'],
+                ['LLL', '১৪ à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র à§©:২৫ à¦¸à¦®à§\9f'],
+                ['LLLL', 'রবিবার, à§§à§ª à¦«à§\87বà§\8dরà§\81à§\9fারি à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র à§©:২৫ à¦¸à¦®à§\9f'],
+                ['l', '১৪/২/২০১০'],
+                ['ll', '১৪ à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦'],
+                ['lll', '১৪ à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র à§©:২৫ à¦¸à¦®à§\9f'],
+                ['llll', 'রবি, à§§à§ª à¦«à§\87বà§\8dরà§\81 à§¨à§¦à§§à§¦, à¦¦à§\81পà§\81র à§©:২৫ à¦¸à¦®à§\9f'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '༡', '༡');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '༢', '༢');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '༣', '༣');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '༤', '༤');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '༥', '༥');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '༦', '༦');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '༧', '༧');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '༨', '༨');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '༩', '༩');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '༡༠', '༡༠');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), 'à§§', 'à§§');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '২', '২');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), 'à§©', 'à§©');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '৪', '৪');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), 'à§«', 'à§«');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '৬', '৬');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), 'à§­', 'à§­');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), 'à§®', 'à§®');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '৯', '৯');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '১০', '১০');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '༡༡', '༡༡');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '༡༢', '༡༢');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '༡༣', '༡༣');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '༡༤', '༡༤');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '༡༥', '༡༥');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '༡༦', '༡༦');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '༡༧', '༡༧');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '༡༨', '༡༨');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '༡༩', '༡༩');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '༢༠', '༢༠');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), 'à§§à§§', 'à§§à§§');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '১২', '১২');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), 'à§§à§©', 'à§§à§©');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '১৪', '১৪');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), 'à§§à§«', 'à§§à§«');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '১৬', '১৬');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), 'à§§à§­', 'à§§à§­');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), 'à§§à§®', 'à§§à§®');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '১৯', '১৯');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '২০', '২০');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '༢༡', '༢༡');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '༢༢', '༢༢');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '༢༣', '༢༣');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '༢༤', '༢༤');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '༢༥', '༢༥');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '༢༦', '༢༦');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '༢༧', '༢༧');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '༢༨', '༢༨');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '༢༩', '༢༩');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '༣༠', '༣༠');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '২১', '২১');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '২২', '২২');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '২৩', '২৩');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '২৪', '২৪');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '২৫', '২৫');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '২৬', '২৬');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '২৭', '২৭');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '২৮', '२৮');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '২৯', '২৯');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '৩০', '৩০');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '༣༡', '༣༡');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), 'à§©à§§', 'à§©à§§');
     });
 
     test('format month', function (assert) {
         var expected =
-                'à½\9fླà¼\8bà½\96à¼\8bà½\91à½\84à¼\8bà½\94ོ à½\9fླà¼\8b༡_à½\9fླà¼\8bà½\96à¼\8bà½\82à½\89ིསà¼\8bà½\94 à½\9fླà¼\8b༢_à½\9fླà¼\8bà½\96à¼\8bà½\82སུà½\98à¼\8bà½\94 à½\9fླà¼\8b༣_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\9eིà¼\8bà½\94 à½\9fླà¼\8b༤_à½\9fླà¼\8bà½\96à¼\8bལà¾\94à¼\8bà½\94 à½\9fླà¼\8b༥_à½\9fླà¼\8bà½\96à¼\8bà½\91ྲུà½\82à¼\8bà½\94 à½\9fླà¼\8b༦_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\91ུà½\93à¼\8bà½\94 à½\9fླà¼\8b༧_à½\9fླà¼\8bà½\96à¼\8bà½\96རà¾\92ྱà½\91à¼\8bà½\94 à½\9fླà¼\8b༨_à½\9fླà¼\8bà½\96à¼\8bà½\91à½\82ུà¼\8bà½\94 à½\9fླà¼\8b༩_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\94 à½\9fླà¼\8b༡༠_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\82à½\85ིà½\82à¼\8bà½\94 à½\9fླà¼\8b༡༡_à½\9fླà¼\8bà½\96à¼\8bà½\96à½\85ུà¼\8bà½\82à½\89ིསà¼\8bà½\94 à½\9fླà¼\8b༡༢'.split(
+                'à¦\9cানà§\81à§\9fারি à¦\9cানà§\81_ফà§\87বà§\8dরà§\81à§\9fারি à¦«à§\87বà§\8dরà§\81_মারà§\8dà¦\9a à¦®à¦¾à¦°à§\8dà¦\9a_à¦\8fপà§\8dরিল à¦\8fপà§\8dরিল_মà§\87 à¦®à§\87_à¦\9cà§\81ন à¦\9cà§\81ন_à¦\9cà§\81লাà¦\87 à¦\9cà§\81লাà¦\87_à¦\86à¦\97সà§\8dà¦\9f à¦\86à¦\97সà§\8dà¦\9f_সà§\87পà§\8dà¦\9fà§\87মà§\8dবর à¦¸à§\87পà§\8dà¦\9f_à¦\85à¦\95à§\8dà¦\9fà§\8bবর à¦\85à¦\95à§\8dà¦\9fà§\8b_নভà§\87মà§\8dবর à¦¨à¦­à§\87_ডিসà§\87মà§\8dবর à¦¡à¦¿à¦¸à§\87'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'à½\82à½\9fའà¼\8bà½\89ིà¼\8bà½\98à¼\8b à½\89ིà¼\8bà½\98à¼\8b à½\89ི_à½\82à½\9fའà¼\8bà½\9fླà¼\8bà½\96à¼\8b à½\9fླà¼\8bà½\96à¼\8b à½\9fླ_à½\82à½\9fའà¼\8bà½\98ིà½\82à¼\8bà½\91à½\98རà¼\8b à½\98ིà½\82à¼\8bà½\91à½\98རà¼\8b à½\98ིà½\82_à½\82à½\9fའà¼\8bལྷà½\82à¼\8bà½\94à¼\8b à½£à¾·à½\82à¼\8bà½\94à¼\8b à½£à¾·à½\82_à½\82à½\9fའà¼\8bà½\95ུརà¼\8bà½\96ུ à½\95ུརà¼\8bà½\96ུ à½\95ུར_à½\82à½\9fའà¼\8bà½\94à¼\8bསà½\84སà¼\8b à½\94à¼\8bསà½\84སà¼\8b à½¦à½\84ས_à½\82à½\9fའà¼\8bསྤེà½\93à¼\8bà½\94à¼\8b à½¦à¾¤à½ºà½\93à¼\8bà½\94à¼\8b à½¦à¾¤à½ºà½\93'.split(
+                'রবিবার à¦°à¦¬à¦¿ à¦°à¦¬à¦¿_সà§\8bমবার à¦¸à§\8bম à¦¸à§\8bম_মà¦\99à§\8dà¦\97লবার à¦®à¦\99à§\8dà¦\97ল à¦®à¦\99à§\8dà¦\97ল_বà§\81ধবার à¦¬à§\81ধ à¦¬à§\81ধ_বà§\83হসà§\8dপতিবার à¦¬à§\83হসà§\8dপতি à¦¬à§\83হ_শà§\81à¦\95à§\8dরবার à¦¶à§\81à¦\95à§\8dর à¦¶à§\81à¦\95à§\8dর_শনিবার à¦¶à¦¨à¦¿ à¦¶à¦¨à¦¿'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ལà½\98à¼\8bསà½\84',
+            'à¦\95à§\9fà§\87à¦\95 à¦¸à§\87à¦\95à§\87নà§\8dড',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'སà¾\90རà¼\8bà½\98à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦®à¦¿à¦¨à¦¿à¦\9f',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'སà¾\90རà¼\8bà½\98à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦®à¦¿à¦¨à¦¿à¦\9f',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '༢ à½¦à¾\90རà¼\8bà½\98',
+            '২ à¦®à¦¿à¦¨à¦¿à¦\9f',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '༤༤ à½¦à¾\90རà¼\8bà½\98',
+            '৪৪ à¦®à¦¿à¦¨à¦¿à¦\9f',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'à½\86ུà¼\8bà½\9aོà½\91à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦\98নà§\8dà¦\9fা',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'à½\86ུà¼\8bà½\9aོà½\91à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦\98নà§\8dà¦\9fা',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '༢ à½\86ུà¼\8bà½\9aོà½\91',
+            '২ à¦\98নà§\8dà¦\9fা',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '༥ à½\86ུà¼\8bà½\9aོà½\91',
+            'à§« à¦\98নà§\8dà¦\9fা',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '༢༡ à½\86ུà¼\8bà½\9aོà½\91',
+            '২১ à¦\98নà§\8dà¦\9fা',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'à½\89ིà½\93à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦¦à¦¿à¦¨',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'à½\89ིà½\93à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦¦à¦¿à¦¨',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '༢ à½\89ིà½\93à¼\8b',
+            '২ à¦¦à¦¿à¦¨',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'à½\89ིà½\93à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦¦à¦¿à¦¨',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '༥ à½\89ིà½\93à¼\8b',
+            'à§« à¦¦à¦¿à¦¨',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '༢༥ à½\89ིà½\93à¼\8b',
+            '২৫ à¦¦à¦¿à¦¨',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'à½\9fླà¼\8bà½\96à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦®à¦¾à¦¸',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'à½\9fླà¼\8bà½\96à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦®à¦¾à¦¸',
             '30 days = a month'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ཟླ་བ་གཅིག',
-            '43 days = a month'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '༢ à½\9fླà¼\8bà½\96',
+            '২ à¦®à¦¾à¦¸',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '༢ à½\9fླà¼\8bà½\96',
+            '২ à¦®à¦¾à¦¸',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '༣ à½\9fླà¼\8bà½\96',
+            'à§© à¦®à¦¾à¦¸',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'à½\9fླà¼\8bà½\96à¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦®à¦¾à¦¸',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '༥ à½\9fླà¼\8bà½\96',
+            'à§« à¦®à¦¾à¦¸',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ལོà¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦¬à¦\9bর',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '༢ à½£à½¼',
+            '২ à¦¬à¦\9bর',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ལོà¼\8bà½\82à½\85ིà½\82',
+            'à¦\8fà¦\95 à¦¬à¦\9bর',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '༥ à½£à½¼',
+            'à§« à¦¬à¦\9bর',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'ལà½\98à¼\8bསà½\84 à½£à¼\8b', 'prefix');
-        assert.equal(moment(0).from(30000), 'ལà½\98à¼\8bསà½\84 à½¦à¾\94à½\93à¼\8bལ', 'suffix');
+        assert.equal(moment(30000).from(0), 'à¦\95à§\9fà§\87à¦\95 à¦¸à§\87à¦\95à§\87নà§\8dড à¦ªà¦°à§\87', 'prefix');
+        assert.equal(moment(0).from(30000), 'à¦\95à§\9fà§\87à¦\95 à¦¸à§\87à¦\95à§\87নà§\8dড à¦\86à¦\97à§\87', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'ལà½\98à¼\8bསà½\84 à½¦à¾\94à½\93à¼\8bལ',
+            'à¦\95à§\9fà§\87à¦\95 à¦¸à§\87à¦\95à§\87নà§\8dড à¦\86à¦\97à§\87',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
-        assert.equal(moment().add({ s: 30 }).fromNow(), 'ལམ་སང ལ་', 'ལམ་སང ལ་');
-        assert.equal(moment().add({ d: 5 }).fromNow(), '༥ ཉིན་ ལ་', '༥ ཉིན་ ལ་');
+        assert.equal(
+            moment().add({ s: 30 }).fromNow(),
+            'কয়েক সেকেন্ড পরে',
+            'কয়েক সেকেন্ড পরে'
+        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '৫ দিন পরে', '৫ দিন পরে');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'à½\91ིà¼\8bརིà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼¡à¼¢:༠༠',
+            'à¦\86à¦\9c à¦¦à§\81পà§\81র à§§à§¨:০০ à¦¸à¦®à§\9f',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'à½\91ིà¼\8bརིà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼¡à¼¢:༢༥',
+            'à¦\86à¦\9c à¦¦à§\81পà§\81র à§§à§¨:২৫ à¦¸à¦®à§\9f',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 3 }).calendar(),
-            'à½\91ིà¼\8bརིà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼£:༠༠',
+            'à¦\86à¦\9c à¦¦à§\81পà§\81র à§©:০০ à¦¸à¦®à§\9f',
             'Now plus 3 hours'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'སà½\84à¼\8bà½\89ིà½\93 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼¡à¼¢:༠༠',
+            'à¦\86à¦\97ামà§\80à¦\95াল à¦¦à§\81পà§\81র à§§à§¨:০০ à¦¸à¦®à§\9f',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'à½\91ིà¼\8bརིà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼¡à¼¡:༠༠',
+            'à¦\86à¦\9c à¦¦à§\81পà§\81র à§§à§§:০০ à¦¸à¦®à§\9f',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'à½\81à¼\8bསà½\84 à½\89ིà½\93à¼\8bà½\82ུà½\84 à¼¡à¼¢:༠༠',
+            'à¦\97তà¦\95াল à¦¦à§\81পà§\81র à§§à§¨:০০ à¦¸à¦®à§\9f',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[à½\96à½\91ུà½\93à¼\8bà½\95ྲà½\82à¼\8bà½\98à½\90འà¼\8bà½\98] dddd[,] LT'),
+                m.format('[à¦\97ত] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[à½\96à½\91ུà½\93à¼\8bà½\95ྲà½\82à¼\8bà½\98à½\90འà¼\8bà½\98] dddd[,] LT'),
+                m.format('[à¦\97ত] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[à½\96à½\91ུà½\93à¼\8bà½\95ྲà½\82à¼\8bà½\98à½\90འà¼\8bà½\98] dddd[,] LT'),
+                m.format('[à¦\97ত] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     test('meridiem', function (assert) {
         assert.equal(
             moment([2011, 2, 23, 2, 30]).format('a'),
-            'à½\98à½\9aà½\93à¼\8bà½\98ོ',
+            'রাত',
             'before dawn'
         );
-        assert.equal(
-            moment([2011, 2, 23, 9, 30]).format('a'),
-            'ཞོགས་ཀས',
-            'morning'
-        );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'সকাল', 'morning');
         assert.equal(
             moment([2011, 2, 23, 14, 30]).format('a'),
-            'à½\89ིà½\93à¼\8bà½\82ུà½\84',
+            'দà§\81পà§\81র',
             'during day'
         );
-        assert.equal(
-            moment([2011, 2, 23, 17, 30]).format('a'),
-            'དགོང་དག',
-            'evening'
-        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'বিকাল', 'evening');
         assert.equal(
             moment([2011, 2, 23, 19, 30]).format('a'),
-            'à½\91à½\82ོà½\84à¼\8bà½\91à½\82',
+            'বিà¦\95াল',
             'late evening'
         );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'à½\98à½\9aà½\93à¼\8bà½\98ོ', 'night');
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'রাত', 'night');
 
         assert.equal(
             moment([2011, 2, 23, 2, 30]).format('A'),
-            'à½\98à½\9aà½\93à¼\8bà½\98ོ',
+            'রাত',
             'before dawn'
         );
-        assert.equal(
-            moment([2011, 2, 23, 9, 30]).format('A'),
-            'ཞོགས་ཀས',
-            'morning'
-        );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'সকাল', 'morning');
         assert.equal(
             moment([2011, 2, 23, 14, 30]).format('A'),
-            'à½\89ིà½\93à¼\8bà½\82ུà½\84',
+            'দà§\81পà§\81র',
             ' during day'
         );
-        assert.equal(
-            moment([2011, 2, 23, 17, 30]).format('A'),
-            'དགོང་དག',
-            'evening'
-        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'বিকাল', 'evening');
         assert.equal(
             moment([2011, 2, 23, 19, 30]).format('A'),
-            'à½\91à½\82ོà½\84à¼\8bà½\91à½\82',
+            'বিà¦\95াল',
             'late evening'
         );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'à½\98à½\9aà½\93à¼\8bà½\98ོ', 'night');
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'রাত', 'night');
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '༡ à¼ à¼¡ à¼¡',
+            'à§§ à§¦à§§ à§§',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 7]).format('w ww wo'),
-            '༡ à¼ à¼¡ à¼¡',
+            'à§§ à§¦à§§ à§§',
             'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '༢ à¼ à¼¢ à¼¢',
+            '২ à§¦à§¨ à§¨',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 14]).format('w ww wo'),
-            '༢ à¼ à¼¢ à¼¢',
+            '২ à§¦à§¨ à§¨',
             'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '༣ à¼ à¼£ à¼£',
+            'à§© à§¦à§© à§©',
             'Jan 15 2012 should be week 3'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('br');
+    localeModule('bo');
 
     test('parse', function (assert) {
         var tests =
-                'Genver Gen_Cʼhwevrer Cʼhwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker'.split(
+                'ཟླ་བ་དང་པོ ཟླ་༡_ཟླ་བ་གཉིས་པ ཟླ་༢_ཟླ་བ་གསུམ་པ ཟླ་༣_ཟླ་བ་བཞི་པ ཟླ་༤_ཟླ་བ་ལྔ་པ ཟླ་༥_ཟླ་བ་དྲུག་པ ཟླ་༦_ཟླ་བ་བདུན་པ ཟླ་༧_ཟླ་བ་བརྒྱད་པ ཟླ་༨_ཟླ་བ་དགུ་པ ཟླ་༩_ཟླ་བ་བཅུ་པ ཟླ་༡༠_ཟླ་བ་བཅུ་གཅིག་པ ཟླ་༡༡_ཟླ་བ་བཅུ་གཉིས་པ ཟླ་༡༢'.split(
                     '_'
                 ),
-            i,
-            monthsWithRegularQuoteMark = ["C'hwevrer", "C'hwe"];
-
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
+            // Failing only for month 1 (index 0)
+            // equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            // Failing only for month 1 (index 0)
+            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            // Failing only for month 1 (index 0)
+            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
-
-        // check with regular quote mark
-        equalTest(monthsWithRegularQuoteMark[0], 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[1], 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[0], 'MMMM', 1);
-        equalTest(monthsWithRegularQuoteMark[1], 'MMMM', 1);
-        equalTest(monthsWithRegularQuoteMark[0].toLocaleLowerCase(), 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[1].toLocaleLowerCase(), 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[0].toLocaleUpperCase(), 'MMMM', 1);
-        equalTest(monthsWithRegularQuoteMark[1].toLocaleUpperCase(), 'MMMM', 1);
-
-        assert.notEqual(
-            moment(monthsWithRegularQuoteMark[0], 'MMM', true).month(),
-            1
-        );
-        equalTestStrict(monthsWithRegularQuoteMark[1], 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[0], 'MMMM', 1);
-        assert.notEqual(
-            moment(monthsWithRegularQuoteMark[1], 'MMMM', true).month(),
-            1
-        );
-        equalTest(monthsWithRegularQuoteMark[1].toLocaleLowerCase(), 'MMM', 1);
-        equalTest(monthsWithRegularQuoteMark[0].toLocaleUpperCase(), 'MMMM', 1);
-
-        // check weekday with regular quote mark
-        assert.equal(
-            moment("merc'her", 'dddd', true).day(),
-            3,
-            "merc'her (regular quote)"
-        );
-        assert.equal(
-            moment('mercʼher', 'dddd', true).day(),
-            3,
-            'mercʼher (special quote)'
-        );
     });
 
     test('format', function (assert) {
-        moment.locale('br');
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Sul, Cʼhwevrer 14vet 2010, 3:25:50 g.m.',
+                    'dddd, Do MMMM YYYY, a h:mm:ss ལ་',
+                    'གཟའ་ཉི་མ་, ༡༤ ཟླ་བ་གཉིས་པ ༢༠༡༠, ཉིན་གུང ༣:༢༥:༥༠ ལ་',
                 ],
-                ['ddd, h A', 'Sul, 3 g.m.'],
-                ['M Mo MM MMMM MMM', '2 2vet 02 Cʼhwevrer Cʼhwe'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14vet 14'],
-                ['d do dddd ddd dd', '0 0vet Sul Sul Su'],
-                ['DDD DDDo DDDD', '45 45vet 045'],
-                ['w wo ww', '6 6vet 06'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['DDDo [devezh] [ar] [vloaz]', '45vet devezh ar vloaz'],
-                ['L', '14/02/2010'],
-                ['LL', '14 a viz Cʼhwevrer 2010'],
-                ['LLL', '14 a viz Cʼhwevrer 2010 15:25'],
-                ['LLLL', 'Sul, 14 a viz Cʼhwevrer 2010 15:25'],
+                ['ddd, a h ལ་', 'ཉི་མ་, ཉིན་གུང ༣ ལ་'],
+                ['M Mo MM MMMM MMM', '༢ ༢ ༠༢ ཟླ་བ་གཉིས་པ ཟླ་༢'],
+                ['YYYY YY', '༢༠༡༠ ༡༠'],
+                ['D Do DD', '༡༤ ༡༤ ༡༤'],
+                ['d do dddd ddd dd', '༠ ༠ གཟའ་ཉི་མ་ ཉི་མ་ ཉི'],
+                ['DDD DDDo DDDD', '༤༥ ༤༥ ༠༤༥'],
+                ['w wo ww', '༨ ༨ ༠༨'],
+                ['h hh', '༣ ༠༣'],
+                ['H HH', '༡༥ ༡༥'],
+                ['m mm', '༢༥ ༢༥'],
+                ['s ss', '༥༠ ༥༠'],
+                ['a A', 'ཉིན་གུང ཉིན་གུང'],
+                ['LT', 'ཉིན་གུང ༣:༢༥'],
+                ['LTS', 'ཉིན་གུང ༣:༢༥:༥༠'],
+                ['L', '༡༤/༠༢/༢༠༡༠'],
+                ['LL', '༡༤ ཟླ་བ་གཉིས་པ ༢༠༡༠'],
+                ['LLL', '༡༤ ཟླ་བ་གཉིས་པ ༢༠༡༠, ཉིན་གུང ༣:༢༥'],
+                ['LLLL', 'གཟའ་ཉི་མ་, ༡༤ ཟླ་བ་གཉིས་པ ༢༠༡༠, ཉིན་གུང ༣:༢༥'],
+                ['l', '༡༤/༢/༢༠༡༠'],
+                ['ll', '༡༤ ཟླ་༢ ༢༠༡༠'],
+                ['lll', '༡༤ ཟླ་༢ ༢༠༡༠, ཉིན་གུང ༣:༢༥'],
+                ['llll', 'ཉི་མ་, ༡༤ ཟླ་༢ ༢༠༡༠, ཉིན་གུང ༣:༢༥'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        moment.locale('br');
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1añ', '1añ');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2vet', '2vet');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3vet', '3vet');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4vet', '4vet');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5vet', '5vet');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6vet', '6vet');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7vet', '7vet');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8vet', '8vet');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9vet', '9vet');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10vet', '10vet');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '༡', '༡');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '༢', '༢');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '༣', '༣');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '༤', '༤');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '༥', '༥');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '༦', '༦');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '༧', '༧');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '༨', '༨');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '༩', '༩');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '༡༠', '༡༠');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11vet', '11vet');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12vet', '12vet');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13vet', '13vet');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14vet', '14vet');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15vet', '15vet');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16vet', '16vet');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17vet', '17vet');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18vet', '18vet');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19vet', '19vet');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20vet', '20vet');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '༡༡', '༡༡');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '༡༢', '༡༢');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '༡༣', '༡༣');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '༡༤', '༡༤');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '༡༥', '༡༥');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '༡༦', '༡༦');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '༡༧', '༡༧');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '༡༨', '༡༨');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '༡༩', '༡༩');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '༢༠', '༢༠');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21vet', '21vet');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22vet', '22vet');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23vet', '23vet');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24vet', '24vet');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25vet', '25vet');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26vet', '26vet');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27vet', '27vet');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28vet', '28vet');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29vet', '29vet');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30vet', '30vet');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '༢༡', '༢༡');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '༢༢', '༢༢');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '༢༣', '༢༣');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '༢༤', '༢༤');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '༢༥', '༢༥');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '༢༦', '༢༦');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '༢༧', '༢༧');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '༢༨', '༢༨');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '༢༩', '༢༩');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '༣༠', '༣༠');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31vet', '31vet');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '༣༡', '༣༡');
     });
 
     test('format month', function (assert) {
-        moment.locale('br');
         var expected =
-                'Genver Gen_Cʼhwevrer Cʼhwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker'.split(
+                'ཟླ་བ་དང་པོ ཟླ་༡_ཟླ་བ་གཉིས་པ ཟླ་༢_ཟླ་བ་གསུམ་པ ཟླ་༣_ཟླ་བ་བཞི་པ ཟླ་༤_ཟླ་བ་ལྔ་པ ཟླ་༥_ཟླ་བ་དྲུག་པ ཟླ་༦_ཟླ་བ་བདུན་པ ཟླ་༧_ཟླ་བ་བརྒྱད་པ ཟླ་༨_ཟླ་བ་དགུ་པ ཟླ་༩_ཟླ་བ་བཅུ་པ ཟླ་༡༠_ཟླ་བ་བཅུ་གཅིག་པ ཟླ་༡༡_ཟླ་བ་བཅུ་གཉིས་པ ཟླ་༡༢'.split(
                     '_'
                 ),
             i;
     });
 
     test('format week', function (assert) {
-        moment.locale('br');
         var expected =
-                'Sul Sul Su_Lun Lun Lu_Meurzh Meu Me_Mercʼher Mer Mer_Yaou Yao Ya_Gwener Gwe Gw_Sadorn Sad Sa'.split(
+                'གཟའ་ཉི་མ་ ཉི་མ་ ཉི_གཟའ་ཟླ་བ་ ཟླ་བ་ ཟླ_གཟའ་མིག་དམར་ མིག་དམར་ མིག_གཟའ་ལྷག་པ་ ལྷག་པ་ ལྷག_གཟའ་ཕུར་བུ ཕུར་བུ ཕུར_གཟའ་པ་སངས་ པ་སངས་ སངས_གཟའ་སྤེན་པ་ སྤེན་པ་ སྤེན'.split(
                     '_'
                 ),
             i;
     });
 
     test('from', function (assert) {
-        moment.locale('br');
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'un nebeud segondennoù',
+            'ལམ་སང',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ur vunutenn',
+            'སྐར་མ་གཅིག',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ur vunutenn',
+            'སྐར་མ་གཅིག',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 vunutenn',
+            '༢ སྐར་མ',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 munutenn',
+            '༤༤ སྐར་མ',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'un eur',
+            'ཆུ་ཚོད་གཅིག',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'un eur',
+            'ཆུ་ཚོད་གཅིག',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 eur',
+            '༢ ཆུ་ཚོད',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 eur',
+            '༥ ཆུ་ཚོད',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 eur',
+            '༢༡ ཆུ་ཚོད',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'un devezh',
+            'ཉིན་གཅིག',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'un devezh',
+            'ཉིན་གཅིག',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 zevezh',
+            '༢ ཉིན་',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'un devezh',
+            'ཉིན་གཅིག',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 devezh',
+            '༥ ཉིན་',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 devezh',
+            '༢༥ ཉིན་',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ur miz',
+            'ཟླ་བ་གཅིག',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ur miz',
+            'ཟླ་བ་གཅིག',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ur miz',
+            'ཟླ་བ་གཅིག',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 viz',
+            '༢ ཟླ་བ',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 viz',
+            '༢ ཟླ་བ',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 miz',
+            '༣ ཟླ་བ',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ur miz',
+            'ཟླ་བ་གཅིག',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 miz',
+            '༥ ཟླ་བ',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ur bloaz',
+            'ལོ་གཅིག',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 vloaz',
+            '༢ ལོ',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ur bloaz',
+            'ལོ་གཅིག',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 bloaz',
+            '༥ ལོ',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        moment.locale('br');
-        assert.equal(
-            moment(30000).from(0),
-            'a-benn un nebeud segondennoù',
-            'prefix'
-        );
-        assert.equal(moment(0).from(30000), 'un nebeud segondennoù ʼzo', 'suffix');
+        assert.equal(moment(30000).from(0), 'ལམ་སང ལ་', 'prefix');
+        assert.equal(moment(0).from(30000), 'ལམ་སང སྔན་ལ', 'suffix');
     });
 
     test('now from now', function (assert) {
-        moment.locale('br');
         assert.equal(
             moment().fromNow(),
-            'un nebeud segondennoù ʼzo',
+            'ལམ་སང སྔན་ལ',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
-        moment.locale('br');
-        assert.equal(
-            moment().add({ s: 30 }).fromNow(),
-            'a-benn un nebeud segondennoù',
-            'in a few seconds'
-        );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'a-benn 5 devezh',
-            'in 5 days'
-        );
+        assert.equal(moment().add({ s: 30 }).fromNow(), 'ལམ་སང ལ་', 'ལམ་སང ལ་');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '༥ ཉིན་ ལ་', '༥ ཉིན་ ལ་');
     });
 
     test('calendar day', function (assert) {
-        moment.locale('br');
-
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'Hiziv da 12:00',
+            'དི་རིང ཉིན་གུང ༡༢:༠༠',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Hiziv da 12:25',
+            'དི་རིང ཉིན་གུང ༡༢:༢༥',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 1 }).calendar(),
-            'Hiziv da 13:00',
-            'Now plus 1 hour'
+            moment(a).add({ h: 3 }).calendar(),
+            'དི་རིང ཉིན་གུང ༣:༠༠',
+            'Now plus 3 hours'
         );
         assert.equal(
-            moment(a).add({ h: 3 }).calendar(),
-            'Hiziv da 15:00',
-            'Now plus 3 hour'
+            moment(a).add({ d: 1 }).calendar(),
+            'སང་ཉིན ཉིན་གུང ༡༢:༠༠',
+            'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Hiziv da 11:00',
+            'དི་རིང ཉིན་གུང ༡༡:༠༠',
             'Now minus 1 hour'
         );
-        assert.equal(
-            moment(a).add({ d: 1 }).calendar(),
-            'Warcʼhoazh da 12:00',
-            'tomorrow at the same time'
-        );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Decʼh da 12:00',
+            'ཁ་སང ཉིན་གུང ༡༢:༠༠',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
-        moment.locale('br');
-
         var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [da] LT'),
+                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [da] LT'),
+                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [da] LT'),
+                m.format('[བདུན་ཕྲག་རྗེས་མ][,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        moment.locale('br');
-
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [paset da] LT'),
+                m.format('[བདུན་ཕྲག་མཐའ་མ] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [paset da] LT'),
+                m.format('[བདུན་ཕྲག་མཐའ་མ] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [paset da] LT'),
+                m.format('[བདུན་ཕྲག་མཐའ་མ] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar all else', function (assert) {
-        moment.locale('br');
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
         );
     });
 
-    test('special mutations for years', function (assert) {
-        moment.locale('br');
-        var start = moment([2007, 1, 28]);
+    test('meridiem', function (assert) {
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ur bloaz',
-            'mutation 1 year'
+            moment([2011, 2, 23, 2, 30]).format('a'),
+            'མཚན་མོ',
+            'before dawn'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 2 }), true),
-            '2 vloaz',
-            'mutation 2 years'
+            moment([2011, 2, 23, 9, 30]).format('a'),
+            'ཞོགས་ཀས',
+            'morning'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 3 }), true),
-            '3 bloaz',
-            'mutation 3 years'
+            moment([2011, 2, 23, 14, 30]).format('a'),
+            'ཉིན་གུང',
+            'during day'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 4 }), true),
-            '4 bloaz',
-            'mutation 4 years'
+            moment([2011, 2, 23, 17, 30]).format('a'),
+            'དགོང་དག',
+            'evening'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 bloaz',
-            'mutation 5 years'
+            moment([2011, 2, 23, 19, 30]).format('a'),
+            'དགོང་དག',
+            'late evening'
         );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'མཚན་མོ', 'night');
+
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 9 }), true),
-            '9 bloaz',
-            'mutation 9 years'
+            moment([2011, 2, 23, 2, 30]).format('A'),
+            'མཚན་མོ',
+            'before dawn'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 10 }), true),
-            '10 vloaz',
-            'mutation 10 years'
+            moment([2011, 2, 23, 9, 30]).format('A'),
+            'ཞོགས་ཀས',
+            'morning'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 21 }), true),
-            '21 bloaz',
-            'mutation 21 years'
+            moment([2011, 2, 23, 14, 30]).format('A'),
+            'ཉིན་གུང',
+            ' during day'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 22 }), true),
-            '22 vloaz',
-            'mutation 22 years'
+            moment([2011, 2, 23, 17, 30]).format('A'),
+            'དགོང་དག',
+            'evening'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 133 }), true),
-            '133 bloaz',
-            'mutation 133 years'
+            moment([2011, 2, 23, 19, 30]).format('A'),
+            'དགོང་དག',
+            'late evening'
         );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'མཚན་མོ', 'night');
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 148 }), true),
-            '148 vloaz',
-            'mutation 148 years'
+            moment([2012, 0, 1]).format('w ww wo'),
+            '༡ ༠༡ ༡',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            start.from(moment([2007, 1, 28]).add({ y: 261 }), true),
-            '261 bloaz',
-            'mutation 261 years'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '༡ ༠༡ ༡',
+            'Jan  7 2012 should be week 1'
+        );
+        assert.equal(
+            moment([2012, 0, 8]).format('w ww wo'),
+            '༢ ༠༢ ༢',
+            'Jan  8 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 14]).format('w ww wo'),
+            '༢ ༠༢ ༢',
+            'Jan 14 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '༣ ༠༣ ༣',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('bs');
+    localeModule('br');
 
     test('parse', function (assert) {
         var tests =
-                'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._august aug._septembar sep._oktobar okt._novembar nov._decembar dec.'.split(
+                'Genver Gen_Cʼhwevrer Cʼhwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker'.split(
                     '_'
                 ),
-            i;
+            i,
+            monthsWithRegularQuoteMark = ["C'hwevrer", "C'hwe"];
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1) + ' inp ' + mmm
+                input + ' should be month ' + (i + 1)
             );
         }
 
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
+
+        // check with regular quote mark
+        equalTest(monthsWithRegularQuoteMark[0], 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[1], 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[0], 'MMMM', 1);
+        equalTest(monthsWithRegularQuoteMark[1], 'MMMM', 1);
+        equalTest(monthsWithRegularQuoteMark[0].toLocaleLowerCase(), 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[1].toLocaleLowerCase(), 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[0].toLocaleUpperCase(), 'MMMM', 1);
+        equalTest(monthsWithRegularQuoteMark[1].toLocaleUpperCase(), 'MMMM', 1);
+
+        assert.notEqual(
+            moment(monthsWithRegularQuoteMark[0], 'MMM', true).month(),
+            1
+        );
+        equalTestStrict(monthsWithRegularQuoteMark[1], 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[0], 'MMMM', 1);
+        assert.notEqual(
+            moment(monthsWithRegularQuoteMark[1], 'MMMM', true).month(),
+            1
+        );
+        equalTest(monthsWithRegularQuoteMark[1].toLocaleLowerCase(), 'MMM', 1);
+        equalTest(monthsWithRegularQuoteMark[0].toLocaleUpperCase(), 'MMMM', 1);
+
+        // check weekday with regular quote mark
+        assert.equal(
+            moment("merc'her", 'dddd', true).day(),
+            3,
+            "merc'her (regular quote)"
+        );
+        assert.equal(
+            moment('mercʼher', 'dddd', true).day(),
+            3,
+            'mercʼher (special quote)'
+        );
     });
 
     test('format', function (assert) {
+        moment.locale('br');
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, h:mm:ss a',
-                    'nedjelja, 14. februar 2010, 3:25:50 pm',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Sul, Cʼhwevrer 14vet 2010, 3:25:50 g.m.',
                 ],
-                ['ddd, hA', 'ned., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
+                ['ddd, h A', 'Sul, 3 g.m.'],
+                ['M Mo MM MMMM MMM', '2 2vet 02 Cʼhwevrer Cʼhwe'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '7 7. 07'],
+                ['D Do DD', '14 14vet 14'],
+                ['d do dddd ddd dd', '0 0vet Sul Sul Su'],
+                ['DDD DDDo DDDD', '45 45vet 045'],
+                ['w wo ww', '6 6vet 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. februar 2010'],
-                ['LLL', '14. februar 2010 15:25'],
-                ['LLLL', 'nedjelja, 14. februar 2010 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14. feb. 2010'],
-                ['lll', '14. feb. 2010 15:25'],
-                ['llll', 'ned., 14. feb. 2010 15:25'],
+                ['DDDo [devezh] [ar] [vloaz]', '45vet devezh ar vloaz'],
+                ['L', '14/02/2010'],
+                ['LL', '14 a viz Cʼhwevrer 2010'],
+                ['LLL', '14 a viz Cʼhwevrer 2010 15:25'],
+                ['LLLL', 'Sul, 14 a viz Cʼhwevrer 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        moment.locale('br');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1añ', '1añ');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2vet', '2vet');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3vet', '3vet');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4vet', '4vet');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5vet', '5vet');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6vet', '6vet');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7vet', '7vet');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8vet', '8vet');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9vet', '9vet');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10vet', '10vet');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11vet', '11vet');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12vet', '12vet');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13vet', '13vet');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14vet', '14vet');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15vet', '15vet');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16vet', '16vet');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17vet', '17vet');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18vet', '18vet');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19vet', '19vet');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20vet', '20vet');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21vet', '21vet');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22vet', '22vet');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23vet', '23vet');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24vet', '24vet');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25vet', '25vet');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26vet', '26vet');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27vet', '27vet');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28vet', '28vet');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29vet', '29vet');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30vet', '30vet');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31vet', '31vet');
     });
 
     test('format month', function (assert) {
+        moment.locale('br');
         var expected =
-                'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._august aug._septembar sep._oktobar okt._novembar nov._decembar dec.'.split(
+                'Genver Gen_Cʼhwevrer Cʼhwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker'.split(
                     '_'
                 ),
             i;
     });
 
     test('format week', function (assert) {
+        moment.locale('br');
         var expected =
-                'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split(
+                'Sul Sul Su_Lun Lun Lu_Meurzh Meu Me_Mercʼher Mer Mer_Yaou Yao Ya_Gwener Gwe Gw_Sadorn Sad Sa'.split(
                     '_'
                 ),
             i;
     });
 
     test('from', function (assert) {
+        moment.locale('br');
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'par sekundi',
+            'un nebeud segondennoù',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'jedna minuta',
+            'ur vunutenn',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'jedna minuta',
+            'ur vunutenn',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minute',
+            '2 vunutenn',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuta',
+            '44 munutenn',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'jedan sat',
+            'un eur',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'jedan sat',
+            'un eur',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 sata',
+            '2 eur',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 sati',
+            '5 eur',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 sati',
+            '21 eur',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'dan',
+            'un devezh',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'dan',
+            'un devezh',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dana',
+            '2 zevezh',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'dan',
+            'un devezh',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dana',
+            '5 devezh',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dana',
+            '25 devezh',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'mjesec',
+            'ur miz',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'mjesec',
+            'ur miz',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'mjesec',
+            'ur miz',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mjeseca',
+            '2 viz',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mjeseca',
+            '2 viz',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mjeseca',
+            '3 miz',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'mjesec',
+            'ur miz',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mjeseci',
+            '5 miz',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'godinu',
+            'ur bloaz',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 godine',
+            '2 vloaz',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'godinu',
+            'ur bloaz',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 godina',
+            '5 bloaz',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'za par sekundi', 'prefix');
-        assert.equal(moment(0).from(30000), 'prije par sekundi', 'prefix');
+        moment.locale('br');
+        assert.equal(
+            moment(30000).from(0),
+            'a-benn un nebeud segondennoù',
+            'prefix'
+        );
+        assert.equal(moment(0).from(30000), 'un nebeud segondennoù ʼzo', 'suffix');
     });
 
     test('now from now', function (assert) {
+        moment.locale('br');
         assert.equal(
             moment().fromNow(),
-            'prije par sekundi',
+            'un nebeud segondennoù ʼzo',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
+        moment.locale('br');
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'za par sekundi',
+            'a-benn un nebeud segondennoù',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'za 5 dana', 'in 5 days');
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'a-benn 5 devezh',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
+        moment.locale('br');
+
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'danas u 12:00',
+            'Hiziv da 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'danas u 12:25',
+            'Hiziv da 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'danas u 13:00',
+            'Hiziv da 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
-            moment(a).add({ d: 1 }).calendar(),
-            'sutra u 12:00',
-            'tomorrow at the same time'
+            moment(a).add({ h: 3 }).calendar(),
+            'Hiziv da 15:00',
+            'Now plus 3 hour'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'danas u 11:00',
+            'Hiziv da 11:00',
             'Now minus 1 hour'
         );
+        assert.equal(
+            moment(a).add({ d: 1 }).calendar(),
+            'Warcʼhoazh da 12:00',
+            'tomorrow at the same time'
+        );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'jučer u 12:00',
+            'Decʼh da 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
-        var i, m;
-
-        function makeFormat(d) {
-            switch (d.day()) {
-                case 0:
-                    return '[u] [nedjelju] [u] LT';
-                case 3:
-                    return '[u] [srijedu] [u] LT';
-                case 6:
-                    return '[u] [subotu] [u] LT';
-                case 1:
-                case 2:
-                case 4:
-                case 5:
-                    return '[u] dddd [u] LT';
-            }
-        }
+        moment.locale('br');
 
+        var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [da] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [da] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [da] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i, m;
-
-        function makeFormat(d) {
-            switch (d.day()) {
-                case 0:
-                case 3:
-                    return '[prošlu] dddd [u] LT';
-                case 6:
-                    return '[prošle] [subote] [u] LT';
-                case 1:
-                case 2:
-                case 4:
-                case 5:
-                    return '[prošli] dddd [u] LT';
-            }
-        }
+        moment.locale('br');
 
+        var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [paset da] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [paset da] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd [paset da] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar all else', function (assert) {
+        moment.locale('br');
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
+    test('special mutations for years', function (assert) {
+        moment.locale('br');
+        var start = moment([2007, 1, 28]);
         assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1.',
-            'Dec 26 2011 should be week 1'
+            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
+            'ur bloaz',
+            'mutation 1 year'
         );
         assert.equal(
-            moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  1 2012 should be week 1'
+            start.from(moment([2007, 1, 28]).add({ y: 2 }), true),
+            '2 vloaz',
+            'mutation 2 years'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  2 2012 should be week 2'
+            start.from(moment([2007, 1, 28]).add({ y: 3 }), true),
+            '3 bloaz',
+            'mutation 3 years'
         );
         assert.equal(
-            moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  8 2012 should be week 2'
+            start.from(moment([2007, 1, 28]).add({ y: 4 }), true),
+            '4 bloaz',
+            'mutation 4 years'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3.',
-            'Jan  9 2012 should be week 3'
+            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
+            '5 bloaz',
+            'mutation 5 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 9 }), true),
+            '9 bloaz',
+            'mutation 9 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 10 }), true),
+            '10 vloaz',
+            'mutation 10 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 21 }), true),
+            '21 bloaz',
+            'mutation 21 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 22 }), true),
+            '22 vloaz',
+            'mutation 22 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 133 }), true),
+            '133 bloaz',
+            'mutation 133 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 148 }), true),
+            '148 vloaz',
+            'mutation 148 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 261 }), true),
+            '261 bloaz',
+            'mutation 261 years'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ca');
+    localeModule('bs');
 
     test('parse', function (assert) {
         var tests =
-                'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split(
+                'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._august aug._septembar sep._oktobar okt._novembar nov._decembar dec.'.split(
                     '_'
                 ),
             i;
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1)
+                input + ' should be month ' + (i + 1) + ' inp ' + mmm
             );
         }
 
         var a = [
                 [
                     'dddd, Do MMMM YYYY, h:mm:ss a',
-                    'diumenge, 14è de febrer 2010, 3:25:50 pm',
+                    'nedjelja, 14. februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'dg., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2n 02 febrer febr.'],
+                ['ddd, hA', 'ned., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14è 14'],
-                ['d do dddd ddd dd', '0 0è diumenge dg. dg'],
-                ['DDD DDDo DDDD', '45 45è 045'],
-                ['w wo ww', '6 6a 06'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '7 7. 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45è day of the year'],
+                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 de febrer de 2010'],
-                ['LLL', '14 de febrer de 2010 a les 15:25'],
-                ['LLLL', 'diumenge 14 de febrer de 2010 a les 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 febr. 2010'],
-                ['lll', '14 febr. 2010, 15:25'],
-                ['llll', 'dg. 14 febr. 2010, 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14. februar 2010'],
+                ['LLL', '14. februar 2010 15:25'],
+                ['LLLL', 'nedjelja, 14. februar 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14. feb. 2010'],
+                ['lll', '14. feb. 2010 15:25'],
+                ['llll', 'ned., 14. feb. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1r', '1r');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2n', '2n');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3r', '3r');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4t', '4t');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5è', '5è');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6è', '6è');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7è', '7è');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8è', '8è');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9è', '9è');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10è', '10è');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11è', '11è');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12è', '12è');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13è', '13è');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14è', '14è');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15è', '15è');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16è', '16è');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17è', '17è');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18è', '18è');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19è', '19è');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20è', '20è');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21è', '21è');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22è', '22è');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23è', '23è');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24è', '24è');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25è', '25è');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26è', '26è');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27è', '27è');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28è', '28è');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29è', '29è');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30è', '30è');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31è', '31è');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
     });
 
     test('format month', function (assert) {
         var expected =
-                'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split(
+                'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._august aug._septembar sep._oktobar okt._novembar nov._decembar dec.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'diumenge dg. dg_dilluns dl. dl_dimarts dt. dt_dimecres dc. dc_dijous dj. dj_divendres dv. dv_dissabte ds. ds'.split(
+                'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'uns segons',
+            'par sekundi',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'un minut',
+            'jedna minuta',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'un minut',
+            'jedna minuta',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minuts',
+            '2 minute',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuts',
+            '44 minuta',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'una hora',
+            'jedan sat',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'una hora',
+            'jedan sat',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 hores',
+            '2 sata',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 hores',
+            '5 sati',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 hores',
+            '21 sati',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'un dia',
+            'dan',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'un dia',
+            'dan',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dies',
+            '2 dana',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'un dia',
+            'dan',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dies',
+            '5 dana',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dies',
+            '25 dana',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'un mes',
+            'mjesec',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'un mes',
+            'mjesec',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'un mes',
+            'mjesec',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mesos',
+            '2 mjeseca',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mesos',
+            '2 mjeseca',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mesos',
+            '3 mjeseca',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'un mes',
+            'mjesec',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mesos',
+            '5 mjeseci',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'un any',
+            'godinu',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 anys',
+            '2 godine',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'un any',
+            'godinu',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 anys',
+            '5 godina',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), "d'aquí uns segons", 'prefix');
-        assert.equal(moment(0).from(30000), 'fa uns segons', 'suffix');
+        assert.equal(moment(30000).from(0), 'za par sekundi', 'prefix');
+        assert.equal(moment(0).from(30000), 'prije par sekundi', 'prefix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'fa uns segons',
+            'prije par sekundi',
             'now from now should display as in the past'
         );
+        assert.equal(
+            moment().subtract({ h: 1 }).fromNow(),
+            'prije jedan sat',
+            '1 hour ago'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            "d'aquí uns segons",
-            "d'aquí uns segons"
+            'za par sekundi',
+            'in a few seconds'
         );
         assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            "d'aquí 5 dies",
-            "d'aquí 5 dies"
+            moment().add({ m: 1 }).fromNow(),
+            'za jednu minutu',
+            'in 1 minute'
         );
+        assert.equal(moment().add({ h: 1 }).fromNow(), 'za jedan sat', 'in 1 hour');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'za 5 dana', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'avui a les 12:00',
+            'danas u 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'avui a les 12:25',
+            'danas u 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'avui a les 13:00',
+            'danas u 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'demà a les 12:00',
+            'sutra u 12:00',
             'tomorrow at the same time'
         );
-        assert.equal(
-            moment(a).add({ d: 1, h: -1 }).calendar(),
-            'demà a les 11:00',
-            'tomorrow minus 1 hour'
-        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'avui a les 11:00',
+            'danas u 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ahir a les 12:00',
+            'jučer u 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
+        function makeFormat(d) {
+            switch (d.day()) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        }
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
+                m.format(makeFormat(m)),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
+                m.format(makeFormat(m)),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
+                m.format(makeFormat(m)),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
+        function makeFormat(d) {
+            switch (d.day()) {
+                case 0:
+                case 3:
+                    return '[prošlu] dddd [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[prošli] dddd [u] LT';
+            }
+        }
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [passat a ' +
-                        (m.hours() !== 1 ? 'les' : 'la') +
-                        '] LT'
-                ),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [passat a ' +
-                        (m.hours() !== 1 ? 'les' : 'la') +
-                        '] LT'
-                ),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [passat a ' +
-                        (m.hours() !== 1 ? 'les' : 'la') +
-                        '] LT'
-                ),
+                m.format(makeFormat(m)),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1.',
+            'Dec 26 2011 should be week 1'
+        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52a',
-            'Jan  1 2012 should be week 52'
+            '1 01 1.',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1a',
-            'Jan  2 2012 should be week 1'
+            '2 02 2.',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1a',
-            'Jan  8 2012 should be week 1'
+            '2 02 2.',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2a',
-            'Jan  9 2012 should be week 2'
-        );
-        assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2a',
-            'Jan 15 2012 should be week 2'
+            '3 03 3.',
+            'Jan  9 2012 should be week 3'
         );
     });
 
-    test('day and month', function (assert) {
-        assert.equal(moment([2012, 1, 15]).format('D MMMM'), '15 de febrer');
-        assert.equal(moment([2012, 9, 15]).format('D MMMM'), "15 d'octubre");
-        assert.equal(moment([2012, 9, 15]).format('MMMM, D'), 'octubre, 15');
-    });
-
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('cs');
+    localeModule('ca');
 
     test('parse', function (assert) {
         var tests =
-                'leden led ledna_únor úno února_březen bře března_duben dub dubna_květen kvě května_červen čvn června_červenec čvc července_srpen srp srpna_září zář září_říjen říj října_listopad lis listopadu_prosinec pro prosince'.split(
+                'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split(
                     '_'
                 ),
             i;
-        function equalTest(input, mmm, monthIndex) {
+        function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be month ' + (monthIndex + 1)
+                i,
+                input + ' should be month ' + (i + 1)
             );
         }
+
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
                 input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
             );
         }
+
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][2], 'MMM', i);
             equalTest(tests[i][0], 'MMMM', i);
             equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][2], 'MMMM', i);
             equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][2].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][2].toLocaleUpperCase(), 'MMMM', i);
 
             equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][2], 'MMMM', i);
             equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
             equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTestStrict(tests[i][2].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][2].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
-                ['dddd, MMMM Do YYYY, h:mm:ss', 'neděle, února 14. 2010, 3:25:50'],
-                ['ddd, h', 'ne, 3'],
-                ['M Mo MM MMMM MMM', '2 2. 02 února úno'],
+                [
+                    'dddd, Do MMMM YYYY, h:mm:ss a',
+                    'diumenge, 14è de febrer 2010, 3:25:50 pm',
+                ],
+                ['ddd, hA', 'dg., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2n 02 febrer febr.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. neděle ne ne'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
+                ['D Do DD', '14 14è 14'],
+                ['d do dddd ddd dd', '0 0è diumenge dg. dg'],
+                ['DDD DDDo DDDD', '45 45è 045'],
+                ['w wo ww', '6 6a 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['DDDo [den v roce]', '45. den v roce'],
+                ['[the] DDDo [day of the year]', 'the 45è day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. února 2010'],
-                ['LLL', '14. února 2010 15:25'],
-                ['LLLL', 'neděle 14. února 2010 15:25'],
-                ['l', '14. 2. 2010'],
-                ['ll', '14. úno 2010'],
-                ['lll', '14. úno 2010 15:25'],
-                ['llll', 'ne 14. úno 2010 15:25'],
+                ['L', '14/02/2010'],
+                ['LL', '14 de febrer de 2010'],
+                ['LLL', '14 de febrer de 2010 a les 15:25'],
+                ['LLLL', 'diumenge 14 de febrer de 2010 a les 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 febr. 2010'],
+                ['lll', '14 febr. 2010, 15:25'],
+                ['llll', 'dg. 14 febr. 2010, 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1r', '1r');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2n', '2n');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3r', '3r');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4t', '4t');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5è', '5è');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6è', '6è');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7è', '7è');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8è', '8è');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9è', '9è');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10è', '10è');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11è', '11è');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12è', '12è');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13è', '13è');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14è', '14è');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15è', '15è');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16è', '16è');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17è', '17è');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18è', '18è');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19è', '19è');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20è', '20è');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21è', '21è');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22è', '22è');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23è', '23è');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24è', '24è');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25è', '25è');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26è', '26è');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27è', '27è');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28è', '28è');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29è', '29è');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30è', '30è');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31è', '31è');
     });
 
     test('format month', function (assert) {
         var expected =
-                'ledna led_února úno_března bře_dubna dub_května kvě_června čvn_července čvc_srpna srp_září zář_října říj_listopadu lis_prosince pro'.split(
+                'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split(
                     '_'
                 ),
             i;
         }
     });
 
-    test('format month case', function (assert) {
-        var months = {
-                nominative:
-                    'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
-                        '_'
-                    ),
-                accusative:
-                    'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
-                        '_'
-                    ),
-            },
-            i;
-        for (i = 0; i < 12; i++) {
-            assert.equal(
-                moment([2011, i, 1]).format('D MMMM'),
-                '1 ' + months.accusative[i],
-                '1 ' + months.accusative[i]
-            );
-            assert.equal(
-                moment([2011, i, 1]).format('MMMM'),
-                months.nominative[i],
-                '1 ' + months.nominative[i]
-            );
-        }
-    });
-
     test('format week', function (assert) {
         var expected =
-                'neděle ne ne_pondělí po po_úterý út út_středa st st_čtvrtek čt čt_pátek pá pá_sobota so so'.split(
+                'diumenge dg. dg_dilluns dl. dl_dimarts dt. dt_dimecres dc. dc_dijous dj. dj_divendres dv. dv_dissabte ds. ds'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'pár sekund',
+            'uns segons',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'minuta',
+            'un minut',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'minuta',
+            'un minut',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minuty',
+            '2 minuts',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minut',
+            '44 minuts',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'hodina',
+            'una hora',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'hodina',
+            'una hora',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 hodiny',
+            '2 hores',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 hodin',
+            '5 hores',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 hodin',
+            '21 hores',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'den',
+            'un dia',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'den',
+            'un dia',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dny',
+            '2 dies',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'den',
+            'un dia',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 d',
+            '5 dies',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 d',
+            '25 dies',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'měsíc',
+            'un mes',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'měsíc',
+            'un mes',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'měsíc',
+            'un mes',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 měsíce',
+            '2 mesos',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 měsíce',
+            '2 mesos',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 měsíce',
+            '3 mesos',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'měsíc',
+            'un mes',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 měsíců',
+            '5 mesos',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'rok',
+            'un any',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 roky',
+            '2 anys',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'rok',
+            'un any',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 let',
+            '5 anys',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'za pár sekund', 'prefix');
-        assert.equal(moment(0).from(30000), 'před pár sekundami', 'suffix');
+        assert.equal(moment(30000).from(0), "d'aquí uns segons", 'prefix');
+        assert.equal(moment(0).from(30000), 'fa uns segons', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'před pár sekundami',
+            'fa uns segons',
             'now from now should display as in the past'
         );
     });
 
-    test('fromNow (future)', function (assert) {
+    test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'za pár sekund',
-            'in a few seconds'
-        );
-        assert.equal(moment().add({ m: 1 }).fromNow(), 'za minutu', 'in a minute');
-        assert.equal(
-            moment().add({ m: 3 }).fromNow(),
-            'za 3 minuty',
-            'in 3 minutes'
-        );
-        assert.equal(
-            moment().add({ m: 10 }).fromNow(),
-            'za 10 minut',
-            'in 10 minutes'
-        );
-        assert.equal(moment().add({ h: 1 }).fromNow(), 'za hodinu', 'in an hour');
-        assert.equal(moment().add({ h: 3 }).fromNow(), 'za 3 hodiny', 'in 3 hours');
-        assert.equal(
-            moment().add({ h: 10 }).fromNow(),
-            'za 10 hodin',
-            'in 10 hours'
-        );
-        assert.equal(moment().add({ d: 1 }).fromNow(), 'za den', 'in a day');
-        assert.equal(moment().add({ d: 3 }).fromNow(), 'za 3 dny', 'in 3 days');
-        assert.equal(moment().add({ d: 10 }).fromNow(), 'za 10 dní', 'in 10 days');
-        assert.equal(moment().add({ M: 1 }).fromNow(), 'za měsíc', 'in a month');
-        assert.equal(
-            moment().add({ M: 3 }).fromNow(),
-            'za 3 měsíce',
-            'in 3 months'
-        );
-        assert.equal(
-            moment().add({ M: 10 }).fromNow(),
-            'za 10 měsíců',
-            'in 10 months'
-        );
-        assert.equal(moment().add({ y: 1 }).fromNow(), 'za rok', 'in a year');
-        assert.equal(moment().add({ y: 3 }).fromNow(), 'za 3 roky', 'in 3 years');
-        assert.equal(moment().add({ y: 10 }).fromNow(), 'za 10 let', 'in 10 years');
-    });
-
-    test('fromNow (past)', function (assert) {
-        assert.equal(
-            moment().subtract({ s: 30 }).fromNow(),
-            'před pár sekundami',
-            'a few seconds ago'
-        );
-        assert.equal(
-            moment().subtract({ m: 1 }).fromNow(),
-            'před minutou',
-            'a minute ago'
-        );
-        assert.equal(
-            moment().subtract({ m: 3 }).fromNow(),
-            'před 3 minutami',
-            '3 minutes ago'
-        );
-        assert.equal(
-            moment().subtract({ m: 10 }).fromNow(),
-            'před 10 minutami',
-            '10 minutes ago'
-        );
-        assert.equal(
-            moment().subtract({ h: 1 }).fromNow(),
-            'před hodinou',
-            'an hour ago'
-        );
-        assert.equal(
-            moment().subtract({ h: 3 }).fromNow(),
-            'před 3 hodinami',
-            '3 hours ago'
-        );
-        assert.equal(
-            moment().subtract({ h: 10 }).fromNow(),
-            'před 10 hodinami',
-            '10 hours ago'
-        );
-        assert.equal(
-            moment().subtract({ d: 1 }).fromNow(),
-            'před dnem',
-            'a day ago'
-        );
-        assert.equal(
-            moment().subtract({ d: 3 }).fromNow(),
-            'před 3 dny',
-            '3 days ago'
-        );
-        assert.equal(
-            moment().subtract({ d: 10 }).fromNow(),
-            'před 10 dny',
-            '10 days ago'
-        );
-        assert.equal(
-            moment().subtract({ M: 1 }).fromNow(),
-            'před měsícem',
-            'a month ago'
-        );
-        assert.equal(
-            moment().subtract({ M: 3 }).fromNow(),
-            'před 3 měsíci',
-            '3 months ago'
-        );
-        assert.equal(
-            moment().subtract({ M: 10 }).fromNow(),
-            'před 10 měsíci',
-            '10 months ago'
-        );
-        assert.equal(
-            moment().subtract({ y: 1 }).fromNow(),
-            'před rokem',
-            'a year ago'
-        );
-        assert.equal(
-            moment().subtract({ y: 3 }).fromNow(),
-            'před 3 lety',
-            '3 years ago'
+            "d'aquí uns segons",
+            "d'aquí uns segons"
         );
         assert.equal(
-            moment().subtract({ y: 10 }).fromNow(),
-            'před 10 lety',
-            '10 years ago'
+            moment().add({ d: 5 }).fromNow(),
+            "d'aquí 5 dies",
+            "d'aquí 5 dies"
         );
     });
 
 
         assert.equal(
             moment(a).calendar(),
-            'dnes v 12:00',
+            'avui a les 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'dnes v 12:25',
+            'avui a les 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'dnes v 13:00',
+            'avui a les 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'zítra v 12:00',
+            'demà a les 12:00',
             'tomorrow at the same time'
         );
+        assert.equal(
+            moment(a).add({ d: 1, h: -1 }).calendar(),
+            'demà a les 11:00',
+            'tomorrow minus 1 hour'
+        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'dnes v 11:00',
+            'avui a les 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'včera v 12:00',
+            'ahir a les 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
-        var i, m, nextDay;
+        var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
-            nextDay = '';
-            switch (m.day()) {
-                case 0:
-                    nextDay = 'v neděli';
-                    break;
-                case 1:
-                    nextDay = 'v pondělí';
-                    break;
-                case 2:
-                    nextDay = 'v úterý';
-                    break;
-                case 3:
-                    nextDay = 've středu';
-                    break;
-                case 4:
-                    nextDay = 've čtvrtek';
-                    break;
-                case 5:
-                    nextDay = 'v pátek';
-                    break;
-                case 6:
-                    nextDay = 'v sobotu';
-                    break;
-            }
             assert.equal(
                 m.calendar(),
-                m.format('[' + nextDay + '] [v] LT'),
+                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[' + nextDay + '] [v] LT'),
+                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[' + nextDay + '] [v] LT'),
+                m.format('dddd [a ' + (m.hours() !== 1 ? 'les' : 'la') + '] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i, m, lastDay;
+        var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
-            lastDay = '';
-            switch (m.day()) {
-                case 0:
-                    lastDay = 'minulou neděli';
-                    break;
-                case 1:
-                    lastDay = 'minulé pondělí';
-                    break;
-                case 2:
-                    lastDay = 'minulé úterý';
-                    break;
-                case 3:
-                    lastDay = 'minulou středu';
-                    break;
-                case 4:
-                    lastDay = 'minulý čtvrtek';
-                    break;
-                case 5:
-                    lastDay = 'minulý pátek';
-                    break;
-                case 6:
-                    lastDay = 'minulou sobotu';
-                    break;
-            }
             assert.equal(
                 m.calendar(),
-                m.format('[' + lastDay + '] [v] LT'),
+                m.format(
+                    '[el] dddd [passat a ' +
+                        (m.hours() !== 1 ? 'les' : 'la') +
+                        '] LT'
+                ),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[' + lastDay + '] [v] LT'),
+                m.format(
+                    '[el] dddd [passat a ' +
+                        (m.hours() !== 1 ? 'les' : 'la') +
+                        '] LT'
+                ),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[' + lastDay + '] [v] LT'),
+                m.format(
+                    '[el] dddd [passat a ' +
+                        (m.hours() !== 1 ? 'les' : 'la') +
+                        '] LT'
+                ),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('humanize duration', function (assert) {
-        assert.equal(
-            moment.duration(1, 'minutes').humanize(),
-            'minuta',
-            'a minute (future)'
-        );
-        assert.equal(
-            moment.duration(1, 'minutes').humanize(true),
-            'za minutu',
-            'in a minute'
-        );
-        assert.equal(
-            moment.duration(-1, 'minutes').humanize(),
-            'minuta',
-            'a minute (past)'
-        );
-        assert.equal(
-            moment.duration(-1, 'minutes').humanize(true),
-            'před minutou',
-            'a minute ago'
-        );
-    });
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
+            '52 52 52a',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1a',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1a',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2a',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2a',
             'Jan 15 2012 should be week 2'
         );
     });
 
+    test('day and month', function (assert) {
+        assert.equal(moment([2012, 1, 15]).format('D MMMM'), '15 de febrer');
+        assert.equal(moment([2012, 9, 15]).format('D MMMM'), "15 d'octubre");
+        assert.equal(moment([2012, 9, 15]).format('MMMM, D'), 'octubre, 15');
+    });
+
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('cv');
+    localeModule('cs');
 
     test('parse', function (assert) {
         var tests =
-                'кӑрлач кӑр_нарӑс нар_пуш пуш_ака ака_май май_ҫӗртме ҫӗр_утӑ утӑ_ҫурла ҫур_авӑн авн_юпа юпа_чӳк чӳк_раштав раш'.split(
+                'leden led ledna_únor úno února_březen bře března_duben dub dubna_květen kvě května_červen čvn června_červenec čvc července_srpen srp srpna_září zář září_říjen říj října_listopad lis listopadu_prosinec pro prosince'.split(
                     '_'
                 ),
             i;
-        function equalTest(input, mmm, i) {
+        function equalTest(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm).month(),
-                i,
-                input + ' should be month ' + (i + 1)
+                monthIndex,
+                input + ' ' + mmm + ' should be month ' + (monthIndex + 1)
             );
         }
-
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
                 input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
             );
         }
-
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][2], 'MMM', i);
             equalTest(tests[i][0], 'MMMM', i);
             equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][2], 'MMMM', i);
             equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][2].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][2].toLocaleUpperCase(), 'MMMM', i);
 
             equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][2], 'MMMM', i);
             equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
             equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i][2].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][2].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
-                [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'вырсарникун, нарӑс 14-мӗш 2010, 3:25:50 pm',
-                ],
-                ['ddd, hA', 'выр, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2-мӗш 02 нарӑс нар'],
+                ['dddd, Do MMMM YYYY, h:mm:ss', 'neděle, 14. února 2010, 3:25:50'],
+                ['ddd, h', 'ne, 3'],
+                ['M Mo MM MMMM MMM', '2 2. 02 únor úno'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14-мӗш 14'],
-                ['d do dddd ddd dd', '0 0-мӗш вырсарникун выр вр'],
-                ['DDD DDDo DDDD', '45 45-мӗш 045'],
-                ['w wo ww', '7 7-мӗш 07'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. neděle ne ne'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['Ҫулӑн DDDo кунӗ', 'Ҫулӑн 45-мӗш кунӗ'],
+                ['DDDo [den v roce]', '45. den v roce'],
                 ['LTS', '15:25:50'],
-                ['L', '14-02-2010'],
-                ['LL', '2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ'],
-                ['LLL', '2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ, 15:25'],
-                ['LLLL', 'вырсарникун, 2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ, 15:25'],
-                ['l', '14-2-2010'],
-                ['ll', '2010 ҫулхи нар уйӑхӗн 14-мӗшӗ'],
-                ['lll', '2010 ҫулхи нар уйӑхӗн 14-мӗшӗ, 15:25'],
-                ['llll', 'выр, 2010 ҫулхи нар уйӑхӗн 14-мӗшӗ, 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14. února 2010'],
+                ['LLL', '14. února 2010 15:25'],
+                ['LLLL', 'neděle 14. února 2010 15:25'],
+                ['l', '14. 2. 2010'],
+                ['ll', '14. úno 2010'],
+                ['lll', '14. úno 2010 15:25'],
+                ['llll', 'ne 14. úno 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-мӗш', '1-мӗш');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-мӗш', '2-мӗш');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-мӗш', '3-мӗш');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-мӗш', '4-мӗш');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-мӗш', '5-мӗш');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-мӗш', '6-мӗш');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-мӗш', '7-мӗш');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-мӗш', '8-мӗш');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-мӗш', '9-мӗш');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-мӗш', '10-мӗш');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-мӗш', '11-мӗш');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-мӗш', '12-мӗш');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-мӗш', '13-мӗш');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-мӗш', '14-мӗш');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-мӗш', '15-мӗш');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-мӗш', '16-мӗш');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-мӗш', '17-мӗш');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-мӗш', '18-мӗш');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-мӗш', '19-мӗш');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-мӗш', '20-мӗш');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-мӗш', '21-мӗш');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-мӗш', '22-мӗш');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-мӗш', '23-мӗш');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-мӗш', '24-мӗш');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-мӗш', '25-мӗш');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-мӗш', '26-мӗш');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-мӗш', '27-мӗш');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-мӗш', '28-мӗш');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-мӗш', '29-мӗш');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-мӗш', '30-мӗш');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-мӗш', '31-мӗш');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
     });
 
     test('format month', function (assert) {
         var expected =
-                'кӑрлач кӑр_нарӑс нар_пуш пуш_ака ака_май май_ҫӗртме ҫӗр_утӑ утӑ_ҫурла ҫур_авӑн авн_юпа юпа_чӳк чӳк_раштав раш'.split(
+                'leden led_únor úno_březen bře_duben dub_květen kvě_červen čvn_červenec čvc_srpen srp_září zář_říjen říj_listopad lis_prosinec pro'.split(
                     '_'
                 ),
             i;
         }
     });
 
+    test('format month case', function (assert) {
+        var months = {
+                accusative:
+                    'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
+                        '_'
+                    ),
+                nominative:
+                    'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
+                        '_'
+                    ),
+            },
+            i;
+        for (i = 0; i < 12; i++) {
+            assert.equal(
+                moment([2011, i, 1]).format('D MMMM'),
+                '1 ' + months.accusative[i],
+                '1 ' + months.accusative[i]
+            );
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM'),
+                months.nominative[i],
+                '1 ' + months.nominative[i]
+            );
+        }
+    });
+
     test('format week', function (assert) {
         var expected =
-                'вырсарникун выр вр_тунтикун тун тн_ытларикун ытл ыт_юнкун юн юн_кӗҫнерникун кӗҫ кҫ_эрнекун эрн эр_шӑматкун шӑм шм'.split(
+                'neděle ne ne_pondělí po po_úterý út út_středa st st_čtvrtek čt čt_pátek pá pá_sobota so so'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'пӗр-ик ҫеккунт',
-            '44 sekunder = a few seconds'
+            'pár sekund',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'пӗр минут',
+            'minuta',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'пӗр минут',
+            'minuta',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 минут',
+            '2 minuty',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 минут',
+            '44 minut',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'пӗр сехет',
+            'hodina',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'пӗр сехет',
+            'hodina',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 сехет',
+            '2 hodiny',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 сехет',
+            '5 hodin',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 сехет',
+            '21 hodin',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'пӗр кун',
+            'den',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'пӗр кун',
+            'den',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 кун',
+            '2 dny',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'пӗр кун',
+            'den',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 кун',
+            '5 dní',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 кун',
+            '25 dní',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'пӗр уйӑх',
+            'měsíc',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'пӗр уйӑх',
+            'měsíc',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'пӗр уйӑх',
+            'měsíc',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 уйӑх',
+            '2 měsíce',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 уйӑх',
+            '2 měsíce',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 уйӑх',
+            '3 měsíce',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'пӗр уйӑх',
+            'měsíc',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 уйӑх',
+            '5 měsíců',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'пӗр ҫул',
+            'rok',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 ҫул',
+            '2 roky',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'пӗр ҫул',
+            'rok',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 ҫул',
+            '5 let',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'пӗр-ик ҫеккунтран', 'prefix');
-        assert.equal(moment(0).from(30000), 'пӗр-ик ҫеккунт каялла', 'suffix');
+        assert.equal(moment(30000).from(0), 'za pár sekund', 'prefix');
+        assert.equal(moment(0).from(30000), 'před pár sekundami', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'пӗр-ик ҫеккунт каялла',
+            'před pár sekundami',
             'now from now should display as in the past'
         );
     });
 
-    test('fromNow', function (assert) {
+    test('fromNow (future)', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'пӗр-ик ҫеккунтран',
+            'za pár sekund',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 кунран', 'in 5 days');
+        assert.equal(moment().add({ m: 1 }).fromNow(), 'za minutu', 'in a minute');
         assert.equal(
-            moment().add({ h: 2 }).fromNow(),
-            '2 сехетрен',
-            'in 2 hours, the right suffix!'
+            moment().add({ m: 3 }).fromNow(),
+            'za 3 minuty',
+            'in 3 minutes'
         );
         assert.equal(
-            moment().add({ y: 3 }).fromNow(),
-            '3 ҫултан',
-            'in 3 years, the right suffix!'
+            moment().add({ m: 10 }).fromNow(),
+            'za 10 minut',
+            'in 10 minutes'
+        );
+        assert.equal(moment().add({ h: 1 }).fromNow(), 'za hodinu', 'in an hour');
+        assert.equal(moment().add({ h: 3 }).fromNow(), 'za 3 hodiny', 'in 3 hours');
+        assert.equal(
+            moment().add({ h: 10 }).fromNow(),
+            'za 10 hodin',
+            'in 10 hours'
+        );
+        assert.equal(moment().add({ d: 1 }).fromNow(), 'za den', 'in a day');
+        assert.equal(moment().add({ d: 3 }).fromNow(), 'za 3 dny', 'in 3 days');
+        assert.equal(moment().add({ d: 10 }).fromNow(), 'za 10 dní', 'in 10 days');
+        assert.equal(moment().add({ M: 1 }).fromNow(), 'za měsíc', 'in a month');
+        assert.equal(
+            moment().add({ M: 3 }).fromNow(),
+            'za 3 měsíce',
+            'in 3 months'
+        );
+        assert.equal(
+            moment().add({ M: 10 }).fromNow(),
+            'za 10 měsíců',
+            'in 10 months'
+        );
+        assert.equal(moment().add({ y: 1 }).fromNow(), 'za rok', 'in a year');
+        assert.equal(moment().add({ y: 3 }).fromNow(), 'za 3 roky', 'in 3 years');
+        assert.equal(moment().add({ y: 10 }).fromNow(), 'za 10 let', 'in 10 years');
+    });
+
+    test('fromNow (past)', function (assert) {
+        assert.equal(
+            moment().subtract({ s: 30 }).fromNow(),
+            'před pár sekundami',
+            'a few seconds ago'
+        );
+        assert.equal(
+            moment().subtract({ m: 1 }).fromNow(),
+            'před minutou',
+            'a minute ago'
+        );
+        assert.equal(
+            moment().subtract({ m: 3 }).fromNow(),
+            'před 3 minutami',
+            '3 minutes ago'
+        );
+        assert.equal(
+            moment().subtract({ m: 10 }).fromNow(),
+            'před 10 minutami',
+            '10 minutes ago'
+        );
+        assert.equal(
+            moment().subtract({ h: 1 }).fromNow(),
+            'před hodinou',
+            'an hour ago'
+        );
+        assert.equal(
+            moment().subtract({ h: 3 }).fromNow(),
+            'před 3 hodinami',
+            '3 hours ago'
+        );
+        assert.equal(
+            moment().subtract({ h: 10 }).fromNow(),
+            'před 10 hodinami',
+            '10 hours ago'
+        );
+        assert.equal(
+            moment().subtract({ d: 1 }).fromNow(),
+            'před dnem',
+            'a day ago'
+        );
+        assert.equal(
+            moment().subtract({ d: 3 }).fromNow(),
+            'před 3 dny',
+            '3 days ago'
+        );
+        assert.equal(
+            moment().subtract({ d: 10 }).fromNow(),
+            'před 10 dny',
+            '10 days ago'
+        );
+        assert.equal(
+            moment().subtract({ M: 1 }).fromNow(),
+            'před měsícem',
+            'a month ago'
+        );
+        assert.equal(
+            moment().subtract({ M: 3 }).fromNow(),
+            'před 3 měsíci',
+            '3 months ago'
+        );
+        assert.equal(
+            moment().subtract({ M: 10 }).fromNow(),
+            'před 10 měsíci',
+            '10 months ago'
+        );
+        assert.equal(
+            moment().subtract({ y: 1 }).fromNow(),
+            'před rokem',
+            'a year ago'
+        );
+        assert.equal(
+            moment().subtract({ y: 3 }).fromNow(),
+            'před 3 lety',
+            '3 years ago'
+        );
+        assert.equal(
+            moment().subtract({ y: 10 }).fromNow(),
+            'před 10 lety',
+            '10 years ago'
         );
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
+
         assert.equal(
             moment(a).calendar(),
-            'Паян 12:00 сехетре',
+            'dnes v 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Паян 12:25 сехетре',
+            'dnes v 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Паян 13:00 сехетре',
+            'dnes v 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Ыран 12:00 сехетре',
+            'zítra v 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Паян 11:00 сехетре',
+            'dnes v 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Ӗнер 12:00 сехетре',
+            'včera v 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
-        var i, m;
-
+        var i, m, nextDay;
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
+            nextDay = '';
+            switch (m.day()) {
+                case 0:
+                    nextDay = 'v neděli';
+                    break;
+                case 1:
+                    nextDay = 'v pondělí';
+                    break;
+                case 2:
+                    nextDay = 'v úterý';
+                    break;
+                case 3:
+                    nextDay = 've středu';
+                    break;
+                case 4:
+                    nextDay = 've čtvrtek';
+                    break;
+                case 5:
+                    nextDay = 'v pátek';
+                    break;
+                case 6:
+                    nextDay = 'v sobotu';
+                    break;
+            }
             assert.equal(
                 m.calendar(),
-                m.format('[Ҫитес] dddd LT [сехетре]'),
+                m.format('[' + nextDay + '] [v] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Ҫитес] dddd LT [сехетре]'),
+                m.format('[' + nextDay + '] [v] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Ҫитес] dddd LT [сехетре]'),
+                m.format('[' + nextDay + '] [v] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i, m;
-
+        var i, m, lastDay;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
+            lastDay = '';
+            switch (m.day()) {
+                case 0:
+                    lastDay = 'minulou neděli';
+                    break;
+                case 1:
+                    lastDay = 'minulé pondělí';
+                    break;
+                case 2:
+                    lastDay = 'minulé úterý';
+                    break;
+                case 3:
+                    lastDay = 'minulou středu';
+                    break;
+                case 4:
+                    lastDay = 'minulý čtvrtek';
+                    break;
+                case 5:
+                    lastDay = 'minulý pátek';
+                    break;
+                case 6:
+                    lastDay = 'minulou sobotu';
+                    break;
+            }
             assert.equal(
                 m.calendar(),
-                m.format('[Иртнӗ] dddd LT [сехетре]'),
+                m.format('[' + lastDay + '] [v] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Иртнӗ] dddd LT [сехетре]'),
+                m.format('[' + lastDay + '] [v] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Иртнӗ] dddd LT [сехетре]'),
+                m.format('[' + lastDay + '] [v] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    // Monday is the first day of the week.
-    // The week that contains Jan 1st is the first week of the year.
-
-    test('weeks year starting sunday formatted', function (assert) {
+    test('humanize duration', function (assert) {
         assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1-мӗш',
-            'Dec 26 2011 should be week 1'
+            moment.duration(1, 'minutes').humanize(),
+            'minuta',
+            'a minute (future)'
+        );
+        assert.equal(
+            moment.duration(1, 'minutes').humanize(true),
+            'za minutu',
+            'in a minute'
+        );
+        assert.equal(
+            moment.duration(-1, 'minutes').humanize(),
+            'minuta',
+            'a minute (past)'
         );
+        assert.equal(
+            moment.duration(-1, 'minutes').humanize(true),
+            'před minutou',
+            'a minute ago'
+        );
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-мӗш',
-            'Jan  1 2012 should be week 1'
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2-мӗш',
-            'Jan  2 2012 should be week 2'
+            '1 01 1.',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2-мӗш',
-            'Jan  8 2012 should be week 2'
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3-мӗш',
-            'Jan  9 2012 should be week 3'
+            '2 02 2.',
+            'Jan  9 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '2 02 2.',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('cy');
+    localeModule('cv');
 
     test('parse', function (assert) {
         var tests =
-                'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split(
+                'кӑрлач кӑр_нарӑс нар_пуш пуш_ака ака_май май_ҫӗртме ҫӗр_утӑ утӑ_ҫурла ҫур_авӑн авн_юпа юпа_чӳк чӳк_раштав раш'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Dydd Sul, Chwefror 14eg 2010, 3:25:50 pm',
+                    'вырсарникун, нарӑс 14-мӗш 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'Sul, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2il 02 Chwefror Chwe'],
+                ['ddd, hA', 'выр, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2-мӗш 02 нарӑс нар'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14eg 14'],
-                ['d do dddd ddd dd', '0 0 Dydd Sul Sul Su'],
-                ['DDD DDDo DDDD', '45 45ain 045'],
-                ['w wo ww', '6 6ed 06'],
+                ['D Do DD', '14 14-мӗш 14'],
+                ['d do dddd ddd dd', '0 0-мӗш вырсарникун выр вр'],
+                ['DDD DDDo DDDD', '45 45-мӗш 045'],
+                ['w wo ww', '7 7-мӗш 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45ain day of the year'],
+                ['Ҫулӑн DDDo кунӗ', 'Ҫулӑн 45-мӗш кунӗ'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 Chwefror 2010'],
-                ['LLL', '14 Chwefror 2010 15:25'],
-                ['LLLL', 'Dydd Sul, 14 Chwefror 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 Chwe 2010'],
-                ['lll', '14 Chwe 2010 15:25'],
-                ['llll', 'Sul, 14 Chwe 2010 15:25'],
+                ['L', '14-02-2010'],
+                ['LL', '2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ'],
+                ['LLL', '2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ, 15:25'],
+                ['LLLL', 'вырсарникун, 2010 ҫулхи нарӑс уйӑхӗн 14-мӗшӗ, 15:25'],
+                ['l', '14-2-2010'],
+                ['ll', '2010 ҫулхи нар уйӑхӗн 14-мӗшӗ'],
+                ['lll', '2010 ҫулхи нар уйӑхӗн 14-мӗшӗ, 15:25'],
+                ['llll', 'выр, 2010 ҫулхи нар уйӑхӗн 14-мӗшӗ, 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1af', '1af');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2il', '2il');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3ydd', '3ydd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4ydd', '4ydd');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5ed', '5ed');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6ed', '6ed');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7ed', '7ed');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8fed', '8fed');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9fed', '9fed');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10fed', '10fed');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-мӗш', '1-мӗш');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-мӗш', '2-мӗш');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-мӗш', '3-мӗш');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-мӗш', '4-мӗш');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-мӗш', '5-мӗш');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-мӗш', '6-мӗш');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-мӗш', '7-мӗш');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-мӗш', '8-мӗш');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-мӗш', '9-мӗш');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-мӗш', '10-мӗш');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11eg', '11eg');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12fed', '12fed');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13eg', '13eg');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14eg', '14eg');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15fed', '15fed');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16eg', '16eg');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17eg', '17eg');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18fed', '18fed');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19eg', '19eg');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20fed', '20fed');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-мӗш', '11-мӗш');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-мӗш', '12-мӗш');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-мӗш', '13-мӗш');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-мӗш', '14-мӗш');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-мӗш', '15-мӗш');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-мӗш', '16-мӗш');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-мӗш', '17-мӗш');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-мӗш', '18-мӗш');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-мӗш', '19-мӗш');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-мӗш', '20-мӗш');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21ain', '21ain');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22ain', '22ain');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23ain', '23ain');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24ain', '24ain');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25ain', '25ain');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26ain', '26ain');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27ain', '27ain');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28ain', '28ain');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29ain', '29ain');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30ain', '30ain');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-мӗш', '21-мӗш');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-мӗш', '22-мӗш');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-мӗш', '23-мӗш');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-мӗш', '24-мӗш');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-мӗш', '25-мӗш');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-мӗш', '26-мӗш');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-мӗш', '27-мӗш');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-мӗш', '28-мӗш');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-мӗш', '29-мӗш');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-мӗш', '30-мӗш');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31ain', '31ain');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-мӗш', '31-мӗш');
     });
 
     test('format month', function (assert) {
         var expected =
-                'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split(
+                'кӑрлач кӑр_нарӑс нар_пуш пуш_ака ака_май май_ҫӗртме ҫӗр_утӑ утӑ_ҫурла ҫур_авӑн авн_юпа юпа_чӳк чӳк_раштав раш'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'Dydd Sul Sul Su_Dydd Llun Llun Ll_Dydd Mawrth Maw Ma_Dydd Mercher Mer Me_Dydd Iau Iau Ia_Dydd Gwener Gwe Gw_Dydd Sadwrn Sad Sa'.split(
+                'вырсарникун выр вр_тунтикун тун тн_ытларикун ытл ыт_юнкун юн юн_кӗҫнерникун кӗҫ кҫ_эрнекун эрн эр_шӑматкун шӑм шм'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ychydig eiliadau',
-            '44 seconds = a few seconds'
+            'пӗр-ик ҫеккунт',
+            '44 sekunder = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'munud',
+            'пӗр минут',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'munud',
+            'пӗр минут',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 munud',
+            '2 минут',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 munud',
+            '44 минут',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'awr',
+            'пӗр сехет',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'awr',
+            'пӗр сехет',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 awr',
+            '2 сехет',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 awr',
+            '5 сехет',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 awr',
+            '21 сехет',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'diwrnod',
+            'пӗр кун',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'diwrnod',
+            'пӗр кун',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 diwrnod',
+            '2 кун',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'diwrnod',
+            'пӗр кун',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 diwrnod',
+            '5 кун',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 diwrnod',
+            '25 кун',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'mis',
+            'пӗр уйӑх',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'mis',
+            'пӗр уйӑх',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'mis',
+            'пӗр уйӑх',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mis',
+            '2 уйӑх',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mis',
+            '2 уйӑх',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mis',
+            '3 уйӑх',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'mis',
+            'пӗр уйӑх',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mis',
+            '5 уйӑх',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'blwyddyn',
+            'пӗр ҫул',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 flynedd',
+            '2 ҫул',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'blwyddyn',
+            'пӗр ҫул',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 flynedd',
+            '5 ҫул',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'mewn ychydig eiliadau', 'prefix');
-        assert.equal(moment(0).from(30000), 'ychydig eiliadau yn ôl', 'suffix');
+        assert.equal(moment(30000).from(0), 'пӗр-ик ҫеккунтран', 'prefix');
+        assert.equal(moment(0).from(30000), 'пӗр-ик ҫеккунт каялла', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'пӗр-ик ҫеккунт каялла',
+            'now from now should display as in the past'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'mewn ychydig eiliadau',
+            'пӗр-ик ҫеккунтран',
             'in a few seconds'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 кунран', 'in 5 days');
+        assert.equal(
+            moment().add({ h: 2 }).fromNow(),
+            '2 сехетрен',
+            'in 2 hours, the right suffix!'
+        );
         assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'mewn 5 diwrnod',
-            'in 5 days'
+            moment().add({ y: 3 }).fromNow(),
+            '3 ҫултан',
+            'in 3 years, the right suffix!'
         );
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
-
         assert.equal(
             moment(a).calendar(),
-            'Heddiw am 12:00',
+            'Паян 12:00 сехетре',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Heddiw am 12:25',
+            'Паян 12:25 сехетре',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Heddiw am 13:00',
+            'Паян 13:00 сехетре',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Yfory am 12:00',
+            'Ыран 12:00 сехетре',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Heddiw am 11:00',
+            'Паян 11:00 сехетре',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Ddoe am 12:00',
+            'Ӗнер 12:00 сехетре',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [am] LT'),
+                m.format('[Ҫитес] dddd LT [сехетре]'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [am] LT'),
+                m.format('[Ҫитес] dddd LT [сехетре]'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [am] LT'),
+                m.format('[Ҫитес] dddd LT [сехетре]'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [diwethaf am] LT'),
+                m.format('[Иртнӗ] dddd LT [сехетре]'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [diwethaf am] LT'),
+                m.format('[Иртнӗ] dddd LT [сехетре]'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [diwethaf am] LT'),
+                m.format('[Иртнӗ] dddd LT [сехетре]'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
+    // Monday is the first day of the week.
+    // The week that contains Jan 1st is the first week of the year.
+
     test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1-мӗш',
+            'Dec 26 2011 should be week 1'
+        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52ain',
-            'Jan  1 2012 should be week 52'
+            '1 01 1-мӗш',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1af',
-            'Jan  2 2012 should be week 1'
+            '2 02 2-мӗш',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1af',
-            'Jan  8 2012 should be week 1'
+            '2 02 2-мӗш',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2il',
-            'Jan  9 2012 should be week 2'
-        );
-        assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2il',
-            'Jan 15 2012 should be week 2'
+            '3 03 3-мӗш',
+            'Jan  9 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('da');
+    localeModule('cy');
 
     test('parse', function (assert) {
         var tests =
-                'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split(
+                'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split(
                     '_'
                 ),
             i;
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd [den] Do MMMM YYYY, h:mm:ss a',
-                    'søndag den 14. februar 2010, 3:25:50 pm',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Dydd Sul, Chwefror 14eg 2010, 3:25:50 pm',
                 ],
-                ['ddd hA', 'søn 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
+                ['ddd, hA', 'Sul, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2il 02 Chwefror Chwe'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. søndag søn sø'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
+                ['D Do DD', '14 14eg 14'],
+                ['d do dddd ddd dd', '0 0 Dydd Sul Sul Su'],
+                ['DDD DDDo DDDD', '45 45ain 045'],
+                ['w wo ww', '6 6ed 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[den] DDDo [dag på året]', 'den 45. dag på året'],
+                ['[the] DDDo [day of the year]', 'the 45ain day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. februar 2010'],
-                ['LLL', '14. februar 2010 15:25'],
-                ['LLLL', 'søndag d. 14. februar 2010 kl. 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14. feb 2010'],
-                ['lll', '14. feb 2010 15:25'],
-                ['llll', 'søn d. 14. feb 2010 kl. 15:25'],
+                ['L', '14/02/2010'],
+                ['LL', '14 Chwefror 2010'],
+                ['LLL', '14 Chwefror 2010 15:25'],
+                ['LLLL', 'Dydd Sul, 14 Chwefror 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 Chwe 2010'],
+                ['lll', '14 Chwe 2010 15:25'],
+                ['llll', 'Sul, 14 Chwe 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1af', '1af');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2il', '2il');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3ydd', '3ydd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4ydd', '4ydd');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5ed', '5ed');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6ed', '6ed');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7ed', '7ed');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8fed', '8fed');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9fed', '9fed');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10fed', '10fed');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11eg', '11eg');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12fed', '12fed');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13eg', '13eg');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14eg', '14eg');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15fed', '15fed');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16eg', '16eg');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17eg', '17eg');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18fed', '18fed');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19eg', '19eg');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20fed', '20fed');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21ain', '21ain');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22ain', '22ain');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23ain', '23ain');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24ain', '24ain');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25ain', '25ain');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26ain', '26ain');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27ain', '27ain');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28ain', '28ain');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29ain', '29ain');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30ain', '30ain');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31ain', '31ain');
     });
 
     test('format month', function (assert) {
         var expected =
-                'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split(
+                'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'søndag søn sø_mandag man ma_tirsdag tir ti_onsdag ons on_torsdag tor to_fredag fre fr_lørdag lør lø'.split(
+                'Dydd Sul Sul Su_Dydd Llun Llun Ll_Dydd Mawrth Maw Ma_Dydd Mercher Mer Me_Dydd Iau Iau Ia_Dydd Gwener Gwe Gw_Dydd Sadwrn Sad Sa'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'få sekunder',
+            'ychydig eiliadau',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'et minut',
+            'munud',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'et minut',
+            'munud',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutter',
+            '2 munud',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutter',
+            '44 munud',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'en time',
+            'awr',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'en time',
+            'awr',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 timer',
+            '2 awr',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 timer',
+            '5 awr',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 timer',
+            '21 awr',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'en dag',
+            'diwrnod',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'en dag',
+            'diwrnod',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dage',
+            '2 diwrnod',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'en dag',
+            'diwrnod',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dage',
+            '5 diwrnod',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dage',
+            '25 diwrnod',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'en måned',
+            'mis',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'en måned',
+            'mis',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'en måned',
+            'mis',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 måneder',
+            '2 mis',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 måneder',
+            '2 mis',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 måneder',
+            '3 mis',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'en måned',
+            'mis',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 måneder',
+            '5 mis',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'et år',
+            'blwyddyn',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 år',
+            '2 flynedd',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'et år',
+            'blwyddyn',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 år',
+            '5 flynedd',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'om få sekunder', 'prefix');
-        assert.equal(moment(0).from(30000), 'få sekunder siden', 'suffix');
-    });
-
-    test('now from now', function (assert) {
-        assert.equal(
-            moment().fromNow(),
-            'få sekunder siden',
-            'now from now should display as in the past'
-        );
+        assert.equal(moment(30000).from(0), 'mewn ychydig eiliadau', 'prefix');
+        assert.equal(moment(0).from(30000), 'ychydig eiliadau yn ôl', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'om få sekunder',
+            'mewn ychydig eiliadau',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'om 5 dage', 'in 5 days');
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'mewn 5 diwrnod',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'i dag kl. 12:00',
+            'Heddiw am 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'i dag kl. 12:25',
+            'Heddiw am 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'i dag kl. 13:00',
+            'Heddiw am 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'i morgen kl. 12:00',
+            'Yfory am 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'i dag kl. 11:00',
+            'Heddiw am 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'i går kl. 12:00',
+            'Ddoe am 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('på dddd [kl.] LT'),
+                m.format('dddd [am] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('på dddd [kl.] LT'),
+                m.format('dddd [am] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('på dddd [kl.] LT'),
+                m.format('dddd [am] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[i] dddd[s kl.] LT'),
+                m.format('dddd [diwethaf am] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[i] dddd[s kl.] LT'),
+                m.format('dddd [diwethaf am] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[i] dddd[s kl.] LT'),
+                m.format('dddd [diwethaf am] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
+            '52 52 52ain',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1af',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1af',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2il',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2il',
             'Jan 15 2012 should be week 2'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('de-at');
+    localeModule('da');
 
     test('parse', function (assert) {
         var tests =
-                'Jänner Jän._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, h:mm:ss a',
-                    'Sonntag, 14. Februar 2010, 3:25:50 pm',
+                    'dddd [den] Do MMMM YYYY, h:mm:ss a',
+                    'søndag den 14. februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'So., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 Februar Feb.'],
+                ['ddd hA', 'søn 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. Sonntag So. So'],
+                ['d do dddd ddd dd', '0 0. søndag søn sø'],
                 ['DDD DDDo DDDD', '45 45. 045'],
                 ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+                ['[den] DDDo [dag på året]', 'den 45. dag på året'],
                 ['LTS', '15:25:50'],
                 ['L', '14.02.2010'],
-                ['LL', '14. Februar 2010'],
-                ['LLL', '14. Februar 2010 15:25'],
-                ['LLLL', 'Sonntag, 14. Februar 2010 15:25'],
+                ['LL', '14. februar 2010'],
+                ['LLL', '14. februar 2010 15:25'],
+                ['LLLL', 'søndag d. 14. februar 2010 kl. 15:25'],
                 ['l', '14.2.2010'],
-                ['ll', '14. Feb. 2010'],
-                ['lll', '14. Feb. 2010 15:25'],
-                ['llll', 'So., 14. Feb. 2010 15:25'],
+                ['ll', '14. feb 2010'],
+                ['lll', '14. feb 2010 15:25'],
+                ['llll', 'søn d. 14. feb 2010 kl. 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
     test('format month', function (assert) {
         var expected =
-                'Jänner Jän._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split(
+                'søndag søn sø_mandag man ma_tirsdag tir ti_onsdag ons on_torsdag tor to_fredag fre fr_lørdag lør lø'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ein paar Sekunden',
+            'få sekunder',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'eine Minute',
+            'et minut',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'eine Minute',
+            'et minut',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 Minuten',
+            '2 minutter',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 Minuten',
+            '44 minutter',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'eine Stunde',
+            'en time',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'eine Stunde',
+            'en time',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 Stunden',
+            '2 timer',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 Stunden',
+            '5 timer',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 Stunden',
+            '21 timer',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ein Tag',
+            'en dag',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ein Tag',
+            'en dag',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 Tage',
+            '2 dage',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ein Tag',
+            'en dag',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 Tage',
+            '5 dage',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 Tage',
+            '25 dage',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ein Monat',
+            'en måned',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ein Monat',
+            'en måned',
             '30 days = a month'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
+            'en måned',
+            '43 days = a month'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 Monate',
+            '2 måneder',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 Monate',
+            '2 måneder',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 Monate',
+            '3 måneder',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ein Monat',
+            'en måned',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 Monate',
+            '5 måneder',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ein Jahr',
+            'et år',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 Jahre',
+            '2 år',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ein Jahr',
+            'et år',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 Jahre',
+            '5 år',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'in ein paar Sekunden', 'prefix');
-        assert.equal(moment(0).from(30000), 'vor ein paar Sekunden', 'suffix');
+        assert.equal(moment(30000).from(0), 'om få sekunder', 'prefix');
+        assert.equal(moment(0).from(30000), 'få sekunder siden', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'få sekunder siden',
+            'now from now should display as in the past'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'in ein paar Sekunden',
+            'om få sekunder',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'in 5 Tagen', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'om 5 dage', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'heute um 12:00 Uhr',
+            'i dag kl. 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'heute um 12:25 Uhr',
+            'i dag kl. 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'heute um 13:00 Uhr',
+            'i dag kl. 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'morgen um 12:00 Uhr',
+            'i morgen kl. 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'heute um 11:00 Uhr',
+            'i dag kl. 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'gestern um 12:00 Uhr',
+            'i går kl. 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [um] LT [Uhr]'),
+                m.format('på dddd [kl.] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [um] LT [Uhr]'),
+                m.format('på dddd [kl.] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [um] LT [Uhr]'),
+                m.format('på dddd [kl.] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[letzten] dddd [um] LT [Uhr]'),
-                'Today + ' + i + ' days current time'
+                m.format('[i] dddd[s kl.] LT'),
+                'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[letzten] dddd [um] LT [Uhr]'),
-                'Today + ' + i + ' days beginning of day'
+                m.format('[i] dddd[s kl.] LT'),
+                'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[letzten] dddd [um] LT [Uhr]'),
-                'Today + ' + i + ' days end of day'
+                m.format('[i] dddd[s kl.] LT'),
+                'Today - ' + i + ' days end of day'
             );
         }
     });
         );
     });
 
-    test('duration humanize week threshold', function (assert) {
-        assert.equal(
-            moment.duration(1, 'week').humanize({ d: 7, w: 4 }),
-            'eine Woche',
-            'a week'
-        );
-        assert.equal(
-            moment.duration(-1, 'week').humanize({ d: 7, w: 4 }),
-            'eine Woche',
-            'a week'
-        );
-        assert.equal(
-            moment.duration(-1, 'week').humanize(true, { d: 7, w: 4 }),
-            'vor einer Woche',
-            'a week ago'
-        );
-        assert.equal(
-            moment.duration(1, 'week').humanize(true, { d: 7, w: 4 }),
-            'in einer Woche',
-            'in a week'
-        );
-        assert.equal(
-            moment.duration(2, 'week').humanize({ d: 7, w: 4 }),
-            '2 Wochen',
-            '2 weeks'
-        );
-        assert.equal(
-            moment.duration(-2, 'week').humanize({ d: 7, w: 4 }),
-            '2 Wochen',
-            '2 weeks'
-        );
-        assert.equal(
-            moment.duration(2, 'week').humanize(true, { d: 7, w: 4 }),
-            'in 2 Wochen',
-            'in 2 week'
-        );
-        assert.equal(
-            moment.duration(-2, 'week').humanize(true, { d: 7, w: 4 }),
-            'vor 2 Wochen',
-            '2 weeks ago'
-        );
-    });
-
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('de-ch');
+    localeModule('de-at');
 
     test('parse', function (assert) {
         var tests =
-                'Januar Jan._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                'Jänner Jän._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
                     '_'
                 ),
             i;
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                     'dddd, Do MMMM YYYY, h:mm:ss a',
                     'Sonntag, 14. Februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'So, 3PM'],
+                ['ddd, hA', 'So., 3PM'],
                 ['M Mo MM MMMM MMM', '2 2. 02 Februar Feb.'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. Sonntag So So'],
+                ['d do dddd ddd dd', '0 0. Sonntag So. So'],
                 ['DDD DDDo DDDD', '45 45. 045'],
                 ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45. day of the year'],
-                ['LT', '15:25'],
                 ['LTS', '15:25:50'],
                 ['L', '14.02.2010'],
                 ['LL', '14. Februar 2010'],
                 ['l', '14.2.2010'],
                 ['ll', '14. Feb. 2010'],
                 ['lll', '14. Feb. 2010 15:25'],
-                ['llll', 'So, 14. Feb. 2010 15:25'],
+                ['llll', 'So., 14. Feb. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
     test('format month', function (assert) {
         var expected =
-                'Januar Jan._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                'Jänner Jän._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'Sonntag So So_Montag Mo Mo_Dienstag Di Di_Mittwoch Mi Mi_Donnerstag Do Do_Freitag Fr Fr_Samstag Sa Sa'.split(
+                'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split(
                     '_'
                 ),
             i;
             'ein Monat',
             '30 days = a month'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ein Monat',
-            '43 days = a month'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
             '2 Monate',
         defineCommonLocaleTests(name);
     }
 
-    localeModule('de');
+    localeModule('de-ch');
 
     test('parse', function (assert) {
         var tests =
                     'dddd, Do MMMM YYYY, h:mm:ss a',
                     'Sonntag, 14. Februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'So., 3PM'],
+                ['ddd, hA', 'So, 3PM'],
                 ['M Mo MM MMMM MMM', '2 2. 02 Februar Feb.'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. Sonntag So. So'],
+                ['d do dddd ddd dd', '0 0. Sonntag So So'],
                 ['DDD DDDo DDDD', '45 45. 045'],
                 ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+                ['LT', '15:25'],
                 ['LTS', '15:25:50'],
                 ['L', '14.02.2010'],
                 ['LL', '14. Februar 2010'],
                 ['l', '14.2.2010'],
                 ['ll', '14. Feb. 2010'],
                 ['lll', '14. Feb. 2010 15:25'],
-                ['llll', 'So., 14. Feb. 2010 15:25'],
+                ['llll', 'So, 14. Feb. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split(
+                'Sonntag So So_Montag Mo Mo_Dienstag Di Di_Mittwoch Mi Mi_Donnerstag Do Do_Freitag Fr Fr_Samstag Sa Sa'.split(
                     '_'
                 ),
             i;
         defineCommonLocaleTests(name);
     }
 
-    localeModule('dv');
+    localeModule('de');
 
     test('parse', function (assert) {
-        var i,
-            tests = [
-                'ޖެނުއަރީ',
-                'ފެބްރުއަރީ',
-                'މާރިޗު',
-                'އޭޕްރީލު',
-                'މޭ',
-                'ޖޫން',
-                'ޖުލައި',
-                'އޯގަސްޓު',
-                'ސެޕްޓެމްބަރު',
-                'އޮކްޓޯބަރު',
-                'ނޮވެމްބަރު',
-                'ޑިސެމްބަރު',
-            ];
-
+        var tests =
+                'Januar Jan._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                    '_'
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
         }
 
         for (i = 0; i < 12; i++) {
-            equalTest(tests[i], 'MMM', i);
-            equalTest(tests[i], 'MMMM', i);
-            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i], 'MMM', i);
-            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'އާދިއްތަ، ފެބްރުއަރީ 14 2010، 3:25:50 މފ',
+                    'dddd, Do MMMM YYYY, h:mm:ss a',
+                    'Sonntag, 14. Februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'އާދިއްތަ، 3މފ'],
-                ['M Mo MM MMMM MMM', '2 2 02 ފެބްރުއަރީ ފެބްރުއަރީ'],
+                ['ddd, hA', 'So., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 Februar Feb.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 އާދިއްތަ އާދިއްތަ އާދި'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '8 8 08'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. Sonntag So. So'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'މފ މފ'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14/2/2010'],
-                ['LL', '14 ފެބްރުއަރީ 2010'],
-                ['LLL', '14 ފެބްރުއަރީ 2010 15:25'],
-                ['LLLL', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 ފެބްރުއަރީ 2010'],
-                ['lll', '14 ފެބްރުއަރީ 2010 15:25'],
-                ['llll', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14. Februar 2010'],
+                ['LLL', '14. Februar 2010 15:25'],
+                ['LLLL', 'Sonntag, 14. Februar 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14. Feb. 2010'],
+                ['lll', '14. Feb. 2010 15:25'],
+                ['llll', 'So., 14. Feb. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
-    test('format month', function (assert) {
-        var i,
-            expected = [
-                'ޖެނުއަރީ',
-                'ފެބްރުއަރީ',
-                'މާރިޗު',
-                'އޭޕްރީލު',
-                'މޭ',
-                'ޖޫން',
-                'ޖުލައި',
-                'އޯގަސްޓު',
-                'ސެޕްޓެމްބަރު',
-                'އޮކްޓޯބަރު',
-                'ނޮވެމްބަރު',
-                'ޑިސެމްބަރު',
-            ];
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
 
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+    });
+
+    test('format month', function (assert) {
+        var expected =
+                'Januar Jan._Februar Feb._März März_April Apr._Mai Mai_Juni Juni_Juli Juli_August Aug._September Sep._Oktober Okt._November Nov._Dezember Dez.'.split(
+                    '_'
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
-            assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i]);
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM MMM'),
+                expected[i],
+                expected[i]
+            );
         }
     });
 
     test('format week', function (assert) {
-        var i,
-            expected = [
-                'އާދިއްތަ',
-                'ހޯމަ',
-                'އަންގާރަ',
-                'ބުދަ',
-                'ބުރާސްފަތި',
-                'ހުކުރު',
-                'ހޮނިހިރު',
-            ];
-
+        var expected =
+                'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split(
+                    '_'
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
-            assert.equal(moment([2011, 0, 2 + i]).format('dddd'), expected[i]);
+            assert.equal(
+                moment([2011, 0, 2 + i]).format('dddd ddd dd'),
+                expected[i],
+                expected[i]
+            );
         }
     });
 
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ސިކުންތުކޮޅެއް',
+            'ein paar Sekunden',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'މިނިޓެއް',
+            'eine Minute',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'މިނިޓެއް',
+            'eine Minute',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            'މިނިޓު 2',
+            '2 Minuten',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            'މިނިޓު 44',
+            '44 Minuten',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ގަޑިއިރެއް',
+            'eine Stunde',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ގަޑިއިރެއް',
+            'eine Stunde',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            'ގަޑިއިރު 2',
+            '2 Stunden',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            'ގަޑިއިރު 5',
+            '5 Stunden',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            'ގަޑިއިރު 21',
+            '21 Stunden',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ދުވަހެއް',
+            'ein Tag',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ދުވަހެއް',
+            'ein Tag',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            'ދުވަސް 2',
+            '2 Tage',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ދުވަހެއް',
+            'ein Tag',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            'ދުވަސް 5',
+            '5 Tage',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            'ދުވަސް 25',
+            '25 Tage',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'މަހެއް',
+            'ein Monat',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'މަހެއް',
+            'ein Monat',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'މަހެއް',
+            'ein Monat',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            'މަސް 2',
+            '2 Monate',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            'މަސް 2',
+            '2 Monate',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            'މަސް 3',
+            '3 Monate',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'މަހެއް',
+            'ein Monat',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            'މަސް 5',
+            '5 Monate',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'އަހަރެއް',
+            'ein Jahr',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            'އަހަރު 2',
+            '2 Jahre',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'އަހަރެއް',
+            'ein Jahr',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            'އަހަރު 5',
+            '5 Jahre',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'prefix');
-        assert.equal(moment(0).from(30000), 'ކުރިން ސިކުންތުކޮޅެއް', 'suffix');
+        assert.equal(moment(30000).from(0), 'in ein paar Sekunden', 'prefix');
+        assert.equal(moment(0).from(30000), 'vor ein paar Sekunden', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'ތެރޭގައި ސިކުންތުކޮޅެއް',
+            'in ein paar Sekunden',
             'in a few seconds'
         );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'ތެރޭގައި ދުވަސް 5',
-            'in 5 days'
-        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'in 5 Tagen', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'މިއަދު 12:00',
+            'heute um 12:00 Uhr',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'މިއަދު 12:25',
+            'heute um 12:25 Uhr',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'މިއަދު 13:00',
+            'heute um 13:00 Uhr',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'މާދަމާ 12:00',
+            'morgen um 12:00 Uhr',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'މިއަދު 11:00',
+            'heute um 11:00 Uhr',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'އިއްޔެ 12:00',
+            'gestern um 12:00 Uhr',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[ފާއިތުވި] dddd LT'),
+                m.format('[letzten] dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[ފާއިތުވި] dddd LT'),
+                m.format('[letzten] dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[ފާއިތުވި] dddd LT'),
+                m.format('[letzten] dddd [um] LT [Uhr]'),
                 'Today + ' + i + ' days end of day'
             );
         }
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1',
-            'Jan  1 2012 should be week 1'
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1',
+            '1 01 1.',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2',
-            'Jan  8 2012 should be week 2'
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2',
+            '2 02 2.',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3',
-            'Jan 15 2012 should be week 3'
+            '2 02 2.',
+            'Jan 15 2012 should be week 2'
+        );
+    });
+
+    test('duration humanize week threshold', function (assert) {
+        assert.equal(
+            moment.duration(1, 'week').humanize({ d: 7, w: 4 }),
+            'eine Woche',
+            'a week'
+        );
+        assert.equal(
+            moment.duration(-1, 'week').humanize({ d: 7, w: 4 }),
+            'eine Woche',
+            'a week'
+        );
+        assert.equal(
+            moment.duration(-1, 'week').humanize(true, { d: 7, w: 4 }),
+            'vor einer Woche',
+            'a week ago'
+        );
+        assert.equal(
+            moment.duration(1, 'week').humanize(true, { d: 7, w: 4 }),
+            'in einer Woche',
+            'in a week'
+        );
+        assert.equal(
+            moment.duration(2, 'week').humanize({ d: 7, w: 4 }),
+            '2 Wochen',
+            '2 weeks'
+        );
+        assert.equal(
+            moment.duration(-2, 'week').humanize({ d: 7, w: 4 }),
+            '2 Wochen',
+            '2 weeks'
+        );
+        assert.equal(
+            moment.duration(2, 'week').humanize(true, { d: 7, w: 4 }),
+            'in 2 Wochen',
+            'in 2 week'
+        );
+        assert.equal(
+            moment.duration(-2, 'week').humanize(true, { d: 7, w: 4 }),
+            'vor 2 Wochen',
+            '2 weeks ago'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('el');
+    localeModule('dv');
 
     test('parse', function (assert) {
         var i,
-            tests =
-                'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split(
-                    '_'
-                );
+            tests = [
+                'ޖެނުއަރީ',
+                'ފެބްރުއަރީ',
+                'މާރިޗު',
+                'އޭޕްރީލު',
+                'މޭ',
+                'ޖޫން',
+                'ޖުލައި',
+                'އޯގަސްޓު',
+                'ސެޕްޓެމްބަރު',
+                'އޮކްޓޯބަރު',
+                'ނޮވެމްބަރު',
+                'ޑިސެމްބަރު',
+            ];
 
         function equalTest(input, mmm, i) {
             assert.equal(
         }
 
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(' ');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-        }
-    });
-
-    test('parse meridiem', function (assert) {
-        var i,
-            b = moment(),
-            meridiemTests = [
-                // h a patterns, expected hours, isValid
-                ['10 πμ', 10, true],
-                ['10 μμ', 22, true],
-                ['10 π.μ.', 10, true],
-                ['10 μ.μ.', 22, true],
-                ['10 π', 10, true],
-                ['10 μ', 22, true],
-                ['10 ΠΜ', 10, true],
-                ['10 ΜΜ', 22, true],
-                ['10 Π.Μ.', 10, true],
-                ['10 Μ.Μ.', 22, true],
-                ['10 Π', 10, true],
-                ['10 Μ', 22, true],
-                ['10 am', 10, false],
-                ['10 pm', 10, false],
-            ],
-            parsed;
-
-        // test that a formatted moment including meridiem string can be parsed back to the same moment
-        assert.ok(
-            b.isSame(
-                moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true),
-                'seconds'
-            ),
-            b.format('h:mm:ss a') +
-                ' should be equal to ' +
-                moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true).format(
-                    'h:mm:ss a'
-                )
-        );
-
-        // test that a formatted moment having a meridiem string can be parsed with strict flag
-        assert.ok(
-            moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true).isValid(),
-            b.format('h:mm:ss a') + ' should be parsed as valid'
-        );
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
 
-        for (i = 0; i < meridiemTests.length; i++) {
-            parsed = moment(meridiemTests[i][0], 'h a', 'el', true);
-            assert.equal(
-                parsed.isValid(),
-                meridiemTests[i][2],
-                'validity for ' + meridiemTests[i][0]
-            );
-            if (parsed.isValid()) {
-                assert.equal(
-                    parsed.hours(),
-                    meridiemTests[i][1],
-                    'hours for ' + meridiemTests[i][0]
-                );
-            }
+            equalTestStrict(tests[i], 'MMM', i);
+            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Κυριακή, Φεβρουάριος 14η 2010, 3:25:50 μμ',
-                ],
-                [
-                    'dddd, D MMMM YYYY, h:mm:ss a',
-                    'Κυριακή, 14 Φεβρουαρίου 2010, 3:25:50 μμ',
+                    'އާދިއްތަ، ފެބްރުއަރީ 14 2010، 3:25:50 މފ',
                 ],
-                ['ddd, hA', 'Κυρ, 3ΜΜ'],
-                ['dddd, MMMM YYYY', 'Κυριακή, Φεβρουάριος 2010'],
-                ['M Mo MM MMMM MMM', '2 2η 02 Φεβρουάριος Φεβ'],
+                ['ddd, hA', 'އާދިއްތަ، 3މފ'],
+                ['M Mo MM MMMM MMM', '2 2 02 ފެބްރުއަރީ ފެބްރުއަރީ'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14η 14'],
-                ['d do dddd ddd dd', '0 0η Κυριακή Κυρ Κυ'],
-                ['DDD DDDo DDDD', '45 45η 045'],
-                ['w wo ww', '6 6η 06'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 އާދިއްތަ އާދިއްތަ އާދި'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '8 8 08'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'μμ ΜΜ'],
-                ['[the] DDDo [day of the year]', 'the 45η day of the year'],
-                ['LTS', '3:25:50 ΜΜ'],
-                ['L', '14/02/2010'],
-                ['LL', '14 Φεβρουαρίου 2010'],
-                ['LLL', '14 Φεβρουαρίου 2010 3:25 ΜΜ'],
-                ['LLLL', 'Κυριακή, 14 Φεβρουαρίου 2010 3:25 ΜΜ'],
+                ['a A', 'މފ މފ'],
+                ['LTS', '15:25:50'],
+                ['L', '14/2/2010'],
+                ['LL', '14 ފެބްރުއަރީ 2010'],
+                ['LLL', '14 ފެބްރުއަރީ 2010 15:25'],
+                ['LLLL', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
                 ['l', '14/2/2010'],
-                ['ll', '14 Φεβ 2010'],
-                ['lll', '14 Φεβ 2010 3:25 ΜΜ'],
-                ['llll', 'Κυρ, 14 Φεβ 2010 3:25 ΜΜ'],
+                ['ll', '14 ފެބްރުއަރީ 2010'],
+                ['lll', '14 ފެބްރުއަރީ 2010 15:25'],
+                ['llll', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         }
     });
 
-    test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1η', '1η');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2η', '2η');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3η', '3η');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4η', '4η');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5η', '5η');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6η', '6η');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7η', '7η');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8η', '8η');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9η', '9η');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10η', '10η');
-
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11η', '11η');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12η', '12η');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13η', '13η');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14η', '14η');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15η', '15η');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16η', '16η');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17η', '17η');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18η', '18η');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19η', '19η');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20η', '20η');
-
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21η', '21η');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22η', '22η');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23η', '23η');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24η', '24η');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25η', '25η');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26η', '26η');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27η', '27η');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28η', '28η');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29η', '29η');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30η', '30η');
-
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31η', '31η');
-    });
-
     test('format month', function (assert) {
         var i,
-            expected =
-                'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split(
-                    '_'
-                );
+            expected = [
+                'ޖެނުއަރީ',
+                'ފެބްރުއަރީ',
+                'މާރިޗު',
+                'އޭޕްރީލު',
+                'މޭ',
+                'ޖޫން',
+                'ޖުލައި',
+                'އޯގަސްޓު',
+                'ސެޕްޓެމްބަރު',
+                'އޮކްޓޯބަރު',
+                'ނޮވެމްބަރު',
+                'ޑިސެމްބަރު',
+            ];
 
         for (i = 0; i < expected.length; i++) {
-            assert.equal(
-                moment([2011, i, 1]).format('MMMM MMM'),
-                expected[i],
-                expected[i]
-            );
+            assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i]);
         }
     });
 
     test('format week', function (assert) {
         var i,
-            expected =
-                'Κυριακή Κυρ Κυ_Δευτέρα Δευ Δε_Τρίτη Τρι Τρ_Τετάρτη Τετ Τε_Πέμπτη Πεμ Πε_Παρασκευή Παρ Πα_Σάββατο Σαβ Σα'.split(
-                    '_'
-                );
+            expected = [
+                'އާދިއްތަ',
+                'ހޯމަ',
+                'އަންގާރަ',
+                'ބުދަ',
+                'ބުރާސްފަތި',
+                'ހުކުރު',
+                'ހޮނިހިރު',
+            ];
 
         for (i = 0; i < expected.length; i++) {
-            assert.equal(
-                moment([2011, 0, 2 + i]).format('dddd ddd dd'),
-                expected[i],
-                expected[i]
-            );
+            assert.equal(moment([2011, 0, 2 + i]).format('dddd'), expected[i]);
         }
     });
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'λίγα δευτερόλεπτα',
+            'ސިކުންތުކޮޅެއް',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ένα λεπτό',
+            'މިނިޓެއް',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ένα λεπτό',
+            'މިނިޓެއް',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 λεπτά',
+            'މިނިޓު 2',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 λεπτά',
+            'މިނިޓު 44',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'μία ώρα',
+            'ގަޑިއިރެއް',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'μία ώρα',
+            'ގަޑިއިރެއް',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 ώρες',
+            'ގަޑިއިރު 2',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 ώρες',
+            'ގަޑިއިރު 5',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 ώρες',
+            'ގަޑިއިރު 21',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'μία μέρα',
+            'ދުވަހެއް',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'μία μέρα',
+            'ދުވަހެއް',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 μέρες',
+            'ދުވަސް 2',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'μία μέρα',
+            'ދުވަހެއް',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 μέρες',
+            'ދުވަސް 5',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 μέρες',
+            'ދުވަސް 25',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ένας μήνας',
+            'މަހެއް',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ένας μήνας',
+            'މަހެއް',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ένας μήνας',
+            'މަހެއް',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 μήνες',
+            'މަސް 2',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 μήνες',
+            'މަސް 2',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 μήνες',
+            'މަސް 3',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ένας μήνας',
+            'މަހެއް',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 μήνες',
+            'މަސް 5',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ένας χρόνος',
+            'އަހަރެއް',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 χρόνια',
+            'އަހަރު 2',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ένας χρόνος',
+            'އަހަރެއް',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 χρόνια',
+            'އަހަރު 5',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'σε λίγα δευτερόλεπτα', 'prefix');
-        assert.equal(moment(0).from(30000), 'λίγα δευτερόλεπτα πριν', 'suffix');
-    });
-
-    test('now from now', function (assert) {
-        assert.equal(
-            moment().fromNow(),
-            'λίγα δευτερόλεπτα πριν',
-            'now from now should display as in the past'
-        );
+        assert.equal(moment(30000).from(0), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'prefix');
+        assert.equal(moment(0).from(30000), 'ކުރިން ސިކުންތުކޮޅެއް', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'σε λίγα δευτερόλεπτα',
+            'ތެރޭގައި ސިކުންތުކޮޅެއް',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'σε 5 μέρες', 'in 5 days');
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'ތެރޭގައި ދުވަސް 5',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Σήμερα στις 12:00 ΜΜ',
+            'މިއަދު 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Σήμερα στις 12:25 ΜΜ',
+            'މިއަދު 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Σήμερα στη 1:00 ΜΜ',
+            'މިއަދު 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Αύριο στις 12:00 ΜΜ',
+            'މާދަމާ 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Σήμερα στις 11:00 ΠΜ',
+            'މިއަދު 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Χθες στις 12:00 ΜΜ',
+            'އިއްޔެ 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(
-                    'dddd [' + (m.hours() % 12 === 1 ? 'στη' : 'στις') + '] LT'
-                ),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [στις] LT'),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [στις] LT'),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i, m, dayString;
+        var i, m;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
-            dayString =
-                m.day() === 6
-                    ? '[το προηγούμενο Σάββατο]'
-                    : '[την προηγούμενη] dddd';
-            assert.equal(
-                m.calendar(),
-                m.format(
-                    dayString +
-                        ' [' +
-                        (m.hours() % 12 === 1 ? 'στη' : 'στις') +
-                        '] LT'
-                ),
-                'Today - ' + i + ' days current time'
-            );
-            m.hours(1).minutes(30).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(dayString + ' [στη] LT'),
-                'Today - ' + i + ' days one o clock'
+                m.format('[ފާއިތުވި] dddd LT'),
+                'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(dayString + ' [στις] LT'),
-                'Today - ' + i + ' days beginning of day'
+                m.format('[ފާއިތުވި] dddd LT'),
+                'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(dayString + ' [στις] LT'),
-                'Today - ' + i + ' days end of day'
+                m.format('[ފާއިތުވި] dddd LT'),
+                'Today + ' + i + ' days end of day'
             );
         }
     });
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52η',
-            'Jan  1 2012 should be week 52'
+            '1 01 1',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '1 01 1η',
-            'Jan  7 2012 should be week 1'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1η',
-            'Jan  8 2012 should be week 1'
+            '2 02 2',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '2 02 2η',
-            'Jan 14 2012 should be week 2'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2η',
-            'Jan 15 2012 should be week 2'
-        );
-    });
-
-    test('localeData months calls', function (assert) {
-        var jan = moment('2012-01-01');
-        assert.equal(
-            moment.localeData().months(jan),
-            'Ιανουάριος',
-            'should return the nominative month name'
-        );
-        assert.equal(
-            moment.localeData().months(jan, 'D MMMM'),
-            'Ιανουαρίου',
-            'should return the genitive month name'
+            '3 03 3',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-au');
+    localeModule('el');
 
     test('parse', function (assert) {
-        var tests =
-                'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
+        var i,
+            tests =
+                'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
         }
     });
 
+    test('parse meridiem', function (assert) {
+        var i,
+            b = moment(),
+            meridiemTests = [
+                // h a patterns, expected hours, isValid
+                ['10 πμ', 10, true],
+                ['10 μμ', 22, true],
+                ['10 π.μ.', 10, true],
+                ['10 μ.μ.', 22, true],
+                ['10 π', 10, true],
+                ['10 μ', 22, true],
+                ['10 ΠΜ', 10, true],
+                ['10 ΜΜ', 22, true],
+                ['10 Π.Μ.', 10, true],
+                ['10 Μ.Μ.', 22, true],
+                ['10 Π', 10, true],
+                ['10 Μ', 22, true],
+                ['10 am', 10, false],
+                ['10 pm', 10, false],
+            ],
+            parsed;
+
+        // test that a formatted moment including meridiem string can be parsed back to the same moment
+        assert.ok(
+            b.isSame(
+                moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true),
+                'seconds'
+            ),
+            b.format('h:mm:ss a') +
+                ' should be equal to ' +
+                moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true).format(
+                    'h:mm:ss a'
+                )
+        );
+
+        // test that a formatted moment having a meridiem string can be parsed with strict flag
+        assert.ok(
+            moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'el', true).isValid(),
+            b.format('h:mm:ss a') + ' should be parsed as valid'
+        );
+
+        for (i = 0; i < meridiemTests.length; i++) {
+            parsed = moment(meridiemTests[i][0], 'h a', 'el', true);
+            assert.equal(
+                parsed.isValid(),
+                meridiemTests[i][2],
+                'validity for ' + meridiemTests[i][0]
+            );
+            if (parsed.isValid()) {
+                assert.equal(
+                    parsed.hours(),
+                    meridiemTests[i][1],
+                    'hours for ' + meridiemTests[i][0]
+                );
+            }
+        }
+    });
+
     test('format', function (assert) {
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Sunday, February 14th 2010, 3:25:50 pm',
+                    'Κυριακή, Φεβρουάριος 14η 2010, 3:25:50 μμ',
                 ],
-                ['ddd, hA', 'Sun, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
+                [
+                    'dddd, D MMMM YYYY, h:mm:ss a',
+                    'Κυριακή, 14 Φεβρουαρίου 2010, 3:25:50 μμ',
+                ],
+                ['ddd, hA', 'Κυρ, 3ΜΜ'],
+                ['dddd, MMMM YYYY', 'Κυριακή, Φεβρουάριος 2010'],
+                ['M Mo MM MMMM MMM', '2 2η 02 Φεβρουάριος Φεβ'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14th 14'],
-                ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
-                ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '7 7th 07'],
+                ['D Do DD', '14 14η 14'],
+                ['d do dddd ddd dd', '0 0η Κυριακή Κυρ Κυ'],
+                ['DDD DDDo DDDD', '45 45η 045'],
+                ['w wo ww', '6 6η 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['LTS', '3:25:50 PM'],
+                ['a A', 'μμ ΜΜ'],
+                ['[the] DDDo [day of the year]', 'the 45η day of the year'],
+                ['LTS', '3:25:50 ΜΜ'],
                 ['L', '14/02/2010'],
-                ['LL', '14 February 2010'],
-                ['LLL', '14 February 2010 3:25 PM'],
-                ['LLLL', 'Sunday, 14 February 2010 3:25 PM'],
+                ['LL', '14 Φεβρουαρίου 2010'],
+                ['LLL', '14 Φεβρουαρίου 2010 3:25 ΜΜ'],
+                ['LLLL', 'Κυριακή, 14 Φεβρουαρίου 2010 3:25 ΜΜ'],
                 ['l', '14/2/2010'],
-                ['ll', '14 Feb 2010'],
-                ['lll', '14 Feb 2010 3:25 PM'],
-                ['llll', 'Sun, 14 Feb 2010 3:25 PM'],
+                ['ll', '14 Φεβ 2010'],
+                ['lll', '14 Φεβ 2010 3:25 ΜΜ'],
+                ['llll', 'Κυρ, 14 Φεβ 2010 3:25 ΜΜ'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1η', '1η');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2η', '2η');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3η', '3η');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4η', '4η');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5η', '5η');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6η', '6η');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7η', '7η');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8η', '8η');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9η', '9η');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10η', '10η');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11η', '11η');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12η', '12η');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13η', '13η');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14η', '14η');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15η', '15η');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16η', '16η');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17η', '17η');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18η', '18η');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19η', '19η');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20η', '20η');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21η', '21η');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22η', '22η');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23η', '23η');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24η', '24η');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25η', '25η');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26η', '26η');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27η', '27η');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28η', '28η');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29η', '29η');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30η', '30η');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31η', '31η');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
+        var i,
+            expected =
+                'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split(
+        var i,
+            expected =
+                'Κυριακή Κυρ Κυ_Δευτέρα Δευ Δε_Τρίτη Τρι Τρ_Τετάρτη Τετ Τε_Πέμπτη Πεμ Πε_Παρασκευή Παρ Πα_Σάββατο Σαβ Σα'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'a few seconds',
+            'λίγα δευτερόλεπτα',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'a minute',
+            'ένα λεπτό',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'a minute',
+            'ένα λεπτό',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutes',
+            '2 λεπτά',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutes',
+            '44 λεπτά',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'an hour',
+            'μία ώρα',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'an hour',
+            'μία ώρα',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 hours',
+            '2 ώρες',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 hours',
+            '5 ώρες',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 hours',
+            '21 ώρες',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'a day',
+            'μία μέρα',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'a day',
+            'μία μέρα',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 days',
+            '2 μέρες',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'a day',
+            'μία μέρα',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 days',
+            '5 μέρες',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 days',
+            '25 μέρες',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'a month',
+            'ένας μήνας',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'a month',
+            'ένας μήνας',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'a month',
+            'ένας μήνας',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 months',
+            '2 μήνες',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 months',
+            '2 μήνες',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 months',
+            '3 μήνες',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'a month',
+            'ένας μήνας',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 months',
+            '5 μήνες',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'a year',
+            'ένας χρόνος',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 years',
+            '2 χρόνια',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'a year',
+            'ένας χρόνος',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 years',
+            '5 χρόνια',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'in a few seconds', 'prefix');
-        assert.equal(moment(0).from(30000), 'a few seconds ago', 'suffix');
+        assert.equal(moment(30000).from(0), 'σε λίγα δευτερόλεπτα', 'prefix');
+        assert.equal(moment(0).from(30000), 'λίγα δευτερόλεπτα πριν', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'a few seconds ago',
+            'λίγα δευτερόλεπτα πριν',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'in a few seconds',
+            'σε λίγα δευτερόλεπτα',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'in 5 days', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'σε 5 μέρες', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Today at 12:00 PM',
+            'Σήμερα στις 12:00 ΜΜ',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Today at 12:25 PM',
+            'Σήμερα στις 12:25 ΜΜ',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Today at 1:00 PM',
+            'Σήμερα στη 1:00 ΜΜ',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Tomorrow at 12:00 PM',
+            'Αύριο στις 12:00 ΜΜ',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Today at 11:00 AM',
+            'Σήμερα στις 11:00 ΠΜ',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Yesterday at 12:00 PM',
+            'Χθες στις 12:00 ΜΜ',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [at] LT'),
+                m.format(
+                    'dddd [' + (m.hours() % 12 === 1 ? 'στη' : 'στις') + '] LT'
+                ),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [at] LT'),
+                m.format('dddd [στις] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [at] LT'),
+                m.format('dddd [στις] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i, m;
-
+        var i, m, dayString;
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
+            dayString =
+                m.day() === 6
+                    ? '[το προηγούμενο Σάββατο]'
+                    : '[την προηγούμενη] dddd';
             assert.equal(
                 m.calendar(),
-                m.format('[Last] dddd [at] LT'),
+                m.format(
+                    dayString +
+                        ' [' +
+                        (m.hours() % 12 === 1 ? 'στη' : 'στις') +
+                        '] LT'
+                ),
                 'Today - ' + i + ' days current time'
             );
+            m.hours(1).minutes(30).seconds(0).milliseconds(0);
+            assert.equal(
+                m.calendar(),
+                m.format(dayString + ' [στη] LT'),
+                'Today - ' + i + ' days one o clock'
+            );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Last] dddd [at] LT'),
+                m.format(dayString + ' [στις] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Last] dddd [at] LT'),
+                m.format(dayString + ' [στις] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  1 2012 should be week 1'
+            '52 52 52η',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  2 2012 should be week 1'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '1 01 1η',
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan  8 2012 should be week 2'
+            '1 01 1η',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan  9 2012 should be week 2'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '2 02 2η',
+            'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3rd',
-            'Jan 15 2012 should be week 3'
+            '2 02 2η',
+            'Jan 15 2012 should be week 2'
         );
     });
 
-    // Concrete test for Locale#weekdaysMin
-    test('Weekdays sort by locale', function (assert) {
-        assert.deepEqual(
-            moment().localeData('en-au').weekdays(),
-            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
-            'weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-au').weekdays(true),
-            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
-            'locale-sorted weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-au').weekdaysShort(),
-            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
-            'weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-au').weekdaysShort(true),
-            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
-            'locale-sorted weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-au').weekdaysMin(),
-            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
-            'weekdaysMin start on Sunday'
+    test('localeData months calls', function (assert) {
+        var jan = moment('2012-01-01');
+        assert.equal(
+            moment.localeData().months(jan),
+            'Ιανουάριος',
+            'should return the nominative month name'
         );
-        assert.deepEqual(
-            moment().localeData('en-au').weekdaysMin(true),
-            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
-            'locale-sorted weekdaysMin start on Sunday'
+        assert.equal(
+            moment.localeData().months(jan, 'D MMMM'),
+            'Ιανουαρίου',
+            'should return the genitive month name'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-ca');
+    localeModule('en-au');
 
     test('parse', function (assert) {
-        var i,
-            tests =
+        var tests =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 ['D Do DD', '14 14th 14'],
                 ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
                 ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '8 8th 08'],
+                ['w wo ww', '7 7th 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['L', '2010-02-14'],
                 ['LTS', '3:25:50 PM'],
-                ['LL', 'February 14, 2010'],
-                ['LLL', 'February 14, 2010 3:25 PM'],
-                ['LLLL', 'Sunday, February 14, 2010 3:25 PM'],
-                ['l', '2010-2-14'],
-                ['ll', 'Feb 14, 2010'],
-                ['lll', 'Feb 14, 2010 3:25 PM'],
-                ['llll', 'Sun, Feb 14, 2010 3:25 PM'],
+                ['L', '14/02/2010'],
+                ['LL', '14 February 2010'],
+                ['LLL', '14 February 2010 3:25 PM'],
+                ['LLLL', 'Sunday, 14 February 2010 3:25 PM'],
+                ['l', '14/2/2010'],
+                ['ll', '14 Feb 2010'],
+                ['lll', '14 Feb 2010 3:25 PM'],
+                ['llll', 'Sun, 14 Feb 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('calendar next week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
             '1 01 1st',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
+            moment([2012, 0, 2]).format('w ww wo'),
             '1 01 1st',
-            'Jan  7 2012 should be week 1'
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
+            moment([2012, 0, 9]).format('w ww wo'),
             '2 02 2nd',
-            'Jan 14 2012 should be week 2'
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
         );
     });
 
+    // Concrete test for Locale#weekdaysMin
+    test('Weekdays sort by locale', function (assert) {
+        assert.deepEqual(
+            moment().localeData('en-au').weekdays(),
+            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+            'weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-au').weekdays(true),
+            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+            'locale-sorted weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-au').weekdaysShort(),
+            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+            'weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-au').weekdaysShort(true),
+            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+            'locale-sorted weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-au').weekdaysMin(),
+            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+            'weekdaysMin start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-au').weekdaysMin(true),
+            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+            'locale-sorted weekdaysMin start on Sunday'
+        );
+    });
+
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-gb');
+    localeModule('en-ca');
 
     test('parse', function (assert) {
-        var tests =
+        var i,
+            tests =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 ['D Do DD', '14 14th 14'],
                 ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
                 ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '6 6th 06'],
+                ['w wo ww', '8 8th 08'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 February 2010'],
-                ['LLL', '14 February 2010 15:25'],
-                ['LLLL', 'Sunday, 14 February 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 Feb 2010'],
-                ['lll', '14 Feb 2010 15:25'],
-                ['llll', 'Sun, 14 Feb 2010 15:25'],
+                ['L', '2010-02-14'],
+                ['LTS', '3:25:50 PM'],
+                ['LL', 'February 14, 2010'],
+                ['LLL', 'February 14, 2010 3:25 PM'],
+                ['LLLL', 'Sunday, February 14, 2010 3:25 PM'],
+                ['l', '2010-2-14'],
+                ['ll', 'Feb 14, 2010'],
+                ['lll', 'Feb 14, 2010 3:25 PM'],
+                ['llll', 'Sun, Feb 14, 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format month', function (assert) {
-        var expected =
+        var i,
+            expected =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
+        var i,
+            expected =
                 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
         assert.equal(
             moment(a).calendar(),
-            'Today at 12:00',
+            'Today at 12:00 PM',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Today at 12:25',
+            'Today at 12:25 PM',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Today at 13:00',
+            'Today at 1:00 PM',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Tomorrow at 12:00',
+            'Tomorrow at 12:00 PM',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Today at 11:00',
+            'Today at 11:00 AM',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Yesterday at 12:00',
+            'Yesterday at 12:00 PM',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52nd',
-            'Jan  1 2012 should be week 52'
+            '1 01 1st',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
+            moment([2012, 0, 7]).format('w ww wo'),
             '1 01 1st',
-            'Jan  2 2012 should be week 1'
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  8 2012 should be week 1'
+            '2 02 2nd',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
+            moment([2012, 0, 14]).format('w ww wo'),
             '2 02 2nd',
-            'Jan  9 2012 should be week 2'
+            'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan 15 2012 should be week 2'
+            '3 03 3rd',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-ie');
+    localeModule('en-gb');
 
     test('parse', function (assert) {
         var tests =
                 ['L', '14/02/2010'],
                 ['LL', '14 February 2010'],
                 ['LLL', '14 February 2010 15:25'],
-                ['LLLL', 'Sunday 14 February 2010 15:25'],
+                ['LLLL', 'Sunday, 14 February 2010 15:25'],
                 ['l', '14/2/2010'],
                 ['ll', '14 Feb 2010'],
                 ['lll', '14 Feb 2010 15:25'],
-                ['llll', 'Sun 14 Feb 2010 15:25'],
+                ['llll', 'Sun, 14 Feb 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-il');
+    localeModule('en-ie');
 
     test('parse', function (assert) {
         var tests =
                 ['D Do DD', '14 14th 14'],
                 ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
                 ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '8 8th 08'],
+                ['w wo ww', '6 6th 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['L', '14/02/2010'],
                 ['LL', '14 February 2010'],
                 ['LLL', '14 February 2010 15:25'],
-                ['LLLL', 'Sunday, 14 February 2010 15:25'],
+                ['LLLL', 'Sunday 14 February 2010 15:25'],
                 ['l', '14/2/2010'],
                 ['ll', '14 Feb 2010'],
                 ['lll', '14 Feb 2010 15:25'],
-                ['llll', 'Sun, 14 Feb 2010 15:25'],
+                ['llll', 'Sun 14 Feb 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  1 2012 should be week 1'
+            '52 52 52nd',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
+            moment([2012, 0, 2]).format('w ww wo'),
             '1 01 1st',
-            'Jan  7 2012 should be week 1'
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan  8 2012 should be week 2'
+            '1 01 1st',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
+            moment([2012, 0, 9]).format('w ww wo'),
             '2 02 2nd',
-            'Jan 14 2012 should be week 2'
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3rd',
-            'Jan 15 2012 should be week 3'
-        );
-    });
-
-    test('days start on sunday', function (assert) {
-        assert.equal(
-            moment().startOf('week').format('dddd'),
-            'Sunday',
-            'First day of the week should be Sunday'
+            '2 02 2nd',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-in');
+    localeModule('en-il');
 
     test('parse', function (assert) {
         var tests =
                 input + ' should be month ' + (i + 1)
             );
         }
+
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
+
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['LTS', '3:25:50 PM'],
+                ['LTS', '15:25:50'],
                 ['L', '14/02/2010'],
                 ['LL', '14 February 2010'],
-                ['LLL', '14 February 2010 3:25 PM'],
-                ['LLLL', 'Sunday, 14 February 2010 3:25 PM'],
+                ['LLL', '14 February 2010 15:25'],
+                ['LLLL', 'Sunday, 14 February 2010 15:25'],
                 ['l', '14/2/2010'],
                 ['ll', '14 Feb 2010'],
-                ['lll', '14 Feb 2010 3:25 PM'],
-                ['llll', 'Sun, 14 Feb 2010 3:25 PM'],
+                ['lll', '14 Feb 2010 15:25'],
+                ['llll', 'Sun, 14 Feb 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
         assert.equal(
             moment(a).calendar(),
-            'Today at 12:00 PM',
+            'Today at 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Today at 12:25 PM',
+            'Today at 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Today at 1:00 PM',
+            'Today at 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Tomorrow at 12:00 PM',
+            'Tomorrow at 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Today at 11:00 AM',
+            'Today at 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Yesterday at 12:00 PM',
+            'Yesterday at 12:00',
             'yesterday at the same time'
         );
     });
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
+            moment([2012, 0, 7]).format('w ww wo'),
             '1 01 1st',
-            'Jan  2 2012 should be week 1'
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
+            moment([2012, 0, 14]).format('w ww wo'),
             '2 02 2nd',
-            'Jan  9 2012 should be week 2'
+            'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
         );
     });
 
-    // Concrete test for Locale#weekdaysMin
-    test('Weekdays sort by locale', function (assert) {
-        assert.deepEqual(
-            moment().localeData('en-in').weekdays(),
-            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
-            'weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-in').weekdays(true),
-            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
-            'locale-sorted weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-in').weekdaysShort(),
-            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
-            'weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-in').weekdaysShort(true),
-            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
-            'locale-sorted weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-in').weekdaysMin(),
-            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
-            'weekdaysMin start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData('en-in').weekdaysMin(true),
-            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
-            'locale-sorted weekdaysMin start on Sunday'
+    test('days start on sunday', function (assert) {
+        assert.equal(
+            moment().startOf('week').format('dddd'),
+            'Sunday',
+            'First day of the week should be Sunday'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-nz');
+    localeModule('en-in');
 
     test('parse', function (assert) {
         var tests =
                 input + ' should be month ' + (i + 1)
             );
         }
-
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
-
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
                 ['D Do DD', '14 14th 14'],
                 ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
                 ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '6 6th 06'],
+                ['w wo ww', '8 8th 08'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52nd',
-            'Jan  1 2012 should be week 52'
+            '1 01 1st',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  8 2012 should be week 1'
+            '2 02 2nd',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan 15 2012 should be week 2'
+            '3 03 3rd',
+            'Jan 15 2012 should be week 3'
+        );
+    });
+
+    // Concrete test for Locale#weekdaysMin
+    test('Weekdays sort by locale', function (assert) {
+        assert.deepEqual(
+            moment().localeData('en-in').weekdays(),
+            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+            'weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-in').weekdays(true),
+            'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+            'locale-sorted weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-in').weekdaysShort(),
+            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+            'weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-in').weekdaysShort(true),
+            'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+            'locale-sorted weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-in').weekdaysMin(),
+            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+            'weekdaysMin start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData('en-in').weekdaysMin(true),
+            'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+            'locale-sorted weekdaysMin start on Sunday'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en-sg');
+    localeModule('en-nz');
 
     test('parse', function (assert) {
         var tests =
                 input + ' should be month ' + (i + 1)
             );
         }
+
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
+
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['LTS', '15:25:50'],
+                ['LTS', '3:25:50 PM'],
                 ['L', '14/02/2010'],
                 ['LL', '14 February 2010'],
-                ['LLL', '14 February 2010 15:25'],
-                ['LLLL', 'Sunday, 14 February 2010 15:25'],
+                ['LLL', '14 February 2010 3:25 PM'],
+                ['LLLL', 'Sunday, 14 February 2010 3:25 PM'],
                 ['l', '14/2/2010'],
                 ['ll', '14 Feb 2010'],
-                ['lll', '14 Feb 2010 15:25'],
-                ['llll', 'Sun, 14 Feb 2010 15:25'],
+                ['lll', '14 Feb 2010 3:25 PM'],
+                ['llll', 'Sun, 14 Feb 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
         assert.equal(
             moment(a).calendar(),
-            'Today at 12:00',
+            'Today at 12:00 PM',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Today at 12:25',
+            'Today at 12:25 PM',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Today at 13:00',
+            'Today at 1:00 PM',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Tomorrow at 12:00',
+            'Tomorrow at 12:00 PM',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Today at 11:00',
+            'Today at 11:00 AM',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Yesterday at 12:00',
+            'Yesterday at 12:00 PM',
             'yesterday at the same time'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('en');
+    localeModule('en-sg');
 
     test('parse', function (assert) {
-        var i,
-            tests =
+        var tests =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
-
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
-
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0], 'MMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
                 ['D Do DD', '14 14th 14'],
                 ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
                 ['DDD DDDo DDDD', '45 45th 045'],
-                ['w wo ww', '8 8th 08'],
+                ['w wo ww', '6 6th 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45th day of the year'],
-                ['LTS', '3:25:50 PM'],
-                ['L', '02/14/2010'],
-                ['LL', 'February 14, 2010'],
-                ['LLL', 'February 14, 2010 3:25 PM'],
-                ['LLLL', 'Sunday, February 14, 2010 3:25 PM'],
-                ['l', '2/14/2010'],
-                ['ll', 'Feb 14, 2010'],
-                ['lll', 'Feb 14, 2010 3:25 PM'],
-                ['llll', 'Sun, Feb 14, 2010 3:25 PM'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
+                ['LL', '14 February 2010'],
+                ['LLL', '14 February 2010 15:25'],
+                ['LLLL', 'Sunday, 14 February 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 Feb 2010'],
+                ['lll', '14 Feb 2010 15:25'],
+                ['llll', 'Sun, 14 Feb 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
-    test('parse era', function (assert) {
-        assert.equal(moment('2010 AD', 'y N', true).isValid(), true, '2010 AD');
-        assert.equal(moment('2010 AD', 'y N', true).year(), 2010, '2010 AD');
-
-        assert.equal(
-            moment('2010 Anno Domini', 'y N', true).isValid(),
-            false,
-            '2010 Anno Domini'
-        );
-        assert.equal(
-            moment('2010 Anno Domini', 'y N', false).isValid(),
-            true,
-            '2010 Anno Domini'
-        );
-        assert.equal(
-            moment('2010 Anno Domini', 'y NNNN', true).isValid(),
-            true,
-            '2010 Anno Domini'
-        );
-        assert.equal(
-            moment('2010 Anno Domini', 'y NNNN', true).year(),
-            2010,
-            '2010 Anno Domini'
-        );
-        assert.equal(
-            moment('2010 Anno Domini', 'y N', false).year(),
-            2010,
-            '2010 Anno Domini'
-        );
-
-        assert.equal(moment('469 BC', 'y N', true).isValid(), true, '469 BC');
-        assert.equal(moment('469 BC', 'y N', true).year(), -468, '469 BC');
-
-        assert.equal(
-            moment('469 Before Christ', 'y NNNN', true).isValid(),
-            true,
-            '469 Before Christ'
-        );
-        assert.equal(
-            moment('469 Before Christ', 'y NNNN', true).year(),
-            -468,
-            '469 Before Christ'
-        );
-    });
-
-    test('format era', function (assert) {
-        var a = [
-                ['+000001-01-01', 'N, NN, NNN', 'AD, AD, AD'],
-                ['+000001-01-01', 'NNNN', 'Anno Domini'],
-                ['+000001-01-01', 'NNNNN', 'AD'],
-                ['+000001-01-01', 'y', '1'],
-
-                ['+000000-12-31', 'N, NN, NNN', 'BC, BC, BC'],
-                ['+000000-12-31', 'NNNN', 'Before Christ'],
-                ['+000000-12-31', 'NNNNN', 'BC'],
-                ['+000000-12-31', 'y', '1'],
-
-                ['-000001-12-31', 'N, NN, NNN', 'BC, BC, BC'],
-                ['-000001-12-31', 'NNNN', 'Before Christ'],
-                ['-000001-12-31', 'NNNNN', 'BC'],
-                ['-000001-12-31', 'y', '2'],
-            ],
-            i,
-            l;
-
-        for (i = 0, l = a.length; i < l; ++i) {
-            assert.equal(
-                moment(a[i][0]).format(a[i][1]),
-                a[i][2],
-                a[i][0] + '; ' + a[i][1] + ' ---> ' + a[i][2]
-            );
-        }
-    });
-
     test('format ordinal', function (assert) {
         assert.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
         assert.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
             'a few seconds',
 
         assert.equal(
             moment(a).calendar(),
-            'Today at 12:00 PM',
+            'Today at 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Today at 12:25 PM',
+            'Today at 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Today at 1:00 PM',
+            'Today at 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Tomorrow at 12:00 PM',
+            'Tomorrow at 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Today at 11:00 AM',
+            'Today at 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Yesterday at 12:00 PM',
+            'Yesterday at 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1st',
-            'Jan  1 2012 should be week 1'
+            '52 52 52nd',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
+            moment([2012, 0, 2]).format('w ww wo'),
             '1 01 1st',
-            'Jan  7 2012 should be week 1'
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2nd',
-            'Jan  8 2012 should be week 2'
+            '1 01 1st',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
+            moment([2012, 0, 9]).format('w ww wo'),
             '2 02 2nd',
-            'Jan 14 2012 should be week 2'
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3rd',
-            'Jan 15 2012 should be week 3'
+            '2 02 2nd',
+            'Jan 15 2012 should be week 2'
         );
     });
 
-    test('weekdays strict parsing', function (assert) {
-        var m = moment('2015-01-01T12', moment.ISO_8601, true),
-            enLocale = moment.localeData('en'),
-            i;
-
-        for (i = 0; i < 7; ++i) {
-            assert.equal(
-                moment(enLocale.weekdays(m.day(i), ''), 'dddd', true).isValid(),
-                true,
-                'parse weekday ' + i
-            );
-            assert.equal(
-                moment(enLocale.weekdaysShort(m.day(i), ''), 'ddd', true).isValid(),
-                true,
-                'parse short weekday ' + i
-            );
-            assert.equal(
-                moment(enLocale.weekdaysMin(m.day(i), ''), 'dd', true).isValid(),
-                true,
-                'parse min weekday ' + i
-            );
-
-            // negative tests
-            assert.equal(
-                moment(enLocale.weekdaysMin(m.day(i), ''), 'ddd', true).isValid(),
-                false,
-                'parse short weekday ' + i
-            );
-            assert.equal(
-                moment(enLocale.weekdaysShort(m.day(i), ''), 'dd', true).isValid(),
-                false,
-                'parse min weekday ' + i
-            );
-        }
-    });
-
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('eo');
+    localeModule('en');
 
     test('parse', function (assert) {
-        var tests =
-                'januaro jan_februaro feb_marto mart_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sept_oktobro okt_novembro nov_decembro dec'.split(
+        var i,
+            tests =
+                'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'dimanĉo, februaro 14a 2010, 3:25:50 p.t.m.',
+                    'Sunday, February 14th 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'dim, 3P.T.M.'],
-                ['M Mo MM MMMM MMM', '2 2a 02 februaro feb'],
+                ['ddd, hA', 'Sun, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14a 14'],
-                ['d do dddd ddd dd', '0 0a dimanĉo dim di'],
-                ['DDD DDDo DDDD', '45 45a 045'],
-                ['w wo ww', '7 7a 07'],
+                ['D Do DD', '14 14th 14'],
+                ['d do dddd ddd dd', '0 0th Sunday Sun Su'],
+                ['DDD DDDo DDDD', '45 45th 045'],
+                ['w wo ww', '8 8th 08'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'p.t.m. P.T.M.'],
-                ['[la] DDDo [tago] [de] [la] [jaro]', 'la 45a tago de la jaro'],
-                ['LTS', '15:25:50'],
-                ['L', '2010-02-14'],
-                ['LL', 'la 14-an de februaro, 2010'],
-                ['LLL', 'la 14-an de februaro, 2010 15:25'],
-                ['LLLL', 'dimanĉon, la 14-an de februaro, 2010 15:25'],
-                ['l', '2010-2-14'],
-                ['ll', 'la 14-an de feb, 2010'],
-                ['lll', 'la 14-an de feb, 2010 15:25'],
-                ['llll', 'dim, la 14-an de feb, 2010 15:25'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45th day of the year'],
+                ['LTS', '3:25:50 PM'],
+                ['L', '02/14/2010'],
+                ['LL', 'February 14, 2010'],
+                ['LLL', 'February 14, 2010 3:25 PM'],
+                ['LLLL', 'Sunday, February 14, 2010 3:25 PM'],
+                ['l', '2/14/2010'],
+                ['ll', 'Feb 14, 2010'],
+                ['lll', 'Feb 14, 2010 3:25 PM'],
+                ['llll', 'Sun, Feb 14, 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
+    test('parse era', function (assert) {
+        assert.equal(moment('2010 AD', 'y N', true).isValid(), true, '2010 AD');
+        assert.equal(moment('2010 AD', 'y N', true).year(), 2010, '2010 AD');
+
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', true).isValid(),
+            false,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', false).isValid(),
+            true,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y NNNN', true).isValid(),
+            true,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y NNNN', true).year(),
+            2010,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', false).year(),
+            2010,
+            '2010 Anno Domini'
+        );
+
+        assert.equal(moment('469 BC', 'y N', true).isValid(), true, '469 BC');
+        assert.equal(moment('469 BC', 'y N', true).year(), -468, '469 BC');
+
+        assert.equal(
+            moment('469 Before Christ', 'y NNNN', true).isValid(),
+            true,
+            '469 Before Christ'
+        );
+        assert.equal(
+            moment('469 Before Christ', 'y NNNN', true).year(),
+            -468,
+            '469 Before Christ'
+        );
+    });
+
+    test('format era', function (assert) {
+        var a = [
+                ['+000001-01-01', 'N, NN, NNN', 'AD, AD, AD'],
+                ['+000001-01-01', 'NNNN', 'Anno Domini'],
+                ['+000001-01-01', 'NNNNN', 'AD'],
+                ['+000001-01-01', 'y', '1'],
+
+                ['+000000-12-31', 'N, NN, NNN', 'BC, BC, BC'],
+                ['+000000-12-31', 'NNNN', 'Before Christ'],
+                ['+000000-12-31', 'NNNNN', 'BC'],
+                ['+000000-12-31', 'y', '1'],
+
+                ['-000001-12-31', 'N, NN, NNN', 'BC, BC, BC'],
+                ['-000001-12-31', 'NNNN', 'Before Christ'],
+                ['-000001-12-31', 'NNNNN', 'BC'],
+                ['-000001-12-31', 'y', '2'],
+            ],
+            i,
+            l;
+
+        for (i = 0, l = a.length; i < l; ++i) {
+            assert.equal(
+                moment(a[i][0]).format(a[i][1]),
+                a[i][2],
+                a[i][0] + '; ' + a[i][1] + ' ---> ' + a[i][2]
+            );
+        }
+    });
+
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3a', '3a');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4a', '4a');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5a', '5a');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6a', '6a');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7a', '7a');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8a', '8a');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9a', '9a');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10a', '10a');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11a', '11a');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12a', '12a');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13a', '13a');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14a', '14a');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15a', '15a');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16a', '16a');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17a', '17a');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18a', '18a');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19a', '19a');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20a', '20a');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23a', '23a');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24a', '24a');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25a', '25a');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26a', '26a');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27a', '27a');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28a', '28a');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29a', '29a');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30a', '30a');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'januaro jan_februaro feb_marto mart_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sept_oktobro okt_novembro nov_decembro dec'.split(
+        var i,
+            expected =
+                'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'dimanĉo dim di_lundo lun lu_mardo mard ma_merkredo merk me_ĵaŭdo ĵaŭ ĵa_vendredo ven ve_sabato sab sa'.split(
+        var i,
+            expected =
+                'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'kelkaj sekundoj',
+            'a few seconds',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'unu minuto',
+            'a minute',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'unu minuto',
+            'a minute',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutoj',
+            '2 minutes',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutoj',
+            '44 minutes',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'unu horo',
+            'an hour',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'unu horo',
+            'an hour',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 horoj',
+            '2 hours',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 horoj',
+            '5 hours',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 horoj',
+            '21 hours',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'unu tago',
+            'a day',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'unu tago',
+            'a day',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 tagoj',
+            '2 days',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'unu tago',
+            'a day',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 tagoj',
+            '5 days',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 tagoj',
+            '25 days',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'unu monato',
+            'a month',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'unu monato',
+            'a month',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'unu monato',
+            'a month',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 monatoj',
+            '2 months',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 monatoj',
+            '2 months',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 monatoj',
+            '3 months',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'unu monato',
+            'a month',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 monatoj',
+            '5 months',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'unu jaro',
+            'a year',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 jaroj',
+            '2 years',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'unu jaro',
+            'a year',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 jaroj',
+            '5 years',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'post kelkaj sekundoj', 'post prefix');
-        assert.equal(
-            moment(0).from(30000),
-            'antaŭ kelkaj sekundoj',
-            'antaŭ prefix'
-        );
+        assert.equal(moment(30000).from(0), 'in a few seconds', 'prefix');
+        assert.equal(moment(0).from(30000), 'a few seconds ago', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'antaŭ kelkaj sekundoj',
+            'a few seconds ago',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'post kelkaj sekundoj',
-            'post kelkaj sekundoj'
-        );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'post 5 tagoj',
-            'post 5 tagoj'
+            'in a few seconds',
+            'in a few seconds'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'in 5 days', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Hodiaŭ je 12:00',
+            'Today at 12:00 PM',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Hodiaŭ je 12:25',
+            'Today at 12:25 PM',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Hodiaŭ je 13:00',
+            'Today at 1:00 PM',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Morgaŭ je 12:00',
+            'Tomorrow at 12:00 PM',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Hodiaŭ je 11:00',
+            'Today at 11:00 AM',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Hieraŭ je 12:00',
+            'Yesterday at 12:00 PM',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd[n] [je] LT'),
+                m.format('dddd [at] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[n] [je] LT'),
+                m.format('dddd [at] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[n] [je] LT'),
+                m.format('dddd [at] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[pasintan] dddd[n je] LT'),
+                m.format('[Last] dddd [at] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[pasintan] dddd[n je] LT'),
+                m.format('[Last] dddd [at] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[pasintan] dddd[n je] LT'),
+                m.format('[Last] dddd [at] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
-        assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1a',
-            'Dec 26 2011 should be week 1'
-        );
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1a',
+            '1 01 1st',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2a',
-            'Jan  2 2012 should be week 2'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '1 01 1st',
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2a',
+            '2 02 2nd',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3a',
-            'Jan  9 2012 should be week 3'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '2 02 2nd',
+            'Jan 14 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '3 03 3rd',
+            'Jan 15 2012 should be week 3'
         );
     });
 
+    test('weekdays strict parsing', function (assert) {
+        var m = moment('2015-01-01T12', moment.ISO_8601, true),
+            enLocale = moment.localeData('en'),
+            i;
+
+        for (i = 0; i < 7; ++i) {
+            assert.equal(
+                moment(enLocale.weekdays(m.day(i), ''), 'dddd', true).isValid(),
+                true,
+                'parse weekday ' + i
+            );
+            assert.equal(
+                moment(enLocale.weekdaysShort(m.day(i), ''), 'ddd', true).isValid(),
+                true,
+                'parse short weekday ' + i
+            );
+            assert.equal(
+                moment(enLocale.weekdaysMin(m.day(i), ''), 'dd', true).isValid(),
+                true,
+                'parse min weekday ' + i
+            );
+
+            // negative tests
+            assert.equal(
+                moment(enLocale.weekdaysMin(m.day(i), ''), 'ddd', true).isValid(),
+                false,
+                'parse short weekday ' + i
+            );
+            assert.equal(
+                moment(enLocale.weekdaysShort(m.day(i), ''), 'dd', true).isValid(),
+                false,
+                'parse min weekday ' + i
+            );
+        }
+    });
+
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('es-do');
+    localeModule('eo');
 
     test('parse', function (assert) {
         var tests =
-                'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
+                'januaro jan_februaro feb_marto mart_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sept_oktobro okt_novembro nov_decembro dec'.split(
                     '_'
                 ),
             i;
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'domingo, febrero 14º 2010, 3:25:50 pm',
+                    'dimanĉo, februaro 14a 2010, 3:25:50 p.t.m.',
                 ],
-                ['ddd, hA', 'dom., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2º 02 febrero feb.'],
+                ['ddd, hA', 'dim, 3P.T.M.'],
+                ['M Mo MM MMMM MMM', '2 2a 02 februaro feb'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14º 14'],
-                ['d do dddd ddd dd', '0 0º domingo dom. do'],
-                ['DDD DDDo DDDD', '45 45º 045'],
-                ['w wo ww', '6 6º 06'],
-                ['YYYY-MMM-DD', '2010-feb-14'],
+                ['D Do DD', '14 14a 14'],
+                ['d do dddd ddd dd', '0 0a dimanĉo dim di'],
+                ['DDD DDDo DDDD', '45 45a 045'],
+                ['w wo ww', '7 7a 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45º day of the year'],
-                ['LTS', '3:25:50 PM'],
-                ['L', '14/02/2010'],
-                ['LL', '14 de febrero de 2010'],
-                ['LLL', '14 de febrero de 2010 3:25 PM'],
-                ['LLLL', 'domingo, 14 de febrero de 2010 3:25 PM'],
-                ['l', '14/2/2010'],
-                ['ll', '14 de feb. de 2010'],
-                ['lll', '14 de feb. de 2010 3:25 PM'],
-                ['llll', 'dom., 14 de feb. de 2010 3:25 PM'],
+                ['a A', 'p.t.m. P.T.M.'],
+                ['[la] DDDo [tago] [de] [la] [jaro]', 'la 45a tago de la jaro'],
+                ['LTS', '15:25:50'],
+                ['L', '2010-02-14'],
+                ['LL', 'la 14-an de februaro, 2010'],
+                ['LLL', 'la 14-an de februaro, 2010 15:25'],
+                ['LLLL', 'dimanĉon, la 14-an de februaro, 2010 15:25'],
+                ['l', '2010-2-14'],
+                ['ll', 'la 14-an de feb, 2010'],
+                ['lll', 'la 14-an de feb, 2010 15:25'],
+                ['llll', 'dim, la 14-an de feb, 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3a', '3a');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4a', '4a');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5a', '5a');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6a', '6a');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7a', '7a');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8a', '8a');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9a', '9a');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10a', '10a');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11a', '11a');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12a', '12a');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13a', '13a');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14a', '14a');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15a', '15a');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16a', '16a');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17a', '17a');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18a', '18a');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19a', '19a');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20a', '20a');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23a', '23a');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24a', '24a');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25a', '25a');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26a', '26a');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27a', '27a');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28a', '28a');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29a', '29a');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30a', '30a');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
     });
 
     test('format month', function (assert) {
         var expected =
-                'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
+                'januaro jan_februaro feb_marto mart_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sept_oktobro okt_novembro nov_decembro dec'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'domingo dom. do_lunes lun. lu_martes mar. ma_miércoles mié. mi_jueves jue. ju_viernes vie. vi_sábado sáb. sá'.split(
+                'dimanĉo dim di_lundo lun lu_mardo mard ma_merkredo merk me_ĵaŭdo ĵaŭ ĵa_vendredo ven ve_sabato sab sa'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'unos segundos',
+            'kelkaj sekundoj',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'un minuto',
+            'unu minuto',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'un minuto',
+            'unu minuto',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutos',
+            '2 minutoj',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutos',
+            '44 minutoj',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'una hora',
+            'unu horo',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'una hora',
+            'unu horo',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 horas',
+            '2 horoj',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 horas',
+            '5 horoj',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 horas',
+            '21 horoj',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'un día',
+            'unu tago',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'un día',
+            'unu tago',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 días',
+            '2 tagoj',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'un día',
+            'unu tago',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 días',
+            '5 tagoj',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 días',
+            '25 tagoj',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'un mes',
+            'unu monato',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'un mes',
+            'unu monato',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'un mes',
+            'unu monato',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 meses',
+            '2 monatoj',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 meses',
+            '2 monatoj',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 meses',
+            '3 monatoj',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'un mes',
+            'unu monato',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 meses',
+            '5 monatoj',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'un año',
+            'unu jaro',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 años',
+            '2 jaroj',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'un año',
+            'unu jaro',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 años',
+            '5 jaroj',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'en unos segundos', 'prefix');
-        assert.equal(moment(0).from(30000), 'hace unos segundos', 'suffix');
+        assert.equal(moment(30000).from(0), 'post kelkaj sekundoj', 'post prefix');
+        assert.equal(
+            moment(0).from(30000),
+            'antaŭ kelkaj sekundoj',
+            'antaŭ prefix'
+        );
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'hace unos segundos',
+            'antaŭ kelkaj sekundoj',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'en unos segundos',
-            'en unos segundos'
+            'post kelkaj sekundoj',
+            'post kelkaj sekundoj'
+        );
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'post 5 tagoj',
+            'post 5 tagoj'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'en 5 días', 'en 5 días');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'hoy a las 12:00 PM',
+            'Hodiaŭ je 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hoy a las 12:25 PM',
+            'Hodiaŭ je 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hoy a las 1:00 PM',
+            'Hodiaŭ je 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'mañana a las 12:00 PM',
+            'Morgaŭ je 12:00',
             'tomorrow at the same time'
         );
-        assert.equal(
-            moment(a).add({ d: 1, h: -1 }).calendar(),
-            'mañana a las 11:00 AM',
-            'tomorrow minus 1 hour'
-        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hoy a las 11:00 AM',
+            'Hodiaŭ je 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ayer a las 12:00 PM',
+            'Hieraŭ je 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
+                m.format('dddd[n] [je] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
+                m.format('dddd[n] [je] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
+                m.format('dddd[n] [je] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
-                ),
+                m.format('[pasintan] dddd[n je] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
-                ),
+                m.format('[pasintan] dddd[n je] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
-                ),
+                m.format('[pasintan] dddd[n je] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1a',
+            'Dec 26 2011 should be week 1'
+        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52º',
-            'Jan  1 2012 should be week 52'
+            '1 01 1a',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  2 2012 should be week 1'
+            '2 02 2a',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  8 2012 should be week 1'
+            '2 02 2a',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2º',
-            'Jan  9 2012 should be week 2'
-        );
-        assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2º',
-            'Jan 15 2012 should be week 2'
-        );
-    });
-
-    test('test short months proper', function (assert) {
-        var str = '02-ago-2016'; // "02-ago-2016"
-        assert.equal(
-            moment(str, 'DD-MMM-YYYY').month(),
-            7,
-            '02-ago-2016 month should be 7'
-        );
-        assert.equal(
-            moment(str, 'DD-MMM-YYYY', true).month(),
-            7,
-            '02-ago-2016 strict parse month should be 7'
+            '3 03 3a',
+            'Jan  9 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('es-mx');
+    localeModule('es-do');
 
     test('parse', function (assert) {
         var tests =
                 ['D Do DD', '14 14º 14'],
                 ['d do dddd ddd dd', '0 0º domingo dom. do'],
                 ['DDD DDDo DDDD', '45 45º 045'],
-                ['w wo ww', '7 7º 07'],
+                ['w wo ww', '6 6º 06'],
                 ['YYYY-MMM-DD', '2010-feb-14'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45º day of the year'],
-                ['LTS', '15:25:50'],
+                ['LTS', '3:25:50 PM'],
                 ['L', '14/02/2010'],
                 ['LL', '14 de febrero de 2010'],
-                ['LLL', '14 de febrero de 2010 15:25'],
-                ['LLLL', 'domingo, 14 de febrero de 2010 15:25'],
+                ['LLL', '14 de febrero de 2010 3:25 PM'],
+                ['LLLL', 'domingo, 14 de febrero de 2010 3:25 PM'],
                 ['l', '14/2/2010'],
                 ['ll', '14 de feb. de 2010'],
-                ['lll', '14 de feb. de 2010 15:25'],
-                ['llll', 'dom., 14 de feb. de 2010 15:25'],
+                ['lll', '14 de feb. de 2010 3:25 PM'],
+                ['llll', 'dom., 14 de feb. de 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
         assert.equal(
             moment(a).calendar(),
-            'hoy a las 12:00',
+            'hoy a las 12:00 PM',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hoy a las 12:25',
+            'hoy a las 12:25 PM',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hoy a las 13:00',
+            'hoy a las 1:00 PM',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'mañana a las 12:00',
+            'mañana a las 12:00 PM',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).add({ d: 1, h: -1 }).calendar(),
-            'mañana a las 11:00',
+            'mañana a las 11:00 AM',
             'tomorrow minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hoy a las 11:00',
+            'hoy a las 11:00 AM',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ayer a las 12:00',
+            'ayer a las 12:00 PM',
             'yesterday at the same time'
         );
     });
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  1 2012 should be week 1'
+            '52 52 52º',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2º',
-            'Jan  8 2012 should be week 2'
+            '1 01 1º',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3º',
-            'Jan 15 2012 should be week 3'
-        );
-    });
-
-    // Concrete test for Locale#weekdaysMin
-    test('Weekdays sort by locale', function (assert) {
-        var weekdays = 'domingo_lunes_martes_miércoles_jueves_viernes_sábado',
-            weekdaysShort = 'dom._lun._mar._mié._jue._vie._sáb.',
-            weekdaysMin = 'do_lu_ma_mi_ju_vi_sá';
-
-        assert.deepEqual(
-            moment().localeData().weekdays(),
-            weekdays.split('_'),
-            'weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData().weekdays(true),
-            weekdays.split('_'),
-            'locale-sorted weekdays start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData().weekdaysShort(),
-            weekdaysShort.split('_'),
-            'weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData().weekdaysShort(true),
-            weekdaysShort.split('_'),
-            'locale-sorted weekdaysShort start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData().weekdaysMin(),
-            weekdaysMin.split('_'),
-            'weekdaysMin start on Sunday'
-        );
-        assert.deepEqual(
-            moment().localeData().weekdaysMin(true),
-            weekdaysMin.split('_'),
-            'locale-sorted weekdaysMin start on Sunday'
+            '2 02 2º',
+            'Jan 15 2012 should be week 2'
         );
     });
 
     test('test short months proper', function (assert) {
-        var str = '02-ago-2016';
+        var str = '02-ago-2016'; // "02-ago-2016"
         assert.equal(
             moment(str, 'DD-MMM-YYYY').month(),
-            '7',
+            7,
             '02-ago-2016 month should be 7'
         );
-    });
-
-    test('translated invalid date', function (assert) {
         assert.equal(
-            moment('nonsense', 'DD-MMM-YYYY').format(),
-            'Fecha inválida',
-            'Invalid date should translate'
+            moment(str, 'DD-MMM-YYYY', true).month(),
+            7,
+            '02-ago-2016 strict parse month should be 7'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('es-us');
+    localeModule('es-mx');
 
     test('parse', function (assert) {
         var tests =
                 ['D Do DD', '14 14º 14'],
                 ['d do dddd ddd dd', '0 0º domingo dom. do'],
                 ['DDD DDDo DDDD', '45 45º 045'],
-                ['w wo ww', '8 8º 08'],
+                ['w wo ww', '7 7º 07'],
                 ['YYYY-MMM-DD', '2010-feb-14'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45º day of the year'],
-                ['LT', '3:25 PM'],
-                ['LTS', '3:25:50 PM'],
-                ['L', '02/14/2010'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
                 ['LL', '14 de febrero de 2010'],
-                ['LLL', '14 de febrero de 2010 3:25 PM'],
-                ['LLLL', 'domingo, 14 de febrero de 2010 3:25 PM'],
-                ['l', '2/14/2010'],
+                ['LLL', '14 de febrero de 2010 15:25'],
+                ['LLLL', 'domingo, 14 de febrero de 2010 15:25'],
+                ['l', '14/2/2010'],
                 ['ll', '14 de feb. de 2010'],
-                ['lll', '14 de feb. de 2010 3:25 PM'],
-                ['llll', 'dom., 14 de feb. de 2010 3:25 PM'],
+                ['lll', '14 de feb. de 2010 15:25'],
+                ['llll', 'dom., 14 de feb. de 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
+        var expected =
                 'domingo dom. do_lunes lun. lu_martes mar. ma_miércoles mié. mi_jueves jue. ju_viernes vie. vi_sábado sáb. sá'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
             'unos segundos',
 
         assert.equal(
             moment(a).calendar(),
-            'hoy a las 12:00 PM',
+            'hoy a las 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hoy a las 12:25 PM',
+            'hoy a las 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hoy a las 1:00 PM',
+            'hoy a las 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'mañana a las 12:00 PM',
+            'mañana a las 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).add({ d: 1, h: -1 }).calendar(),
-            'mañana a las 11:00 AM',
+            'mañana a las 11:00',
             'tomorrow minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hoy a las 11:00 AM',
+            'hoy a las 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ayer a las 12:00 PM',
+            'ayer a las 12:00',
             'yesterday at the same time'
         );
     });
             '1 01 1º',
             'Jan  2 2012 should be week 1'
         );
-        assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  7 2012 should be week 1'
-        );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
             '2 02 2º',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
+            moment([2012, 0, 9]).format('w ww wo'),
             '2 02 2º',
-            'Jan 14 2012 should be week 2'
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
         );
     });
 
+    // Concrete test for Locale#weekdaysMin
+    test('Weekdays sort by locale', function (assert) {
+        var weekdays = 'domingo_lunes_martes_miércoles_jueves_viernes_sábado',
+            weekdaysShort = 'dom._lun._mar._mié._jue._vie._sáb.',
+            weekdaysMin = 'do_lu_ma_mi_ju_vi_sá';
+
+        assert.deepEqual(
+            moment().localeData().weekdays(),
+            weekdays.split('_'),
+            'weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData().weekdays(true),
+            weekdays.split('_'),
+            'locale-sorted weekdays start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData().weekdaysShort(),
+            weekdaysShort.split('_'),
+            'weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData().weekdaysShort(true),
+            weekdaysShort.split('_'),
+            'locale-sorted weekdaysShort start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData().weekdaysMin(),
+            weekdaysMin.split('_'),
+            'weekdaysMin start on Sunday'
+        );
+        assert.deepEqual(
+            moment().localeData().weekdaysMin(true),
+            weekdaysMin.split('_'),
+            'locale-sorted weekdaysMin start on Sunday'
+        );
+    });
+
     test('test short months proper', function (assert) {
-        var str = '02-ago-2016'; // "02-ago-2016"
+        var str = '02-ago-2016';
         assert.equal(
             moment(str, 'DD-MMM-YYYY').month(),
-            7,
+            '7',
             '02-ago-2016 month should be 7'
         );
-        assert.equal(
-            moment(str, 'DD-MMM-YYYY', true).month(),
-            7,
-            '02-ago-2016 strict parse month should be 7'
-        );
     });
 
-    test('test lenient month parsing', function (assert) {
-        assert.ok(
-            moment('nov 01, 2015', 'MMM D, YYYY', true).isValid(),
-            'nov 01, 2015 should parse correctly'
+    test('translated invalid date', function (assert) {
+        assert.equal(
+            moment('nonsense', 'DD-MMM-YYYY').format(),
+            'Fecha inválida',
+            'Invalid date should translate'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('es');
+    localeModule('es-us');
 
     test('parse', function (assert) {
         var tests =
                 ['D Do DD', '14 14º 14'],
                 ['d do dddd ddd dd', '0 0º domingo dom. do'],
                 ['DDD DDDo DDDD', '45 45º 045'],
-                ['w wo ww', '6 6º 06'],
+                ['w wo ww', '8 8º 08'],
                 ['YYYY-MMM-DD', '2010-feb-14'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
                 ['[the] DDDo [day of the year]', 'the 45º day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
+                ['LT', '3:25 PM'],
+                ['LTS', '3:25:50 PM'],
+                ['L', '02/14/2010'],
                 ['LL', '14 de febrero de 2010'],
-                ['LLL', '14 de febrero de 2010 15:25'],
-                ['LLLL', 'domingo, 14 de febrero de 2010 15:25'],
-                ['l', '14/2/2010'],
+                ['LLL', '14 de febrero de 2010 3:25 PM'],
+                ['LLLL', 'domingo, 14 de febrero de 2010 3:25 PM'],
+                ['l', '2/14/2010'],
                 ['ll', '14 de feb. de 2010'],
-                ['lll', '14 de feb. de 2010 15:25'],
-                ['llll', 'dom., 14 de feb. de 2010 15:25'],
+                ['lll', '14 de feb. de 2010 3:25 PM'],
+                ['llll', 'dom., 14 de feb. de 2010 3:25 PM'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format month', function (assert) {
-        var expected =
+        var i,
+            expected =
                 'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
+        var i,
+            expected =
                 'domingo dom. do_lunes lun. lu_martes mar. ma_miércoles mié. mi_jueves jue. ju_viernes vie. vi_sábado sáb. sá'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
             'unos segundos',
 
         assert.equal(
             moment(a).calendar(),
-            'hoy a las 12:00',
+            'hoy a las 12:00 PM',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hoy a las 12:25',
+            'hoy a las 12:25 PM',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hoy a las 13:00',
+            'hoy a las 1:00 PM',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'mañana a las 12:00',
+            'mañana a las 12:00 PM',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).add({ d: 1, h: -1 }).calendar(),
-            'mañana a las 11:00',
+            'mañana a las 11:00 AM',
             'tomorrow minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hoy a las 11:00',
+            'hoy a las 11:00 AM',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ayer a las 12:00',
+            'ayer a las 12:00 PM',
             'yesterday at the same time'
         );
     });
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52º',
-            'Jan  1 2012 should be week 52'
+            '1 01 1º',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 8]).format('w ww wo'),
+            moment([2012, 0, 7]).format('w ww wo'),
             '1 01 1º',
-            'Jan  8 2012 should be week 1'
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
+            moment([2012, 0, 8]).format('w ww wo'),
             '2 02 2º',
-            'Jan  9 2012 should be week 2'
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
+            moment([2012, 0, 14]).format('w ww wo'),
             '2 02 2º',
-            'Jan 15 2012 should be week 2'
+            'Jan 14 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '3 03 3º',
+            'Jan 15 2012 should be week 3'
         );
     });
 
     test('test short months proper', function (assert) {
-        var str = '02-ago-2016';
+        var str = '02-ago-2016'; // "02-ago-2016"
         assert.equal(
             moment(str, 'DD-MMM-YYYY').month(),
-            '7',
+            7,
             '02-ago-2016 month should be 7'
         );
+        assert.equal(
+            moment(str, 'DD-MMM-YYYY', true).month(),
+            7,
+            '02-ago-2016 strict parse month should be 7'
+        );
     });
 
-    test('translated invalid date', function (assert) {
-        assert.equal(
-            moment('nonsense', 'DD-MMM-YYYY').format(),
-            'Fecha inválida',
-            'Invalid date should translate'
+    test('test lenient month parsing', function (assert) {
+        assert.ok(
+            moment('nov 01, 2015', 'MMM DD, YYYY', true).isValid(),
+            'nov 01, 2015 should parse correctly'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('et');
+    localeModule('es');
 
     test('parse', function (assert) {
         var tests =
-                'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split(
+                'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
                     '_'
                 ),
             i;
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' peaks olema kuu ' + (i + 1)
+                input + ' should be month ' + (i + 1)
             );
         }
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, H:mm:ss',
-                    'pühapäev, 14. veebruar 2010, 15:25:50',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'domingo, febrero 14º 2010, 3:25:50 pm',
                 ],
-                ['ddd, h', 'P, 3'],
-                ['M Mo MM MMMM MMM', '2 2. 02 veebruar veebr'],
+                ['ddd, hA', 'dom., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2º 02 febrero feb.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. pühapäev P P'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
+                ['D Do DD', '14 14º 14'],
+                ['d do dddd ddd dd', '0 0º domingo dom. do'],
+                ['DDD DDDo DDDD', '45 45º 045'],
+                ['w wo ww', '6 6º 06'],
+                ['YYYY-MMM-DD', '2010-feb-14'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[aasta] DDDo [päev]', 'aasta 45. päev'],
+                ['[the] DDDo [day of the year]', 'the 45º day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. veebruar 2010'],
-                ['LLL', '14. veebruar 2010 15:25'],
-                ['LLLL', 'pühapäev, 14. veebruar 2010 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14. veebr 2010'],
-                ['lll', '14. veebr 2010 15:25'],
-                ['llll', 'P, 14. veebr 2010 15:25'],
+                ['L', '14/02/2010'],
+                ['LL', '14 de febrero de 2010'],
+                ['LLL', '14 de febrero de 2010 15:25'],
+                ['LLLL', 'domingo, 14 de febrero de 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 de feb. de 2010'],
+                ['lll', '14 de feb. de 2010 15:25'],
+                ['llll', 'dom., 14 de feb. de 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
     });
 
     test('format month', function (assert) {
         var expected =
-                'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split(
+                'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'pühapäev P P_esmaspäev E E_teisipäev T T_kolmapäev K K_neljapäev N N_reede R R_laupäev L L'.split(
+                'domingo dom. do_lunes lun. lu_martes mar. ma_miércoles mié. mi_jueves jue. ju_viernes vie. vi_sábado sáb. sá'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'paar sekundit',
-            '44 seconds = paar sekundit'
+            'unos segundos',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'üks minut',
-            '45 seconds = üks minut'
+            'un minuto',
+            '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'üks minut',
-            '89 seconds = üks minut'
+            'un minuto',
+            '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutit',
-            '90 seconds = 2 minutit'
+            '2 minutos',
+            '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutit',
-            '44 minutes = 44 minutit'
+            '44 minutos',
+            '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'üks tund',
-            '45 minutes = tund aega'
+            'una hora',
+            '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'üks tund',
-            '89 minutes = üks tund'
+            'una hora',
+            '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 tundi',
-            '90 minutes = 2 tundi'
+            '2 horas',
+            '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 tundi',
-            '5 hours = 5 tundi'
+            '5 horas',
+            '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 tundi',
-            '21 hours = 21 tundi'
+            '21 horas',
+            '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'üks päev',
-            '22 hours = üks päev'
+            'un día',
+            '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'üks päev',
-            '35 hours = üks päev'
+            'un día',
+            '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 päeva',
-            '36 hours = 2 päeva'
+            '2 días',
+            '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'üks päev',
-            '1 day = üks päev'
+            'un día',
+            '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 päeva',
-            '5 days = 5 päeva'
+            '5 días',
+            '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 päeva',
-            '25 days = 25 päeva'
+            '25 días',
+            '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'üks kuu',
-            '26 days = üks kuu'
+            'un mes',
+            '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'üks kuu',
-            '30 days = üks kuu'
+            'un mes',
+            '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'üks kuu',
-            '43 days = üks kuu'
+            'un mes',
+            '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 kuud',
-            '46 days = 2 kuud'
+            '2 meses',
+            '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 kuud',
-            '75 days = 2 kuud'
+            '2 meses',
+            '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 kuud',
-            '76 days = 3 kuud'
+            '3 meses',
+            '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'üks kuu',
-            '1 month = üks kuu'
+            'un mes',
+            '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 kuud',
-            '5 months = 5 kuud'
+            '5 meses',
+            '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'üks aasta',
-            '345 days = üks aasta'
+            'un año',
+            '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 aastat',
-            '548 days = 2 aastat'
+            '2 años',
+            '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'üks aasta',
-            '1 year = üks aasta'
+            'un año',
+            '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 aastat',
-            '5 years = 5 aastat'
+            '5 años',
+            '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'mõne sekundi pärast', 'prefix');
-        assert.equal(moment(0).from(30000), 'mõni sekund tagasi', 'suffix');
+        assert.equal(moment(30000).from(0), 'en unos segundos', 'prefix');
+        assert.equal(moment(0).from(30000), 'hace unos segundos', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'mõni sekund tagasi',
+            'hace unos segundos',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'mõne sekundi pärast',
-            'in a few seconds'
-        );
-        assert.equal(
-            moment().subtract({ s: 30 }).fromNow(),
-            'mõni sekund tagasi',
-            'a few seconds ago'
-        );
-
-        assert.equal(
-            moment().add({ m: 1 }).fromNow(),
-            'ühe minuti pärast',
-            'in a minute'
-        );
-        assert.equal(
-            moment().subtract({ m: 1 }).fromNow(),
-            'üks minut tagasi',
-            'a minute ago'
-        );
-
-        assert.equal(
-            moment().add({ m: 5 }).fromNow(),
-            '5 minuti pärast',
-            'in 5 minutes'
-        );
-        assert.equal(
-            moment().subtract({ m: 5 }).fromNow(),
-            '5 minutit tagasi',
-            '5 minutes ago'
-        );
-
-        assert.equal(
-            moment().add({ d: 1 }).fromNow(),
-            'ühe päeva pärast',
-            'in one day'
-        );
-        assert.equal(
-            moment().subtract({ d: 1 }).fromNow(),
-            'üks päev tagasi',
-            'one day ago'
-        );
-
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            '5 päeva pärast',
-            'in 5 days'
-        );
-        assert.equal(
-            moment().subtract({ d: 5 }).fromNow(),
-            '5 päeva tagasi',
-            '5 days ago'
-        );
-
-        assert.equal(
-            moment().add({ M: 1 }).fromNow(),
-            'kuu aja pärast',
-            'in a month'
-        );
-        assert.equal(
-            moment().subtract({ M: 1 }).fromNow(),
-            'kuu aega tagasi',
-            'a month ago'
-        );
-
-        assert.equal(
-            moment().add({ M: 5 }).fromNow(),
-            '5 kuu pärast',
-            'in 5 months'
-        );
-        assert.equal(
-            moment().subtract({ M: 5 }).fromNow(),
-            '5 kuud tagasi',
-            '5 months ago'
-        );
-
-        assert.equal(
-            moment().add({ y: 1 }).fromNow(),
-            'ühe aasta pärast',
-            'in a year'
-        );
-        assert.equal(
-            moment().subtract({ y: 1 }).fromNow(),
-            'aasta tagasi',
-            'a year ago'
-        );
-
-        assert.equal(
-            moment().add({ y: 5 }).fromNow(),
-            '5 aasta pärast',
-            'in 5 years'
-        );
-        assert.equal(
-            moment().subtract({ y: 5 }).fromNow(),
-            '5 aastat tagasi',
-            '5 years ago'
+            'en unos segundos',
+            'en unos segundos'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'en 5 días', 'en 5 días');
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
-        assert.equal(moment(a).calendar(), 'Täna, 12:00', 'today at the same time');
+        assert.equal(
+            moment(a).calendar(),
+            'hoy a las 12:00',
+            'today at the same time'
+        );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Täna, 12:25',
+            'hoy a las 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Täna, 13:00',
+            'hoy a las 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Homme, 12:00',
+            'mañana a las 12:00',
             'tomorrow at the same time'
         );
+        assert.equal(
+            moment(a).add({ d: 1, h: -1 }).calendar(),
+            'mañana a las 11:00',
+            'tomorrow minus 1 hour'
+        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Täna, 11:00',
+            'hoy a las 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Eile, 12:00',
+            'ayer a las 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[Järgmine] dddd LT'),
+                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Järgmine] dddd LT'),
+                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Järgmine] dddd LT'),
+                m.format('dddd [a la' + (m.hours() !== 1 ? 's' : '') + '] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[Eelmine] dddd LT'),
+                m.format(
+                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
+                ),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Eelmine] dddd LT'),
+                m.format(
+                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
+                ),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Eelmine] dddd LT'),
+                m.format(
+                    '[el] dddd [pasado a la' + (m.hours() !== 1 ? 's' : '') + '] LT'
+                ),
                 'Today - ' + i + ' days end of day'
             );
         }
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 nädal tagasi');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            '1 nädala pärast'
+            'in 1 week'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 nädalat tagasi');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            '2 nädala pärast'
+            'in 2 weeks'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
+            '52 52 52º',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1º',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1º',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2º',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2º',
             'Jan 15 2012 should be week 2'
         );
     });
 
+    test('test short months proper', function (assert) {
+        var str = '02-ago-2016';
+        assert.equal(
+            moment(str, 'DD-MMM-YYYY').month(),
+            '7',
+            '02-ago-2016 month should be 7'
+        );
+    });
+
+    test('translated invalid date', function (assert) {
+        assert.equal(
+            moment('nonsense', 'DD-MMM-YYYY').format(),
+            'Fecha inválida',
+            'Invalid date should translate'
+        );
+    });
+
 })));
 
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('eu');
+    localeModule('et');
 
     test('parse', function (assert) {
         var tests =
-                'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split(
+                'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split(
                     '_'
                 ),
             i;
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1)
+                input + ' peaks olema kuu ' + (i + 1)
             );
         }
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'igandea, otsaila 14. 2010, 3:25:50 pm',
+                    'dddd, Do MMMM YYYY, H:mm:ss',
+                    'pühapäev, 14. veebruar 2010, 15:25:50',
                 ],
-                ['ddd, hA', 'ig., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 otsaila ots.'],
+                ['ddd, h', 'P, 3'],
+                ['M Mo MM MMMM MMM', '2 2. 02 veebruar veebr'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. igandea ig. ig'],
+                ['d do dddd ddd dd', '0 0. pühapäev P P'],
                 ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '7 7. 07'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+                ['[aasta] DDDo [päev]', 'aasta 45. päev'],
                 ['LTS', '15:25:50'],
-                ['L', '2010-02-14'],
-                ['LL', '2010ko otsailaren 14a'],
-                ['LLL', '2010ko otsailaren 14a 15:25'],
-                ['LLLL', 'igandea, 2010ko otsailaren 14a 15:25'],
-                ['l', '2010-2-14'],
-                ['ll', '2010ko ots. 14a'],
-                ['lll', '2010ko ots. 14a 15:25'],
-                ['llll', 'ig., 2010ko ots. 14a 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14. veebruar 2010'],
+                ['LLL', '14. veebruar 2010 15:25'],
+                ['LLLL', 'pühapäev, 14. veebruar 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14. veebr 2010'],
+                ['lll', '14. veebr 2010 15:25'],
+                ['llll', 'P, 14. veebr 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
     test('format month', function (assert) {
         var expected =
-                'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split(
+                'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'igandea ig. ig_astelehena al. al_asteartea ar. ar_asteazkena az. az_osteguna og. og_ostirala ol. ol_larunbata lr. lr'.split(
+                'pühapäev P P_esmaspäev E E_teisipäev T T_kolmapäev K K_neljapäev N N_reede R R_laupäev L L'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'segundo batzuk',
-            '44 seconds = a few seconds'
+            'paar sekundit',
+            '44 seconds = paar sekundit'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'minutu bat',
-            '45 seconds = a minute'
+            'üks minut',
+            '45 seconds = üks minut'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'minutu bat',
-            '89 seconds = a minute'
+            'üks minut',
+            '89 seconds = üks minut'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutu',
-            '90 seconds = 2 minutes'
+            '2 minutit',
+            '90 seconds = 2 minutit'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutu',
-            '44 minutes = 44 minutes'
+            '44 minutit',
+            '44 minutes = 44 minutit'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ordu bat',
-            '45 minutes = an hour'
+            'üks tund',
+            '45 minutes = tund aega'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ordu bat',
-            '89 minutes = an hour'
+            'üks tund',
+            '89 minutes = üks tund'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 ordu',
-            '90 minutes = 2 hours'
+            '2 tundi',
+            '90 minutes = 2 tundi'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 ordu',
-            '5 hours = 5 hours'
+            '5 tundi',
+            '5 hours = 5 tundi'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 ordu',
-            '21 hours = 21 hours'
+            '21 tundi',
+            '21 hours = 21 tundi'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'egun bat',
-            '22 hours = a day'
+            'üks päev',
+            '22 hours = üks päev'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'egun bat',
-            '35 hours = a day'
+            'üks päev',
+            '35 hours = üks päev'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 egun',
-            '36 hours = 2 days'
+            '2 päeva',
+            '36 hours = 2 päeva'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'egun bat',
-            '1 day = a day'
+            'üks päev',
+            '1 day = üks päev'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 egun',
-            '5 days = 5 days'
+            '5 päeva',
+            '5 days = 5 päeva'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 egun',
-            '25 days = 25 days'
+            '25 päeva',
+            '25 days = 25 päeva'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'hilabete bat',
-            '26 days = a month'
+            'üks kuu',
+            '26 days = üks kuu'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'hilabete bat',
-            '30 days = a month'
+            'üks kuu',
+            '30 days = üks kuu'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'hilabete bat',
-            '43 days = a month'
+            'üks kuu',
+            '43 days = üks kuu'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 hilabete',
-            '46 days = 2 months'
+            '2 kuud',
+            '46 days = 2 kuud'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 hilabete',
-            '75 days = 2 months'
+            '2 kuud',
+            '75 days = 2 kuud'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 hilabete',
-            '76 days = 3 months'
+            '3 kuud',
+            '76 days = 3 kuud'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'hilabete bat',
-            '1 month = a month'
+            'üks kuu',
+            '1 month = üks kuu'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 hilabete',
-            '5 months = 5 months'
+            '5 kuud',
+            '5 months = 5 kuud'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'urte bat',
-            '345 days = a year'
+            'üks aasta',
+            '345 days = üks aasta'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 urte',
-            '548 days = 2 years'
+            '2 aastat',
+            '548 days = 2 aastat'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'urte bat',
-            '1 year = a year'
+            'üks aasta',
+            '1 year = üks aasta'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 urte',
-            '5 years = 5 years'
+            '5 aastat',
+            '5 years = 5 aastat'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'segundo batzuk barru', 'prefix');
-        assert.equal(moment(0).from(30000), 'duela segundo batzuk', 'suffix');
+        assert.equal(moment(30000).from(0), 'mõne sekundi pärast', 'prefix');
+        assert.equal(moment(0).from(30000), 'mõni sekund tagasi', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'duela segundo batzuk',
+            'mõni sekund tagasi',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'segundo batzuk barru',
-            'in seconds'
+            'mõne sekundi pärast',
+            'in a few seconds'
+        );
+        assert.equal(
+            moment().subtract({ s: 30 }).fromNow(),
+            'mõni sekund tagasi',
+            'a few seconds ago'
+        );
+
+        assert.equal(
+            moment().add({ m: 1 }).fromNow(),
+            'ühe minuti pärast',
+            'in a minute'
+        );
+        assert.equal(
+            moment().subtract({ m: 1 }).fromNow(),
+            'üks minut tagasi',
+            'a minute ago'
+        );
+
+        assert.equal(
+            moment().add({ m: 5 }).fromNow(),
+            '5 minuti pärast',
+            'in 5 minutes'
+        );
+        assert.equal(
+            moment().subtract({ m: 5 }).fromNow(),
+            '5 minutit tagasi',
+            '5 minutes ago'
+        );
+
+        assert.equal(
+            moment().add({ d: 1 }).fromNow(),
+            'ühe päeva pärast',
+            'in one day'
+        );
+        assert.equal(
+            moment().subtract({ d: 1 }).fromNow(),
+            'üks päev tagasi',
+            'one day ago'
+        );
+
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            '5 päeva pärast',
+            'in 5 days'
+        );
+        assert.equal(
+            moment().subtract({ d: 5 }).fromNow(),
+            '5 päeva tagasi',
+            '5 days ago'
+        );
+
+        assert.equal(
+            moment().add({ M: 1 }).fromNow(),
+            'kuu aja pärast',
+            'in a month'
+        );
+        assert.equal(
+            moment().subtract({ M: 1 }).fromNow(),
+            'kuu aega tagasi',
+            'a month ago'
+        );
+
+        assert.equal(
+            moment().add({ M: 5 }).fromNow(),
+            '5 kuu pärast',
+            'in 5 months'
+        );
+        assert.equal(
+            moment().subtract({ M: 5 }).fromNow(),
+            '5 kuud tagasi',
+            '5 months ago'
+        );
+
+        assert.equal(
+            moment().add({ y: 1 }).fromNow(),
+            'ühe aasta pärast',
+            'in a year'
+        );
+        assert.equal(
+            moment().subtract({ y: 1 }).fromNow(),
+            'aasta tagasi',
+            'a year ago'
+        );
+
+        assert.equal(
+            moment().add({ y: 5 }).fromNow(),
+            '5 aasta pärast',
+            'in 5 years'
+        );
+        assert.equal(
+            moment().subtract({ y: 5 }).fromNow(),
+            '5 aastat tagasi',
+            '5 years ago'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 egun barru', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
-        assert.equal(
-            moment(a).calendar(),
-            'gaur 12:00etan',
-            'today at the same time'
-        );
+        assert.equal(moment(a).calendar(), 'Täna, 12:00', 'today at the same time');
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'gaur 12:25etan',
-            'now plus 25 min'
+            'Täna, 12:25',
+            'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'gaur 13:00etan',
-            'now plus 1 hour'
+            'Täna, 13:00',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'bihar 12:00etan',
+            'Homme, 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'gaur 11:00etan',
-            'now minus 1 hour'
+            'Täna, 11:00',
+            'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'atzo 12:00etan',
+            'Eile, 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT[etan]'),
+                m.format('[Järgmine] dddd LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT[etan]'),
+                m.format('[Järgmine] dddd LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT[etan]'),
+                m.format('[Järgmine] dddd LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[aurreko] dddd LT[etan]'),
+                m.format('[Eelmine] dddd LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[aurreko] dddd LT[etan]'),
+                m.format('[Eelmine] dddd LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[aurreko] dddd LT[etan]'),
+                m.format('[Eelmine] dddd LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 nädal tagasi');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 1 week'
+            '1 nädala pärast'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 nädalat tagasi');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 2 weeks'
+            '2 nädala pärast'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
-        assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1.',
-            'Dec 26 2011 should be week 1'
-        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  1 2012 should be week 1'
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  2 2012 should be week 2'
+            '1 01 1.',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  8 2012 should be week 2'
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3.',
-            'Jan  9 2012 should be week 3'
+            '2 02 2.',
+            'Jan  9 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '2 02 2.',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fa');
+    localeModule('eu');
 
     test('parse', function (assert) {
         var tests =
-                'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
+                'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split(
                     '_'
                 ),
             i;
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input +
-                    ' should be month ' +
-                    (i + 1) +
-                    ' instead is month ' +
-                    moment(input, mmm).month()
+                input + ' should be month ' + (i + 1)
             );
         }
 
         }
 
         for (i = 0; i < 12; i++) {
-            equalTest(tests[i], 'MMM', i);
-            equalTest(tests[i], 'MMMM', i);
-            equalTest(tests[i].toLocaleLowerCase(), 'MMM', i);
-            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i].toLocaleUpperCase(), 'MMM', i);
-            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i], 'MMM', i);
-            equalTestStrict(tests[i], 'MMMM', i);
-            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'یک\u200cشنبه، فوریه ۱۴م ۲۰۱۰، ۳:۲۵:۵۰ بعد از ظهر',
+                    'igandea, otsaila 14. 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'یک\u200cشنبه، ۳بعد از ظهر'],
-                ['M Mo MM MMMM MMM', '۲ ۲م ۰۲ فوریه فوریه'],
-                ['YYYY YY', '۲۰۱۰ ۱۰'],
-                ['D Do DD', '۱۴ ۱۴م ۱۴'],
-                ['d do dddd ddd dd', '۰ ۰م یک\u200cشنبه یک\u200cشنبه ی'],
-                ['DDD DDDo DDDD', '۴۵ ۴۵م ۰۴۵'],
-                ['w wo ww', '۸ ۸م ۰۸'],
-                ['h hh', '۳ ۰۳'],
-                ['H HH', '۱۵ ۱۵'],
-                ['m mm', '۲۵ ۲۵'],
-                ['s ss', '۵۰ ۵۰'],
-                ['a A', 'بعد از ظهر بعد از ظهر'],
-                ['DDDo [روز سال]', '۴۵م روز سال'],
-                ['LTS', '۱۵:۲۵:۵۰'],
-                ['L', '۱۴/۰۲/۲۰۱۰'],
-                ['LL', '۱۴ فوریه ۲۰۱۰'],
-                ['LLL', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
-                ['LLLL', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
-                ['l', '۱۴/۲/۲۰۱۰'],
-                ['ll', '۱۴ فوریه ۲۰۱۰'],
-                ['lll', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
-                ['llll', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
+                ['ddd, hA', 'ig., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 otsaila ots.'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. igandea ig. ig'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '7 7. 07'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+                ['LTS', '15:25:50'],
+                ['L', '2010-02-14'],
+                ['LL', '2010ko otsailaren 14a'],
+                ['LLL', '2010ko otsailaren 14a 15:25'],
+                ['LLLL', 'igandea, 2010ko otsailaren 14a 15:25'],
+                ['l', '2010-2-14'],
+                ['ll', '2010ko ots. 14a'],
+                ['lll', '2010ko ots. 14a 15:25'],
+                ['llll', 'ig., 2010ko ots. 14a 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '۱م', '1');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '۲م', '2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '۳م', '3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '۴م', '4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '۵م', '5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '۶م', '6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '۷م', '7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '۸م', '8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '۹م', '9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '۱۰م', '10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '۱۱م', '11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '۱۲م', '12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '۱۳م', '13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '۱۴م', '14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '۱۵م', '15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '۱۶م', '16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '۱۷م', '17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '۱۸م', '18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '۱۹م', '19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '۲۰م', '20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '۲۱م', '21');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '۲۲م', '22');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '۲۳م', '23');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '۲۴م', '24');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '۲۵م', '25');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '۲۶م', '26');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '۲۷م', '27');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '۲۸م', '28');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '۲۹م', '29');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '۳۰م', '30');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '۳۱م', '31');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
     });
 
     test('format month', function (assert) {
         var expected =
-                'ژانویه ژانویه_فوریه فوریه_مارس مارس_آوریل آوریل_مه مه_ژوئن ژوئن_ژوئیه ژوئیه_اوت اوت_سپتامبر سپتامبر_اکتبر اکتبر_نوامبر نوامبر_دسامبر دسامبر'.split(
+                'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'یک\u200cشنبه یک\u200cشنبه ی_دوشنبه دوشنبه د_سه\u200cشنبه سه\u200cشنبه س_چهارشنبه چهارشنبه چ_پنج\u200cشنبه پنج\u200cشنبه پ_جمعه جمعه ج_شنبه شنبه ش'.split(
+                'igandea ig. ig_astelehena al. al_asteartea ar. ar_asteazkena az. az_osteguna og. og_ostirala ol. ol_larunbata lr. lr'.split(
                     '_'
                 ),
             i;
     });
 
     test('from', function (assert) {
-        var start = moment([2007, 1, 28]),
-            s,
-            ss;
+        var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'چند ثانیه',
+            'segundo batzuk',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'یک دقیقه',
+            'minutu bat',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'یک دقیقه',
+            'minutu bat',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '۲ دقیقه',
+            '2 minutu',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '۴۴ دقیقه',
+            '44 minutu',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'یک ساعت',
+            'ordu bat',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'یک ساعت',
+            'ordu bat',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '۲ ساعت',
+            '2 ordu',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '۵ ساعت',
+            '5 ordu',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '۲۱ ساعت',
+            '21 ordu',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'یک روز',
+            'egun bat',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'یک روز',
+            'egun bat',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '۲ روز',
+            '2 egun',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'یک روز',
+            'egun bat',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '۵ روز',
+            '5 egun',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '۲۵ روز',
+            '25 egun',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'یک ماه',
+            'hilabete bat',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'یک ماه',
+            'hilabete bat',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'یک ماه',
+            'hilabete bat',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '۲ ماه',
+            '2 hilabete',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '۲ ماه',
+            '2 hilabete',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '۳ ماه',
+            '3 hilabete',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'یک ماه',
+            'hilabete bat',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '۵ ماه',
+            '5 hilabete',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'یک سال',
+            'urte bat',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '۲ سال',
+            '2 urte',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'یک سال',
+            'urte bat',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '۵ سال',
+            '5 urte',
             '5 years = 5 years'
         );
-
-        s = moment.relativeTimeThreshold('s');
-        ss = moment.relativeTimeThreshold('ss');
-
-        moment.relativeTimeThreshold('s', 60);
-        moment.relativeTimeThreshold('ss', 0);
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            '۴۴ ثانیه',
-            '44 seconds = 44 seconds'
-        );
-        moment.relativeTimeThreshold('s', s);
-        moment.relativeTimeThreshold('ss', ss);
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'در چند ثانیه', 'prefix');
-        assert.equal(moment(0).from(30000), 'چند ثانیه پیش', 'suffix');
+        assert.equal(moment(30000).from(0), 'segundo batzuk barru', 'prefix');
+        assert.equal(moment(0).from(30000), 'duela segundo batzuk', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'چند ثانیه پیش',
+            'duela segundo batzuk',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'در چند ثانیه',
-            'in a few seconds'
+            'segundo batzuk barru',
+            'in seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'در ۵ روز', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 egun barru', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'امروز ساعت ۱۲:۰۰',
+            'gaur 12:00etan',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'امروز ساعت ۱۲:۲۵',
-            'Now plus 25 min'
+            'gaur 12:25etan',
+            'now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'امروز ساعت ۱۳:۰۰',
-            'Now plus 1 hour'
+            'gaur 13:00etan',
+            'now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'فردا ساعت ۱۲:۰۰',
+            'bihar 12:00etan',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'امروز ساعت ۱۱:۰۰',
-            'Now minus 1 hour'
+            'gaur 11:00etan',
+            'now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'دیروز ساعت ۱۲:۰۰',
+            'atzo 12:00etan',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ساعت] LT'),
+                m.format('dddd LT[etan]'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ساعت] LT'),
+                m.format('dddd LT[etan]'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ساعت] LT'),
+                m.format('dddd LT[etan]'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [پیش ساعت] LT'),
+                m.format('[aurreko] dddd LT[etan]'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [پیش ساعت] LT'),
+                m.format('[aurreko] dddd LT[etan]'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [پیش ساعت] LT'),
+                m.format('[aurreko] dddd LT[etan]'),
                 'Today - ' + i + ' days end of day'
             );
         }
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            moment([2011, 11, 31]).format('w ww wo'),
-            '۱ ۰۱ ۱م',
-            'Dec 31 2011 should be week 1'
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1.',
+            'Dec 26 2011 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 6]).format('w ww wo'),
-            '۱ ۰۱ ۱م',
-            'Jan  6 2012 should be week 1'
+            moment([2012, 0, 1]).format('w ww wo'),
+            '1 01 1.',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '۲ ۰۲ ۲م',
-            'Jan  7 2012 should be week 2'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '2 02 2.',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 13]).format('w ww wo'),
-            '۲ ۰۲ ۲م',
-            'Jan 13 2012 should be week 2'
+            moment([2012, 0, 8]).format('w ww wo'),
+            '2 02 2.',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '۳ ۰۳ ۳م',
-            'Jan 14 2012 should be week 3'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '3 03 3.',
+            'Jan  9 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fi');
+    localeModule('fa');
 
     test('parse', function (assert) {
         var tests =
-                'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split(
+                'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
                     '_'
                 ),
             i;
             assert.equal(
                 moment(input, mmm).month(),
                 i,
-                input + ' should be month ' + (i + 1)
+                input +
+                    ' should be month ' +
+                    (i + 1) +
+                    ' instead is month ' +
+                    moment(input, mmm).month()
             );
         }
 
         }
 
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(' ');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i], 'MMM', i);
+            equalTest(tests[i], 'MMMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMM', i);
+            equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMM', i);
+            equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i], 'MMM', i);
+            equalTestStrict(tests[i], 'MMMM', i);
+            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'sunnuntai, helmikuu 14. 2010, 3:25:50 pm',
+                    'یک\u200cشنبه، فوریه ۱۴م ۲۰۱۰، ۳:۲۵:۵۰ بعد از ظهر',
                 ],
-                ['ddd, hA', 'su, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 helmikuu helmi'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. sunnuntai su su'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[vuoden] DDDo [päivä]', 'vuoden 45. päivä'],
-                ['LTS', '15.25.50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. helmikuuta 2010'],
-                ['LLL', '14. helmikuuta 2010, klo 15.25'],
-                ['LLLL', 'sunnuntai, 14. helmikuuta 2010, klo 15.25'],
-                ['l', '14.2.2010'],
-                ['ll', '14. helmi 2010'],
-                ['lll', '14. helmi 2010, klo 15.25'],
-                ['llll', 'su, 14. helmi 2010, klo 15.25'],
+                ['ddd, hA', 'یک\u200cشنبه، ۳بعد از ظهر'],
+                ['M Mo MM MMMM MMM', '۲ ۲م ۰۲ فوریه فوریه'],
+                ['YYYY YY', '۲۰۱۰ ۱۰'],
+                ['D Do DD', '۱۴ ۱۴م ۱۴'],
+                ['d do dddd ddd dd', '۰ ۰م یک\u200cشنبه یک\u200cشنبه ی'],
+                ['DDD DDDo DDDD', '۴۵ ۴۵م ۰۴۵'],
+                ['w wo ww', '۸ ۸م ۰۸'],
+                ['h hh', '۳ ۰۳'],
+                ['H HH', '۱۵ ۱۵'],
+                ['m mm', '۲۵ ۲۵'],
+                ['s ss', '۵۰ ۵۰'],
+                ['a A', 'بعد از ظهر بعد از ظهر'],
+                ['DDDo [روز سال]', '۴۵م روز سال'],
+                ['LTS', '۱۵:۲۵:۵۰'],
+                ['L', '۱۴/۰۲/۲۰۱۰'],
+                ['LL', '۱۴ فوریه ۲۰۱۰'],
+                ['LLL', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
+                ['LLLL', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
+                ['l', '۱۴/۲/۲۰۱۰'],
+                ['ll', '۱۴ فوریه ۲۰۱۰'],
+                ['lll', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
+                ['llll', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1st');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2nd');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3rd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4th');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5th');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6th');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7th');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8th');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9th');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10th');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '۱م', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '۲م', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '۳م', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '۴م', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '۵م', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '۶م', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '۷م', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '۸م', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '۹م', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '۱۰م', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11th');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12th');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13th');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14th');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15th');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16th');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17th');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18th');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19th');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20th');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '۱۱م', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '۱۲م', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '۱۳م', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '۱۴م', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '۱۵م', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '۱۶م', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '۱۷م', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '۱۸م', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '۱۹م', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '۲۰م', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21st');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22nd');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23rd');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24th');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25th');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26th');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27th');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28th');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29th');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30th');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '۲۱م', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '۲۲م', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '۲۳م', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '۲۴م', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '۲۵م', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '۲۶م', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '۲۷م', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '۲۸م', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '۲۹م', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '۳۰م', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31st');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '۳۱م', '31');
     });
 
     test('format month', function (assert) {
         var expected =
-                'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split(
+                'ژانویه ژانویه_فوریه فوریه_مارس مارس_آوریل آوریل_مه مه_ژوئن ژوئن_ژوئیه ژوئیه_اوت اوت_سپتامبر سپتامبر_اکتبر اکتبر_نوامبر نوامبر_دسامبر دسامبر'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'sunnuntai su su_maanantai ma ma_tiistai ti ti_keskiviikko ke ke_torstai to to_perjantai pe pe_lauantai la la'.split(
+                'یک\u200cشنبه یک\u200cشنبه ی_دوشنبه دوشنبه د_سه\u200cشنبه سه\u200cشنبه س_چهارشنبه چهارشنبه چ_پنج\u200cشنبه پنج\u200cشنبه پ_جمعه جمعه ج_شنبه شنبه ش'.split(
                     '_'
                 ),
             i;
     });
 
     test('from', function (assert) {
-        var start = moment([2007, 1, 28]);
+        var start = moment([2007, 1, 28]),
+            s,
+            ss;
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'muutama sekunti',
-            '44 seconds = few seconds'
+            'چند ثانیه',
+            '44 seconds = few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'minuutti',
+            'یک دقیقه',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'minuutti',
+            'یک دقیقه',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            'kaksi minuuttia',
+            '۲ دقیقه',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuuttia',
+            '۴۴ دقیقه',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'tunti',
+            'یک ساعت',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'tunti',
+            'یک ساعت',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            'kaksi tuntia',
+            '۲ ساعت',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            'viisi tuntia',
+            '۵ ساعت',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 tuntia',
+            '۲۱ ساعت',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'päivä',
+            'یک روز',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'päivä',
+            'یک روز',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            'kaksi päivää',
+            '۲ روز',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'päivä',
+            'یک روز',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            'viisi päivää',
+            '۵ روز',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 päivää',
+            '۲۵ روز',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'kuukausi',
+            'یک ماه',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'kuukausi',
+            'یک ماه',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'kuukausi',
+            'یک ماه',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            'kaksi kuukautta',
+            '۲ ماه',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            'kaksi kuukautta',
+            '۲ ماه',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            'kolme kuukautta',
+            '۳ ماه',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'kuukausi',
+            'یک ماه',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            'viisi kuukautta',
+            '۵ ماه',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'vuosi',
+            'یک سال',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            'kaksi vuotta',
+            '۲ سال',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'vuosi',
+            'یک سال',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            'viisi vuotta',
+            '۵ سال',
             '5 years = 5 years'
         );
-    });
 
-    test('from ss threshold set', function (assert) {
-        var start = moment([2007, 1, 28]),
-            s = moment.relativeTimeThreshold('s'),
-            ss = moment.relativeTimeThreshold('ss');
-        moment.relativeTimeThreshold('s', 45);
-        moment.relativeTimeThreshold('ss', 10);
+        s = moment.relativeTimeThreshold('s');
+        ss = moment.relativeTimeThreshold('ss');
 
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 10 }), true),
-            'muutama sekunti',
-            '10 seconds = few seconds'
-        );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 11 }), true),
-            '11 sekuntia',
-            '11 seconds = 11 seconds'
-        );
+        moment.relativeTimeThreshold('s', 60);
+        moment.relativeTimeThreshold('ss', 0);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            '44 sekuntia',
+            '۴۴ ثانیه',
             '44 seconds = 44 seconds'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'minuutti',
-            '45 seconds = a minute'
-        );
         moment.relativeTimeThreshold('s', s);
         moment.relativeTimeThreshold('ss', ss);
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'muutaman sekunnin päästä', 'prefix');
-        assert.equal(moment(0).from(30000), 'muutama sekunti sitten', 'suffix');
+        assert.equal(moment(30000).from(0), 'در چند ثانیه', 'prefix');
+        assert.equal(moment(0).from(30000), 'چند ثانیه پیش', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'muutama sekunti sitten',
+            'چند ثانیه پیش',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'muutaman sekunnin päästä',
+            'در چند ثانیه',
             'in a few seconds'
         );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'viiden päivän päästä',
-            'in 5 days'
-        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'در ۵ روز', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'tänään klo 12.00',
+            'امروز ساعت ۱۲:۰۰',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'tänään klo 12.25',
+            'امروز ساعت ۱۲:۲۵',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'tänään klo 13.00',
+            'امروز ساعت ۱۳:۰۰',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'huomenna klo 12.00',
+            'فردا ساعت ۱۲:۰۰',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'tänään klo 11.00',
+            'امروز ساعت ۱۱:۰۰',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'eilen klo 12.00',
+            'دیروز ساعت ۱۲:۰۰',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [klo] LT'),
-                'today + ' + i + ' days current time'
+                m.format('dddd [ساعت] LT'),
+                'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [klo] LT'),
-                'today + ' + i + ' days beginning of day'
+                m.format('dddd [ساعت] LT'),
+                'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [klo] LT'),
-                'today + ' + i + ' days end of day'
+                m.format('dddd [ساعت] LT'),
+                'Today + ' + i + ' days end of day'
             );
         }
     });
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[viime] dddd[na] [klo] LT'),
-                'today - ' + i + ' days current time'
+                m.format('dddd [پیش ساعت] LT'),
+                'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[viime] dddd[na] [klo] LT'),
-                'today - ' + i + ' days beginning of day'
+                m.format('dddd [پیش ساعت] LT'),
+                'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[viime] dddd[na] [klo] LT'),
-                'today - ' + i + ' days end of day'
+                m.format('dddd [پیش ساعت] LT'),
+                'Today - ' + i + ' days end of day'
             );
         }
     });
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(
-            weeksAgo.calendar(),
-            weeksAgo.format('L'),
-            'yksi viikko sitten'
-        );
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'yhden viikon päästä'
+            'in 1 week'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(
-            weeksAgo.calendar(),
-            weeksAgo.format('L'),
-            'kaksi viikkoa sitten'
-        );
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'kaden viikon päästä'
+            'in 2 weeks'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
-            moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
-            'Jan  1 2012 should be week 52'
+            moment([2011, 11, 31]).format('w ww wo'),
+            '۱ ۰۱ ۱م',
+            'Dec 31 2011 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  2 2012 should be week 1'
+            moment([2012, 0, 6]).format('w ww wo'),
+            '۱ ۰۱ ۱م',
+            'Jan  6 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  8 2012 should be week 1'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '۲ ۰۲ ۲م',
+            'Jan  7 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  9 2012 should be week 2'
+            moment([2012, 0, 13]).format('w ww wo'),
+            '۲ ۰۲ ۲م',
+            'Jan 13 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2.',
-            'Jan 15 2012 should be week 2'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '۳ ۰۳ ۳م',
+            'Jan 14 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fil');
+    localeModule('fi');
 
     test('parse', function (assert) {
         var tests =
-                'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split(
+                'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Linggo, Pebrero 14 2010, 3:25:50 pm',
+                    'sunnuntai, helmikuu 14. 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'Lin, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2 02 Pebrero Peb'],
+                ['ddd, hA', 'su, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 helmikuu helmi'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 Linggo Lin Li'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '6 6 06'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. sunnuntai su su'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '02/14/2010'],
-                ['LL', 'Pebrero 14, 2010'],
-                ['LLL', 'Pebrero 14, 2010 15:25'],
-                ['LLLL', 'Linggo, Pebrero 14, 2010 15:25'],
-                ['l', '2/14/2010'],
-                ['ll', 'Peb 14, 2010'],
-                ['lll', 'Peb 14, 2010 15:25'],
-                ['llll', 'Lin, Peb 14, 2010 15:25'],
+                ['[vuoden] DDDo [päivä]', 'vuoden 45. päivä'],
+                ['LTS', '15.25.50'],
+                ['L', '14.02.2010'],
+                ['LL', '14. helmikuuta 2010'],
+                ['LLL', '14. helmikuuta 2010, klo 15.25'],
+                ['LLLL', 'sunnuntai, 14. helmikuuta 2010, klo 15.25'],
+                ['l', '14.2.2010'],
+                ['ll', '14. helmi 2010'],
+                ['lll', '14. helmi 2010, klo 15.25'],
+                ['llll', 'su, 14. helmi 2010, klo 15.25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10th');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11th');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12th');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13th');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20th');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21st');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22nd');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23rd');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30th');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31st');
     });
 
     test('format month', function (assert) {
         var expected =
-                'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split(
+                'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'Linggo Lin Li_Lunes Lun Lu_Martes Mar Ma_Miyerkules Miy Mi_Huwebes Huw Hu_Biyernes Biy Bi_Sabado Sab Sab'.split(
+                'sunnuntai su su_maanantai ma ma_tiistai ti ti_keskiviikko ke ke_torstai to to_perjantai pe pe_lauantai la la'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ilang segundo',
-            '44 seconds = few seconds'
+            'muutama sekunti',
+            '44 seconds = few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'isang minuto',
+            'minuutti',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'isang minuto',
+            'minuutti',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minuto',
+            'kaksi minuuttia',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuto',
+            '44 minuuttia',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'isang oras',
+            'tunti',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'isang oras',
+            'tunti',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 oras',
+            'kaksi tuntia',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 oras',
+            'viisi tuntia',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 oras',
+            '21 tuntia',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'isang araw',
+            'päivä',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'isang araw',
+            'päivä',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 araw',
+            'kaksi päivää',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'isang araw',
+            'päivä',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 araw',
+            'viisi päivää',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 araw',
+            '25 päivää',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'isang buwan',
+            'kuukausi',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'isang buwan',
+            'kuukausi',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'isang buwan',
+            'kuukausi',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 buwan',
+            'kaksi kuukautta',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 buwan',
+            'kaksi kuukautta',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 buwan',
+            'kolme kuukautta',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'isang buwan',
+            'kuukausi',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 buwan',
+            'viisi kuukautta',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'isang taon',
+            'vuosi',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 taon',
+            'kaksi vuotta',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'isang taon',
+            'vuosi',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 taon',
+            'viisi vuotta',
             '5 years = 5 years'
         );
     });
 
+    test('from ss threshold set', function (assert) {
+        var start = moment([2007, 1, 28]),
+            s = moment.relativeTimeThreshold('s'),
+            ss = moment.relativeTimeThreshold('ss');
+        moment.relativeTimeThreshold('s', 45);
+        moment.relativeTimeThreshold('ss', 10);
+
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 10 }), true),
+            'muutama sekunti',
+            '10 seconds = few seconds'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 11 }), true),
+            '11 sekuntia',
+            '11 seconds = 11 seconds'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
+            '44 sekuntia',
+            '44 seconds = 44 seconds'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
+            'minuutti',
+            '45 seconds = a minute'
+        );
+        moment.relativeTimeThreshold('s', s);
+        moment.relativeTimeThreshold('ss', ss);
+    });
+
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'sa loob ng ilang segundo', 'prefix');
+        assert.equal(moment(30000).from(0), 'muutaman sekunnin päästä', 'prefix');
+        assert.equal(moment(0).from(30000), 'muutama sekunti sitten', 'suffix');
+    });
+
+    test('now from now', function (assert) {
         assert.equal(
-            moment(0).from(30000),
-            'ilang segundo ang nakalipas',
-            'suffix'
+            moment().fromNow(),
+            'muutama sekunti sitten',
+            'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'sa loob ng ilang segundo',
+            'muutaman sekunnin päästä',
             'in a few seconds'
         );
         assert.equal(
             moment().add({ d: 5 }).fromNow(),
-            'sa loob ng 5 araw',
+            'viiden päivän päästä',
             'in 5 days'
         );
     });
 
-    test('same day', function (assert) {
+    test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            '12:00 ngayong araw',
+            'tänään klo 12.00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            '12:25 ngayong araw',
+            'tänään klo 12.25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            '13:00 ngayong araw',
+            'tänään klo 13.00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Bukas ng 12:00',
+            'huomenna klo 12.00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            '11:00 ngayong araw',
+            'tänään klo 11.00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            '12:00 kahapon',
+            'eilen klo 12.00',
             'yesterday at the same time'
         );
     });
 
-    test('same next week', function (assert) {
+    test('calendar next week', function (assert) {
         var i, m;
 
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('LT [sa susunod na] dddd'),
-                'Today + ' + i + ' days current time'
+                m.format('dddd [klo] LT'),
+                'today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('LT [sa susunod na] dddd'),
-                'Today + ' + i + ' days beginning of day'
+                m.format('dddd [klo] LT'),
+                'today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('LT [sa susunod na] dddd'),
-                'Today + ' + i + ' days end of day'
+                m.format('dddd [klo] LT'),
+                'today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('same last week', function (assert) {
+    test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('LT [noong nakaraang] dddd'),
-                'Today - ' + i + ' days current time'
+                m.format('[viime] dddd[na] [klo] LT'),
+                'today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('LT [noong nakaraang] dddd'),
-                'Today - ' + i + ' days beginning of day'
+                m.format('[viime] dddd[na] [klo] LT'),
+                'today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('LT [noong nakaraang] dddd'),
-                'Today - ' + i + ' days end of day'
+                m.format('[viime] dddd[na] [klo] LT'),
+                'today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('same all else', function (assert) {
+    test('calendar all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+        assert.equal(
+            weeksAgo.calendar(),
+            weeksAgo.format('L'),
+            'yksi viikko sitten'
+        );
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 1 week'
+            'yhden viikon päästä'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+        assert.equal(
+            weeksAgo.calendar(),
+            weeksAgo.format('L'),
+            'kaksi viikkoa sitten'
+        );
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 2 weeks'
+            'kaden viikon päästä'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52',
+            '52 52 52.',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1',
+            '1 01 1.',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1',
+            '1 01 1.',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2',
+            '2 02 2.',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2',
+            '2 02 2.',
             'Jan 15 2012 should be week 2'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fo');
+    localeModule('fil');
 
     test('parse', function (assert) {
         var tests =
-                'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split(
+                'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split(
                     '_'
                 ),
             i;
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd [tann] Do MMMM YYYY, h:mm:ss a',
-                    'sunnudagur tann 14. februar 2010, 3:25:50 pm',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Linggo, Pebrero 14 2010, 3:25:50 pm',
                 ],
-                ['ddd hA', 'sun 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
+                ['ddd, hA', 'Lin, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2 02 Pebrero Peb'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. sunnudagur sun su'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 Linggo Lin Li'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '6 6 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[tann] DDDo [dagin á árinum]', 'tann 45. dagin á árinum'],
+                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 februar 2010'],
-                ['LLL', '14 februar 2010 15:25'],
-                ['LLLL', 'sunnudagur 14. februar, 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 feb 2010'],
-                ['lll', '14 feb 2010 15:25'],
-                ['llll', 'sun 14. feb, 2010 15:25'],
+                ['L', '02/14/2010'],
+                ['LL', 'Pebrero 14, 2010'],
+                ['LLL', 'Pebrero 14, 2010 15:25'],
+                ['LLLL', 'Linggo, Pebrero 14, 2010 15:25'],
+                ['l', '2/14/2010'],
+                ['ll', 'Peb 14, 2010'],
+                ['lll', 'Peb 14, 2010 15:25'],
+                ['llll', 'Lin, Peb 14, 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
     });
 
     test('format month', function (assert) {
         var expected =
-                'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split(
+                'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'sunnudagur sun su_mánadagur mán má_týsdagur týs tý_mikudagur mik mi_hósdagur hós hó_fríggjadagur frí fr_leygardagur ley le'.split(
+                'Linggo Lin Li_Lunes Lun Lu_Martes Mar Ma_Miyerkules Miy Mi_Huwebes Huw Hu_Biyernes Biy Bi_Sabado Sab Sab'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'fá sekund',
+            'ilang segundo',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ein minuttur',
+            'isang minuto',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ein minuttur',
+            'isang minuto',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minuttir',
+            '2 minuto',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuttir',
+            '44 minuto',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ein tími',
+            'isang oras',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ein tími',
+            'isang oras',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 tímar',
+            '2 oras',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 tímar',
+            '5 oras',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 tímar',
+            '21 oras',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ein dagur',
+            'isang araw',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ein dagur',
+            'isang araw',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dagar',
+            '2 araw',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ein dagur',
+            'isang araw',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dagar',
+            '5 araw',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dagar',
+            '25 araw',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ein mánaður',
+            'isang buwan',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ein mánaður',
+            'isang buwan',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ein mánaður',
+            'isang buwan',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mánaðir',
+            '2 buwan',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mánaðir',
+            '2 buwan',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mánaðir',
+            '3 buwan',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ein mánaður',
+            'isang buwan',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mánaðir',
+            '5 buwan',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'eitt ár',
+            'isang taon',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 ár',
+            '2 taon',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'eitt ár',
+            'isang taon',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 ár',
+            '5 taon',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'um fá sekund', 'prefix');
-        assert.equal(moment(0).from(30000), 'fá sekund síðani', 'suffix');
-    });
-
-    test('now from now', function (assert) {
+        assert.equal(moment(30000).from(0), 'sa loob ng ilang segundo', 'prefix');
         assert.equal(
-            moment().fromNow(),
-            'fá sekund síðani',
-            'now from now should display as in the past'
+            moment(0).from(30000),
+            'ilang segundo ang nakalipas',
+            'suffix'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'um fá sekund',
+            'sa loob ng ilang segundo',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'um 5 dagar', 'in 5 days');
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'sa loob ng 5 araw',
+            'in 5 days'
+        );
     });
 
-    test('calendar day', function (assert) {
+    test('same day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'Í dag kl. 12:00',
+            '12:00 ngayong araw',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Í dag kl. 12:25',
+            '12:25 ngayong araw',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Í dag kl. 13:00',
+            '13:00 ngayong araw',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Í morgin kl. 12:00',
+            'Bukas ng 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Í dag kl. 11:00',
+            '11:00 ngayong araw',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Í gjár kl. 12:00',
+            '12:00 kahapon',
             'yesterday at the same time'
         );
     });
 
-    test('calendar next week', function (assert) {
+    test('same next week', function (assert) {
         var i, m;
 
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kl.] LT'),
-                'today + ' + i + ' days current time'
+                m.format('LT [sa susunod na] dddd'),
+                'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kl.] LT'),
-                'today + ' + i + ' days beginning of day'
+                m.format('LT [sa susunod na] dddd'),
+                'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kl.] LT'),
-                'today + ' + i + ' days end of day'
+                m.format('LT [sa susunod na] dddd'),
+                'Today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar last week', function (assert) {
+    test('same last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[síðstu] dddd [kl] LT'),
-                'today - ' + i + ' days current time'
+                m.format('LT [noong nakaraang] dddd'),
+                'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[síðstu] dddd [kl] LT'),
-                'today - ' + i + ' days beginning of day'
+                m.format('LT [noong nakaraang] dddd'),
+                'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[síðstu] dddd [kl] LT'),
-                'today - ' + i + ' days end of day'
+                m.format('LT [noong nakaraang] dddd'),
+                'Today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar all else', function (assert) {
+    test('same all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(
-            weeksAgo.calendar(),
-            weeksAgo.format('L'),
-            'yksi viikko sitten'
-        );
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'yhden viikon päästä'
+            'in 1 week'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(
-            weeksAgo.calendar(),
-            weeksAgo.format('L'),
-            'kaksi viikkoa sitten'
-        );
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'kaden viikon päästä'
+            'in 2 weeks'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
+            '52 52 52',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
+            '1 01 1',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2.',
+            '2 02 2',
             'Jan 15 2012 should be week 2'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fr-ca');
+    localeModule('fo');
 
     test('parse', function (assert) {
-        var i,
-            tests =
-                'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split(
+        var tests =
+                'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'dimanche, février 14e 2010, 3:25:50 pm',
+                    'dddd [tann] Do MMMM YYYY, h:mm:ss a',
+                    'sunnudagur tann 14. februar 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'dim., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
+                ['ddd hA', 'sun 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14e 14'],
-                ['d do dddd ddd dd', '0 0e dimanche dim. di'],
-                ['DDD DDDo DDDD', '45 45e 045'],
-                ['w wo ww', '8 8e 08'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. sunnudagur sun su'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[le] Do [jour du mois]', 'le 14e jour du mois'],
-                ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
+                ['[tann] DDDo [dagin á árinum]', 'tann 45. dagin á árinum'],
                 ['LTS', '15:25:50'],
-                ['L', '2010-02-14'],
-                ['LL', '14 février 2010'],
-                ['LLL', '14 février 2010 15:25'],
-                ['LLLL', 'dimanche 14 février 2010 15:25'],
-                ['l', '2010-2-14'],
-                ['ll', '14 févr. 2010'],
-                ['lll', '14 févr. 2010 15:25'],
-                ['llll', 'dim. 14 févr. 2010 15:25'],
+                ['L', '14/02/2010'],
+                ['LL', '14 februar 2010'],
+                ['LLL', '14 februar 2010 15:25'],
+                ['LLLL', 'sunnudagur 14. februar, 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 feb 2010'],
+                ['lll', '14 feb 2010 15:25'],
+                ['llll', 'sun 14. feb, 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2017, 0, 1]).format('Mo'), '1er', '1er');
-        assert.equal(moment([2017, 1, 1]).format('Mo'), '2e', '2e');
-
-        assert.equal(moment([2017, 0, 1]).format('Qo'), '1er', '1er');
-        assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
-
-        assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
-        assert.equal(moment([2017, 0, 2]).format('Do'), '2e', '2e');
-
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
-
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
-
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
 
-        assert.equal(moment([2017, 0, 1]).format('do'), '0e', '0e');
-        assert.equal(moment([2017, 0, 2]).format('do'), '1er', '1er');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
 
-        assert.equal(moment([2017, 0, 4]).format('wo Wo'), '1re 1re', '1re 1re');
-        assert.equal(moment([2017, 0, 11]).format('wo Wo'), '2e 2e', '2e 2e');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
-                'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split(
+        var expected =
+                'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
-                'dimanche dim. di_lundi lun. lu_mardi mar. ma_mercredi mer. me_jeudi jeu. je_vendredi ven. ve_samedi sam. sa'.split(
+        var expected =
+                'sunnudagur sun su_mánadagur mán má_týsdagur týs tý_mikudagur mik mi_hósdagur hós hó_fríggjadagur frí fr_leygardagur ley le'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'quelques secondes',
+            'fá sekund',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'une minute',
+            'ein minuttur',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'une minute',
+            'ein minuttur',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutes',
+            '2 minuttir',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutes',
+            '44 minuttir',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'une heure',
+            'ein tími',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'une heure',
+            'ein tími',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 heures',
+            '2 tímar',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 heures',
+            '5 tímar',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 heures',
+            '21 tímar',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'un jour',
+            'ein dagur',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'un jour',
+            'ein dagur',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 jours',
+            '2 dagar',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'un jour',
+            'ein dagur',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 jours',
+            '5 dagar',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 jours',
+            '25 dagar',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'un mois',
+            'ein mánaður',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'un mois',
+            'ein mánaður',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'un mois',
+            'ein mánaður',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mois',
+            '2 mánaðir',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mois',
+            '2 mánaðir',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mois',
+            '3 mánaðir',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'un mois',
+            'ein mánaður',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mois',
+            '5 mánaðir',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'un an',
+            'eitt ár',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 ans',
+            '2 ár',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'un an',
+            'eitt ár',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 ans',
+            '5 ár',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
-        assert.equal(moment(0).from(30000), 'il y a quelques secondes', 'suffix');
+        assert.equal(moment(30000).from(0), 'um fá sekund', 'prefix');
+        assert.equal(moment(0).from(30000), 'fá sekund síðani', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'fá sekund síðani',
+            'now from now should display as in the past'
+        );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'dans quelques secondes',
+            'um fá sekund',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'dans 5 jours', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'um 5 dagar', 'in 5 days');
     });
 
-    test('same day', function (assert) {
+    test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'Aujourd’hui à 12:00',
-            'Today at the same time'
+            'Í dag kl. 12:00',
+            'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Aujourd’hui à 12:25',
+            'Í dag kl. 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Aujourd’hui à 13:00',
+            'Í dag kl. 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Demain à 12:00',
-            'Tomorrow at the same time'
+            'Í morgin kl. 12:00',
+            'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Aujourd’hui à 11:00',
+            'Í dag kl. 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Hier à 12:00',
-            'Yesterday at the same time'
+            'Í gjár kl. 12:00',
+            'yesterday at the same time'
         );
     });
 
-    test('same next week', function (assert) {
+    test('calendar next week', function (assert) {
         var i, m;
 
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [à] LT'),
-                'Today + ' + i + ' days current time'
+                m.format('dddd [kl.] LT'),
+                'today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [à] LT'),
-                'Today + ' + i + ' days beginning of day'
+                m.format('dddd [kl.] LT'),
+                'today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [à] LT'),
-                'Today + ' + i + ' days end of day'
+                m.format('dddd [kl.] LT'),
+                'today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('same last week', function (assert) {
+    test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [dernier à] LT'),
-                'Today - ' + i + ' days current time'
+                m.format('[síðstu] dddd [kl] LT'),
+                'today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [dernier à] LT'),
-                'Today - ' + i + ' days beginning of day'
+                m.format('[síðstu] dddd [kl] LT'),
+                'today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [dernier à] LT'),
-                'Today - ' + i + ' days end of day'
+                m.format('[síðstu] dddd [kl] LT'),
+                'today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('same all else', function (assert) {
+    test('calendar all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+        assert.equal(
+            weeksAgo.calendar(),
+            weeksAgo.format('L'),
+            'yksi viikko sitten'
+        );
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 1 week'
+            'yhden viikon päästä'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+        assert.equal(
+            weeksAgo.calendar(),
+            weeksAgo.format('L'),
+            'kaksi viikkoa sitten'
+        );
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 2 weeks'
+            'kaden viikon päästä'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1re',
-            'Jan  1 2012 should be week 1'
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '1 01 1re',
-            'Jan  7 2012 should be week 1'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1.',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2e',
-            'Jan  8 2012 should be week 2'
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '2 02 2e',
-            'Jan 14 2012 should be week 2'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2.',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3e',
-            'Jan 15 2012 should be week 3'
+            '2 02 2.',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fr-ch');
+    localeModule('fr-ca');
 
     test('parse', function (assert) {
         var i,
                 ['D Do DD', '14 14e 14'],
                 ['d do dddd ddd dd', '0 0e dimanche dim. di'],
                 ['DDD DDDo DDDD', '45 45e 045'],
-                ['w wo ww', '6 6e 06'],
+                ['w wo ww', '8 8e 08'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['[le] Do [jour du mois]', 'le 14e jour du mois'],
                 ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
                 ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
+                ['L', '2010-02-14'],
                 ['LL', '14 février 2010'],
                 ['LLL', '14 février 2010 15:25'],
                 ['LLLL', 'dimanche 14 février 2010 15:25'],
-                ['l', '14.2.2010'],
+                ['l', '2010-2-14'],
                 ['ll', '14 févr. 2010'],
                 ['lll', '14 févr. 2010 15:25'],
                 ['llll', 'dim. 14 févr. 2010 15:25'],
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52e',
-            'Jan  1 2012 should be week 52'
+            '1 01 1re',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
+            moment([2012, 0, 7]).format('w ww wo'),
             '1 01 1re',
-            'Jan  2 2012 should be week 1'
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1re',
-            'Jan  8 2012 should be week 1'
+            '2 02 2e',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
+            moment([2012, 0, 14]).format('w ww wo'),
             '2 02 2e',
-            'Jan  9 2012 should be week 2'
+            'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2e',
-            'Jan 15 2012 should be week 2'
+            '3 03 3e',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fr');
+    localeModule('fr-ch');
 
     test('parse', function (assert) {
         var i,
             tests =
                 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split(
                     '_'
-                ),
-            testsNoDot =
-                'janvier janv_février févr_mars mars_avril avr_mai mai_juin juin_juillet juil_août août_septembre sept_octobre oct_novembre nov_décembre déc'.split(
-                    '_'
                 );
 
         function equalTest(input, mmm, i) {
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
-
-        for (i = 0; i < 12; i++) {
-            testsNoDot[i] = testsNoDot[i].split(' ');
-            equalTest(testsNoDot[i][0], 'MMM', i);
-            equalTest(testsNoDot[i][1], 'MMM', i);
-            equalTest(testsNoDot[i][0], 'MMMM', i);
-            equalTest(testsNoDot[i][1], 'MMMM', i);
-            equalTest(testsNoDot[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsNoDot[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsNoDot[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(testsNoDot[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(testsNoDot[i][1], 'MMM', i);
-            equalTestStrict(testsNoDot[i][0], 'MMMM', i);
-            equalTestStrict(testsNoDot[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(testsNoDot[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(testsNoDot[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(testsNoDot[i][0].toLocaleUpperCase(), 'MMMM', i);
-        }
     });
 
     test('format', function (assert) {
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'dimanche, février 14 2010, 3:25:50 pm',
+                    'dimanche, février 14e 2010, 3:25:50 pm',
                 ],
                 ['ddd, hA', 'dim., 3PM'],
                 ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
+                ['D Do DD', '14 14e 14'],
                 ['d do dddd ddd dd', '0 0e dimanche dim. di'],
                 ['DDD DDDo DDDD', '45 45e 045'],
                 ['w wo ww', '6 6e 06'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[le] Do [jour du mois]', 'le 14 jour du mois'],
+                ['[le] Do [jour du mois]', 'le 14e jour du mois'],
                 ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
+                ['L', '14.02.2010'],
                 ['LL', '14 février 2010'],
                 ['LLL', '14 février 2010 15:25'],
                 ['LLLL', 'dimanche 14 février 2010 15:25'],
-                ['l', '14/2/2010'],
+                ['l', '14.2.2010'],
                 ['ll', '14 févr. 2010'],
                 ['lll', '14 févr. 2010 15:25'],
                 ['llll', 'dim. 14 févr. 2010 15:25'],
         assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
 
         assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
-        assert.equal(moment([2017, 0, 2]).format('Do'), '2', '2');
+        assert.equal(moment([2017, 0, 2]).format('Do'), '2e', '2e');
 
         assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
         assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
         defineCommonLocaleTests(name);
     }
 
-    localeModule('fy');
+    localeModule('fr');
 
     test('parse', function (assert) {
-        var tests =
-                'jannewaris jan._febrewaris feb._maart mrt._april apr._maaie mai._juny jun._july jul._augustus aug._septimber sep._oktober okt._novimber nov._desimber des.'.split(
+        var i,
+            tests =
+                'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split(
                     '_'
                 ),
-            i;
+            testsNoDot =
+                'janvier janv_février févr_mars mars_avril avr_mai mai_juin juin_juillet juil_août août_septembre sept_octobre oct_novembre nov_décembre déc'.split(
+                    '_'
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            // Fails only for month 5 (index 4)
-            // equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            // Fails only for month 5 (index 4)
-            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            // Fails only for month 5 (index 4)
-            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
+
+        for (i = 0; i < 12; i++) {
+            testsNoDot[i] = testsNoDot[i].split(' ');
+            equalTest(testsNoDot[i][0], 'MMM', i);
+            equalTest(testsNoDot[i][1], 'MMM', i);
+            equalTest(testsNoDot[i][0], 'MMMM', i);
+            equalTest(testsNoDot[i][1], 'MMMM', i);
+            equalTest(testsNoDot[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsNoDot[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsNoDot[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(testsNoDot[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(testsNoDot[i][1], 'MMM', i);
+            equalTestStrict(testsNoDot[i][0], 'MMMM', i);
+            equalTestStrict(testsNoDot[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(testsNoDot[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(testsNoDot[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(testsNoDot[i][0].toLocaleUpperCase(), 'MMMM', i);
+        }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, HH:mm:ss',
-                    'snein, febrewaris 14de 2010, 15:25:50',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'dimanche, février 14 2010, 3:25:50 pm',
                 ],
-                ['ddd, HH', 'si., 15'],
-                ['M Mo MM MMMM MMM', '2 2de 02 febrewaris feb.'],
+                ['ddd, hA', 'dim., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14de 14'],
-                ['d do dddd ddd dd', '0 0de snein si. Si'],
-                ['DDD DDDo DDDD', '45 45ste 045'],
-                ['w wo ww', '6 6de 06'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0e dimanche dim. di'],
+                ['DDD DDDo DDDD', '45 45e 045'],
+                ['w wo ww', '6 6e 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45ste day of the year'],
+                ['[le] Do [jour du mois]', 'le 14 jour du mois'],
+                ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
                 ['LTS', '15:25:50'],
-                ['L', '14-02-2010'],
-                ['LL', '14 febrewaris 2010'],
-                ['LLL', '14 febrewaris 2010 15:25'],
-                ['LLLL', 'snein 14 febrewaris 2010 15:25'],
-                ['l', '14-2-2010'],
-                ['ll', '14 feb. 2010'],
-                ['lll', '14 feb. 2010 15:25'],
-                ['llll', 'si. 14 feb. 2010 15:25'],
+                ['L', '14/02/2010'],
+                ['LL', '14 février 2010'],
+                ['LLL', '14 février 2010 15:25'],
+                ['LLLL', 'dimanche 14 février 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 févr. 2010'],
+                ['lll', '14 févr. 2010 15:25'],
+                ['llll', 'dim. 14 févr. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1ste', '1ste');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2de', '2de');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3de', '3de');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4de', '4de');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5de', '5de');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6de', '6de');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7de', '7de');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8ste', '8ste');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9de', '9de');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10de', '10de');
+        assert.equal(moment([2017, 0, 1]).format('Mo'), '1er', '1er');
+        assert.equal(moment([2017, 1, 1]).format('Mo'), '2e', '2e');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11de', '11de');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12de', '12de');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13de', '13de');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14de', '14de');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15de', '15de');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16de', '16de');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17de', '17de');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18de', '18de');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19de', '19de');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20ste', '20ste');
+        assert.equal(moment([2017, 0, 1]).format('Qo'), '1er', '1er');
+        assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21ste', '21ste');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22ste', '22ste');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23ste', '23ste');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24ste', '24ste');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25ste', '25ste');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26ste', '26ste');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27ste', '27ste');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28ste', '28ste');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29ste', '29ste');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30ste', '30ste');
+        assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
+        assert.equal(moment([2017, 0, 2]).format('Do'), '2', '2');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31ste', '31ste');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+
+        assert.equal(moment([2017, 0, 1]).format('do'), '0e', '0e');
+        assert.equal(moment([2017, 0, 2]).format('do'), '1er', '1er');
+
+        assert.equal(moment([2017, 0, 4]).format('wo Wo'), '1re 1re', '1re 1re');
+        assert.equal(moment([2017, 0, 11]).format('wo Wo'), '2e 2e', '2e 2e');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'jannewaris jan._febrewaris feb._maart mrt._april apr._maaie mai_juny jun._july jul._augustus aug._septimber sep._oktober okt._novimber nov._desimber des.'.split(
+        var i,
+            expected =
+                'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'snein si. Si_moandei mo. Mo_tiisdei ti. Ti_woansdei wo. Wo_tongersdei to. To_freed fr. Fr_sneon so. So'.split(
+        var i,
+            expected =
+                'dimanche dim. di_lundi lun. lu_mardi mar. ma_mercredi mer. me_jeudi jeu. je_vendredi ven. ve_samedi sam. sa'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'in pear sekonden',
+            'quelques secondes',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ien minút',
+            'une minute',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ien minút',
+            'une minute',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minuten',
+            '2 minutes',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuten',
+            '44 minutes',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ien oere',
+            'une heure',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ien oere',
+            'une heure',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 oeren',
+            '2 heures',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 oeren',
+            '5 heures',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 oeren',
+            '21 heures',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ien dei',
+            'un jour',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ien dei',
+            'un jour',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dagen',
+            '2 jours',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ien dei',
+            'un jour',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dagen',
+            '5 jours',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dagen',
+            '25 jours',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ien moanne',
+            'un mois',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ien moanne',
+            'un mois',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ien moanne',
+            'un mois',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 moannen',
+            '2 mois',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 moannen',
+            '2 mois',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 moannen',
+            '3 mois',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ien moanne',
+            'un mois',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 moannen',
+            '5 mois',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ien jier',
+            'un an',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 jierren',
+            '2 ans',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ien jier',
+            'un an',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 jierren',
+            '5 ans',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'oer in pear sekonden', 'prefix');
-        assert.equal(moment(0).from(30000), 'in pear sekonden lyn', 'suffix');
-    });
-
-    test('now from now', function (assert) {
-        assert.equal(
-            moment().fromNow(),
-            'in pear sekonden lyn',
-            'now from now should display as in the past'
-        );
+        assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
+        assert.equal(moment(0).from(30000), 'il y a quelques secondes', 'suffix');
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'oer in pear sekonden',
+            'dans quelques secondes',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'oer 5 dagen', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'dans 5 jours', 'in 5 days');
     });
 
-    test('calendar day', function (assert) {
+    test('same day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
         assert.equal(
             moment(a).calendar(),
-            'hjoed om 12:00',
-            'today at the same time'
+            'Aujourd’hui à 12:00',
+            'Today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hjoed om 12:25',
+            'Aujourd’hui à 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hjoed om 13:00',
+            'Aujourd’hui à 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'moarn om 12:00',
-            'tomorrow at the same time'
+            'Demain à 12:00',
+            'Tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hjoed om 11:00',
+            'Aujourd’hui à 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'juster om 12:00',
-            'yesterday at the same time'
+            'Hier à 12:00',
+            'Yesterday at the same time'
         );
     });
 
-    test('calendar next week', function (assert) {
+    test('same next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [om] LT'),
+                m.format('dddd [à] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [om] LT'),
+                m.format('dddd [à] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [om] LT'),
+                m.format('dddd [à] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar last week', function (assert) {
+    test('same last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[ôfrûne] dddd [om] LT'),
+                m.format('dddd [dernier à] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[ôfrûne] dddd [om] LT'),
+                m.format('dddd [dernier à] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[ôfrûne] dddd [om] LT'),
+                m.format('dddd [dernier à] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
-    test('calendar all else', function (assert) {
+    test('same all else', function (assert) {
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
         );
     });
 
-    test('month abbreviation', function (assert) {
-        assert.equal(
-            moment([2012, 5, 23]).format('D-MMM-YYYY'),
-            '23-jun-2012',
-            'format month abbreviation surrounded by dashes should not include a dot'
-        );
-        assert.equal(
-            moment([2012, 5, 23]).format('D MMM YYYY'),
-            '23 jun. 2012',
-            'format month abbreviation not surrounded by dashes should include a dot'
-        );
-    });
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52ste',
+            '52 52 52e',
             'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1ste',
+            '1 01 1re',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1ste',
+            '1 01 1re',
             'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2de',
+            '2 02 2e',
             'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2de',
+            '2 02 2e',
             'Jan 15 2012 should be week 2'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ga');
-
-    var months = [
-        'Eanáir,Ean',
-        'Feabhra,Feabh',
-        'Márta,Márt',
-        'Aibreán,Aib',
-        'Bealtaine,Beal',
-        'Meitheamh,Meith',
-        'Iúil,Iúil',
-        'Lúnasa,Lún',
-        'Meán Fómhair,M.F.',
-        'Deireadh Fómhair,D.F.',
-        'Samhain,Samh',
-        'Nollaig,Noll',
-    ];
+    localeModule('fy');
 
     test('parse', function (assert) {
-        function equalTest(monthName, monthFormat, monthNum) {
+        var tests =
+                'jannewaris jan._febrewaris feb._maart mrt._april apr._maaie mai._juny jun._july jul._augustus aug._septimber sep._oktober okt._novimber nov._desimber des.'.split(
+                    '_'
+                ),
+            i;
+        function equalTest(input, mmm, i) {
             assert.equal(
-                moment(monthName, monthFormat).month(),
-                monthNum,
-                monthName + ' should be month ' + (monthNum + 1)
+                moment(input, mmm).month(),
+                i,
+                input + ' should be month ' + (i + 1)
+            );
+        }
+
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
             );
         }
 
-        var i, testMonth;
         for (i = 0; i < 12; i++) {
-            testMonth = months[i].split(',');
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTest(testMonth[0], 'MMM', i);
-            equalTest(testMonth[1], 'MMM', i);
-            equalTest(testMonth[0], 'MMMM', i);
-            equalTest(testMonth[1], 'MMMM', i);
-            equalTest(testMonth[0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testMonth[1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testMonth[0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(testMonth[1].toLocaleUpperCase(), 'MMMM', i);
+            // Fails only for month 5 (index 4)
+            // equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            // Fails only for month 5 (index 4)
+            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            // Fails only for month 5 (index 4)
+            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Dé Domhnaigh, Feabhra 14mh 2010, 3:25:50 pm',
+                    'dddd, MMMM Do YYYY, HH:mm:ss',
+                    'snein, febrewaris 14de 2010, 15:25:50',
                 ],
-                ['ddd, hA', 'Domh, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2na 02 Feabhra Feabh'],
+                ['ddd, HH', 'si., 15'],
+                ['M Mo MM MMMM MMM', '2 2de 02 febrewaris feb.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14mh 14'],
-                ['d do dddd ddd dd', '0 0mh Dé Domhnaigh Domh Do'],
-                ['DDD DDDo DDDD', '45 45mh 045'],
-                ['w wo ww', '6 6mh 06'],
+                ['D Do DD', '14 14de 14'],
+                ['d do dddd ddd dd', '0 0de snein si. Si'],
+                ['DDD DDDo DDDD', '45 45ste 045'],
+                ['w wo ww', '6 6de 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[an] DDDo [latha den bhliadhna]', 'an 45mh latha den bhliadhna'],
+                ['[the] DDDo [day of the year]', 'the 45ste day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 Feabhra 2010'],
-                ['LLL', '14 Feabhra 2010 15:25'],
-                ['LLLL', 'Dé Domhnaigh, 14 Feabhra 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 Feabh 2010'],
-                ['lll', '14 Feabh 2010 15:25'],
-                ['llll', 'Domh, 14 Feabh 2010 15:25'],
+                ['L', '14-02-2010'],
+                ['LL', '14 febrewaris 2010'],
+                ['LLL', '14 febrewaris 2010 15:25'],
+                ['LLLL', 'snein 14 febrewaris 2010 15:25'],
+                ['l', '14-2-2010'],
+                ['ll', '14 feb. 2010'],
+                ['lll', '14 feb. 2010 15:25'],
+                ['llll', 'si. 14 feb. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1d', '1d');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2na', '2na');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3mh', '3mh');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4mh', '4mh');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5mh', '5mh');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6mh', '6mh');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7mh', '7mh');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8mh', '8mh');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9mh', '9mh');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10mh', '10mh');
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11mh', '11mh');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12na', '12na');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13mh', '13mh');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14mh', '14mh');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15mh', '15mh');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16mh', '16mh');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17mh', '17mh');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18mh', '18mh');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19mh', '19mh');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20mh', '20mh');
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21mh', '21mh');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22na', '22na');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23mh', '23mh');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24mh', '24mh');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25mh', '25mh');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26mh', '26mh');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27mh', '27mh');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28mh', '28mh');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29mh', '29mh');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30mh', '30mh');
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31mh', '31mh');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1ste', '1ste');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2de', '2de');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3de', '3de');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4de', '4de');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5de', '5de');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6de', '6de');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7de', '7de');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8ste', '8ste');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9de', '9de');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10de', '10de');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11de', '11de');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12de', '12de');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13de', '13de');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14de', '14de');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15de', '15de');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16de', '16de');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17de', '17de');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18de', '18de');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19de', '19de');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20ste', '20ste');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21ste', '21ste');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22ste', '22ste');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23ste', '23ste');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24ste', '24ste');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25ste', '25ste');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26ste', '26ste');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27ste', '27ste');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28ste', '28ste');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29ste', '29ste');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30ste', '30ste');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31ste', '31ste');
     });
 
     test('format month', function (assert) {
-        var expected = months,
+        var expected =
+                'jannewaris jan._febrewaris feb._maart mrt._april apr._maaie mai_juny jun._july jul._augustus aug._septimber sep._oktober okt._novimber nov._desimber des.'.split(
+                    '_'
+                ),
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
-                moment([2011, i, 1]).format('MMMM,MMM'),
+                moment([2011, i, 1]).format('MMMM MMM'),
                 expected[i],
                 expected[i]
             );
     });
 
     test('format week', function (assert) {
-        var expected = [
-                'Dé Domhnaigh Domh Do',
-                'Dé Luain Luan Lu',
-                'Dé Máirt Máirt Má',
-                'Dé Céadaoin Céad Cé',
-                'Déardaoin Déar Dé',
-                'Dé hAoine Aoine A',
-                'Dé Sathairn Sath Sa',
-            ],
+        var expected =
+                'snein si. Si_moandei mo. Mo_tiisdei ti. Ti_woansdei wo. Wo_tongersdei to. To_freed fr. Fr_sneon so. So'.split(
+                    '_'
+                ),
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'cúpla soicind',
+            'in pear sekonden',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'nóiméad',
+            'ien minút',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'nóiméad',
+            'ien minút',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 nóiméad',
+            '2 minuten',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 nóiméad',
+            '44 minuten',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'uair an chloig',
+            'ien oere',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'uair an chloig',
+            'ien oere',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 uair an chloig',
+            '2 oeren',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 uair an chloig',
+            '5 oeren',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 uair an chloig',
+            '21 oeren',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            '',
+            'ien dei',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            '',
+            'ien dei',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 ',
+            '2 dagen',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            '',
+            'ien dei',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 ',
+            '5 dagen',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 ',
+            '25 dagen',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            '',
+            'ien moanne',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            '',
+            'ien moanne',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            '',
+            'ien moanne',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 míonna',
+            '2 moannen',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 míonna',
+            '2 moannen',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 míonna',
+            '3 moannen',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            '',
+            'ien moanne',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 míonna',
+            '5 moannen',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'bliain',
+            'ien jier',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 bliain',
+            '2 jierren',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'bliain',
+            'ien jier',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 bliain',
+            '5 jierren',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'i cúpla soicind', 'prefix');
-        assert.equal(moment(0).from(30000), 'cúpla soicind ó shin', 'suffix');
+        assert.equal(moment(30000).from(0), 'oer in pear sekonden', 'prefix');
+        assert.equal(moment(0).from(30000), 'in pear sekonden lyn', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'cúpla soicind ó shin',
+            'in pear sekonden lyn',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'i cúpla soicind',
+            'oer in pear sekonden',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'i 5 lá', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'oer 5 dagen', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Inniu ag 12:00',
+            'hjoed om 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Inniu ag 12:25',
+            'hjoed om 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Inniu ag 13:00',
+            'hjoed om 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Amárach ag 12:00',
+            'moarn om 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Inniu ag 11:00',
+            'hjoed om 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Inné ag 12:00',
+            'juster om 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ag] LT'),
+                m.format('dddd [om] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ag] LT'),
+                m.format('dddd [om] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ag] LT'),
+                m.format('dddd [om] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo caite] [ag] LT'),
+                m.format('[ôfrûne] dddd [om] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo caite] [ag] LT'),
+                m.format('[ôfrûne] dddd [om] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo caite] [ag] LT'),
+                m.format('[ôfrûne] dddd [om] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
+    test('month abbreviation', function (assert) {
+        assert.equal(
+            moment([2012, 5, 23]).format('D-MMM-YYYY'),
+            '23-jun-2012',
+            'format month abbreviation surrounded by dashes should not include a dot'
+        );
+        assert.equal(
+            moment([2012, 5, 23]).format('D MMM YYYY'),
+            '23 jun. 2012',
+            'format month abbreviation not surrounded by dashes should include a dot'
+        );
+    });
+
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52na',
-            'Ean  1 2012 should be week 52'
+            '52 52 52ste',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1d',
-            'Ean  2 2012 should be week 1'
+            '1 01 1ste',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1d',
-            'Ean  8 2012 should be week 1'
+            '1 01 1ste',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2na',
-            'Ean  9 2012 should be week 2'
+            '2 02 2de',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2na',
-            'Ean 15 2012 should be week 2'
+            '2 02 2de',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('gd');
+    localeModule('ga');
 
     var months = [
-        'Am Faoilleach,Faoi',
-        'An Gearran,Gear',
-        'Am Màrt,Màrt',
-        'An Giblean,Gibl',
-        'An Cèitean,Cèit',
-        'An t-Ògmhios,Ògmh',
-        'An t-Iuchar,Iuch',
-        'An Lùnastal,Lùn',
-        'An t-Sultain,Sult',
-        'An Dàmhair,Dàmh',
-        'An t-Samhain,Samh',
-        'An Dùbhlachd,Dùbh',
+        'Eanáir,Ean',
+        'Feabhra,Feabh',
+        'Márta,Márt',
+        'Aibreán,Aib',
+        'Bealtaine,Beal',
+        'Meitheamh,Meith',
+        'Iúil,Iúil',
+        'Lúnasa,Lún',
+        'Meán Fómhair,M.F.',
+        'Deireadh Fómhair,D.F.',
+        'Samhain,Samh',
+        'Nollaig,Noll',
     ];
 
     test('parse', function (assert) {
             );
         }
 
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
-
         var i, testMonth;
         for (i = 0; i < 12; i++) {
             testMonth = months[i].split(',');
             equalTest(testMonth[1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(testMonth[0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(testMonth[1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(testMonth[1], 'MMM', i);
-            equalTestStrict(testMonth[0], 'MMMM', i);
-            equalTestStrict(testMonth[1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(testMonth[1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(testMonth[0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(testMonth[0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Didòmhnaich, An Gearran 14mh 2010, 3:25:50 pm',
+                    'Dé Domhnaigh, Feabhra 14mh 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'Did, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2na 02 An Gearran Gear'],
+                ['ddd, hA', 'Domh, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2na 02 Feabhra Feabh'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14mh 14'],
-                ['d do dddd ddd dd', '0 0mh Didòmhnaich Did Dò'],
+                ['d do dddd ddd dd', '0 0mh Dé Domhnaigh Domh Do'],
                 ['DDD DDDo DDDD', '45 45mh 045'],
                 ['w wo ww', '6 6mh 06'],
                 ['h hh', '3 03'],
                 ['[an] DDDo [latha den bhliadhna]', 'an 45mh latha den bhliadhna'],
                 ['LTS', '15:25:50'],
                 ['L', '14/02/2010'],
-                ['LL', '14 An Gearran 2010'],
-                ['LLL', '14 An Gearran 2010 15:25'],
-                ['LLLL', 'Didòmhnaich, 14 An Gearran 2010 15:25'],
+                ['LL', '14 Feabhra 2010'],
+                ['LLL', '14 Feabhra 2010 15:25'],
+                ['LLLL', 'Dé Domhnaigh, 14 Feabhra 2010 15:25'],
                 ['l', '14/2/2010'],
-                ['ll', '14 Gear 2010'],
-                ['lll', '14 Gear 2010 15:25'],
-                ['llll', 'Did, 14 Gear 2010 15:25'],
+                ['ll', '14 Feabh 2010'],
+                ['lll', '14 Feabh 2010 15:25'],
+                ['llll', 'Domh, 14 Feabh 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
 
     test('format week', function (assert) {
         var expected = [
-                'Didòmhnaich Did Dò',
-                'Diluain Dil Lu',
-                'Dimàirt Dim Mà',
-                'Diciadain Dic Ci',
-                'Diardaoin Dia Ar',
-                'Dihaoine Dih Ha',
-                'Disathairne Dis Sa',
+                'Dé Domhnaigh Domh Do',
+                'Dé Luain Luan Lu',
+                'Dé Máirt Máirt Má',
+                'Dé Céadaoin Céad Cé',
+                'Déardaoin Déar Dé',
+                'Dé hAoine Aoine A',
+                'Dé Sathairn Sath Sa',
             ],
             i;
         for (i = 0; i < expected.length; i++) {
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'beagan diogan',
+            'cúpla soicind',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'mionaid',
+            'nóiméad',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'mionaid',
+            'nóiméad',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 mionaidean',
+            '2 nóiméad',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 mionaidean',
+            '44 nóiméad',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'uair',
+            'uair an chloig',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'uair',
+            'uair an chloig',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 uairean',
+            '2 uair an chloig',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 uairean',
+            '5 uair an chloig',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 uairean',
+            '21 uair an chloig',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'latha',
+            'lá',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'latha',
+            'lá',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 latha',
+            '2 lá',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'latha',
+            'lá',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 latha',
+            '5 lá',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 latha',
+            '25 lá',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'mìos',
+            'mí',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'mìos',
+            'mí',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'mìos',
+            'mí',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mìosan',
+            '2 míonna',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mìosan',
+            '2 míonna',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mìosan',
+            '3 míonna',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'mìos',
+            'mí',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mìosan',
+            '5 míonna',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'bliadhna',
+            'bliain',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 bliadhna',
+            '2 bliain',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'bliadhna',
+            'bliain',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 bliadhna',
+            '5 bliain',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'ann an beagan diogan', 'prefix');
-        assert.equal(moment(0).from(30000), 'bho chionn beagan diogan', 'suffix');
+        assert.equal(moment(30000).from(0), 'i cúpla soicind', 'prefix');
+        assert.equal(moment(0).from(30000), 'cúpla soicind ó shin', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'bho chionn beagan diogan',
+            'cúpla soicind ó shin',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'ann an beagan diogan',
+            'i cúpla soicind',
             'in a few seconds'
         );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'ann an 5 latha',
-            'in 5 days'
-        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'i 5 lá', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'An-diugh aig 12:00',
+            'Inniu ag 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'An-diugh aig 12:25',
+            'Inniu ag 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'An-diugh aig 13:00',
+            'Inniu ag 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'A-màireach aig 12:00',
+            'Amárach ag 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'An-diugh aig 11:00',
+            'Inniu ag 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'An-dè aig 12:00',
+            'Inné ag 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [aig] LT'),
+                m.format('dddd [ag] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [aig] LT'),
+                m.format('dddd [ag] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [aig] LT'),
+                m.format('dddd [ag] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo chaidh] [aig] LT'),
+                m.format('dddd [seo caite] [ag] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo chaidh] [aig] LT'),
+                m.format('dddd [seo caite] [ag] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [seo chaidh] [aig] LT'),
+                m.format('dddd [seo caite] [ag] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
             '52 52 52na',
-            'Faoi  1 2012 should be week 52'
+            'Ean  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
             '1 01 1d',
-            'Faoi  2 2012 should be week 1'
+            'Ean  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
             '1 01 1d',
-            'Faoi  8 2012 should be week 1'
+            'Ean  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
             '2 02 2na',
-            'Faoi  9 2012 should be week 2'
+            'Ean  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
             '2 02 2na',
-            'Faoi 15 2012 should be week 2'
+            'Ean 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('gl');
+    localeModule('gd');
+
+    var months = [
+        'Am Faoilleach,Faoi',
+        'An Gearran,Gear',
+        'Am Màrt,Màrt',
+        'An Giblean,Gibl',
+        'An Cèitean,Cèit',
+        'An t-Ògmhios,Ògmh',
+        'An t-Iuchar,Iuch',
+        'An Lùnastal,Lùn',
+        'An t-Sultain,Sult',
+        'An Dàmhair,Dàmh',
+        'An t-Samhain,Samh',
+        'An Dùbhlachd,Dùbh',
+    ];
 
     test('parse', function (assert) {
-        var tests =
-                'xaneiro xan._febreiro feb._marzo mar._abril abr._maio mai._xuño xuñ._xullo xul._agosto ago._setembro set._outubro out._novembro nov._decembro dec.'.split(
-                    '_'
-                ),
-            i;
-        function equalTest(input, mmm, i) {
+        function equalTest(monthName, monthFormat, monthNum) {
             assert.equal(
-                moment(input, mmm).month(),
-                i,
-                input + ' should be month ' + (i + 1)
+                moment(monthName, monthFormat).month(),
+                monthNum,
+                monthName + ' should be month ' + (monthNum + 1)
             );
         }
+
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
             );
         }
 
+        var i, testMonth;
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(' ');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            testMonth = months[i].split(',');
 
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(testMonth[0], 'MMM', i);
+            equalTest(testMonth[1], 'MMM', i);
+            equalTest(testMonth[0], 'MMMM', i);
+            equalTest(testMonth[1], 'MMMM', i);
+            equalTest(testMonth[0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testMonth[1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testMonth[0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(testMonth[1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(testMonth[1], 'MMM', i);
+            equalTestStrict(testMonth[0], 'MMMM', i);
+            equalTestStrict(testMonth[1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(testMonth[1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(testMonth[0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(testMonth[0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'domingo, febreiro 14º 2010, 3:25:50 pm',
+                    'Didòmhnaich, An Gearran 14mh 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'dom., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2º 02 febreiro feb.'],
+                ['ddd, hA', 'Did, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2na 02 An Gearran Gear'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14º 14'],
-                ['d do dddd ddd dd', '0 0º domingo dom. do'],
-                ['DDD DDDo DDDD', '45 45º 045'],
-                ['w wo ww', '6 6º 06'],
+                ['D Do DD', '14 14mh 14'],
+                ['d do dddd ddd dd', '0 0mh Didòmhnaich Did Dò'],
+                ['DDD DDDo DDDD', '45 45mh 045'],
+                ['w wo ww', '6 6mh 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45º day of the year'],
+                ['[an] DDDo [latha den bhliadhna]', 'an 45mh latha den bhliadhna'],
                 ['LTS', '15:25:50'],
                 ['L', '14/02/2010'],
-                ['LL', '14 de febreiro de 2010'],
-                ['LLL', '14 de febreiro de 2010 15:25'],
-                ['LLLL', 'domingo, 14 de febreiro de 2010 15:25'],
+                ['LL', '14 An Gearran 2010'],
+                ['LLL', '14 An Gearran 2010 15:25'],
+                ['LLLL', 'Didòmhnaich, 14 An Gearran 2010 15:25'],
                 ['l', '14/2/2010'],
-                ['ll', '14 de feb. de 2010'],
-                ['lll', '14 de feb. de 2010 15:25'],
-                ['llll', 'dom., 14 de feb. de 2010 15:25'],
+                ['ll', '14 Gear 2010'],
+                ['lll', '14 Gear 2010 15:25'],
+                ['llll', 'Did, 14 Gear 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
-
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
-
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
-
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1d', '1d');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2na', '2na');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3mh', '3mh');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4mh', '4mh');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5mh', '5mh');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6mh', '6mh');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7mh', '7mh');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8mh', '8mh');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9mh', '9mh');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10mh', '10mh');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11mh', '11mh');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12na', '12na');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13mh', '13mh');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14mh', '14mh');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15mh', '15mh');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16mh', '16mh');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17mh', '17mh');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18mh', '18mh');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19mh', '19mh');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20mh', '20mh');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21mh', '21mh');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22na', '22na');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23mh', '23mh');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24mh', '24mh');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25mh', '25mh');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26mh', '26mh');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27mh', '27mh');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28mh', '28mh');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29mh', '29mh');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30mh', '30mh');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31mh', '31mh');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'xaneiro xan._febreiro feb._marzo mar._abril abr._maio mai._xuño xuñ._xullo xul._agosto ago._setembro set._outubro out._novembro nov._decembro dec.'.split(
-                    '_'
-                ),
+        var expected = months,
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
-                moment([2011, i, 1]).format('MMMM MMM'),
+                moment([2011, i, 1]).format('MMMM,MMM'),
                 expected[i],
                 expected[i]
             );
     });
 
     test('format week', function (assert) {
-        var expected =
-                'domingo dom. do_luns lun. lu_martes mar. ma_mércores mér. mé_xoves xov. xo_venres ven. ve_sábado sáb. sá'.split(
-                    '_'
-                ),
+        var expected = [
+                'Didòmhnaich Did Dò',
+                'Diluain Dil Lu',
+                'Dimàirt Dim Mà',
+                'Diciadain Dic Ci',
+                'Diardaoin Dia Ar',
+                'Dihaoine Dih Ha',
+                'Disathairne Dis Sa',
+            ],
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'uns segundos',
+            'beagan diogan',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'un minuto',
+            'mionaid',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'un minuto',
+            'mionaid',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minutos',
+            '2 mionaidean',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minutos',
+            '44 mionaidean',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'unha hora',
+            'uair',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'unha hora',
+            'uair',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 horas',
+            '2 uairean',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 horas',
+            '5 uairean',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 horas',
+            '21 uairean',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'un día',
+            'latha',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'un día',
+            'latha',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 días',
+            '2 latha',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'un día',
+            'latha',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 días',
+            '5 latha',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 días',
+            '25 latha',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'un mes',
+            'mìos',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'un mes',
+            'mìos',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'un mes',
+            'mìos',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 meses',
+            '2 mìosan',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 meses',
+            '2 mìosan',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 meses',
+            '3 mìosan',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'un mes',
+            'mìos',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 meses',
+            '5 mìosan',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'un ano',
+            'bliadhna',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 anos',
+            '2 bliadhna',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'un ano',
+            'bliadhna',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 anos',
+            '5 bliadhna',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'nuns segundos', 'prefix');
-        assert.equal(moment(0).from(30000), 'hai uns segundos', 'suffix');
+        assert.equal(moment(30000).from(0), 'ann an beagan diogan', 'prefix');
+        assert.equal(moment(0).from(30000), 'bho chionn beagan diogan', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'hai uns segundos',
+            'bho chionn beagan diogan',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'nuns segundos',
-            'nuns segundos'
+            'ann an beagan diogan',
+            'in a few seconds'
+        );
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'ann an 5 latha',
+            'in 5 days'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'en 5 días', 'en 5 días');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'hoxe ás 12:00',
+            'An-diugh aig 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'hoxe ás 12:25',
+            'An-diugh aig 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'hoxe ás 13:00',
+            'An-diugh aig 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'mañá ás 12:00',
+            'A-màireach aig 12:00',
             'tomorrow at the same time'
         );
-        assert.equal(
-            moment(a).add({ d: 1, h: -1 }).calendar(),
-            'mañá ás 11:00',
-            'tomorrow minus 1 hour'
-        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'hoxe ás 11:00',
+            'An-diugh aig 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'onte á 12:00',
+            'An-dè aig 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
+                m.format('dddd [aig] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
+                m.format('dddd [aig] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
+                m.format('dddd [aig] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
-                ),
+                m.format('dddd [seo chaidh] [aig] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
-                ),
+                m.format('dddd [seo chaidh] [aig] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(
-                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
-                ),
+                m.format('dddd [seo chaidh] [aig] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('regression tests', function (assert) {
-        var lastWeek = moment().subtract({ d: 4 }).hours(1);
-        assert.equal(
-            lastWeek.calendar(),
-            lastWeek.format('[o] dddd [pasado a] LT'),
-            "1 o'clock bug"
-        );
-    });
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52º',
-            'Jan  1 2012 should be week 52'
+            '52 52 52na',
+            'Faoi  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  2 2012 should be week 1'
+            '1 01 1d',
+            'Faoi  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1º',
-            'Jan  8 2012 should be week 1'
+            '1 01 1d',
+            'Faoi  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2º',
-            'Jan  9 2012 should be week 2'
+            '2 02 2na',
+            'Faoi  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '2 02 2º',
-            'Jan 15 2012 should be week 2'
+            '2 02 2na',
+            'Faoi 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('gom-deva');
+    localeModule('gl');
 
     test('parse', function (assert) {
-        var i,
-            tests =
-                'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च_एप्रील एप्री._मे मे_जून जून_जुलय जुल._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split(
+        var tests =
+                'xaneiro xan._febreiro feb._marzo mar._abril abr._maio mai._xuño xuñ._xullo xul._agosto ago._setembro set._outubro out._novembro nov._decembro dec.'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'आयतार, फेब्रुवारीच्या 14वेर 2010, 3:25:50 दनपारां',
+                    'domingo, febreiro 14º 2010, 3:25:50 pm',
                 ],
-                ['ddd, h A', 'आयत., 3 दनपारां'],
-                ['M Mo MM MMMM MMM', '2 2 02 फेब्रुवारी फेब्रु.'],
+                ['ddd, hA', 'dom., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2º 02 febreiro feb.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14वेर 14'],
-                ['d do dddd ddd dd', '0 0 आयतार आयत. आ'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '7 7 07'],
+                ['D Do DD', '14 14º 14'],
+                ['d do dddd ddd dd', '0 0º domingo dom. do'],
+                ['DDD DDDo DDDD', '45 45º 045'],
+                ['w wo ww', '6 6º 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'दनपारां दनपारां'],
-                ['[वर्साचो] DDDo[वो दीस]', 'वर्साचो 45वो दीस'],
-                ['LTS', 'दनपारां 3:25:50 वाजतां'],
-                ['L', '14-02-2010'],
-                ['LL', '14 फेब्रुवारी 2010'],
-                ['LLL', '14 फेब्रुवारी 2010 दनपारां 3:25 वाजतां'],
-                ['LLLL', 'आयतार, फेब्रुवारीच्या 14वेर, 2010, दनपारां 3:25 वाजतां'],
-                ['l', '14-2-2010'],
-                ['ll', '14 फेब्रु. 2010'],
-                ['lll', '14 फेब्रु. 2010 दनपारां 3:25 वाजतां'],
-                ['llll', 'आयत., 14 फेब्रु. 2010, दनपारां 3:25 वाजतां'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45º day of the year'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
+                ['LL', '14 de febreiro de 2010'],
+                ['LLL', '14 de febreiro de 2010 15:25'],
+                ['LLLL', 'domingo, 14 de febreiro de 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 de feb. de 2010'],
+                ['lll', '14 de feb. de 2010 15:25'],
+                ['llll', 'dom., 14 de feb. de 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
-                'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च_एप्रील एप्री._मे मे_जून जून_जुलय जुल._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split(
+        var expected =
+                'xaneiro xan._febreiro feb._marzo mar._abril abr._maio mai._xuño xuñ._xullo xul._agosto ago._setembro set._outubro out._novembro nov._decembro dec.'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
-                'आयतार आयत. आ_सोमार सोम. सो_मंगळार मंगळ. मं_बुधवार बुध. बु_बिरेस्तार ब्रेस्त. ब्रे_सुक्रार सुक्र. सु_शेनवार शेन. शे'.split(
+        var expected =
+                'domingo dom. do_luns lun. lu_martes mar. ma_mércores mér. mé_xoves xov. xo_venres ven. ve_sábado sáb. sá'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'थोडे सॅकंड',
+            'uns segundos',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'एक मिनूट',
+            'un minuto',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'एक मिनूट',
+            'un minuto',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 मिणटां',
+            '2 minutos',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 मिणटां',
+            '44 minutos',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'एक वर',
+            'unha hora',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'एक वर',
+            'unha hora',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 वरां',
+            '2 horas',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 वरां',
+            '5 horas',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 वरां',
+            '21 horas',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'एक दीस',
+            'un día',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'एक दीस',
+            'un día',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 दीस',
+            '2 días',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'एक दीस',
+            'un día',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 दीस',
+            '5 días',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 दीस',
+            '25 días',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'एक म्हयनो',
+            'un mes',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'एक म्हयनो',
+            'un mes',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'एक म्हयनो',
+            'un mes',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 म्हयने',
+            '2 meses',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 म्हयने',
+            '2 meses',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 म्हयने',
+            '3 meses',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'एक म्हयनो',
+            'un mes',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 म्हयने',
+            '5 meses',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'एक वर्स',
+            'un ano',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 वर्सां',
+            '2 anos',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'एक वर्स',
+            'un ano',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 वर्सां',
+            '5 anos',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'थोडया सॅकंडांनी', 'prefix');
-        assert.equal(moment(0).from(30000), 'थोडे सॅकंड आदीं', 'suffix');
+        assert.equal(moment(30000).from(0), 'nuns segundos', 'prefix');
+        assert.equal(moment(0).from(30000), 'hai uns segundos', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'थोडे सॅकंड आदीं',
+            'hai uns segundos',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'थोडया सॅकंडांनी',
-            'in a few seconds'
-        );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 दिसांनी', 'in 5 days');
-    });
-
-    test('ago', function (assert) {
-        assert.equal(
-            moment().subtract({ h: 3 }).fromNow(),
-            '3 वरां आदीं',
-            '3 hours ago'
+            'nuns segundos',
+            'nuns segundos'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'en 5 días', 'en 5 días');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'आयज दनपारां 12:00 वाजतां',
+            'hoxe ás 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'आयज दनपारां 12:25 वाजतां',
+            'hoxe ás 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'आयज दनपारां 1:00 वाजतां',
+            'hoxe ás 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'फाल्यां दनपारां 12:00 वाजतां',
+            'mañá ás 12:00',
             'tomorrow at the same time'
         );
+        assert.equal(
+            moment(a).add({ d: 1, h: -1 }).calendar(),
+            'mañá ás 11:00',
+            'tomorrow minus 1 hour'
+        );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'आयज सकाळीं 11:00 वाजतां',
+            'hoxe ás 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'काल दनपारां 12:00 वाजतां',
+            'onte á 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[फुडलो] dddd[,] LT'),
+                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[फुडलो] dddd[,] LT'),
+                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[फुडलो] dddd[,] LT'),
+                m.format('dddd [' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[फाटलो] dddd[,] LT'),
+                m.format(
+                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
+                ),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[फाटलो] dddd[,] LT'),
+                m.format(
+                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
+                ),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[फाटलो] dddd[,] LT'),
+                m.format(
+                    '[o] dddd [pasado ' + (m.hours() !== 1 ? 'ás' : 'a') + '] LT'
+                ),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('regression tests', function (assert) {
+        var lastWeek = moment().subtract({ d: 4 }).hours(1);
+        assert.equal(
+            lastWeek.calendar(),
+            lastWeek.format('[o] dddd [pasado a] LT'),
+            "1 o'clock bug"
+        );
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1',
-            'Jan  1 2012 should be week 1'
+            '52 52 52º',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1',
+            '1 01 1º',
             'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2',
-            'Jan  8 2012 should be week 2'
+            '1 01 1º',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '2 02 2',
-            'Jan 14 2012 should be week 2'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2º',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3',
-            'Jan 15 2012 should be week 3'
+            '2 02 2º',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('gom-latn');
+    localeModule('gom-deva');
 
     test('parse', function (assert) {
         var i,
             tests =
-                'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split(
+                'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च_एप्रील एप्री._मे मे_जून जून_जुलय जुल._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split(
                     '_'
                 );
 
                 input + ' should be month ' + (i + 1)
             );
         }
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Aitar, Febrerachea 14er 2010, 3:25:50 donparam',
+                    'आयतार, फेब्रुवारीच्या 14वेर 2010, 3:25:50 दनपारां',
                 ],
-                ['ddd, h A', 'Ait., 3 donparam'],
-                ['M Mo MM MMMM MMM', '2 2 02 Febrer Feb.'],
+                ['ddd, h A', 'आयत., 3 दनपारां'],
+                ['M Mo MM MMMM MMM', '2 2 02 फेब्रुवारी फेब्रु.'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14er 14'],
-                ['d do dddd ddd dd', '0 0 Aitar Ait. Ai'],
+                ['D Do DD', '14 14वेर 14'],
+                ['d do dddd ddd dd', '0 0 आयतार आयत. आ'],
                 ['DDD DDDo DDDD', '45 45 045'],
                 ['w wo ww', '7 7 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'donparam donparam'],
-                ['[Vorsacho] DDDo[vo dis]', 'Vorsacho 45vo dis'],
-                ['LTS', 'donparam 3:25:50 vazta'],
+                ['a A', 'दनपारां दनपारां'],
+                ['[वर्साचो] DDDo[वो दीस]', 'वर्साचो 45वो दीस'],
+                ['LTS', 'दनपारां 3:25:50 वाजतां'],
                 ['L', '14-02-2010'],
-                ['LL', '14 Febrer 2010'],
-                ['LLL', '14 Febrer 2010 donparam 3:25 vazta'],
-                ['LLLL', 'Aitar, Febrerachea 14er, 2010, donparam 3:25 vazta'],
+                ['LL', '14 फेब्रुवारी 2010'],
+                ['LLL', '14 फेब्रुवारी 2010 दनपारां 3:25 वाजतां'],
+                ['LLLL', 'आयतार, फेब्रुवारीच्या 14वेर, 2010, दनपारां 3:25 वाजतां'],
                 ['l', '14-2-2010'],
-                ['ll', '14 Feb. 2010'],
-                ['lll', '14 Feb. 2010 donparam 3:25 vazta'],
-                ['llll', 'Ait., 14 Feb. 2010, donparam 3:25 vazta'],
+                ['ll', '14 फेब्रु. 2010'],
+                ['lll', '14 फेब्रु. 2010 दनपारां 3:25 वाजतां'],
+                ['llll', 'आयत., 14 फेब्रु. 2010, दनपारां 3:25 वाजतां'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     test('format month', function (assert) {
         var i,
             expected =
-                'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split(
+                'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च_एप्रील एप्री._मे मे_जून जून_जुलय जुल._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split(
                     '_'
                 );
 
     test('format week', function (assert) {
         var i,
             expected =
-                "Aitar Ait. Ai_Somar Som. Sm_Mongllar Mon. Mo_Budhvar Bud. Bu_Birestar Bre. Br_Sukrar Suk. Su_Son'var Son. Sn".split(
+                'आयतार आयत. आ_सोमार सोम. सो_मंगळार मंगळ. मं_बुधवार बुध. बु_बिरेस्तार ब्रेस्त. ब्रे_सुक्रार सुक्र. सु_शेनवार शेन. शे'.split(
                     '_'
                 );
 
 
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'thodde sekond',
+            'थोडे सॅकंड',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ek minut',
+            'एक मिनूट',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ek minut',
+            'एक मिनूट',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 mintam',
+            '2 मिणटां',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 mintam',
+            '44 मिणटां',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ek vor',
+            'एक वर',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ek vor',
+            'एक वर',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 voram',
+            '2 वरां',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 voram',
+            '5 वरां',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 voram',
+            '21 वरां',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'ek dis',
+            'एक दीस',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'ek dis',
+            'एक दीस',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dis',
+            '2 दीस',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'ek dis',
+            'एक दीस',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dis',
+            '5 दीस',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dis',
+            '25 दीस',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ek mhoino',
+            'एक म्हयनो',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ek mhoino',
+            'एक म्हयनो',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ek mhoino',
+            'एक म्हयनो',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mhoine',
+            '2 म्हयने',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mhoine',
+            '2 म्हयने',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mhoine',
+            '3 म्हयने',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ek mhoino',
+            'एक म्हयनो',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mhoine',
+            '5 म्हयने',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ek voros',
+            'एक वर्स',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 vorsam',
+            '2 वर्सां',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ek voros',
+            'एक वर्स',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 vorsam',
+            '5 वर्सां',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'thoddea sekondamni', 'prefix');
-        assert.equal(moment(0).from(30000), 'thodde sekond adim', 'suffix');
+        assert.equal(moment(30000).from(0), 'थोडया सॅकंडांनी', 'prefix');
+        assert.equal(moment(0).from(30000), 'थोडे सॅकंड आदीं', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'thodde sekond adim',
+            'थोडे सॅकंड आदीं',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'thoddea sekondamni',
+            'थोडया सॅकंडांनी',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 disamni', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 दिसांनी', 'in 5 days');
     });
 
     test('ago', function (assert) {
         assert.equal(
             moment().subtract({ h: 3 }).fromNow(),
-            '3 voram adim',
+            '3 वरां आदीं',
             '3 hours ago'
         );
     });
 
         assert.equal(
             moment(a).calendar(),
-            'Aiz donparam 12:00 vazta',
+            'आयज दनपारां 12:00 वाजतां',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Aiz donparam 12:25 vazta',
+            'आयज दनपारां 12:25 वाजतां',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Aiz donparam 1:00 vazta',
+            'आयज दनपारां 1:00 वाजतां',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Faleam donparam 12:00 vazta',
+            'फाल्यां दनपारां 12:00 वाजतां',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Aiz sokallim 11:00 vazta',
+            'आयज सकाळीं 11:00 वाजतां',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Kal donparam 12:00 vazta',
+            'काल दनपारां 12:00 वाजतां',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[Fuddlo] dddd[,] LT'),
+                m.format('[फुडलो] dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Fuddlo] dddd[,] LT'),
+                m.format('[फुडलो] dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Fuddlo] dddd[,] LT'),
+                m.format('[फुडलो] dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[Fattlo] dddd[,] LT'),
+                m.format('[फाटलो] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Fattlo] dddd[,] LT'),
+                m.format('[फाटलो] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Fattlo] dddd[,] LT'),
+                m.format('[फाटलो] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         defineCommonLocaleTests(name);
     }
 
-    localeModule('gu');
+    localeModule('gom-latn');
 
     test('parse', function (assert) {
-        var tests =
-                'જાન્યુઆરી જાન્યુ._ફેબ્રુઆરી ફેબ્રુ._માર્ચ માર્ચ_એપ્રિલ એપ્રિ._મે મે_જૂન જૂન_જુલાઈ જુલા._ઑગસ્ટ ઑગ._સપ્ટેમ્બર સપ્ટે._ઑક્ટ્બર ઑક્ટ્._નવેમ્બર નવે._ડિસેમ્બર ડિસે..'.split(
+        var i,
+            tests =
+                'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            // Fails only for month 12 (index 11)
-            // equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            // Fails only for month 12 (index 11)
-            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            // Fails only for month 12 (index 11)
-            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, a h:mm:ss વાગ્યે',
-                    'રવિવાર, ૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫:૫૦ વાગ્યે',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Aitar, Febrerachea 14er 2010, 3:25:50 donparam',
                 ],
-                ['ddd, a h વાગ્યે', 'રવિ, બપોર ૩ વાગ્યે'],
-                ['M Mo MM MMMM MMM', '૨ ૨ ૦૨ ફેબ્રુઆરી ફેબ્રુ.'],
-                ['YYYY YY', '૨૦૧૦ ૧૦'],
-                ['D Do DD', '૧૪ ૧૪ ૧૪'],
-                ['d do dddd ddd dd', '૦ ૦ રવિવાર રવિ ર'],
-                ['DDD DDDo DDDD', '૪૫ ૪૫ ૦૪૫'],
-                ['w wo ww', '૮ ૮ ૦૮'],
-                ['h hh', '૩ ૦૩'],
-                ['H HH', '૧૫ ૧૫'],
-                ['m mm', '૨૫ ૨૫'],
-                ['s ss', '૫૦ ૫૦'],
-                ['a A', 'બપોર બપોર'],
-                ['LTS', 'બપોર ૩:૨૫:૫૦ વાગ્યે'],
-                ['L', '૧૪/૦૨/૨૦૧૦'],
-                ['LL', '૧૪ ફેબ્રુઆરી ૨૦૧૦'],
-                ['LLL', '૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
-                ['LLLL', 'રવિવાર, ૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
-                ['l', '૧૪/૨/૨૦૧૦'],
-                ['ll', '૧૪ ફેબ્રુ. ૨૦૧૦'],
-                ['lll', '૧૪ ફેબ્રુ. ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
-                ['llll', 'રવિ, ૧૪ ફેબ્રુ. ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
+                ['ddd, h A', 'Ait., 3 donparam'],
+                ['M Mo MM MMMM MMM', '2 2 02 Febrer Feb.'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14er 14'],
+                ['d do dddd ddd dd', '0 0 Aitar Ait. Ai'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '7 7 07'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'donparam donparam'],
+                ['[Vorsacho] DDDo[vo dis]', 'Vorsacho 45vo dis'],
+                ['LTS', 'donparam 3:25:50 vazta'],
+                ['L', '14-02-2010'],
+                ['LL', '14 Febrer 2010'],
+                ['LLL', '14 Febrer 2010 donparam 3:25 vazta'],
+                ['LLLL', 'Aitar, Febrerachea 14er, 2010, donparam 3:25 vazta'],
+                ['l', '14-2-2010'],
+                ['ll', '14 Feb. 2010'],
+                ['lll', '14 Feb. 2010 donparam 3:25 vazta'],
+                ['llll', 'Ait., 14 Feb. 2010, donparam 3:25 vazta'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '૧', '૧');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '૨', '૨');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '૩', '૩');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '૪', '૪');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '૫', '૫');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '૬', '૬');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '૭', '૭');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '૮', '૮');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '૯', '૯');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '૧૦', '૧૦');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '૧૧', '૧૧');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '૧૨', '૧૨');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '૧૩', '૧૩');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '૧૪', '૧૪');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '૧૫', '૧૫');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '૧૬', '૧૬');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '૧૭', '૧૭');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '૧૮', '૧૮');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '૧૯', '૧૯');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '૨૦', '૨૦');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '૨૧', '૨૧');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '૨૨', '૨૨');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '૨૩', '૨૩');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '૨૪', '૨૪');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '૨૫', '૨૫');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '૨૬', '૨૬');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '૨૭', '૨૭');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '૨૮', '૨૮');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '૨૯', '૨૯');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '૩૦', '૩૦');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '૩૧', '૩૧');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
     });
 
     test('format month', function (assert) {
-        var expected =
-                'જાન્યુઆરી જાન્યુ._ફેબ્રુઆરી ફેબ્રુ._માર્ચ માર્ચ_એપ્રિલ એપ્રિ._મે મે_જૂન જૂન_જુલાઈ જુલા._ઑગસ્ટ ઑગ._સપ્ટેમ્બર સપ્ટે._ઑક્ટ્બર ઑક્ટ્._નવેમ્બર નવે._ડિસેમ્બર ડિસે.'.split(
+        var i,
+            expected =
+                'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'રવિવાર રવિ ર_સોમવાર સોમ સો_મંગળવાર મંગળ મં_બુધ્વાર બુધ્ બુ_ગુરુવાર ગુરુ ગુ_શુક્રવાર શુક્ર શુ_શનિવાર શનિ શ'.split(
+        var i,
+            expected =
+                "Aitar Ait. Ai_Somar Som. Sm_Mongllar Mon. Mo_Budhvar Bud. Bu_Birestar Bre. Br_Sukrar Suk. Su_Son'var Son. Sn".split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'અમુક પળો',
+            'thodde sekond',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'એક મિનિટ',
+            'ek minut',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'એક મિનિટ',
+            'ek minut',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '૨ મિનિટ',
+            '2 mintam',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '૪૪ મિનિટ',
+            '44 mintam',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'એક કલાક',
+            'ek vor',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'એક કલાક',
+            'ek vor',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '૨ કલાક',
+            '2 voram',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '૫ કલાક',
+            '5 voram',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '૨૧ કલાક',
+            '21 voram',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'એક દિવસ',
+            'ek dis',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'એક દિવસ',
+            'ek dis',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '૨ દિવસ',
+            '2 dis',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'એક દિવસ',
+            'ek dis',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '૫ દિવસ',
+            '5 dis',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '૨૫ દિવસ',
+            '25 dis',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'એક મહિનો',
+            'ek mhoino',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'એક મહિનો',
+            'ek mhoino',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'એક મહિનો',
+            'ek mhoino',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '૨ મહિનો',
+            '2 mhoine',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '૨ મહિનો',
+            '2 mhoine',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '૩ મહિનો',
+            '3 mhoine',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'એક મહિનો',
+            'ek mhoino',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '૫ મહિનો',
+            '5 mhoine',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'એક વર્ષ',
+            'ek voros',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '૨ વર્ષ',
+            '2 vorsam',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'એક વર્ષ',
+            'ek voros',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '૫ વર્ષ',
+            '5 vorsam',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'અમુક પળો મા', 'prefix');
-        assert.equal(moment(0).from(30000), 'અમુક પળો પહેલા', 'suffix');
+        assert.equal(moment(30000).from(0), 'thoddea sekondamni', 'prefix');
+        assert.equal(moment(0).from(30000), 'thodde sekond adim', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'અમુક પળો પહેલા',
+            'thodde sekond adim',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'અમુક પળો મા',
-            'અમુક પળો મા'
+            'thoddea sekondamni',
+            'in a few seconds'
+        );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 disamni', 'in 5 days');
+    });
+
+    test('ago', function (assert) {
+        assert.equal(
+            moment().subtract({ h: 3 }).fromNow(),
+            '3 voram adim',
+            '3 hours ago'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '૫ દિવસ મા', '૫ દિવસ મા');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'આજ બપોર ૧૨:૦૦ વાગ્યે',
+            'Aiz donparam 12:00 vazta',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'આજ બપોર ૧૨:૨૫ વાગ્યે',
+            'Aiz donparam 12:25 vazta',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 3 }).calendar(),
-            'આજ બપોર ૩:૦૦ વાગ્યે',
-            'Now plus 3 hour'
+            moment(a).add({ h: 1 }).calendar(),
+            'Aiz donparam 1:00 vazta',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'કાલે બપોર ૧૨:૦૦ વાગ્યે',
+            'Faleam donparam 12:00 vazta',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'આજ બપોર ૧૧:૦૦ વાગ્યે',
+            'Aiz sokallim 11:00 vazta',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ગઇકાલે બપોર ૧૨:૦૦ વાગ્યે',
+            'Kal donparam 12:00 vazta',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('[Fuddlo] dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('[Fuddlo] dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('[Fuddlo] dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[પાછલા] dddd[,] LT'),
+                m.format('[Fattlo] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[પાછલા] dddd[,] LT'),
+                m.format('[Fattlo] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[પાછલા] dddd[,] LT'),
+                m.format('[Fattlo] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('meridiem', function (assert) {
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('a'),
-            'રાત',
-            'before dawn'
-        );
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'સવાર', 'morning');
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('a'),
-            'બપોર',
-            'during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'સાંજ', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('a'),
-            'સાંજ',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'રાત', 'night');
-
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('A'),
-            'રાત',
-            'before dawn'
-        );
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'સવાર', 'morning');
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('A'),
-            'બપોર',
-            ' during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'સાંજ', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('A'),
-            'સાંજ',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'રાત', 'night');
-    });
-
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '૧ ૦૧ ૧',
+            '1 01 1',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '૧ ૦૧ ૧',
-            'Jan  7 2012 should be week 1'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '૨ ૦૨ ૨',
+            '2 02 2',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 14]).format('w ww wo'),
-            '૨ ૦૨ ૨',
+            '2 02 2',
             'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '૩ ૦૩ ૩',
+            '3 03 3',
             'Jan 15 2012 should be week 3'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('he');
+    localeModule('gu');
 
     test('parse', function (assert) {
         var tests =
-                'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split(
+                'જાન્યુઆરી જાન્યુ._ફેબ્રુઆરી ફેબ્રુ._માર્ચ માર્ચ_એપ્રિલ એપ્રિ._મે મે_જૂન જૂન_જુલાઈ જુલા._ઑગસ્ટ ઑગ._સપ્ટેમ્બર સપ્ટે._ઑક્ટ્બર ઑક્ટ્._નવેમ્બર નવે._ડિસેમ્બર ડિસે..'.split(
                     '_'
                 ),
             i;
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
+            // Fails only for month 12 (index 11)
+            // equalTestStrict(tests[i][1], 'MMM', i);
             equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            // Fails only for month 12 (index 11)
+            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            // Fails only for month 12 (index 11)
+            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
             equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'ראשון, פברואר 14 2010, 3:25:50 אחה"צ',
+                    'dddd, Do MMMM YYYY, a h:mm:ss વાગ્યે',
+                    'રવિવાર, ૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫:૫૦ વાગ્યે',
                 ],
-                ['ddd, h A', 'א׳, 3 אחרי הצהריים'],
-                ['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 ראשון א׳ א'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '8 8 08'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'אחה"צ אחרי הצהריים'],
-                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 בפברואר 2010'],
-                ['LLL', '14 בפברואר 2010 15:25'],
-                ['LLLL', 'ראשון, 14 בפברואר 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 פבר׳ 2010'],
-                ['lll', '14 פבר׳ 2010 15:25'],
-                ['llll', 'א׳, 14 פבר׳ 2010 15:25'],
+                ['ddd, a h વાગ્યે', 'રવિ, બપોર ૩ વાગ્યે'],
+                ['M Mo MM MMMM MMM', '૨ ૨ ૦૨ ફેબ્રુઆરી ફેબ્રુ.'],
+                ['YYYY YY', '૨૦૧૦ ૧૦'],
+                ['D Do DD', '૧૪ ૧૪ ૧૪'],
+                ['d do dddd ddd dd', '૦ ૦ રવિવાર રવિ ર'],
+                ['DDD DDDo DDDD', '૪૫ ૪૫ ૦૪૫'],
+                ['w wo ww', '૮ ૮ ૦૮'],
+                ['h hh', '૩ ૦૩'],
+                ['H HH', '૧૫ ૧૫'],
+                ['m mm', '૨૫ ૨૫'],
+                ['s ss', '૫૦ ૫૦'],
+                ['a A', 'બપોર બપોર'],
+                ['LTS', 'બપોર ૩:૨૫:૫૦ વાગ્યે'],
+                ['L', '૧૪/૦૨/૨૦૧૦'],
+                ['LL', '૧૪ ફેબ્રુઆરી ૨૦૧૦'],
+                ['LLL', '૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
+                ['LLLL', 'રવિવાર, ૧૪ ફેબ્રુઆરી ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
+                ['l', '૧૪/૨/૨૦૧૦'],
+                ['ll', '૧૪ ફેબ્રુ. ૨૦૧૦'],
+                ['lll', '૧૪ ફેબ્રુ. ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
+                ['llll', 'રવિ, ૧૪ ફેબ્રુ. ૨૦૧૦, બપોર ૩:૨૫ વાગ્યે'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         }
     });
 
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '૧', '૧');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '૨', '૨');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '૩', '૩');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '૪', '૪');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '૫', '૫');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '૬', '૬');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '૭', '૭');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '૮', '૮');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '૯', '૯');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '૧૦', '૧૦');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '૧૧', '૧૧');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '૧૨', '૧૨');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '૧૩', '૧૩');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '૧૪', '૧૪');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '૧૫', '૧૫');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '૧૬', '૧૬');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '૧૭', '૧૭');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '૧૮', '૧૮');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '૧૯', '૧૯');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '૨૦', '૨૦');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '૨૧', '૨૧');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '૨૨', '૨૨');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '૨૩', '૨૩');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '૨૪', '૨૪');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '૨૫', '૨૫');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '૨૬', '૨૬');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '૨૭', '૨૭');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '૨૮', '૨૮');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '૨૯', '૨૯');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '૩૦', '૩૦');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '૩૧', '૩૧');
+    });
+
     test('format month', function (assert) {
         var expected =
-                'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split(
+                'જાન્યુઆરી જાન્યુ._ફેબ્રુઆરી ફેબ્રુ._માર્ચ માર્ચ_એપ્રિલ એપ્રિ._મે મે_જૂન જૂન_જુલાઈ જુલા._ઑગસ્ટ ઑગ._સપ્ટેમ્બર સપ્ટે._ઑક્ટ્બર ઑક્ટ્._નવેમ્બર નવે._ડિસેમ્બર ડિસે.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'ראשון א׳ א|שני ב׳ ב|שלישי ג׳ ג|רביעי ד׳ ד|חמישי ה׳ ה|שישי ו׳ ו|שבת ש׳ ש'.split(
-                    '|'
+                'રવિવાર રવિ ર_સોમવાર સોમ સો_મંગળવાર મંગળ મં_બુધ્વાર બુધ્ બુ_ગુરુવાર ગુરુ ગુ_શુક્રવાર શુક્ર શુ_શનિવાર શનિ શ'.split(
+                    '_'
                 ),
             i;
         for (i = 0; i < expected.length; i++) {
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'מספר שניות',
+            'અમુક પળો',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'דקה',
+            'એક મિનિટ',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'דקה',
+            'એક મિનિટ',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 דקות',
+            '૨ મિનિટ',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 דקות',
+            '૪૪ મિનિટ',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'שעה',
+            'એક કલાક',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'שעה',
+            'એક કલાક',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            'שעתיים',
+            '૨ કલાક',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 שעות',
+            '૫ કલાક',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 שעות',
+            '૨૧ કલાક',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'יום',
+            'એક દિવસ',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'יום',
+            'એક દિવસ',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            'יומיים',
+            '૨ દિવસ',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'יום',
+            'એક દિવસ',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 ימים',
+            '૫ દિવસ',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 ימים',
+            '૨૫ દિવસ',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'חודש',
+            'એક મહિનો',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'חודש',
+            'એક મહિનો',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'חודש',
+            'એક મહિનો',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            'חודשיים',
+            '૨ મહિનો',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            'חודשיים',
+            '૨ મહિનો',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 חודשים',
+            '૩ મહિનો',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'חודש',
+            'એક મહિનો',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 חודשים',
+            '૫ મહિનો',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'שנה',
+            'એક વર્ષ',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            'שנתיים',
+            '૨ વર્ષ',
             '548 days = 2 years'
         );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 3699 }), true),
-            '10 שנים',
-            '345 days = 10 years'
-        );
-        assert.equal(
-            start.from(moment([2007, 1, 28]).add({ d: 7340 }), true),
-            '20 שנה',
-            '548 days = 20 years'
-        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'שנה',
+            'એક વર્ષ',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 שנים',
+            '૫ વર્ષ',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'בעוד מספר שניות', 'prefix');
-        assert.equal(moment(0).from(30000), 'לפני מספר שניות', 'suffix');
+        assert.equal(moment(30000).from(0), 'અમુક પળો મા', 'prefix');
+        assert.equal(moment(0).from(30000), 'અમુક પળો પહેલા', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'לפני מספר שניות',
+            'અમુક પળો પહેલા',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'בעוד מספר שניות',
-            'in a few seconds'
+            'અમુક પળો મા',
+            'અમુક પળો મા'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'בעוד 5 ימים', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '૫ દિવસ મા', '૫ દિવસ મા');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'היום ב־12:00',
+            'આજ બપોર ૧૨:૦૦ વાગ્યે',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'היום ב־12:25',
+            'આજ બપોર ૧૨:૨૫ વાગ્યે',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 1 }).calendar(),
-            'היום ב־13:00',
-            'Now plus 1 hour'
+            moment(a).add({ h: 3 }).calendar(),
+            'આજ બપોર ૩:૦૦ વાગ્યે',
+            'Now plus 3 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'מחר ב־12:00',
+            'કાલે બપોર ૧૨:૦૦ વાગ્યે',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'היום ב־11:00',
+            'આજ બપોર ૧૧:૦૦ વાગ્યે',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'אתמול ב־12:00',
+            'ગઇકાલે બપોર ૧૨:૦૦ વાગ્યે',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [בשעה] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [בשעה] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [בשעה] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[ביום] dddd [האחרון בשעה] LT'),
+                m.format('[પાછલા] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[ביום] dddd [האחרון בשעה] LT'),
+                m.format('[પાછલા] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[ביום] dddd [האחרון בשעה] LT'),
+                m.format('[પાછલા] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('meridiem', function (assert) {
+        assert.equal(
+            moment([2011, 2, 23, 2, 30]).format('a'),
+            'રાત',
+            'before dawn'
+        );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'સવાર', 'morning');
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('a'),
+            'બપોર',
+            'during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'સાંજ', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('a'),
+            'સાંજ',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'રાત', 'night');
+
+        assert.equal(
+            moment([2011, 2, 23, 2, 30]).format('A'),
+            'રાત',
+            'before dawn'
+        );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'સવાર', 'morning');
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('A'),
+            'બપોર',
+            ' during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'સાંજ', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('A'),
+            'સાંજ',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'રાત', 'night');
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1',
+            '૧ ૦૧ ૧',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 7]).format('w ww wo'),
-            '1 01 1',
+            '૧ ૦૧ ૧',
             'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2',
+            '૨ ૦૨ ૨',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 14]).format('w ww wo'),
-            '2 02 2',
+            '૨ ૦૨ ૨',
             'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3',
+            '૩ ૦૩ ૩',
             'Jan 15 2012 should be week 3'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('hi');
+    localeModule('he');
 
     test('parse', function (assert) {
-        var testsFormat =
-                'जनवरी जन._फ़रवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितम्बर सित._अक्टूबर अक्टू._नवम्बर नव._दिसम्बर दिस.'.split(
-                    '_'
-                ),
-            testsStandalone =
-                'जनवरी जन._फरवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितंबर सित._अक्टूबर अक्टू._नवंबर नव._दिसंबर दिस.'.split(
+        var tests =
+                'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split(
                     '_'
                 ),
             i;
         }
 
         for (i = 0; i < 12; i++) {
-            testsFormat[i] = testsFormat[i].split(' ');
-            equalTest(testsFormat[i][0], 'MMM', i);
-            equalTest(testsFormat[i][1], 'MMM', i);
-            equalTest(testsFormat[i][0], 'MMMM', i);
-            equalTest(testsFormat[i][1], 'MMMM', i);
-            equalTest(testsFormat[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsFormat[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsFormat[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(testsFormat[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(testsFormat[i][1], 'MMM', i);
-            equalTestStrict(testsFormat[i][0], 'MMMM', i);
-            equalTestStrict(testsFormat[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(testsFormat[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(testsFormat[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(testsFormat[i][0].toLocaleUpperCase(), 'MMMM', i);
-        }
-
-        for (i = 0; i < 12; i++) {
-            testsStandalone[i] = testsStandalone[i].split(' ');
-            equalTest(testsStandalone[i][0], 'MMM', i);
-            equalTest(testsStandalone[i][1], 'MMM', i);
-            equalTest(testsStandalone[i][0], 'MMMM', i);
-            equalTest(testsStandalone[i][1], 'MMMM', i);
-            equalTest(testsStandalone[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsStandalone[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(testsStandalone[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(testsStandalone[i][1].toLocaleUpperCase(), 'MMMM', i);
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(testsStandalone[i][1], 'MMM', i);
-            equalTestStrict(testsStandalone[i][0], 'MMMM', i);
-            equalTestStrict(testsStandalone[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(testsStandalone[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(testsStandalone[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(testsStandalone[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, a h:mm:ss बजे',
-                    'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५:५० बजे',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'ראשון, פברואר 14 2010, 3:25:50 אחה"צ',
                 ],
-                ['ddd, a h बजे', 'रवि, दोपहर ३ बजे'],
-                ['M Mo MM MMMM MMM', '२ २ ०२ फरवरी फ़र.'],
-                ['YYYY YY', '२०१० १०'],
-                ['D Do DD', '१४ १४ १४'],
-                ['d do dddd ddd dd', '० ० रविवार रवि र'],
-                ['DDD DDDo DDDD', '४५ ४५ ०४५'],
-                ['w wo ww', '८ ८ ०८'],
-                ['h hh', '३ ०३'],
-                ['H HH', '१५ १५'],
-                ['m mm', '२५ २५'],
-                ['s ss', '५० ५०'],
-                ['a A', 'दोपहर दोपहर'],
-                ['LTS', 'दोपहर ३:२५:५० बजे'],
-                ['L', '१४/०२/२०१०'],
-                ['LL', '१४ फ़रवरी २०१०'],
-                ['LLL', '१४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
-                ['LLLL', 'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
-                ['l', '१४/२/२०१०'],
-                ['ll', '१४ फ़र. २०१०'],
-                ['lll', '१४ फ़र. २०१०, दोपहर ३:२५ बजे'],
-                ['llll', 'रवि, १४ फ़र. २०१०, दोपहर ३:२५ बजे'],
+                ['ddd, h A', 'א׳, 3 אחרי הצהריים'],
+                ['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 ראשון א׳ א'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '8 8 08'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'אחה"צ אחרי הצהריים'],
+                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+                ['LTS', '15:25:50'],
+                ['L', '14/02/2010'],
+                ['LL', '14 בפברואר 2010'],
+                ['LLL', '14 בפברואר 2010 15:25'],
+                ['LLLL', 'ראשון, 14 בפברואר 2010 15:25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 פבר׳ 2010'],
+                ['lll', '14 פבר׳ 2010 15:25'],
+                ['llll', 'א׳, 14 פבר׳ 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         }
     });
 
-    test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '१', '१');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '२', '२');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '३', '३');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '४', '४');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '५', '५');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '६', '६');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '७', '७');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '८', '८');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '९', '९');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '१०', '१०');
-
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '११', '११');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '१२', '१२');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '१३', '१३');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '१४', '१४');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '१५', '१५');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '१६', '१६');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '१७', '१७');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '१८', '१८');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '१९', '१९');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '२०', '२०');
-
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '२१', '२१');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '२२', '२२');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '२३', '२३');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '२४', '२४');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '२५', '२५');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '२६', '२६');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '२७', '२७');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '२८', '२८');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '२९', '२९');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '३०', '३०');
-
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '३१', '३१');
-    });
-
     test('format month', function (assert) {
         var expected =
-                'जनवरी जन._फरवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितंबर सित._अक्टूबर अक्टू._नवंबर नव._दिसंबर दिस.'.split(
+                'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split(
                     '_'
                 ),
             i;
         }
     });
 
-    test('format month case', function (assert) {
-        var months = {
-                nominative:
-                    'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(
-                        '_'
-                    ),
-                accusative:
-                    'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
-                        '_'
-                    ),
-            },
-            i;
-        for (i = 0; i < 12; i++) {
-            assert.equal(
-                moment([2011, i, 1]).format('D MMMM'),
-                '१ ' + months.accusative[i],
-                '१ ' + months.accusative[i]
-            );
-            assert.equal(
-                moment([2011, i, 1]).format('MMMM'),
-                months.nominative[i],
-                '१ ' + months.nominative[i]
-            );
-        }
-    });
-
     test('format week', function (assert) {
         var expected =
-                'रविवार रवि र_सोमवार सोम सो_मंगलवार मंगल मं_बुधवार बुध बु_गुरूवार गुरू गु_शुक्रवार शुक्र शु_शनिवार शनि श'.split(
-                    '_'
+                'ראשון א׳ א|שני ב׳ ב|שלישי ג׳ ג|רביעי ד׳ ד|חמישי ה׳ ה|שישי ו׳ ו|שבת ש׳ ש'.split(
+                    '|'
                 ),
             i;
         for (i = 0; i < expected.length; i++) {
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'कुछ ही क्षण',
+            'מספר שניות',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'एक मिनट',
+            'דקה',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'एक मिनट',
+            'דקה',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '२ मिनट',
+            '2 דקות',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '४४ मिनट',
+            '44 דקות',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'एक घंटा',
+            'שעה',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'एक घंटा',
+            'שעה',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '२ घंटे',
+            'שעתיים',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '५ घंटे',
+            '5 שעות',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '२१ घंटे',
+            '21 שעות',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'एक दिन',
+            'יום',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'एक दिन',
+            'יום',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '२ दिन',
+            'יומיים',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'एक दिन',
+            'יום',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '५ दिन',
+            '5 ימים',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '२५ दिन',
+            '25 ימים',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'एक महीने',
+            'חודש',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'एक महीने',
+            'חודש',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'एक महीने',
+            'חודש',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '२ महीने',
+            'חודשיים',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '२ महीने',
+            'חודשיים',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '३ महीने',
+            '3 חודשים',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'एक महीने',
+            'חודש',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '५ महीने',
+            '5 חודשים',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'एक वर्ष',
+            'שנה',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '२ वर्ष',
+            'שנתיים',
             '548 days = 2 years'
         );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 3699 }), true),
+            '10 שנים',
+            '345 days = 10 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 7340 }), true),
+            '20 שנה',
+            '548 days = 20 years'
+        );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'एक वर्ष',
+            'שנה',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '५ वर्ष',
+            '5 שנים',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'कुछ ही क्षण में', 'prefix');
-        assert.equal(moment(0).from(30000), 'कुछ ही क्षण पहले', 'suffix');
+        assert.equal(moment(30000).from(0), 'בעוד מספר שניות', 'prefix');
+        assert.equal(moment(0).from(30000), 'לפני מספר שניות', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'कुछ ही क्षण पहले',
+            'לפני מספר שניות',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'कुछ ही क्षण में',
-            'कुछ ही क्षण में'
+            'בעוד מספר שניות',
+            'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '५ दिन में', '५ दिन में');
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'בעוד 5 ימים', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'आज दोपहर १२:०० बजे',
+            'היום ב־12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'आज दोपहर १२:२५ बजे',
+            'היום ב־12:25',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 3 }).calendar(),
-            'आज दोपहर ३:०० बजे',
-            'Now plus 3 hours'
+            moment(a).add({ h: 1 }).calendar(),
+            'היום ב־13:00',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'कल दोपहर १२:०० बजे',
+            'מחר ב־12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'आज दोपहर ११:०० बजे',
+            'היום ב־11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'कल दोपहर १२:०० बजे',
+            'אתמול ב־12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [בשעה] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [בשעה] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd [בשעה] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[पिछले] dddd[,] LT'),
+                m.format('[ביום] dddd [האחרון בשעה] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[पिछले] dddd[,] LT'),
+                m.format('[ביום] dddd [האחרון בשעה] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[पिछले] dddd[,] LT'),
+                m.format('[ביום] dddd [האחרון בשעה] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('meridiem', function (assert) {
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('a'),
-            'रात',
-            'before dawn'
-        );
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'सुबह', 'morning');
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('a'),
-            'दोपहर',
-            'during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'शाम', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('a'),
-            'शाम',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'रात', 'night');
-
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('A'),
-            'रात',
-            'before dawn'
-        );
-        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'सुबह', 'morning');
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('A'),
-            'दोपहर',
-            ' during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'शाम', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('A'),
-            'शाम',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'रात', 'night');
-    });
-
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '१ ०१ १',
+            '1 01 1',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 7]).format('w ww wo'),
-            '१ ०१ १',
+            '1 01 1',
             'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '२ ०२ २',
+            '2 02 2',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 14]).format('w ww wo'),
-            '२ ०२ २',
+            '2 02 2',
             'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '३ ०३ ३',
+            '3 03 3',
             'Jan 15 2012 should be week 3'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('hr');
+    localeModule('hi');
 
     test('parse', function (assert) {
-        var tests =
-                'siječanj sij._veljača velj._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split(
+        var testsFormat =
+                'जनवरी जन._फ़रवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितम्बर सित._अक्टूबर अक्टू._नवम्बर नव._दिसम्बर दिस.'.split(
+                    '_'
+                ),
+            testsStandalone =
+                'जनवरी जन._फरवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितंबर सित._अक्टूबर अक्टू._नवंबर नव._दिसंबर दिस.'.split(
                     '_'
                 ),
             i;
         }
 
         for (i = 0; i < 12; i++) {
-            tests[i] = tests[i].split(' ');
-            equalTest(tests[i][0], 'MMM', i);
-            equalTest(tests[i][1], 'MMM', i);
-            equalTest(tests[i][0], 'MMMM', i);
-            equalTest(tests[i][1], 'MMMM', i);
-            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            testsFormat[i] = testsFormat[i].split(' ');
+            equalTest(testsFormat[i][0], 'MMM', i);
+            equalTest(testsFormat[i][1], 'MMM', i);
+            equalTest(testsFormat[i][0], 'MMMM', i);
+            equalTest(testsFormat[i][1], 'MMMM', i);
+            equalTest(testsFormat[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsFormat[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsFormat[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(testsFormat[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(testsFormat[i][1], 'MMM', i);
+            equalTestStrict(testsFormat[i][0], 'MMMM', i);
+            equalTestStrict(testsFormat[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(testsFormat[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(testsFormat[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(testsFormat[i][0].toLocaleUpperCase(), 'MMMM', i);
+        }
+
+        for (i = 0; i < 12; i++) {
+            testsStandalone[i] = testsStandalone[i].split(' ');
+            equalTest(testsStandalone[i][0], 'MMM', i);
+            equalTest(testsStandalone[i][1], 'MMM', i);
+            equalTest(testsStandalone[i][0], 'MMMM', i);
+            equalTest(testsStandalone[i][1], 'MMMM', i);
+            equalTest(testsStandalone[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsStandalone[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(testsStandalone[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(testsStandalone[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(testsStandalone[i][1], 'MMM', i);
+            equalTestStrict(testsStandalone[i][0], 'MMMM', i);
+            equalTestStrict(testsStandalone[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(testsStandalone[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(testsStandalone[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(testsStandalone[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, h:mm:ss a',
-                    'nedjelja, 14. veljače 2010, 3:25:50 pm',
+                    'dddd, Do MMMM YYYY, a h:mm:ss बजे',
+                    'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५:५० बजे',
                 ],
-                ['ddd, hA', 'ned., 3PM'],
-                ['M Mo MM MMMM MMM', '2 2. 02 veljača velj.'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
-                ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '7 7. 07'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
-                ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14. veljače 2010'],
-                ['LLL', '14. veljače 2010 15:25'],
-                ['LLLL', 'nedjelja, 14. veljače 2010 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14. velj. 2010'],
-                ['lll', '14. velj. 2010 15:25'],
-                ['llll', 'ned., 14. velj. 2010 15:25'],
+                ['ddd, a h बजे', 'रवि, दोपहर ३ बजे'],
+                ['M Mo MM MMMM MMM', '२ २ ०२ फरवरी फ़र.'],
+                ['YYYY YY', '२०१० १०'],
+                ['D Do DD', '१४ १४ १४'],
+                ['d do dddd ddd dd', '० ० रविवार रवि र'],
+                ['DDD DDDo DDDD', '४५ ४५ ०४५'],
+                ['w wo ww', '८ ८ ०८'],
+                ['h hh', '३ ०३'],
+                ['H HH', '१५ १५'],
+                ['m mm', '२५ २५'],
+                ['s ss', '५० ५०'],
+                ['a A', 'दोपहर दोपहर'],
+                ['LTS', 'दोपहर ३:२५:५० बजे'],
+                ['L', '१४/०२/२०१०'],
+                ['LL', '१४ फ़रवरी २०१०'],
+                ['LLL', '१४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
+                ['LLLL', 'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
+                ['l', '१४/२/२०१०'],
+                ['ll', '१४ फ़र. २०१०'],
+                ['lll', '१४ फ़र. २०१०, दोपहर ३:२५ बजे'],
+                ['llll', 'रवि, १४ फ़र. २०१०, दोपहर ३:२५ बजे'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '१', '१');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '२', '२');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '३', '३');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '४', '४');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '५', '५');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '६', '६');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '७', '७');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '८', '८');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '९', '९');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '१०', '१०');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '११', '११');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '१२', '१२');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '१३', '१३');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '१४', '१४');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '१५', '१५');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '१६', '१६');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '१७', '१७');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '१८', '१८');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '१९', '१९');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '२०', '२०');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '२१', '२१');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '२२', '२२');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '२३', '२३');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '२४', '२४');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '२५', '२५');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '२६', '२६');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '२७', '२७');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '२८', '२८');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '२९', '२९');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '३०', '३०');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '३१', '३१');
     });
 
     test('format month', function (assert) {
         var expected =
-                'siječanj sij._veljača velj._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split(
+                'जनवरी जन._फरवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितंबर सित._अक्टूबर अक्टू._नवंबर नव._दिसंबर दिस.'.split(
                     '_'
                 ),
             i;
         }
     });
 
+    test('format month case', function (assert) {
+        var months = {
+                nominative:
+                    'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(
+                        '_'
+                    ),
+                accusative:
+                    'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
+                        '_'
+                    ),
+            },
+            i;
+        for (i = 0; i < 12; i++) {
+            assert.equal(
+                moment([2011, i, 1]).format('D MMMM'),
+                '१ ' + months.accusative[i],
+                '१ ' + months.accusative[i]
+            );
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM'),
+                months.nominative[i],
+                '१ ' + months.nominative[i]
+            );
+        }
+    });
+
     test('format week', function (assert) {
         var expected =
-                'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split(
+                'रविवार रवि र_सोमवार सोम सो_मंगलवार मंगल मं_बुधवार बुध बु_गुरूवार गुरू गु_शुक्रवार शुक्र शु_शनिवार शनि श'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'par sekundi',
+            'कुछ ही क्षण',
             '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'jedna minuta',
+            'एक मिनट',
             '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'jedna minuta',
+            'एक मिनट',
             '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 minute',
+            '२ मिनट',
             '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 minuta',
+            '४४ मिनट',
             '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'jedan sat',
+            'एक घंटा',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'jedan sat',
+            'एक घंटा',
             '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 sata',
+            '२ घंटे',
             '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 sati',
+            '५ घंटे',
             '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 sati',
+            '२१ घंटे',
             '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'dan',
+            'एक दिन',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'dan',
+            'एक दिन',
             '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dana',
+            '२ दिन',
             '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'dan',
+            'एक दिन',
             '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dana',
+            '५ दिन',
             '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dana',
+            '२५ दिन',
             '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'mjesec',
+            'एक महीने',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'mjesec',
+            'एक महीने',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'mjesec',
+            'एक महीने',
             '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 mjeseca',
+            '२ महीने',
             '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 mjeseca',
+            '२ महीने',
             '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 mjeseca',
+            '३ महीने',
             '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'mjesec',
+            'एक महीने',
             '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 mjeseci',
+            '५ महीने',
             '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'godinu',
+            'एक वर्ष',
             '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 godine',
+            '२ वर्ष',
             '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'godinu',
+            'एक वर्ष',
             '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 godina',
+            '५ वर्ष',
             '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'za par sekundi', 'prefix');
-        assert.equal(moment(0).from(30000), 'prije par sekundi', 'prefix');
+        assert.equal(moment(30000).from(0), 'कुछ ही क्षण में', 'prefix');
+        assert.equal(moment(0).from(30000), 'कुछ ही क्षण पहले', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'prije par sekundi',
+            'कुछ ही क्षण पहले',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'za par sekundi',
-            'in a few seconds'
+            'कुछ ही क्षण में',
+            'कुछ ही क्षण में'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), 'za 5 dana', 'in 5 days');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '५ दिन में', '५ दिन में');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'danas u 12:00',
+            'आज दोपहर १२:०० बजे',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'danas u 12:25',
+            'आज दोपहर १२:२५ बजे',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 1 }).calendar(),
-            'danas u 13:00',
-            'Now plus 1 hour'
+            moment(a).add({ h: 3 }).calendar(),
+            'आज दोपहर ३:०० बजे',
+            'Now plus 3 hours'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'sutra u 12:00',
+            'कल दोपहर १२:०० बजे',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'danas u 11:00',
+            'आज दोपहर ११:०० बजे',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'jučer u 12:00',
+            'कल दोपहर १२:०० बजे',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
-
-        function makeFormat(d) {
-            switch (d.day()) {
-                case 0:
-                    return '[u] [nedjelju] [u] LT';
-                case 3:
-                    return '[u] [srijedu] [u] LT';
-                case 6:
-                    return '[u] [subotu] [u] LT';
-                case 1:
-                case 2:
-                case 4:
-                case 5:
-                    return '[u] dddd [u] LT';
-            }
-        }
-
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
     test('calendar last week', function (assert) {
         var i, m;
 
-        function makeFormat(d) {
-            switch (d.day()) {
-                case 0:
-                    return '[prošlu] [nedjelju] [u] LT';
-                case 3:
-                    return '[prošlu] [srijedu] [u] LT';
-                case 6:
-                    return '[prošle] [subote] [u] LT';
-                case 1:
-                case 2:
-                case 4:
-                case 5:
-                    return '[prošli] dddd [u] LT';
-            }
-        }
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[पिछले] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[पिछले] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format(makeFormat(m)),
+                m.format('[पिछले] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday formatted', function (assert) {
+    test('meridiem', function (assert) {
         assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1.',
-            'Dec 26 2011 should be week 1'
+            moment([2011, 2, 23, 2, 30]).format('a'),
+            'रात',
+            'before dawn'
         );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'सुबह', 'morning');
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('a'),
+            'दोपहर',
+            'during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'शाम', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('a'),
+            'शाम',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'रात', 'night');
+
+        assert.equal(
+            moment([2011, 2, 23, 2, 30]).format('A'),
+            'रात',
+            'before dawn'
+        );
+        assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'सुबह', 'morning');
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('A'),
+            'दोपहर',
+            ' during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'शाम', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('A'),
+            'शाम',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'रात', 'night');
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1.',
+            '१ ०१ १',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  2 2012 should be week 2'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '१ ०१ १',
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2.',
+            '२ ०२ २',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3.',
-            'Jan  9 2012 should be week 3'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '२ ०२ २',
+            'Jan 14 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '३ ०३ ३',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('hu');
+    localeModule('hr');
 
     test('parse', function (assert) {
         var tests =
-                'január jan._február feb._március márc._április ápr._május máj._június jún._július júl._augusztus aug._szeptember szept._október okt._november nov._december dec.'.split(
+                'siječanj sij._veljača velj._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, HH:mm:ss',
-                    'vasárnap, február 14. 2010, 15:25:50',
+                    'dddd, Do MMMM YYYY, h:mm:ss a',
+                    'nedjelja, 14. veljače 2010, 3:25:50 pm',
                 ],
-                ['ddd, HH', 'vas, 15'],
-                ['M Mo MM MMMM MMM', '2 2. 02 február feb.'],
+                ['ddd, hA', 'ned., 3PM'],
+                ['M Mo MM MMMM MMM', '2 2. 02 veljača velj.'],
                 ['YYYY YY', '2010 10'],
                 ['D Do DD', '14 14. 14'],
-                ['d do dddd ddd dd', '0 0. vasárnap vas v'],
+                ['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
                 ['DDD DDDo DDDD', '45 45. 045'],
-                ['w wo ww', '6 6. 06'],
+                ['w wo ww', '7 7. 07'],
+                ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['[az év] DDDo [napja]', 'az év 45. napja'],
+                ['a A', 'pm PM'],
+                ['[the] DDDo [day of the year]', 'the 45. day of the year'],
                 ['LTS', '15:25:50'],
-                ['L', '2010.02.14.'],
-                ['LL', '2010. február 14.'],
-                ['LLL', '2010. február 14. 15:25'],
-                ['LLLL', '2010. február 14., vasárnap 15:25'],
-                ['l', '2010.2.14.'],
-                ['ll', '2010. feb. 14.'],
-                ['lll', '2010. feb. 14. 15:25'],
-                ['llll', '2010. feb. 14., vas 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14. veljače 2010'],
+                ['LLL', '14. veljače 2010 15:25'],
+                ['LLLL', 'nedjelja, 14. veljače 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14. velj. 2010'],
+                ['lll', '14. velj. 2010 15:25'],
+                ['llll', 'ned., 14. velj. 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
         }
     });
 
-    test('meridiem', function (assert) {
-        assert.equal(moment([2011, 2, 23, 0, 0]).format('a'), 'de', 'am');
-        assert.equal(moment([2011, 2, 23, 11, 59]).format('a'), 'de', 'am');
-        assert.equal(moment([2011, 2, 23, 12, 0]).format('a'), 'du', 'pm');
-        assert.equal(moment([2011, 2, 23, 23, 59]).format('a'), 'du', 'pm');
-
-        assert.equal(moment([2011, 2, 23, 0, 0]).format('A'), 'DE', 'AM');
-        assert.equal(moment([2011, 2, 23, 11, 59]).format('A'), 'DE', 'AM');
-        assert.equal(moment([2011, 2, 23, 12, 0]).format('A'), 'DU', 'PM');
-        assert.equal(moment([2011, 2, 23, 23, 59]).format('A'), 'DU', 'PM');
-    });
-
     test('format ordinal', function (assert) {
         assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
         assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
 
     test('format month', function (assert) {
         var expected =
-                'január jan._február feb._március márc._április ápr._május máj._június jún._július júl._augusztus aug._szeptember szept._október okt._november nov._december dec.'.split(
+                'siječanj sij._veljača velj._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'vasárnap vas_hétfő hét_kedd kedd_szerda sze_csütörtök csüt_péntek pén_szombat szo'.split(
+                'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split(
                     '_'
                 ),
             i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
-                moment([2011, 0, 2 + i]).format('dddd ddd'),
+                moment([2011, 0, 2 + i]).format('dddd ddd dd'),
                 expected[i],
                 expected[i]
             );
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'néhány másodperc',
-            '44 másodperc = néhány másodperc'
+            'par sekundi',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'egy perc',
-            '45 másodperc = egy perc'
+            'jedna minuta',
+            '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'egy perc',
-            '89 másodperc = egy perc'
+            'jedna minuta',
+            '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 perc',
-            '90 másodperc = 2 perc'
+            '2 minute',
+            '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 perc',
-            '44 perc = 44 perc'
+            '44 minuta',
+            '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'egy óra',
-            '45 perc = egy óra'
+            'jedan sat',
+            '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'egy óra',
-            '89 perc = egy óra'
+            'jedan sat',
+            '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 óra',
-            '90 perc = 2 óra'
+            '2 sata',
+            '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 óra',
-            '5 óra = 5 óra'
+            '5 sati',
+            '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 óra',
-            '21 óra = 21 óra'
+            '21 sati',
+            '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'egy nap',
-            '22 óra = egy nap'
+            'dan',
+            '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'egy nap',
-            '35 óra = egy nap'
+            'dan',
+            '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 nap',
-            '36 óra = 2 nap'
+            '2 dana',
+            '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'egy nap',
-            '1 nap = egy nap'
+            'dan',
+            '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 nap',
-            '5 nap = 5 nap'
+            '5 dana',
+            '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 nap',
-            '25 nap = 25 nap'
+            '25 dana',
+            '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'egy hónap',
-            '26 nap = egy hónap'
+            'mjesec',
+            '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'egy hónap',
-            '30 nap = egy hónap'
+            'mjesec',
+            '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'egy hónap',
-            '45 nap = egy hónap'
+            'mjesec',
+            '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 hónap',
-            '46 nap = 2 hónap'
+            '2 mjeseca',
+            '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 hónap',
-            '75 nap = 2 hónap'
+            '2 mjeseca',
+            '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 hónap',
-            '76 nap = 3 hónap'
+            '3 mjeseca',
+            '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'egy hónap',
-            '1 hónap = egy hónap'
+            'mjesec',
+            '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 hónap',
-            '5 hónap = 5 hónap'
+            '5 mjeseci',
+            '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'egy év',
-            '345 nap = egy év'
+            'godinu',
+            '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 év',
-            '548 nap = 2 év'
+            '2 godine',
+            '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'egy év',
-            '1 év = egy év'
+            'godinu',
+            '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 év',
-            '5 év = 5 év'
+            '5 godina',
+            '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'néhány másodperc múlva', 'prefix');
-        assert.equal(moment(0).from(30000), 'néhány másodperce', 'suffix');
+        assert.equal(moment(30000).from(0), 'za par sekundi', 'prefix');
+        assert.equal(moment(0).from(30000), 'prije par sekundi', 'prefix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'néhány másodperce',
+            'prije par sekundi',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'néhány másodperc múlva',
-            'néhány másodperc múlva'
-        );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            '5 nap múlva',
-            '5 nap múlva'
+            'za par sekundi',
+            'in a few seconds'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), 'za 5 dana', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'ma 12:00-kor',
+            'danas u 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'ma 12:25-kor',
+            'danas u 12:25',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'ma 13:00-kor',
+            'danas u 13:00',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'holnap 12:00-kor',
+            'sutra u 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'ma 11:00-kor',
+            'danas u 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'tegnap 12:00-kor',
+            'jučer u 12:00',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
-        var i,
-            m,
-            days =
-                'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split(
-                    '_'
-                );
+        var i, m;
+
+        function makeFormat(d) {
+            switch (d.day()) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        }
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[' + days[m.day()] + '] LT[-kor]'),
-                'today + ' + i + ' days current time'
+                m.format(makeFormat(m)),
+                'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[' + days[m.day()] + '] LT[-kor]'),
-                'today + ' + i + ' days beginning of day'
+                m.format(makeFormat(m)),
+                'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[' + days[m.day()] + '] LT[-kor]'),
-                'today + ' + i + ' days end of day'
+                m.format(makeFormat(m)),
+                'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
-        var i,
-            m,
-            days =
-                'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split(
-                    '_'
-                );
+        var i, m;
+
+        function makeFormat(d) {
+            switch (d.day()) {
+                case 0:
+                    return '[prošlu] [nedjelju] [u] LT';
+                case 3:
+                    return '[prošlu] [srijedu] [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[prošli] dddd [u] LT';
+            }
+        }
 
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
-                'today - ' + i + ' days current time'
+                m.format(makeFormat(m)),
+                'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
-                'today - ' + i + ' days beginning of day'
+                m.format(makeFormat(m)),
+                'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
-                'today - ' + i + ' days end of day'
+                m.format(makeFormat(m)),
+                'Today - ' + i + ' days end of day'
             );
         }
     });
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), 'egy héte');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'egy hét múlva'
+            'in 1 week'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 hete');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            '2 hét múlva'
+            'in 2 weeks'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2011, 11, 26]).format('w ww wo'),
-            '52 52 52.',
-            'Dec 26 2011 should be week 52'
+            '1 01 1.',
+            'Dec 26 2011 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '52 52 52.',
-            'Jan  1 2012 should be week 52'
+            '1 01 1.',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  2 2012 should be week 1'
+            '2 02 2.',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '1 01 1.',
-            'Jan  8 2012 should be week 1'
+            '2 02 2.',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '2 02 2.',
-            'Jan  9 2012 should be week 2'
+            '3 03 3.',
+            'Jan  9 2012 should be week 3'
+        );
+    });
+
+})));
+
+
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../../moment')) :
+   typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    function each(array, callback) {
+        var i;
+        for (i = 0; i < array.length; i++) {
+            callback(array[i], i, array);
+        }
+    }
+
+    function setupDeprecationHandler(test, moment, scope) {
+        test._expectedDeprecations = null;
+        test._observedDeprecations = null;
+        test._oldSupress = moment.suppressDeprecationWarnings;
+        moment.suppressDeprecationWarnings = true;
+        test.expectedDeprecations = function () {
+            test._expectedDeprecations = arguments;
+            test._observedDeprecations = [];
+        };
+        moment.deprecationHandler = function (name, msg) {
+            var deprecationId = matchedDeprecation(
+                name,
+                msg,
+                test._expectedDeprecations
+            );
+            if (deprecationId === -1) {
+                throw new Error(
+                    'Unexpected deprecation thrown name=' + name + ' msg=' + msg
+                );
+            }
+            test._observedDeprecations[deprecationId] = 1;
+        };
+    }
+
+    function teardownDeprecationHandler(test, moment, scope) {
+        moment.suppressDeprecationWarnings = test._oldSupress;
+
+        if (test._expectedDeprecations != null) {
+            var missedDeprecations = [];
+            each(test._expectedDeprecations, function (deprecationPattern, id) {
+                if (test._observedDeprecations[id] !== 1) {
+                    missedDeprecations.push(deprecationPattern);
+                }
+            });
+            if (missedDeprecations.length !== 0) {
+                throw new Error(
+                    'Expected deprecation warnings did not happen: ' +
+                        missedDeprecations.join(' ')
+                );
+            }
+        }
+    }
+
+    function matchedDeprecation(name, msg, deprecations) {
+        if (deprecations == null) {
+            return -1;
+        }
+        for (var i = 0; i < deprecations.length; ++i) {
+            if (name != null && name === deprecations[i]) {
+                return i;
+            }
+            if (
+                msg != null &&
+                msg.substring(0, deprecations[i].length) === deprecations[i]
+            ) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    /*global QUnit:false*/
+
+    var test = QUnit.test,
+        only = QUnit.only;
+
+    function hasOwnProp(a, b) {
+        return Object.prototype.hasOwnProperty.call(a, b);
+    }
+
+    function objectKeys(obj) {
+        if (Object.keys) {
+            return Object.keys(obj);
+        } else {
+            // IE8
+            var res = [],
+                i;
+            for (i in obj) {
+                if (hasOwnProp(obj, i)) {
+                    res.push(i);
+                }
+            }
+            return res;
+        }
+    }
+
+    function eachOwnProp(object, callback) {
+        each(objectKeys(object), callback);
+    }
+
+    function defineCommonLocaleTests(locale, options) {
+        test('lenient day of month ordinal parsing', function (assert) {
+            var i, ordinalStr, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+                testMoment = moment(ordinalStr, 'YYYY MM Do');
+                assert.equal(
+                    testMoment.year(),
+                    2014,
+                    'lenient day of month ordinal parsing ' + i + ' year check'
+                );
+                assert.equal(
+                    testMoment.month(),
+                    0,
+                    'lenient day of month ordinal parsing ' + i + ' month check'
+                );
+                assert.equal(
+                    testMoment.date(),
+                    i,
+                    'lenient day of month ordinal parsing ' + i + ' date check'
+                );
+            }
+        });
+
+        test('lenient day of month ordinal parsing of number', function (assert) {
+            var i, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+                assert.equal(
+                    testMoment.year(),
+                    2014,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' year check'
+                );
+                assert.equal(
+                    testMoment.month(),
+                    0,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' month check'
+                );
+                assert.equal(
+                    testMoment.date(),
+                    i,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' date check'
+                );
+            }
+        });
+
+        test('strict day of month ordinal parsing', function (assert) {
+            var i, ordinalStr, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+                testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+                assert.ok(
+                    testMoment.isValid(),
+                    'strict day of month ordinal parsing ' + i
+                );
+            }
+        });
+
+        test('meridiem invariant', function (assert) {
+            var h, m, t1, t2;
+            for (h = 0; h < 24; ++h) {
+                for (m = 0; m < 60; m += 15) {
+                    t1 = moment.utc([2000, 0, 1, h, m]);
+                    t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+                    assert.equal(
+                        t2.format('HH:mm'),
+                        t1.format('HH:mm'),
+                        'meridiem at ' + t1.format('HH:mm')
+                    );
+                }
+            }
+        });
+
+        test('date format correctness', function (assert) {
+            var data = moment.localeData()._longDateFormat;
+            eachOwnProp(data, function (srchToken) {
+                // Check each format string to make sure it does not contain any
+                // tokens that need to be expanded.
+                eachOwnProp(data, function (baseToken) {
+                    // strip escaped sequences
+                    var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+                    assert.equal(
+                        false,
+                        !!~format.indexOf(srchToken),
+                        'contains ' + srchToken + ' in ' + baseToken
+                    );
+                });
+            });
+        });
+
+        test('month parsing correctness', function (assert) {
+            var i, m;
+
+            if (locale === 'tr') {
+                // I can't fix it :(
+                assert.expect(0);
+                return;
+            }
+            function tester(format) {
+                var r;
+                r = moment(m.format(format), format);
+                assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format);
+                    assert.equal(
+                        r.month(),
+                        m.month(),
+                        'month ' + i + ' fmt ' + format + ' upper'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' lower'
+                );
+
+                r = moment(m.format(format), format, true);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' strict'
+                );
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format, true);
+                    assert.equal(
+                        r.month(),
+                        m.month(),
+                        'month ' + i + ' fmt ' + format + ' upper strict'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format, true);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' lower strict'
+                );
+            }
+
+            for (i = 0; i < 12; ++i) {
+                m = moment([2015, i, 15, 18]);
+                tester('MMM');
+                tester('MMM.');
+                tester('MMMM');
+                tester('MMMM.');
+            }
+        });
+
+        test('weekday parsing correctness', function (assert) {
+            var i, m;
+
+            if (
+                locale === 'tr' ||
+                locale === 'az' ||
+                locale === 'ro' ||
+                locale === 'mt' ||
+                locale === 'ga'
+            ) {
+                // tr, az: There is a lower-case letter (ı), that converted to
+                // upper then lower changes to i
+                // ro: there is the letter ț which behaves weird under IE8
+                // mt: letter Ħ
+                // ga: month with spaces
+                assert.expect(0);
+                return;
+            }
+            function tester(format) {
+                var r,
+                    baseMsg =
+                        'weekday ' +
+                        m.weekday() +
+                        ' fmt ' +
+                        format +
+                        ' ' +
+                        m.toISOString();
+                r = moment(m.format(format), format);
+                assert.equal(r.weekday(), m.weekday(), baseMsg);
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format);
+                    assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+                r = moment(m.format(format), format, true);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format, true);
+                    assert.equal(
+                        r.weekday(),
+                        m.weekday(),
+                        baseMsg + ' upper strict'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format, true);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+            }
+
+            for (i = 0; i < 7; ++i) {
+                m = moment.utc([2015, 0, i + 1, 18]);
+                tester('dd');
+                tester('ddd');
+                tester('dddd');
+            }
+        });
+
+        test('valid localeData', function (assert) {
+            assert.equal(
+                moment().localeData().months().length,
+                12,
+                'months should return 12 months'
+            );
+            assert.equal(
+                moment().localeData().monthsShort().length,
+                12,
+                'monthsShort should return 12 months'
+            );
+            assert.equal(
+                moment().localeData().weekdays().length,
+                7,
+                'weekdays should return 7 days'
+            );
+            assert.equal(
+                moment().localeData().weekdaysShort().length,
+                7,
+                'weekdaysShort should return 7 days'
+            );
+            assert.equal(
+                moment().localeData().weekdaysMin().length,
+                7,
+                'monthsShort should return 7 days'
+            );
+        });
+
+        test('localeData weekdays can localeSort', function (assert) {
+            var weekdays = moment().localeData().weekdays(),
+                weekdaysShort = moment().localeData().weekdaysShort(),
+                weekdaysMin = moment().localeData().weekdaysMin(),
+                shift = moment().localeData()._week.dow;
+            assert.deepEqual(
+                moment().localeData().weekdays(true),
+                weekdays.slice(shift, 7).concat(weekdays.slice(0, shift)),
+                'weekdays should localeSort'
+            );
+            assert.deepEqual(
+                moment().localeData().weekdaysShort(true),
+                weekdaysShort.slice(shift, 7).concat(weekdaysShort.slice(0, shift)),
+                'weekdaysShort should localeSort'
+            );
+            assert.deepEqual(
+                moment().localeData().weekdaysMin(true),
+                weekdaysMin.slice(shift, 7).concat(weekdaysMin.slice(0, shift)),
+                'weekdaysMin should localeSort'
+            );
+        });
+    }
+
+    /*global QUnit:false*/
+
+    function localeModule(name, lifecycle) {
+        QUnit.module('locale:' + name, {
+            beforeEach: function () {
+                moment.locale(name);
+                moment.createFromInputFallback = function (config) {
+                    throw new Error('input not handled by moment: ' + config._i);
+                };
+                setupDeprecationHandler(test, moment);
+                if (lifecycle && lifecycle.setup) {
+                    lifecycle.setup();
+                }
+            },
+            afterEach: function () {
+                moment.locale('en');
+                teardownDeprecationHandler(test, moment);
+                if (lifecycle && lifecycle.teardown) {
+                    lifecycle.teardown();
+                }
+            },
+        });
+        defineCommonLocaleTests(name);
+    }
+
+    localeModule('hu');
+
+    test('parse', function (assert) {
+        var tests =
+                'január jan._február feb._március márc._április ápr._május máj._június jún._július júl._augusztus aug._szeptember szept._október okt._november nov._december dec.'.split(
+                    '_'
+                ),
+            i;
+
+        function equalTest(input, mmm, i) {
+            assert.equal(
+                moment(input, mmm).month(),
+                i,
+                input + ' should be month ' + (i + 1)
+            );
+        }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
+
+        for (i = 0; i < 12; i++) {
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+        }
+    });
+
+    test('format', function (assert) {
+        var a = [
+                [
+                    'dddd, MMMM Do YYYY, HH:mm:ss',
+                    'vasárnap, február 14. 2010, 15:25:50',
+                ],
+                ['ddd, HH', 'vas, 15'],
+                ['M Mo MM MMMM MMM', '2 2. 02 február feb.'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14. 14'],
+                ['d do dddd ddd dd', '0 0. vasárnap vas v'],
+                ['DDD DDDo DDDD', '45 45. 045'],
+                ['w wo ww', '6 6. 06'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['[az év] DDDo [napja]', 'az év 45. napja'],
+                ['LTS', '15:25:50'],
+                ['L', '2010.02.14.'],
+                ['LL', '2010. február 14.'],
+                ['LLL', '2010. február 14. 15:25'],
+                ['LLLL', '2010. február 14., vasárnap 15:25'],
+                ['l', '2010.2.14.'],
+                ['ll', '2010. feb. 14.'],
+                ['lll', '2010. feb. 14. 15:25'],
+                ['llll', '2010. feb. 14., vas 15:25'],
+            ],
+            b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+            i;
+        for (i = 0; i < a.length; i++) {
+            assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+        }
+    });
+
+    test('meridiem', function (assert) {
+        assert.equal(moment([2011, 2, 23, 0, 0]).format('a'), 'de', 'am');
+        assert.equal(moment([2011, 2, 23, 11, 59]).format('a'), 'de', 'am');
+        assert.equal(moment([2011, 2, 23, 12, 0]).format('a'), 'du', 'pm');
+        assert.equal(moment([2011, 2, 23, 23, 59]).format('a'), 'du', 'pm');
+
+        assert.equal(moment([2011, 2, 23, 0, 0]).format('A'), 'DE', 'AM');
+        assert.equal(moment([2011, 2, 23, 11, 59]).format('A'), 'DE', 'AM');
+        assert.equal(moment([2011, 2, 23, 12, 0]).format('A'), 'DU', 'PM');
+        assert.equal(moment([2011, 2, 23, 23, 59]).format('A'), 'DU', 'PM');
+    });
+
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+    });
+
+    test('format month', function (assert) {
+        var expected =
+                'január jan._február feb._március márc._április ápr._május máj._június jún._július júl._augusztus aug._szeptember szept._október okt._november nov._december dec.'.split(
+                    '_'
+                ),
+            i;
+        for (i = 0; i < expected.length; i++) {
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM MMM'),
+                expected[i],
+                expected[i]
+            );
+        }
+    });
+
+    test('format week', function (assert) {
+        var expected =
+                'vasárnap vas_hétfő hét_kedd kedd_szerda sze_csütörtök csüt_péntek pén_szombat szo'.split(
+                    '_'
+                ),
+            i;
+        for (i = 0; i < expected.length; i++) {
+            assert.equal(
+                moment([2011, 0, 2 + i]).format('dddd ddd'),
+                expected[i],
+                expected[i]
+            );
+        }
+    });
+
+    test('from', function (assert) {
+        var start = moment([2007, 1, 28]);
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
+            'néhány másodperc',
+            '44 másodperc = néhány másodperc'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
+            'egy perc',
+            '45 másodperc = egy perc'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
+            'egy perc',
+            '89 másodperc = egy perc'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
+            '2 perc',
+            '90 másodperc = 2 perc'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
+            '44 perc',
+            '44 perc = 44 perc'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
+            'egy óra',
+            '45 perc = egy óra'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
+            'egy óra',
+            '89 perc = egy óra'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
+            '2 óra',
+            '90 perc = 2 óra'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
+            '5 óra',
+            '5 óra = 5 óra'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
+            '21 óra',
+            '21 óra = 21 óra'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
+            'egy nap',
+            '22 óra = egy nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
+            'egy nap',
+            '35 óra = egy nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
+            '2 nap',
+            '36 óra = 2 nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
+            'egy nap',
+            '1 nap = egy nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
+            '5 nap',
+            '5 nap = 5 nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
+            '25 nap',
+            '25 nap = 25 nap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
+            'egy hónap',
+            '26 nap = egy hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
+            'egy hónap',
+            '30 nap = egy hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
+            'egy hónap',
+            '45 nap = egy hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
+            '2 hónap',
+            '46 nap = 2 hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
+            '2 hónap',
+            '75 nap = 2 hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
+            '3 hónap',
+            '76 nap = 3 hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
+            'egy hónap',
+            '1 hónap = egy hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
+            '5 hónap',
+            '5 hónap = 5 hónap'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
+            'egy év',
+            '345 nap = egy év'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
+            '2 év',
+            '548 nap = 2 év'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
+            'egy év',
+            '1 év = egy év'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
+            '5 év',
+            '5 év = 5 év'
+        );
+    });
+
+    test('suffix', function (assert) {
+        assert.equal(moment(30000).from(0), 'néhány másodperc múlva', 'prefix');
+        assert.equal(moment(0).from(30000), 'néhány másodperce', 'suffix');
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'néhány másodperce',
+            'now from now should display as in the past'
+        );
+    });
+
+    test('fromNow', function (assert) {
+        assert.equal(
+            moment().add({ s: 30 }).fromNow(),
+            'néhány másodperc múlva',
+            'néhány másodperc múlva'
+        );
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            '5 nap múlva',
+            '5 nap múlva'
+        );
+    });
+
+    test('calendar day', function (assert) {
+        var a = moment().hours(12).minutes(0).seconds(0);
+
+        assert.equal(
+            moment(a).calendar(),
+            'ma 12:00-kor',
+            'today at the same time'
+        );
+        assert.equal(
+            moment(a).add({ m: 25 }).calendar(),
+            'ma 12:25-kor',
+            'Now plus 25 min'
+        );
+        assert.equal(
+            moment(a).add({ h: 1 }).calendar(),
+            'ma 13:00-kor',
+            'Now plus 1 hour'
+        );
+        assert.equal(
+            moment(a).add({ d: 1 }).calendar(),
+            'holnap 12:00-kor',
+            'tomorrow at the same time'
+        );
+        assert.equal(
+            moment(a).subtract({ h: 1 }).calendar(),
+            'ma 11:00-kor',
+            'Now minus 1 hour'
+        );
+        assert.equal(
+            moment(a).subtract({ d: 1 }).calendar(),
+            'tegnap 12:00-kor',
+            'yesterday at the same time'
+        );
+    });
+
+    test('calendar next week', function (assert) {
+        var i,
+            m,
+            days =
+                'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split(
+                    '_'
+                );
+        for (i = 2; i < 7; i++) {
+            m = moment().add({ d: i });
+            assert.equal(
+                m.calendar(),
+                m.format('[' + days[m.day()] + '] LT[-kor]'),
+                'today + ' + i + ' days current time'
+            );
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            assert.equal(
+                m.calendar(),
+                m.format('[' + days[m.day()] + '] LT[-kor]'),
+                'today + ' + i + ' days beginning of day'
+            );
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            assert.equal(
+                m.calendar(),
+                m.format('[' + days[m.day()] + '] LT[-kor]'),
+                'today + ' + i + ' days end of day'
+            );
+        }
+    });
+
+    test('calendar last week', function (assert) {
+        var i,
+            m,
+            days =
+                'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split(
+                    '_'
+                );
+
+        for (i = 2; i < 7; i++) {
+            m = moment().subtract({ d: i });
+            assert.equal(
+                m.calendar(),
+                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
+                'today - ' + i + ' days current time'
+            );
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            assert.equal(
+                m.calendar(),
+                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
+                'today - ' + i + ' days beginning of day'
+            );
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            assert.equal(
+                m.calendar(),
+                m.format('[múlt ' + days[m.day()] + '] LT[-kor]'),
+                'today - ' + i + ' days end of day'
+            );
+        }
+    });
+
+    test('calendar all else', function (assert) {
+        var weeksAgo = moment().subtract({ w: 1 }),
+            weeksFromNow = moment().add({ w: 1 });
+
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), 'egy héte');
+        assert.equal(
+            weeksFromNow.calendar(),
+            weeksFromNow.format('L'),
+            'egy hét múlva'
+        );
+
+        weeksAgo = moment().subtract({ w: 2 });
+        weeksFromNow = moment().add({ w: 2 });
+
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 hete');
+        assert.equal(
+            weeksFromNow.calendar(),
+            weeksFromNow.format('L'),
+            '2 hét múlva'
+        );
+    });
+
+    test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '52 52 52.',
+            'Dec 26 2011 should be week 52'
+        );
+        assert.equal(
+            moment([2012, 0, 1]).format('w ww wo'),
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
+        );
+        assert.equal(
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1.',
+            'Jan  2 2012 should be week 1'
+        );
+        assert.equal(
+            moment([2012, 0, 8]).format('w ww wo'),
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
+        );
+        assert.equal(
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2.',
+            'Jan  9 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('jv');
+    localeModule('jv');
+
+    test('parse', function (assert) {
+        var tests =
+                'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_Nopember Nop_Desember Des'.split(
+                    '_'
+                ),
+            i;
+        function equalTest(input, mmm, i) {
+            assert.equal(
+                moment(input, mmm).month(),
+                i,
+                input + ' should be month ' + (i + 1)
+            );
+        }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
+
+        for (i = 0; i < 12; i++) {
+            tests[i] = tests[i].split(' ');
+            equalTest(tests[i][0], 'MMM', i);
+            equalTest(tests[i][1], 'MMM', i);
+            equalTest(tests[i][0], 'MMMM', i);
+            equalTest(tests[i][1], 'MMMM', i);
+            equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+        }
+    });
+
+    test('format', function (assert) {
+        var a = [
+                [
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'Minggu, Februari 14 2010, 3:25:50 sonten',
+                ],
+                ['ddd, hA', 'Min, 3sonten'],
+                ['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14 14'],
+                ['d do dddd ddd dd', '0 0 Minggu Min Mg'],
+                ['DDD DDDo DDDD', '45 45 045'],
+                ['w wo ww', '7 7 07'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', 'sonten sonten'],
+                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+                ['LTS', '15.25.50'],
+                ['L', '14/02/2010'],
+                ['LL', '14 Februari 2010'],
+                ['LLL', '14 Februari 2010 pukul 15.25'],
+                ['LLLL', 'Minggu, 14 Februari 2010 pukul 15.25'],
+                ['l', '14/2/2010'],
+                ['ll', '14 Feb 2010'],
+                ['lll', '14 Feb 2010 pukul 15.25'],
+                ['llll', 'Min, 14 Feb 2010 pukul 15.25'],
+            ],
+            b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+            i;
+        for (i = 0; i < a.length; i++) {
+            assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+        }
+    });
+
+    test('format month', function (assert) {
+        var expected =
+                'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_Nopember Nop_Desember Des'.split(
+                    '_'
+                ),
+            i;
+        for (i = 0; i < expected.length; i++) {
+            assert.equal(
+                moment([2011, i, 1]).format('MMMM MMM'),
+                expected[i],
+                expected[i]
+            );
+        }
+    });
+
+    test('format week', function (assert) {
+        var expected =
+                'Minggu Min Mg_Senen Sen Sn_Seloso Sel Sl_Rebu Reb Rb_Kemis Kem Km_Jemuwah Jem Jm_Septu Sep Sp'.split(
+                    '_'
+                ),
+            i;
+        for (i = 0; i < expected.length; i++) {
+            assert.equal(
+                moment([2011, 0, 2 + i]).format('dddd ddd dd'),
+                expected[i],
+                expected[i]
+            );
+        }
+    });
+
+    test('from', function (assert) {
+        var start = moment([2007, 1, 28]);
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
+            'sawetawis detik',
+            '44 seconds = a few seconds'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
+            'setunggal menit',
+            '45 seconds = a minute'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
+            'setunggal menit',
+            '89 seconds = a minute'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
+            '2 menit',
+            '90 seconds = 2 minutes'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
+            '44 menit',
+            '44 minutes = 44 minutes'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
+            'setunggal jam',
+            '45 minutes = an hour'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
+            'setunggal jam',
+            '89 minutes = an hour'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
+            '2 jam',
+            '90 minutes = 2 hours'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
+            '5 jam',
+            '5 hours = 5 hours'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
+            '21 jam',
+            '21 hours = 21 hours'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
+            'sedinten',
+            '22 hours = a day'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
+            'sedinten',
+            '35 hours = a day'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
+            '2 dinten',
+            '36 hours = 2 days'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
+            'sedinten',
+            '1 day = a day'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
+            '5 dinten',
+            '5 days = 5 days'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
+            '25 dinten',
+            '25 days = 25 days'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
+            'sewulan',
+            '26 days = a month'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
+            'sewulan',
+            '30 days = a month'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
+            'sewulan',
+            '43 days = a month'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
+            '2 wulan',
+            '46 days = 2 months'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
+            '2 wulan',
+            '75 days = 2 months'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
+            '3 wulan',
+            '76 days = 3 months'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
+            'sewulan',
+            '1 month = a month'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
+            '5 wulan',
+            '5 months = 5 months'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
+            'setaun',
+            '345 days = a year'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
+            '2 taun',
+            '548 days = 2 years'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
+            'setaun',
+            '1 year = a year'
+        );
+        assert.equal(
+            start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
+            '5 taun',
+            '5 years = 5 years'
+        );
+    });
+
+    test('suffix', function (assert) {
+        assert.equal(moment(30000).from(0), 'wonten ing sawetawis detik', 'prefix');
+        assert.equal(
+            moment(0).from(30000),
+            'sawetawis detik ingkang kepengker',
+            'suffix'
+        );
+    });
+
+    test('now from now', function (assert) {
+        assert.equal(
+            moment().fromNow(),
+            'sawetawis detik ingkang kepengker',
+            'now from now should display as in the past'
+        );
+    });
+
+    test('fromNow', function (assert) {
+        assert.equal(
+            moment().add({ s: 30 }).fromNow(),
+            'wonten ing sawetawis detik',
+            'in a few seconds'
+        );
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'wonten ing 5 dinten',
+            'in 5 days'
+        );
+    });
+
+    test('calendar day', function (assert) {
+        var a = moment().hours(12).minutes(0).seconds(0);
+
+        assert.equal(
+            moment(a).calendar(),
+            'Dinten puniko pukul 12.00',
+            'today at the same time'
+        );
+        assert.equal(
+            moment(a).add({ m: 25 }).calendar(),
+            'Dinten puniko pukul 12.25',
+            'Now plus 25 min'
+        );
+        assert.equal(
+            moment(a).add({ h: 1 }).calendar(),
+            'Dinten puniko pukul 13.00',
+            'Now plus 1 hour'
+        );
+        assert.equal(
+            moment(a).add({ d: 1 }).calendar(),
+            'Mbenjang pukul 12.00',
+            'tomorrow at the same time'
+        );
+        assert.equal(
+            moment(a).subtract({ h: 1 }).calendar(),
+            'Dinten puniko pukul 11.00',
+            'Now minus 1 hour'
+        );
+        assert.equal(
+            moment(a).subtract({ d: 1 }).calendar(),
+            'Kala wingi pukul 12.00',
+            'yesterday at the same time'
+        );
+    });
+
+    test('calendar next week', function (assert) {
+        var i, m;
+        for (i = 2; i < 7; i++) {
+            m = moment().add({ d: i });
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [pukul] LT'),
+                'Today + ' + i + ' days current time'
+            );
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [pukul] LT'),
+                'Today + ' + i + ' days beginning of day'
+            );
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [pukul] LT'),
+                'Today + ' + i + ' days end of day'
+            );
+        }
+    });
+
+    test('calendar last week', function (assert) {
+        var i, m;
+        for (i = 2; i < 7; i++) {
+            m = moment().subtract({ d: i });
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [kepengker pukul] LT'),
+                'Today - ' + i + ' days current time'
+            );
+            m.hours(0).minutes(0).seconds(0).milliseconds(0);
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [kepengker pukul] LT'),
+                'Today - ' + i + ' days beginning of day'
+            );
+            m.hours(23).minutes(59).seconds(59).milliseconds(999);
+            assert.equal(
+                m.calendar(),
+                m.format('dddd [kepengker pukul] LT'),
+                'Today - ' + i + ' days end of day'
+            );
+        }
+    });
+
+    test('calendar all else', function (assert) {
+        var weeksAgo = moment().subtract({ w: 1 }),
+            weeksFromNow = moment().add({ w: 1 });
+
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+        assert.equal(
+            weeksFromNow.calendar(),
+            weeksFromNow.format('L'),
+            'in 1 week'
+        );
+
+        weeksAgo = moment().subtract({ w: 2 });
+        weeksFromNow = moment().add({ w: 2 });
+
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+        assert.equal(
+            weeksFromNow.calendar(),
+            weeksFromNow.format('L'),
+            'in 2 weeks'
+        );
+    });
+
+    // Monday is the first day of the week.
+    // The week that contains Jan 1st is the first week of the year.
+
+    test('weeks year starting sunday formatted', function (assert) {
+        assert.equal(
+            moment([2011, 11, 26]).format('w ww wo'),
+            '1 01 1',
+            'Dec 26 2011 should be week 1'
+        );
+        assert.equal(
+            moment([2012, 0, 1]).format('w ww wo'),
+            '1 01 1',
+            'Jan  1 2012 should be week 1'
+        );
+        assert.equal(
+            moment([2012, 0, 2]).format('w ww wo'),
+            '2 02 2',
+            'Jan  2 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 8]).format('w ww wo'),
+            '2 02 2',
+            'Jan  8 2012 should be week 2'
+        );
+        assert.equal(
+            moment([2012, 0, 9]).format('w ww wo'),
+            '3 03 3',
+            'Jan  9 2012 should be week 3'
+        );
+    });
+
+})));
+
+
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../../moment')) :
+   typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    function each(array, callback) {
+        var i;
+        for (i = 0; i < array.length; i++) {
+            callback(array[i], i, array);
+        }
+    }
+
+    function setupDeprecationHandler(test, moment, scope) {
+        test._expectedDeprecations = null;
+        test._observedDeprecations = null;
+        test._oldSupress = moment.suppressDeprecationWarnings;
+        moment.suppressDeprecationWarnings = true;
+        test.expectedDeprecations = function () {
+            test._expectedDeprecations = arguments;
+            test._observedDeprecations = [];
+        };
+        moment.deprecationHandler = function (name, msg) {
+            var deprecationId = matchedDeprecation(
+                name,
+                msg,
+                test._expectedDeprecations
+            );
+            if (deprecationId === -1) {
+                throw new Error(
+                    'Unexpected deprecation thrown name=' + name + ' msg=' + msg
+                );
+            }
+            test._observedDeprecations[deprecationId] = 1;
+        };
+    }
+
+    function teardownDeprecationHandler(test, moment, scope) {
+        moment.suppressDeprecationWarnings = test._oldSupress;
+
+        if (test._expectedDeprecations != null) {
+            var missedDeprecations = [];
+            each(test._expectedDeprecations, function (deprecationPattern, id) {
+                if (test._observedDeprecations[id] !== 1) {
+                    missedDeprecations.push(deprecationPattern);
+                }
+            });
+            if (missedDeprecations.length !== 0) {
+                throw new Error(
+                    'Expected deprecation warnings did not happen: ' +
+                        missedDeprecations.join(' ')
+                );
+            }
+        }
+    }
+
+    function matchedDeprecation(name, msg, deprecations) {
+        if (deprecations == null) {
+            return -1;
+        }
+        for (var i = 0; i < deprecations.length; ++i) {
+            if (name != null && name === deprecations[i]) {
+                return i;
+            }
+            if (
+                msg != null &&
+                msg.substring(0, deprecations[i].length) === deprecations[i]
+            ) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    /*global QUnit:false*/
+
+    var test = QUnit.test,
+        only = QUnit.only;
+
+    function hasOwnProp(a, b) {
+        return Object.prototype.hasOwnProperty.call(a, b);
+    }
+
+    function objectKeys(obj) {
+        if (Object.keys) {
+            return Object.keys(obj);
+        } else {
+            // IE8
+            var res = [],
+                i;
+            for (i in obj) {
+                if (hasOwnProp(obj, i)) {
+                    res.push(i);
+                }
+            }
+            return res;
+        }
+    }
+
+    function eachOwnProp(object, callback) {
+        each(objectKeys(object), callback);
+    }
+
+    function defineCommonLocaleTests(locale, options) {
+        test('lenient day of month ordinal parsing', function (assert) {
+            var i, ordinalStr, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+                testMoment = moment(ordinalStr, 'YYYY MM Do');
+                assert.equal(
+                    testMoment.year(),
+                    2014,
+                    'lenient day of month ordinal parsing ' + i + ' year check'
+                );
+                assert.equal(
+                    testMoment.month(),
+                    0,
+                    'lenient day of month ordinal parsing ' + i + ' month check'
+                );
+                assert.equal(
+                    testMoment.date(),
+                    i,
+                    'lenient day of month ordinal parsing ' + i + ' date check'
+                );
+            }
+        });
+
+        test('lenient day of month ordinal parsing of number', function (assert) {
+            var i, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+                assert.equal(
+                    testMoment.year(),
+                    2014,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' year check'
+                );
+                assert.equal(
+                    testMoment.month(),
+                    0,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' month check'
+                );
+                assert.equal(
+                    testMoment.date(),
+                    i,
+                    'lenient day of month ordinal parsing of number ' +
+                        i +
+                        ' date check'
+                );
+            }
+        });
+
+        test('strict day of month ordinal parsing', function (assert) {
+            var i, ordinalStr, testMoment;
+            for (i = 1; i <= 31; ++i) {
+                ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+                testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+                assert.ok(
+                    testMoment.isValid(),
+                    'strict day of month ordinal parsing ' + i
+                );
+            }
+        });
+
+        test('meridiem invariant', function (assert) {
+            var h, m, t1, t2;
+            for (h = 0; h < 24; ++h) {
+                for (m = 0; m < 60; m += 15) {
+                    t1 = moment.utc([2000, 0, 1, h, m]);
+                    t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+                    assert.equal(
+                        t2.format('HH:mm'),
+                        t1.format('HH:mm'),
+                        'meridiem at ' + t1.format('HH:mm')
+                    );
+                }
+            }
+        });
+
+        test('date format correctness', function (assert) {
+            var data = moment.localeData()._longDateFormat;
+            eachOwnProp(data, function (srchToken) {
+                // Check each format string to make sure it does not contain any
+                // tokens that need to be expanded.
+                eachOwnProp(data, function (baseToken) {
+                    // strip escaped sequences
+                    var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+                    assert.equal(
+                        false,
+                        !!~format.indexOf(srchToken),
+                        'contains ' + srchToken + ' in ' + baseToken
+                    );
+                });
+            });
+        });
+
+        test('month parsing correctness', function (assert) {
+            var i, m;
+
+            if (locale === 'tr') {
+                // I can't fix it :(
+                assert.expect(0);
+                return;
+            }
+            function tester(format) {
+                var r;
+                r = moment(m.format(format), format);
+                assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format);
+                    assert.equal(
+                        r.month(),
+                        m.month(),
+                        'month ' + i + ' fmt ' + format + ' upper'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' lower'
+                );
+
+                r = moment(m.format(format), format, true);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' strict'
+                );
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format, true);
+                    assert.equal(
+                        r.month(),
+                        m.month(),
+                        'month ' + i + ' fmt ' + format + ' upper strict'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format, true);
+                assert.equal(
+                    r.month(),
+                    m.month(),
+                    'month ' + i + ' fmt ' + format + ' lower strict'
+                );
+            }
+
+            for (i = 0; i < 12; ++i) {
+                m = moment([2015, i, 15, 18]);
+                tester('MMM');
+                tester('MMM.');
+                tester('MMMM');
+                tester('MMMM.');
+            }
+        });
+
+        test('weekday parsing correctness', function (assert) {
+            var i, m;
+
+            if (
+                locale === 'tr' ||
+                locale === 'az' ||
+                locale === 'ro' ||
+                locale === 'mt' ||
+                locale === 'ga'
+            ) {
+                // tr, az: There is a lower-case letter (ı), that converted to
+                // upper then lower changes to i
+                // ro: there is the letter ț which behaves weird under IE8
+                // mt: letter Ħ
+                // ga: month with spaces
+                assert.expect(0);
+                return;
+            }
+            function tester(format) {
+                var r,
+                    baseMsg =
+                        'weekday ' +
+                        m.weekday() +
+                        ' fmt ' +
+                        format +
+                        ' ' +
+                        m.toISOString();
+                r = moment(m.format(format), format);
+                assert.equal(r.weekday(), m.weekday(), baseMsg);
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format);
+                    assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+                r = moment(m.format(format), format, true);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+                if (locale !== 'ka') {
+                    r = moment(m.format(format).toLocaleUpperCase(), format, true);
+                    assert.equal(
+                        r.weekday(),
+                        m.weekday(),
+                        baseMsg + ' upper strict'
+                    );
+                }
+                r = moment(m.format(format).toLocaleLowerCase(), format, true);
+                assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+            }
+
+            for (i = 0; i < 7; ++i) {
+                m = moment.utc([2015, 0, i + 1, 18]);
+                tester('dd');
+                tester('ddd');
+                tester('dddd');
+            }
+        });
+
+        test('valid localeData', function (assert) {
+            assert.equal(
+                moment().localeData().months().length,
+                12,
+                'months should return 12 months'
+            );
+            assert.equal(
+                moment().localeData().monthsShort().length,
+                12,
+                'monthsShort should return 12 months'
+            );
+            assert.equal(
+                moment().localeData().weekdays().length,
+                7,
+                'weekdays should return 7 days'
+            );
+            assert.equal(
+                moment().localeData().weekdaysShort().length,
+                7,
+                'weekdaysShort should return 7 days'
+            );
+            assert.equal(
+                moment().localeData().weekdaysMin().length,
+                7,
+                'monthsShort should return 7 days'
+            );
+        });
+
+        test('localeData weekdays can localeSort', function (assert) {
+            var weekdays = moment().localeData().weekdays(),
+                weekdaysShort = moment().localeData().weekdaysShort(),
+                weekdaysMin = moment().localeData().weekdaysMin(),
+                shift = moment().localeData()._week.dow;
+            assert.deepEqual(
+                moment().localeData().weekdays(true),
+                weekdays.slice(shift, 7).concat(weekdays.slice(0, shift)),
+                'weekdays should localeSort'
+            );
+            assert.deepEqual(
+                moment().localeData().weekdaysShort(true),
+                weekdaysShort.slice(shift, 7).concat(weekdaysShort.slice(0, shift)),
+                'weekdaysShort should localeSort'
+            );
+            assert.deepEqual(
+                moment().localeData().weekdaysMin(true),
+                weekdaysMin.slice(shift, 7).concat(weekdaysMin.slice(0, shift)),
+                'weekdaysMin should localeSort'
+            );
+        });
+    }
+
+    /*global QUnit:false*/
+
+    function localeModule(name, lifecycle) {
+        QUnit.module('locale:' + name, {
+            beforeEach: function () {
+                moment.locale(name);
+                moment.createFromInputFallback = function (config) {
+                    throw new Error('input not handled by moment: ' + config._i);
+                };
+                setupDeprecationHandler(test, moment);
+                if (lifecycle && lifecycle.setup) {
+                    lifecycle.setup();
+                }
+            },
+            afterEach: function () {
+                moment.locale('en');
+                teardownDeprecationHandler(test, moment);
+                if (lifecycle && lifecycle.teardown) {
+                    lifecycle.teardown();
+                }
+            },
+        });
+        defineCommonLocaleTests(name);
+    }
+
+    localeModule('ka');
 
     test('parse', function (assert) {
-        var tests =
-                'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_Nopember Nop_Desember Des'.split(
+        var i,
+            tests =
+                'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split(
                     '_'
-                ),
-            i;
+                );
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][1], 'MMMM', i);
             equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
-
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            // the last two are broken until https://github.com/nodejs/node/issues/22518 is fixed
+            // equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            // equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
         var a = [
                 [
                     'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'Minggu, Februari 14 2010, 3:25:50 sonten',
+                    'კვირა, თებერვალი მე-14 2010, 3:25:50 pm',
                 ],
-                ['ddd, hA', 'Min, 3sonten'],
-                ['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
+                ['ddd, hA', 'კვი, 3PM'],
+                ['M Mo MM MMMM MMM', '2 მე-2 02 თებერვალი თებ'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0 Minggu Min Mg'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '7 7 07'],
+                ['D Do DD', '14 მე-14 14'],
+                ['d do dddd ddd dd', '0 0 კვირა კვი კვ'],
+                ['DDD DDDo DDDD', '45 45-ე 045'],
+                ['w wo ww', '7 მე-7 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', 'sonten sonten'],
-                ['[the] DDDo [day of the year]', 'the 45 day of the year'],
-                ['LTS', '15.25.50'],
+                ['a A', 'pm PM'],
+                ['წლის DDDo დღე', 'წლის 45-ე დღე'],
+                ['LTS', '15:25:50'],
                 ['L', '14/02/2010'],
-                ['LL', '14 Februari 2010'],
-                ['LLL', '14 Februari 2010 pukul 15.25'],
-                ['LLLL', 'Minggu, 14 Februari 2010 pukul 15.25'],
+                ['LL', '14 თებერვალი 2010'],
+                ['LLL', '14 თებერვალი 2010 15:25'],
+                ['LLLL', 'კვირა, 14 თებერვალი 2010 15:25'],
                 ['l', '14/2/2010'],
-                ['ll', '14 Feb 2010'],
-                ['lll', '14 Feb 2010 pukul 15.25'],
-                ['llll', 'Min, 14 Feb 2010 pukul 15.25'],
+                ['ll', '14 თებ 2010'],
+                ['lll', '14 თებ 2010 15:25'],
+                ['llll', 'კვი, 14 თებ 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ლი', '1-ლი');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), 'მე-2', 'მე-2');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), 'მე-3', 'მე-3');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), 'მე-4', 'მე-4');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), 'მე-5', 'მე-5');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), 'მე-6', 'მე-6');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), 'მე-7', 'მე-7');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), 'მე-8', 'მე-8');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), 'მე-9', 'მე-9');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), 'მე-10', 'მე-10');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), 'მე-11', 'მე-11');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), 'მე-12', 'მე-12');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), 'მე-13', 'მე-13');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), 'მე-14', 'მე-14');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), 'მე-15', 'მე-15');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), 'მე-16', 'მე-16');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), 'მე-17', 'მე-17');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), 'მე-18', 'მე-18');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), 'მე-19', 'მე-19');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), 'მე-20', 'მე-20');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ე', '21-ე');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-ე', '22-ე');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-ე', '23-ე');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ე', '24-ე');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ე', '25-ე');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ე', '26-ე');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ე', '27-ე');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ე', '28-ე');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-ე', '29-ე');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-ე', '30-ე');
+
+        assert.equal(
+            moment('2011 40', 'YYYY DDD').format('DDDo'),
+            'მე-40',
+            'მე-40'
+        );
+        assert.equal(moment('2011 50', 'YYYY DDD').format('DDDo'), '50-ე', '50-ე');
+        assert.equal(
+            moment('2011 60', 'YYYY DDD').format('DDDo'),
+            'მე-60',
+            'მე-60'
+        );
+        assert.equal(
+            moment('2011 100', 'YYYY DDD').format('DDDo'),
+            'მე-100',
+            'მე-100'
+        );
+        assert.equal(
+            moment('2011 101', 'YYYY DDD').format('DDDo'),
+            '101-ე',
+            '101-ე'
+        );
+    });
+
     test('format month', function (assert) {
-        var expected =
-                'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_Nopember Nop_Desember Des'.split(
+        var i,
+            expected =
+                'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                'Minggu Min Mg_Senen Sen Sn_Seloso Sel Sl_Rebu Reb Rb_Kemis Kem Km_Jemuwah Jem Jm_Septu Sep Sp'.split(
+        var i,
+            expected =
+                'კვირა კვი კვ_ორშაბათი ორშ ორ_სამშაბათი სამ სა_ოთხშაბათი ოთხ ოთ_ხუთშაბათი ხუთ ხუ_პარასკევი პარ პა_შაბათი შაბ შა'.split(
                     '_'
-                ),
-            i;
+                );
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'sawetawis detik',
-            '44 seconds = a few seconds'
+            'რამდენიმე წამი',
+            '44 წამი  = რამდენიმე წამი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'setunggal menit',
-            '45 seconds = a minute'
+            'წუთი',
+            '45 წამი  = წუთი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'setunggal menit',
-            '89 seconds = a minute'
+            'წუთი',
+            '89 წამი  = წუთი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 menit',
-            '90 seconds = 2 minutes'
+            '2 წუთი',
+            '90 წამი  = 2 წუთი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 menit',
-            '44 minutes = 44 minutes'
+            '44 წუთი',
+            '44 წამი  = 44 წუთი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'setunggal jam',
-            '45 minutes = an hour'
+            'საათი',
+            '45 წამი  = საათი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'setunggal jam',
-            '89 minutes = an hour'
+            'საათი',
+            '89 წამი  = საათი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 jam',
-            '90 minutes = 2 hours'
+            '2 საათი',
+            '90 წამი  = 2 საათი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 jam',
-            '5 hours = 5 hours'
+            '5 საათი',
+            '5 საათი  = 5 საათი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 jam',
-            '21 hours = 21 hours'
+            '21 საათი',
+            '21 საათი = 21 საათი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'sedinten',
-            '22 hours = a day'
+            'დღე',
+            '22 საათი = დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'sedinten',
-            '35 hours = a day'
+            'დღე',
+            '35 საათი = დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 dinten',
-            '36 hours = 2 days'
+            '2 დღე',
+            '36 საათი = 2 დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'sedinten',
-            '1 day = a day'
+            'დღე',
+            '1 დღე    = დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 dinten',
-            '5 days = 5 days'
+            '5 დღე',
+            '5 დღე    = 5 დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 dinten',
-            '25 days = 25 days'
+            '25 დღე',
+            '25 დღე   = 25 დღე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'sewulan',
-            '26 days = a month'
+            'თვე',
+            '26 დღე   = თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'sewulan',
-            '30 days = a month'
+            'თვე',
+            '30 დღე   = თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'sewulan',
-            '43 days = a month'
+            'თვე',
+            '45 დღე   = თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 wulan',
-            '46 days = 2 months'
+            '2 თვე',
+            '46 დღე   = 2 თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 wulan',
-            '75 days = 2 months'
+            '2 თვე',
+            '75 დღე   = 2 თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 wulan',
-            '76 days = 3 months'
+            '3 თვე',
+            '76 დღე   = 3 თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'sewulan',
-            '1 month = a month'
+            'თვე',
+            '1 თვე    = თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 wulan',
-            '5 months = 5 months'
+            '5 თვე',
+            '5 თვე    = 5 თვე'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'setaun',
-            '345 days = a year'
+            'წელი',
+            '345 დღე  = წელი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 taun',
-            '548 days = 2 years'
+            '2 წელი',
+            '548 დღე  = 2 წელი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'setaun',
-            '1 year = a year'
+            'წელი',
+            '1 წელი   = წელი'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 taun',
-            '5 years = 5 years'
+            '5 წელი',
+            '5 წელი   = 5 წელი'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'wonten ing sawetawis detik', 'prefix');
-        assert.equal(
-            moment(0).from(30000),
-            'sawetawis detik ingkang kepengker',
-            'suffix'
-        );
+        assert.equal(moment(30000).from(0), 'რამდენიმე წამში', 'ში სუფიქსი');
+        assert.equal(moment(0).from(30000), 'რამდენიმე წამის წინ', 'წინ სუფიქსი');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'sawetawis detik ingkang kepengker',
-            'now from now should display as in the past'
+            'რამდენიმე წამის წინ',
+            'უნდა აჩვენოს როგორც წარსული'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'wonten ing sawetawis detik',
-            'in a few seconds'
-        );
-        assert.equal(
-            moment().add({ d: 5 }).fromNow(),
-            'wonten ing 5 dinten',
-            'in 5 days'
+            'რამდენიმე წამში',
+            'რამდენიმე წამში'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 დღეში', '5 დღეში');
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
-        assert.equal(
-            moment(a).calendar(),
-            'Dinten puniko pukul 12.00',
-            'today at the same time'
-        );
+        assert.equal(moment(a).calendar(), 'დღეს 12:00-ზე', 'დღეს ამავე დროს');
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Dinten puniko pukul 12.25',
-            'Now plus 25 min'
+            'დღეს 12:25-ზე',
+            'ახლანდელ დროს დამატებული 25 წუთი'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Dinten puniko pukul 13.00',
-            'Now plus 1 hour'
+            'დღეს 13:00-ზე',
+            'ახლანდელ დროს დამატებული 1 საათი'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Mbenjang pukul 12.00',
-            'tomorrow at the same time'
+            'ხვალ 12:00-ზე',
+            'ხვალ ამავე დროს'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Dinten puniko pukul 11.00',
-            'Now minus 1 hour'
+            'დღეს 11:00-ზე',
+            'ახლანდელ დროს გამოკლებული 1 საათი'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Kala wingi pukul 12.00',
-            'yesterday at the same time'
+            'გუშინ 12:00-ზე',
+            'გუშინ ამავე დროს'
         );
     });
 
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [pukul] LT'),
-                'Today + ' + i + ' days current time'
+                m.format('[შემდეგ] dddd LT[-ზე]'),
+                'დღეს + ' + i + ' დღე ახლანდელ დროს'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [pukul] LT'),
-                'Today + ' + i + ' days beginning of day'
+                m.format('[შემდეგ] dddd LT[-ზე]'),
+                'დღეს + ' + i + ' დღე დღის დასაწყისში'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [pukul] LT'),
-                'Today + ' + i + ' days end of day'
+                m.format('[შემდეგ] dddd LT[-ზე]'),
+                'დღეს + ' + i + ' დღე დღის დასასრულს'
             );
         }
     });
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kepengker pukul] LT'),
-                'Today - ' + i + ' days current time'
+                m.format('[წინა] dddd LT[-ზე]'),
+                'დღეს - ' + i + ' დღე ახლანდელ დროს'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kepengker pukul] LT'),
-                'Today - ' + i + ' days beginning of day'
+                m.format('[წინა] dddd LT[-ზე]'),
+                'დღეს - ' + i + ' დღე დღის დასაწყისში'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [kepengker pukul] LT'),
-                'Today - ' + i + ' days end of day'
+                m.format('[წინა] dddd LT[-ზე]'),
+                'დღეს - ' + i + ' დღე დღის დასასრულს'
             );
         }
     });
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 კვირის წინ');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 1 week'
+            '1 კვირაში'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 კვირის წინ');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            'in 2 weeks'
+            '2 კვირაში'
         );
     });
 
-    // Monday is the first day of the week.
-    // The week that contains Jan 1st is the first week of the year.
-
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1',
-            'Dec 26 2011 should be week 1'
+            '1 01 1-ლი',
+            'დეკ 26 2011 უნდა იყოს კვირა 1'
         );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1',
-            'Jan  1 2012 should be week 1'
+            '1 01 1-ლი',
+            'იან  1 2012 უნდა იყოს კვირა 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2',
-            'Jan  2 2012 should be week 2'
+            '2 02 მე-2',
+            'იან  2 2012 უნდა იყოს კვირა 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2',
-            'Jan  8 2012 should be week 2'
+            '2 02 მე-2',
+            'იან  8 2012 უნდა იყოს კვირა 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3',
-            'Jan  9 2012 should be week 3'
+            '3 03 მე-3',
+            'იან  9 2012 უნდა იყოს კვირა 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ka');
+    localeModule('kk');
 
     test('parse', function (assert) {
-        var i,
-            tests =
-                'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split(
+        var tests =
+                'қаңтар қаң_ақпан ақп_наурыз нау_сәуір сәу_мамыр мам_маусым мау_шілде шіл_тамыз там_қыркүйек қыр_қазан қаз_қараша қар_желтоқсан жел'.split(
                     '_'
-                );
-
+                ),
+            i;
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][1], 'MMMM', i);
             equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
-            // the last two are broken until https://github.com/nodejs/node/issues/22518 is fixed
-            // equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
-            // equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'კვირა, თებერვალი მე-14 2010, 3:25:50 pm',
+                    'dddd, Do MMMM YYYY, HH:mm:ss',
+                    'жексенбі, 14-ші ақпан 2010, 15:25:50',
                 ],
-                ['ddd, hA', 'კვი, 3PM'],
-                ['M Mo MM MMMM MMM', '2 მე-2 02 თებერვალი თებ'],
+                ['ddd, hA', 'жек, 3PM'],
+                ['M Mo MM MMMM MMM', '2 2-ші 02 ақпан ақп'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 მე-14 14'],
-                ['d do dddd ddd dd', '0 0 კვირა კვი კვ'],
-                ['DDD DDDo DDDD', '45 45- 045'],
-                ['w wo ww', '7 მე-7 07'],
+                ['D Do DD', '14 14-ші 14'],
+                ['d do dddd ddd dd', '0 0-ші жексенбі жек жк'],
+                ['DDD DDDo DDDD', '45 45-ші 045'],
+                ['w wo ww', '7 7-ші 07'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
                 ['a A', 'pm PM'],
-                ['წლის DDDo დღე', 'წლის 45-ე დღე'],
+                ['[жылдың] DDDo [күні]', 'жылдың 45-ші күні'],
                 ['LTS', '15:25:50'],
-                ['L', '14/02/2010'],
-                ['LL', '14 თებერვალი 2010'],
-                ['LLL', '14 თებერვალი 2010 15:25'],
-                ['LLLL', 'კვირა, 14 თებერვალი 2010 15:25'],
-                ['l', '14/2/2010'],
-                ['ll', '14 თებ 2010'],
-                ['lll', '14 თებ 2010 15:25'],
-                ['llll', 'კვი, 14 თებ 2010 15:25'],
+                ['L', '14.02.2010'],
+                ['LL', '14 ақпан 2010'],
+                ['LLL', '14 ақпан 2010 15:25'],
+                ['LLLL', 'жексенбі, 14 ақпан 2010 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14 ақп 2010'],
+                ['lll', '14 ақп 2010 15:25'],
+                ['llll', 'жек, 14 ақп 2010 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
-
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ლი', '1-ლი');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), 'მე-2', 'მე-2');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), 'მე-3', 'მე-3');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), 'მე-4', 'მე-4');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), 'მე-5', 'მე-5');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), 'მე-6', 'მე-6');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), 'მე-7', 'მე-7');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), 'მე-8', 'მე-8');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), 'მე-9', 'მე-9');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), 'მე-10', 'მე-10');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ші', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-ші', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-ші', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-ші', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-ші', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-шы', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ші', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ші', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-шы', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-шы', '10th');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), 'მე-11', 'მე-11');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), 'მე-12', 'მე-12');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), 'მე-13', 'მე-13');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), 'მე-14', 'მე-14');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), 'მე-15', 'მე-15');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), 'მე-16', 'მე-16');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), 'მე-17', 'მე-17');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), 'მე-18', 'მე-18');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), 'მე-19', 'მე-19');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), 'მე-20', 'მე-20');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-ші', '11th');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-ші', '12th');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-ші', '13th');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-ші', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-ші', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-шы', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-ші', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-ші', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-шы', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-шы', '20th');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ე', '21-ე');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-ე', '22-ე');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-ე', '23-ე');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ე', '24-ე');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ე', '25-ე');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-ე', '26-ე');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ე', '27-ე');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ე', '28-ე');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-ე', '29-ე');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-ე', '30-ე');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ші', '21st');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-ші', '22nd');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-ші', '23rd');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ші', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ші', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-шы', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ші', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ші', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-шы', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-шы', '30th');
 
-        assert.equal(
-            moment('2011 40', 'YYYY DDD').format('DDDo'),
-            'მე-40',
-            'მე-40'
-        );
-        assert.equal(moment('2011 50', 'YYYY DDD').format('DDDo'), '50-ე', '50-ე');
-        assert.equal(
-            moment('2011 60', 'YYYY DDD').format('DDDo'),
-            'მე-60',
-            'მე-60'
-        );
-        assert.equal(
-            moment('2011 100', 'YYYY DDD').format('DDDo'),
-            'მე-100',
-            'მე-100'
-        );
-        assert.equal(
-            moment('2011 101', 'YYYY DDD').format('DDDo'),
-            '101-ე',
-            '101-ე'
-        );
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ші', '31st');
     });
 
     test('format month', function (assert) {
-        var i,
-            expected =
-                'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split(
+        var expected =
+                'қаңтар қаң_ақпан ақп_наурыз нау_сәуір сәу_мамыр мам_маусым мау_шілде шіл_тамыз там_қыркүйек қыр_қазан қаз_қараша қар_желтоқсан жел'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var i,
-            expected =
-                'კვირა კვი კვ_ორშაბათი ორშ ორ_სამშაბათი სამ სა_ოთხშაბათი ოთხ ოთ_ხუთშაბათი ხუთ ხუ_პარასკევი პარ პა_შაბათი შაბ შა'.split(
+        var expected =
+                'жексенбі жек жк_дүйсенбі дүй дй_сейсенбі сей сй_сәрсенбі сәр ср_бейсенбі бей бй_жұма жұм жм_сенбі сен сн'.split(
                     '_'
-                );
-
+                ),
+            i;
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
-
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'რამდენიმე წამი',
-            '44 წამი  = რამდენიმე წამი'
+            'бірнеше секунд',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'წუთი',
-            '45 წამი  = წუთი'
+            'бір минут',
+            '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'წუთი',
-            '89 წამი  = წუთი'
+            'бір минут',
+            '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 წუთი',
-            '90 წამი  = 2 წუთი'
+            '2 минут',
+            '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 წუთი',
-            '44 წამი  = 44 წუთი'
+            '44 минут',
+            '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'საათი',
-            '45 წამი  = საათი'
+            'бір сағат',
+            '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'საათი',
-            '89 წამი  = საათი'
+            'бір сағат',
+            '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 საათი',
-            '90 წამი  = 2 საათი'
+            '2 сағат',
+            '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 საათი',
-            '5 საათი  = 5 საათი'
+            '5 сағат',
+            '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 საათი',
-            '21 საათი = 21 საათი'
+            '21 сағат',
+            '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'დღე',
-            '22 საათი = დღე'
+            'бір күн',
+            '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'დღე',
-            '35 საათი = დღე'
+            'бір күн',
+            '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 დღე',
-            '36 საათი = 2 დღე'
+            '2 күн',
+            '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'დღე',
-            '1 დღე    = დღე'
+            'бір күн',
+            '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 დღე',
-            '5 დღე    = 5 დღე'
+            '5 күн',
+            '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 დღე',
-            '25 დღე   = 25 დღე'
+            '25 күн',
+            '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'თვე',
-            '26 დღე   = თვე'
+            'бір ай',
+            '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'თვე',
-            '30 დღე   = თვე'
+            'бір ай',
+            '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'თვე',
-            '45 დღე   = თვე'
+            'бір ай',
+            '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 თვე',
-            '46 დღე   = 2 თვე'
+            '2 ай',
+            '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 თვე',
-            '75 დღე   = 2 თვე'
+            '2 ай',
+            '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 თვე',
-            '76 დღე   = 3 თვე'
+            '3 ай',
+            '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'თვე',
-            '1 თვე    = თვე'
+            'бір ай',
+            '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 თვე',
-            '5 თვე    = 5 თვე'
+            '5 ай',
+            '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'წელი',
-            '345 დღე  = წელი'
+            'бір жыл',
+            '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 წელი',
-            '548 დღე  = 2 წელი'
+            '2 жыл',
+            '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'წელი',
-            '1 წელი   = წელი'
+            'бір жыл',
+            '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 წელი',
-            '5 წელი   = 5 წელი'
+            '5 жыл',
+            '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'რამდენიმე წამში', 'ში სუფიქსი');
-        assert.equal(moment(0).from(30000), 'რამდენიმე წამის წინ', 'წინ სუფიქსი');
+        assert.equal(moment(30000).from(0), 'бірнеше секунд ішінде', 'prefix');
+        assert.equal(moment(0).from(30000), 'бірнеше секунд бұрын', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'რამდენიმე წამის წინ',
-            'უნდა აჩვენოს როგორც წარსული'
+            'бірнеше секунд бұрын',
+            'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'რამდენიმე წამში',
-            'რამდენიმე წამში'
+            'бірнеше секунд ішінде',
+            'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 დღეში', '5 დღეში');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5 күн ішінде', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
         var a = moment().hours(12).minutes(0).seconds(0);
 
-        assert.equal(moment(a).calendar(), 'დღეს 12:00-ზე', 'დღეს ამავე დროს');
+        assert.equal(
+            moment(a).calendar(),
+            'Бүгін сағат 12:00',
+            'today at the same time'
+        );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'დღეს 12:25-ზე',
-            'ახლანდელ დროს დამატებული 25 წუთი'
+            'Бүгін сағат 12:25',
+            'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'დღეს 13:00-ზე',
-            'ახლანდელ დროს დამატებული 1 საათი'
+            'Бүгін сағат 13:00',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'ხვალ 12:00-ზე',
-            'ხვალ ამავე დროს'
+            'Ертең сағат 12:00',
+            'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'დღეს 11:00-ზე',
-            'ახლანდელ დროს გამოკლებული 1 საათი'
+            'Бүгін сағат 11:00',
+            'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'გუშინ 12:00-ზე',
-            'გუშინ ამავე დროს'
+            'Кеше сағат 12:00',
+            'yesterday at the same time'
         );
     });
 
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[შემდეგ] dddd LT[-ზე]'),
-                'დღეს + ' + i + ' დღე ახლანდელ დროს'
+                m.format('dddd [сағат] LT'),
+                'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[შემდეგ] dddd LT[-ზე]'),
-                'დღეს + ' + i + ' დღე დღის დასაწყისში'
+                m.format('dddd [сағат] LT'),
+                'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[შემდეგ] dddd LT[-ზე]'),
-                'დღეს + ' + i + ' დღე დღის დასასრულს'
+                m.format('dddd [сағат] LT'),
+                'Today + ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[წინა] dddd LT[-ზე]'),
-                'დღეს - ' + i + ' დღე ახლანდელ დროს'
+                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[წინა] dddd LT[-ზე]'),
-                'დღეს - ' + i + ' დღე დღის დასაწყისში'
+                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[წინა] dddd LT[-ზე]'),
-                'დღეს - ' + i + ' დღე დღის დასასრულს'
+                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                'Today - ' + i + ' days end of day'
             );
         }
     });
         var weeksAgo = moment().subtract({ w: 1 }),
             weeksFromNow = moment().add({ w: 1 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 კვირის წინ');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            '1 კვირაში'
+            'in 1 week'
         );
 
         weeksAgo = moment().subtract({ w: 2 });
         weeksFromNow = moment().add({ w: 2 });
 
-        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 კვირის წინ');
+        assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
             weeksFromNow.calendar(),
             weeksFromNow.format('L'),
-            '2 კვირაში'
+            'in 2 weeks'
         );
     });
 
     test('weeks year starting sunday formatted', function (assert) {
-        assert.equal(
-            moment([2011, 11, 26]).format('w ww wo'),
-            '1 01 1-ლი',
-            'დეკ 26 2011 უნდა იყოს კვირა 1'
-        );
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-ლი',
-            'იან  1 2012 უნდა იყოს კვირა 1'
+            '1 01 1-ші',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 მე-2',
-            'იან  2 2012 უნდა იყოს კვირა 2'
+            '2 02 2-ші',
+            'Jan  2 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 მე-2',
-            'იან  8 2012 უნდა იყოს კვირა 2'
+            '2 02 2-ші',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 მე-3',
-            'იან  9 2012 უნდა იყოს კვირა 3'
+            '3 03 3-ші',
+            'Jan  9 2012 should be week 3'
+        );
+        assert.equal(
+            moment([2012, 0, 15]).format('w ww wo'),
+            '3 03 3-ші',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('kk');
+    localeModule('km');
 
     test('parse', function (assert) {
         var tests =
-                'қаңтар қаң_ақпан ақп_наурыз нау_сәуір сәу_мамыр мам_маусым мау_шілде шіл_тамыз там_қыркүйек қыр_қазан қаз_қараша қар_желтоқсан жел'.split(
+                'មករា មករា_កុម្ភៈ កុម្ភៈ_មីនា មីនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split(
                     '_'
                 ),
             i;
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
+
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, HH:mm:ss',
-                    'жексенбі, 14-ші ақпан 2010, 15:25:50',
+                    'dddd, MMMM Do YYYY, h:mm:ss a',
+                    'អាទិត្យ, កុម្ភៈ ទី១៤ ២០១០, ៣:២៥:៥០ ល្ងាច',
                 ],
-                ['ddd, hA', 'жек, 3PM'],
-                ['M Mo MM MMMM MMM', '2 2-ші 02 ақпан ақп'],
-                ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14-ші 14'],
-                ['d do dddd ddd dd', '0 0-ші жексенбі жек жк'],
-                ['DDD DDDo DDDD', '45 45-ші 045'],
-                ['w wo ww', '7 7-ші 07'],
-                ['h hh', '3 03'],
-                ['H HH', '15 15'],
-                ['m mm', '25 25'],
-                ['s ss', '50 50'],
-                ['a A', 'pm PM'],
-                ['[жылдың] DDDo [күні]', 'жылдың 45-ші күні'],
-                ['LTS', '15:25:50'],
-                ['L', '14.02.2010'],
-                ['LL', '14 ақпан 2010'],
-                ['LLL', '14 ақпан 2010 15:25'],
-                ['LLLL', 'жексенбі, 14 ақпан 2010 15:25'],
-                ['l', '14.2.2010'],
-                ['ll', '14 ақп 2010'],
-                ['lll', '14 ақп 2010 15:25'],
-                ['llll', 'жек, 14 ақп 2010 15:25'],
+                ['ddd, hA', 'អា, ៣ល្ងាច'],
+                ['M Mo MM MMMM MMM', '២ ទី២ ០២ កុម្ភៈ កុម្ភៈ'],
+                ['YYYY YY', '២០១០ ១០'],
+                ['D Do DD', '១៤ ទី១៤ ១៤'],
+                ['d do dddd ddd dd', '០ ទី០ អាទិត្យ អា អា'],
+                ['DDD DDDo DDDD', '៤៥ ទី៤៥ ០៤៥'],
+                ['w wo ww', '៦ ទី៦ ០៦'],
+                ['h hh', '៣ ០៣'],
+                ['H HH', '១៥ ១៥'],
+                ['m mm', '២៥ ២៥'],
+                ['s ss', '៥០ ៥០'],
+                ['a A', 'ល្ងាច ល្ងាច'],
+                ['[the] DDDo [day of the year]', 'the ទី៤៥ day of the year'],
+                ['LTS', '១៥:២៥:៥០'],
+                ['L', '១៤/០២/២០១០'],
+                ['LL', '១៤ កុម្ភៈ ២០១០'],
+                ['LLL', '១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
+                ['LLLL', 'អាទិត្យ, ១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
+                ['l', '១៤/២/២០១០'],
+                ['ll', '១៤ កុម្ភៈ ២០១០'],
+                ['lll', '១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
+                ['llll', 'អា, ១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-ші', '1st');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-ші', '2nd');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-ші', '3rd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-ші', '4th');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-ші', '5th');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-шы', '6th');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-ші', '7th');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-ші', '8th');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-шы', '9th');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-шы', '10th');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), 'ទី១', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), 'ទី២', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), 'ទី៣', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), 'ទី៤', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), 'ទី៥', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), 'ទី៦', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), 'ទី៧', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), 'ទី៨', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), 'ទី៩', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), 'ទី១០', '10th');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-ші', '11th');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-ші', '12th');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-ші', '13th');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-ші', '14th');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-ші', '15th');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-шы', '16th');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-ші', '17th');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-ші', '18th');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-шы', '19th');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-шы', '20th');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), 'ទី១១', '11st');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), 'ទី១២', '12nd');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), 'ទី១៣', '13rd');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), 'ទី១៤', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), 'ទី១៥', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), 'ទី១៦', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), 'ទី១៧', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), 'ទី១៨', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), 'ទី១៩', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), 'ទី២០', '20th');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-ші', '21st');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-ші', '22nd');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-ші', '23rd');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-ші', '24th');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-ші', '25th');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-шы', '26th');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-ші', '27th');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-ші', '28th');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-шы', '29th');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-шы', '30th');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), 'ទី២១', '21st');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), 'ទី២២', '22nd');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), 'ទី២៣', '23rd');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), 'ទី២៤', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), 'ទី២៥', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), 'ទី២៦', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), 'ទី២៧', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), 'ទី២៨', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), 'ទី២៩', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), 'ទី៣០', '30th');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-ші', '31st');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), 'ទី៣១', '31st');
     });
 
     test('format month', function (assert) {
         var expected =
-                'қаңтар қаң_ақпан ақп_наурыз нау_сәуір сәу_мамыр мам_маусым мау_шілде шіл_тамыз там_қыркүйек қыр_қазан қаз_қараша қар_желтоқсан жел'.split(
+                'មករា មករា_កុម្ភៈ កុម្ភៈ_មីនា មីនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'жексенбі жек жк_дүйсенбі дүй дй_сейсенбі сей сй_сәрсенбі сәр ср_бейсенбі бей бй_жұма жұм жм_сенбі сен сн'.split(
+                'អាទិត្យ អា អា_ច័ន្ទ ច ច_អង្គារ អ អ_ពុធ ព ព_ព្រហស្បតិ៍ ព្រ ព្រ_សុក្រ សុ សុ_សៅរ៍ ស ស'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'бірнеше секунд',
-            '44 seconds = a few seconds'
+            'ប៉ុន្មានវិនាទី',
+            '44 seconds = ប៉ុន្មានវិនាទី'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'бір минут',
-            '45 seconds = a minute'
+            'មួយនាទី',
+            '45 seconds = មួយនាទី'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'бір минут',
-            '89 seconds = a minute'
+            'មួយនាទី',
+            '89 seconds = មួយនាទី'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2 минут',
-            '90 seconds = 2 minutes'
+            '២ នាទី',
+            '90 seconds = 2 នាទី'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44 минут',
-            '44 minutes = 44 minutes'
+            '៤៤ នាទី',
+            '44 minutes = 44 នាទី'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'бір сағат',
-            '45 minutes = an hour'
+            'មួយម៉ោង',
+            '45 minutes = មួយម៉ោង'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'бір сағат',
-            '89 minutes = an hour'
+            'មួយម៉ោង',
+            '89 minutes = មួយម៉ោង'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2 сағат',
-            '90 minutes = 2 hours'
+            '២ ម៉ោង',
+            '90 minutes = 2 ម៉ោង'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5 сағат',
-            '5 hours = 5 hours'
+            '៥ ម៉ោង',
+            '5 hours = 5 ម៉ោង'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21 сағат',
-            '21 hours = 21 hours'
+            '២១ ម៉ោង',
+            '21 hours = 21 ម៉ោង'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'бір күн',
-            '22 hours = a day'
+            'មួយថ្ងៃ',
+            '22 hours = មួយថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'бір күн',
-            '35 hours = a day'
+            'មួយថ្ងៃ',
+            '35 hours = មួយថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2 күн',
-            '36 hours = 2 days'
+            '២ ថ្ងៃ',
+            '36 hours = 2 ថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'бір күн',
-            '1 day = a day'
+            'មួយថ្ងៃ',
+            '1 day = មួយថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5 күн',
-            '5 days = 5 days'
+            '៥ ថ្ងៃ',
+            '5 days = 5 ថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25 күн',
-            '25 days = 25 days'
+            '២៥ ថ្ងៃ',
+            '25 days = 25 ថ្ងៃ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'бір ай',
-            '26 days = a month'
+            'មួយខែ',
+            '26 days = មួយខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'бір ай',
-            '30 days = a month'
+            'មួយខែ',
+            '30 days = មួយខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'бір ай',
-            '43 days = a month'
+            'មួយខែ',
+            '43 days = មួយខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2 ай',
-            '46 days = 2 months'
+            '២ ខែ',
+            '46 days = 2 ខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2 ай',
-            '75 days = 2 months'
+            '២ ខែ',
+            '75 days = 2 ខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3 ай',
-            '76 days = 3 months'
+            '៣ ខែ',
+            '76 days = 3 ខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'бір ай',
-            '1 month = a month'
+            'មួយខែ',
+            '1 month = មួយខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5 ай',
-            '5 months = 5 months'
+            '៥ ខែ',
+            '5 months = 5 ខែ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'бір жыл',
-            '345 days = a year'
+            'មួយឆ្នាំ',
+            '345 days = មួយឆ្នាំ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2 жыл',
-            '548 days = 2 years'
+            '២ ឆ្នាំ',
+            '548 days = 2 ឆ្នាំ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'бір жыл',
-            '1 year = a year'
+            'មួយឆ្នាំ',
+            '1 year = មួយឆ្នាំ'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5 жыл',
-            '5 years = 5 years'
+            '៥ ឆ្នាំ',
+            '5 years = 5 ឆ្នាំ'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'бірнеше секунд ішінде', 'prefix');
-        assert.equal(moment(0).from(30000), 'бірнеше секунд бұрын', 'suffix');
+        assert.equal(moment(30000).from(0), 'ប៉ុន្មានវិនាទីទៀត', 'prefix');
+        assert.equal(moment(0).from(30000), 'ប៉ុន្មានវិនាទីមុន', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'бірнеше секунд бұрын',
+            'ប៉ុន្មានវិនាទីមុន',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
-            moment().add({ s: 30 }).fromNow(),
-            'бірнеше секунд ішінде',
+            moment()
+                .add({
+                    s: 30,
+                })
+                .fromNow(),
+            'ប៉ុន្មានវិនាទីទៀត',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5 күн ішінде', 'in 5 days');
+        assert.equal(
+            moment()
+                .add({
+                    d: 5,
+                })
+                .fromNow(),
+            '៥ ថ្ងៃទៀត',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'Бүгін сағат 12:00',
+            'ថ្ងៃនេះ ម៉ោង ១២:០០',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'Бүгін сағат 12:25',
+            'ថ្ងៃនេះ ម៉ោង ១២:២៥',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            'Бүгін сағат 13:00',
+            'ថ្ងៃនេះ ម៉ោង ១៣:០០',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'Ертең сағат 12:00',
+            'ស្អែក ម៉ោង ១២:០០',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'Бүгін сағат 11:00',
+            'ថ្ងៃនេះ ម៉ោង ១១:០០',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'Кеше сағат 12:00',
+            'ម្សិលមិញ ម៉ោង ១២:០០',
             'yesterday at the same time'
         );
     });
     test('calendar next week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().add({ d: i });
+            m = moment().add({
+                d: i,
+            });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [сағат] LT'),
+                m.format('dddd [ម៉ោង] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [сағат] LT'),
+                m.format('dddd [ម៉ោង] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [сағат] LT'),
+                m.format('dddd [ម៉ោង] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
         var i, m;
 
         for (i = 2; i < 7; i++) {
-            m = moment().subtract({ d: i });
+            m = moment().subtract({
+                d: i,
+            });
             assert.equal(
                 m.calendar(),
-                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[Өткен аптаның] dddd [сағат] LT'),
+                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar all else', function (assert) {
-        var weeksAgo = moment().subtract({ w: 1 }),
-            weeksFromNow = moment().add({ w: 1 });
+        var weeksAgo = moment().subtract({
+                w: 1,
+            }),
+            weeksFromNow = moment().add({
+                w: 1,
+            });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             'in 1 week'
         );
 
-        weeksAgo = moment().subtract({ w: 2 });
-        weeksFromNow = moment().add({ w: 2 });
+        weeksAgo = moment().subtract({
+            w: 2,
+        });
+        weeksFromNow = moment().add({
+            w: 2,
+        });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1-ші',
-            'Jan  1 2012 should be week 1'
+            '៥២ ៥២ ទី៥២',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
             moment([2012, 0, 2]).format('w ww wo'),
-            '2 02 2-ші',
-            'Jan  2 2012 should be week 2'
+            '១ ០១ ទី១',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2-ші',
-            'Jan  8 2012 should be week 2'
+            '១ ០១ ទី១',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 9]).format('w ww wo'),
-            '3 03 3-ші',
-            'Jan  9 2012 should be week 3'
+            '២ ០២ ទី២',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3-ші',
-            'Jan 15 2012 should be week 3'
+            '២ ០២ ទី២',
+            'Jan 15 2012 should be week 2'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('km');
+    localeModule('kn');
 
     test('parse', function (assert) {
         var tests =
-                'មករា មករា_កុម្ភៈ កុម្ភៈ_មីនា មីនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split(
+                'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋ_ನವೆಂಬರ್ ನವೆಂ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂ'.split(
                     '_'
                 ),
             i;
-
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
-
-        function equalTestStrict(input, mmm, monthIndex) {
-            assert.equal(
-                moment(input, mmm, true).month(),
-                monthIndex,
-                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-            );
-        }
+        // function equalTestStrict(input, mmm, monthIndex) {
+        //     assert.equal(
+        //         moment(input, mmm, true).month(),
+        //         monthIndex,
+        //         input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+        //     );
+        // }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            equalTestStrict(tests[i][1], 'MMM', i);
-            equalTestStrict(tests[i][0], 'MMMM', i);
-            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            // All strict parsing fails only for month 9 (index 8)
+            // equalTestStrict(tests[i][1], 'MMM', i);
+            // equalTestStrict(tests[i][0], 'MMMM', i);
+            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            // equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            // equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, MMMM Do YYYY, h:mm:ss a',
-                    'អាទិត្យ, កុម្ភៈ ទី១៤ ២០១០, ៣:២៥:៥០ ល្ងាច',
+                    'dddd, Do MMMM YYYY, a h:mm:ss',
+                    'ಭಾನುವಾರ, ೧೪ನೇ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦',
                 ],
-                ['ddd, hA', 'អា, ៣ល្ងាច'],
-                ['M Mo MM MMMM MMM', '២ ទី២ ០២ កុម្ភៈ កុម្ភៈ'],
-                ['YYYY YY', '២០១០ ១០'],
-                ['D Do DD', '១៤ ទី១៤ ១៤'],
-                ['d do dddd ddd dd', '០ ទី០ អាទិត្យ អា អា'],
-                ['DDD DDDo DDDD', '៤៥ ទី៤៥ ០៤៥'],
-                ['w wo ww', '៦ ទី៦ ០៦'],
-                ['h hh', '៣ ០៣'],
-                ['H HH', '១៥ ១៥'],
-                ['m mm', '២៥ ២៥'],
-                ['s ss', '៥០ ៥០'],
-                ['a A', 'ល្ងាច ល្ងាច'],
-                ['[the] DDDo [day of the year]', 'the ទី៤៥ day of the year'],
-                ['LTS', '១៥:២៥:៥០'],
-                ['L', '១៤/០២/២០១០'],
-                ['LL', '១៤ កុម្ភៈ ២០១០'],
-                ['LLL', '១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
-                ['LLLL', 'អាទិត្យ, ១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
-                ['l', '១៤/២/២០១០'],
-                ['ll', '១៤ កុម្ភៈ ២០១០'],
-                ['lll', '១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
-                ['llll', 'អា, ១៤ កុម្ភៈ ២០១០ ១៥:២៥'],
+                ['ddd, a h ಗಂಟೆ', 'ಭಾನು, ಮಧ್ಯಾಹ್ನ ೩ ಗಂಟೆ'],
+                ['M Mo MM MMMM MMM', '೨ ೨ನೇ ೦೨ ಫೆಬ್ರವರಿ ಫೆಬ್ರ'],
+                ['YYYY YY', '೨೦೧೦ ೧೦'],
+                ['D Do DD', '೧೪ ೧೪ನೇ ೧೪'],
+                ['d do dddd ddd dd', '೦ ೦ನೇ ಭಾನುವಾರ ಭಾನು ಭಾ'],
+                ['DDD DDDo DDDD', '೪೫ ೪೫ನೇ ೦೪೫'],
+                ['w wo ww', '೮ ೮ನೇ ೦೮'],
+                ['h hh', '೩ ೦೩'],
+                ['H HH', '೧೫ ೧೫'],
+                ['m mm', '೨೫ ೨೫'],
+                ['s ss', '೫೦ ೫೦'],
+                ['a A', 'ಮಧ್ಯಾಹ್ನ ಮಧ್ಯಾಹ್ನ'],
+                ['LTS', 'ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦'],
+                ['L', '೧೪/೦೨/೨೦೧೦'],
+                ['LL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦'],
+                ['LLL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+                ['LLLL', 'ಭಾನುವಾರ, ೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+                ['l', '೧೪/೨/೨೦೧೦'],
+                ['ll', '೧೪ ಫೆಬ್ರ ೨೦೧೦'],
+                ['lll', '೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+                ['llll', 'ಭಾನು, ೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), 'ទី១', '1st');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), 'ទី២', '2nd');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), 'ទី៣', '3rd');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), 'ទី៤', '4th');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), 'ទី៥', '5th');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), 'ទី៦', '6th');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), 'ទី៧', '7th');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), 'ទី៨', '8th');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), 'ទី៩', '9th');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), 'ទី១០', '10th');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '೧ನೇ', '೧ನೇ');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '೨ನೇ', '೨ನೇ');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '೩ನೇ', '೩ನೇ');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '೪ನೇ', '೪ನೇ');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '೫ನೇ', '೫ನೇ');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '೬ನೇ', '೬ನೇ');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '೭ನೇ', '೭ನೇ');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '೮ನೇ', '೮ನೇ');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '೯ನೇ', '೯ನೇ');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '೧೦ನೇ', '೧೦ನೇ');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), 'ទី១១', '11st');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), 'ទី១២', '12nd');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), 'ទី១៣', '13rd');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), 'ទី១៤', '14th');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), 'ទី១៥', '15th');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), 'ទី១៦', '16th');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), 'ទី១៧', '17th');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), 'ទី១៨', '18th');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), 'ទី១៩', '19th');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), 'ទី២០', '20th');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '೧೧ನೇ', '೧೧ನೇ');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '೧೨ನೇ', '೧೨ನೇ');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '೧೩ನೇ', '೧೩ನೇ');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '೧೪ನೇ', '೧೪ನೇ');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '೧೫ನೇ', '೧೫ನೇ');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '೧೬ನೇ', '೧೬ನೇ');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '೧೭ನೇ', '೧೭ನೇ');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '೧೮ನೇ', '೧೮ನೇ');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '೧೯ನೇ', '೧೯ನೇ');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '೨೦ನೇ', '೨೦ನೇ');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), 'ទី២១', '21st');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), 'ទី២២', '22nd');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), 'ទី២៣', '23rd');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), 'ទី២៤', '24th');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), 'ទី២៥', '25th');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), 'ទី២៦', '26th');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), 'ទី២៧', '27th');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), 'ទី២៨', '28th');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), 'ទី២៩', '29th');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), 'ទី៣០', '30th');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '೨೧ನೇ', '೨೧ನೇ');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '೨೨ನೇ', '೨೨ನೇ');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '೨೩ನೇ', '೨೩ನೇ');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '೨೪ನೇ', '೨೪ನೇ');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '೨೫ನೇ', '೨೫ನೇ');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '೨೬ನೇ', '೨೬ನೇ');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '೨೭ನೇ', '೨೭ನೇ');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '೨೮ನೇ', '೨೮ನೇ');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '೨೯ನೇ', '೨೯ನೇ');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '೩೦ನೇ', '೩೦ನೇ');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), 'ទី៣១', '31st');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '೩೧ನೇ', '೩೧ನೇ');
     });
 
     test('format month', function (assert) {
         var expected =
-                'មករា មករា_កុម្ភៈ កុម្ភៈ_មីនា មីនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split(
+                'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್ ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋ_ನವೆಂಬರ್ ನವೆಂ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂ'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'អាទិត្យ អា អា_ច័ន្ទ ច ច_អង្គារ អ អ_ពុធ ព ព_ព្រហស្បតិ៍ ព្រ ព្រ_សុក្រ សុ សុ_សៅរ៍ ស ស'.split(
+                'ಭಾನುವಾರ ಭಾನು ಭಾ_ಸೋಮವಾರ ಸೋಮ ಸೋ_ಮಂಗಳವಾರ ಮಂಗಳ ಮಂ_ಬುಧವಾರ ಬುಧ ಬು_ಗುರುವಾರ ಗುರು ಗು_ಶುಕ್ರವಾರ ಶುಕ್ರ ಶು_ಶನಿವಾರ ಶನಿ ಶ'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ប៉ុន្មានវិនាទី',
-            '44 seconds = ប៉ុន្មានវិនាទី'
+            'ಕೆಲವು ಕ್ಷಣಗಳು',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'មួយនាទី',
-            '45 seconds = មួយនាទី'
+            'ಒಂದು ನಿಮಿಷ',
+            '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'មួយនាទី',
-            '89 seconds = មួយនាទី'
+            'ಒಂದು ನಿಮಿಷ',
+            '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '២ នាទី',
-            '90 seconds = 2 នាទី'
+            '೨ ನಿಮಿಷ',
+            '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '៤៤ នាទី',
-            '44 minutes = 44 នាទី'
+            '೪೪ ನಿಮಿಷ',
+            '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'មួយម៉ោង',
-            '45 minutes = មួយម៉ោង'
+            'ಒಂದು ಗಂಟೆ',
+            '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'មួយម៉ោង',
-            '89 minutes = មួយម៉ោង'
+            'ಒಂದು ಗಂಟೆ',
+            '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '២ ម៉ោង',
-            '90 minutes = 2 ម៉ោង'
+            '೨ ಗಂಟೆ',
+            '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '៥ ម៉ោង',
-            '5 hours = 5 ម៉ោង'
+            '೫ ಗಂಟೆ',
+            '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '២១ ម៉ោង',
-            '21 hours = 21 ម៉ោង'
+            '೨೧ ಗಂಟೆ',
+            '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'មួយថ្ងៃ',
-            '22 hours = មួយថ្ងៃ'
+            'ಒಂದು ದಿನ',
+            '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'មួយថ្ងៃ',
-            '35 hours = មួយថ្ងៃ'
+            'ಒಂದು ದಿನ',
+            '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '២ ថ្ងៃ',
-            '36 hours = 2 ថ្ងៃ'
+            '೨ ದಿನ',
+            '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'មួយថ្ងៃ',
-            '1 day = មួយថ្ងៃ'
+            'ಒಂದು ದಿನ',
+            '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '៥ ថ្ងៃ',
-            '5 days = 5 ថ្ងៃ'
+            '೫ ದಿನ',
+            '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '២៥ ថ្ងៃ',
-            '25 days = 25 ថ្ងៃ'
+            '೨೫ ದಿನ',
+            '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'មួយខែ',
-            '26 days = មួយខែ'
+            'ಒಂದು ತಿಂಗಳು',
+            '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'មួយខែ',
-            '30 days = មួយខែ'
+            'ಒಂದು ತಿಂಗಳು',
+            '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'មួយខែ',
-            '43 days = មួយខែ'
+            'ಒಂದು ತಿಂಗಳು',
+            '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '២ ខែ',
-            '46 days = 2 ខែ'
+            '೨ ತಿಂಗಳು',
+            '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '២ ខែ',
-            '75 days = 2 ខែ'
+            '೨ ತಿಂಗಳು',
+            '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '៣ ខែ',
-            '76 days = 3 ខែ'
+            '೩ ತಿಂಗಳು',
+            '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'មួយខែ',
-            '1 month = មួយខែ'
+            'ಒಂದು ತಿಂಗಳು',
+            '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '៥ ខែ',
-            '5 months = 5 ខែ'
+            '೫ ತಿಂಗಳು',
+            '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'មួយឆ្នាំ',
-            '345 days = មួយឆ្នាំ'
+            'ಒಂದು ವರ್ಷ',
+            '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '២ ឆ្នាំ',
-            '548 days = 2 ឆ្នាំ'
+            '೨ ವರ್ಷ',
+            '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'មួយឆ្នាំ',
-            '1 year = មួយឆ្នាំ'
+            'ಒಂದು ವರ್ಷ',
+            '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '៥ ឆ្នាំ',
-            '5 years = 5 ឆ្នាំ'
+            '೫ ವರ್ಷ',
+            '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'ប៉ុន្មានវិនាទីទៀត', 'prefix');
-        assert.equal(moment(0).from(30000), 'ប៉ុន្មានវិនាទីមុន', 'suffix');
+        assert.equal(moment(30000).from(0), 'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ', 'prefix');
+        assert.equal(moment(0).from(30000), 'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'ប៉ុន្មានវិនាទីមុន',
+            'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ',
             'now from now should display as in the past'
         );
     });
 
     test('fromNow', function (assert) {
         assert.equal(
-            moment()
-                .add({
-                    s: 30,
-                })
-                .fromNow(),
-            'ប៉ុន្មានវិនាទីទៀត',
-            'in a few seconds'
-        );
-        assert.equal(
-            moment()
-                .add({
-                    d: 5,
-                })
-                .fromNow(),
-            '៥ ថ្ងៃទៀត',
-            'in 5 days'
+            moment().add({ s: 30 }).fromNow(),
+            'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ',
+            'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ'
         );
+        assert.equal(moment().add({ d: 5 }).fromNow(), '೫ ದಿನ ನಂತರ', '೫ ದಿನ ನಂತರ');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'ថ្ងៃនេះ ម៉ោង ១២:០០',
+            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'ថ្ងៃនេះ ម៉ោង ១២:២៥',
+            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೨೫',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 1 }).calendar(),
-            'ថ្ងៃនេះ ម៉ោង ១៣:០០',
-            'Now plus 1 hour'
+            moment(a).add({ h: 3 }).calendar(),
+            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೩:೦೦',
+            'Now plus 3 hours'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'ស្អែក ម៉ោង ១២:០០',
+            'ನಾಳೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'ថ្ងៃនេះ ម៉ោង ១១:០០',
+            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೧:೦೦',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ម្សិលមិញ ម៉ោង ១២:០០',
+            'ನಿನ್ನೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
             'yesterday at the same time'
         );
     });
     test('calendar next week', function (assert) {
         var i, m;
         for (i = 2; i < 7; i++) {
-            m = moment().add({
-                d: i,
-            });
+            m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ម៉ោង] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ម៉ោង] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [ម៉ោង] LT'),
+                m.format('dddd[,] LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
         var i, m;
 
         for (i = 2; i < 7; i++) {
-            m = moment().subtract({
-                d: i,
-            });
+            m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
+                m.format('[ಕೊನೆಯ] dddd[,] LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
+                m.format('[ಕೊನೆಯ] dddd[,] LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'),
+                m.format('[ಕೊನೆಯ] dddd[,] LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
     });
 
     test('calendar all else', function (assert) {
-        var weeksAgo = moment().subtract({
-                w: 1,
-            }),
-            weeksFromNow = moment().add({
-                w: 1,
-            });
+        var weeksAgo = moment().subtract({ w: 1 }),
+            weeksFromNow = moment().add({ w: 1 });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
         assert.equal(
             'in 1 week'
         );
 
-        weeksAgo = moment().subtract({
-            w: 2,
-        });
-        weeksFromNow = moment().add({
-            w: 2,
-        });
+        weeksAgo = moment().subtract({ w: 2 });
+        weeksFromNow = moment().add({ w: 2 });
 
         assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
         assert.equal(
         );
     });
 
+    test('meridiem', function (assert) {
+        assert.equal(
+            moment([2011, 2, 23, 2, 30]).format('a'),
+            'ರಾತ್ರಿ',
+            'before dawn'
+        );
+        assert.equal(
+            moment([2011, 2, 23, 9, 30]).format('a'),
+            'ಬೆಳಿಗ್ಗೆ',
+            'morning'
+        );
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('a'),
+            'ಮಧ್ಯಾಹ್ನ',
+            'during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'ಸಂಜೆ', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('a'),
+            'ಸಂಜೆ',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'ರಾತ್ರಿ', 'night');
+
+        assert.equal(
+            moment([2011, 2, 23, 2, 30]).format('A'),
+            'ರಾತ್ರಿ',
+            'before dawn'
+        );
+        assert.equal(
+            moment([2011, 2, 23, 9, 30]).format('A'),
+            'ಬೆಳಿಗ್ಗೆ',
+            'morning'
+        );
+        assert.equal(
+            moment([2011, 2, 23, 14, 30]).format('A'),
+            'ಮಧ್ಯಾಹ್ನ',
+            ' during day'
+        );
+        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'ಸಂಜೆ', 'evening');
+        assert.equal(
+            moment([2011, 2, 23, 19, 30]).format('A'),
+            'ಸಂಜೆ',
+            'late evening'
+        );
+        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'ರಾತ್ರಿ', 'night');
+    });
+
     test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '៥២ ៥២ ទី៥២',
-            'Jan  1 2012 should be week 52'
+            '೧ ೦೧ ೧ನೇ',
+            'Jan  1 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 2]).format('w ww wo'),
-            '១ ០១ ទី១',
-            'Jan  2 2012 should be week 1'
+            moment([2012, 0, 7]).format('w ww wo'),
+            '೧ ೦೧ ೧ನೇ',
+            'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '១ ០១ ទី១',
-            'Jan  8 2012 should be week 1'
+            '೨ ೦೨ ೨ನೇ',
+            'Jan  8 2012 should be week 2'
         );
         assert.equal(
-            moment([2012, 0, 9]).format('w ww wo'),
-            '២ ០២ ទី២',
-            'Jan  9 2012 should be week 2'
+            moment([2012, 0, 14]).format('w ww wo'),
+            '೨ ೦೨ ೨ನೇ',
+            'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '២ ០២ ទី២',
-            'Jan 15 2012 should be week 2'
+            '೩ ೦೩ ೩ನೇ',
+            'Jan 15 2012 should be week 3'
         );
     });
 
         defineCommonLocaleTests(name);
     }
 
-    localeModule('kn');
+    localeModule('ko');
 
     test('parse', function (assert) {
         var tests =
-                'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋ_ನವೆಂಬರ್ ನವೆಂ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂ'.split(
+                '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split(
                     '_'
                 ),
             i;
                 input + ' should be month ' + (i + 1)
             );
         }
-        // function equalTestStrict(input, mmm, monthIndex) {
-        //     assert.equal(
-        //         moment(input, mmm, true).month(),
-        //         monthIndex,
-        //         input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
-        //     );
-        // }
+        function equalTestStrict(input, mmm, monthIndex) {
+            assert.equal(
+                moment(input, mmm, true).month(),
+                monthIndex,
+                input + ' ' + mmm + ' should be strict month ' + (monthIndex + 1)
+            );
+        }
 
         for (i = 0; i < 12; i++) {
             tests[i] = tests[i].split(' ');
             equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
             equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
 
-            // All strict parsing fails only for month 9 (index 8)
-            // equalTestStrict(tests[i][1], 'MMM', i);
-            // equalTestStrict(tests[i][0], 'MMMM', i);
-            // equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
-            // equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
-            // equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
-            // equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+            equalTestStrict(tests[i][1], 'MMM', i);
+            equalTestStrict(tests[i][0], 'MMMM', i);
+            equalTestStrict(tests[i][1].toLocaleLowerCase(), 'MMM', i);
+            equalTestStrict(tests[i][1].toLocaleUpperCase(), 'MMM', i);
+            equalTestStrict(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+            equalTestStrict(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+        }
+    });
+
+    test('parse meridiem', function (assert) {
+        var elements = [
+                {
+                    expression: '1981년 9월 8일 오후 2시 30분',
+                    inputFormat: 'YYYY[년] M[월] D[일] A h[시] m[분]',
+                    outputFormat: 'A',
+                    expected: '오후',
+                },
+                {
+                    expression: '1981년 9월 8일 오전 2시 30분',
+                    inputFormat: 'YYYY[년] M[월] D[일] A h[시] m[분]',
+                    outputFormat: 'A h시',
+                    expected: '오전 2시',
+                },
+                {
+                    expression: '14시 30분',
+                    inputFormat: 'H[시] m[분]',
+                    outputFormat: 'A',
+                    expected: '오후',
+                },
+                {
+                    expression: '오후 4시',
+                    inputFormat: 'A h[시]',
+                    outputFormat: 'H',
+                    expected: '16',
+                },
+            ],
+            i,
+            l,
+            it,
+            actual;
+
+        for (i = 0, l = elements.length; i < l; ++i) {
+            it = elements[i];
+            actual = moment(it.expression, it.inputFormat).format(it.outputFormat);
+
+            assert.equal(
+                actual,
+                it.expected,
+                "'" +
+                    it.outputFormat +
+                    "' of '" +
+                    it.expression +
+                    "' must be '" +
+                    it.expected +
+                    "' but was '" +
+                    actual +
+                    "'."
+            );
         }
     });
 
     test('format', function (assert) {
         var a = [
                 [
-                    'dddd, Do MMMM YYYY, a h:mm:ss',
-                    'ಭಾನುವಾರ, ೧೪ನೇ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦',
+                    'YYYY년 MMMM Do dddd a h:mm:ss',
+                    '2010년 2월 14일 일요일 오후 3:25:50',
                 ],
-                ['ddd, a h ಗಂಟೆ', 'ಭಾನು, ಮಧ್ಯಾಹ್ನ ೩ ಗಂಟೆ'],
-                ['M Mo MM MMMM MMM', '೨ ೨ನೇ ೦೨ ಫೆಬ್ರವರಿ ಫೆಬ್ರ'],
-                ['YYYY YY', '೨೦೧೦ ೧೦'],
-                ['D Do DD', '೧೪ ೧೪ನೇ ೧೪'],
-                ['d do dddd ddd dd', '೦ ೦ನೇ ಭಾನುವಾರ ಭಾನು ಭಾ'],
-                ['DDD DDDo DDDD', '೪೫ ೪೫ನೇ ೦೪೫'],
-                ['w wo ww', '೮ ೮ನೇ ೦೮'],
-                ['h hh', '೩ ೦೩'],
-                ['H HH', '೧೫ ೧೫'],
-                ['m mm', '೨೫ ೨೫'],
-                ['s ss', '೫೦ ೫೦'],
-                ['a A', 'ಮಧ್ಯಾಹ್ನ ಮಧ್ಯಾಹ್ನ'],
-                ['LTS', 'ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦'],
-                ['L', '೧೪/೦೨/೨೦೧೦'],
-                ['LL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦'],
-                ['LLL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
-                ['LLLL', 'ಭಾನುವಾರ, ೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
-                ['l', '೧೪/೨/೨೦೧೦'],
-                ['ll', '೧೪ ಫೆಬ್ರ ೨೦೧೦'],
-                ['lll', '೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
-                ['llll', 'ಭಾನು, ೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+                ['ddd A h', '일 오후 3'],
+                ['M Mo MM MMMM MMM', '2 2월 02 2월 2월'],
+                ['YYYY YY', '2010 10'],
+                ['D Do DD', '14 14일 14'],
+                ['d do dddd ddd dd', '0 0일 일요일 일 일'],
+                ['DDD DDDo DDDD', '45 45일 045'],
+                ['w wo ww', '8 8주 08'],
+                ['h hh', '3 03'],
+                ['H HH', '15 15'],
+                ['m mm', '25 25'],
+                ['s ss', '50 50'],
+                ['a A', '오후 오후'],
+                ['일년 중 DDDo째 되는 날', '일년 중 45일째 되는 날'],
+                ['LTS', '오후 3:25:50'],
+                ['L', '2010.02.14.'],
+                ['LL', '2010년 2월 14일'],
+                ['LLL', '2010년 2월 14일 오후 3:25'],
+                ['LLLL', '2010년 2월 14일 일요일 오후 3:25'],
+                ['l', '2010.02.14.'],
+                ['ll', '2010년 2월 14일'],
+                ['lll', '2010년 2월 14일 오후 3:25'],
+                ['llll', '2010년 2월 14일 일요일 오후 3:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
     });
 
     test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '೧ನೇ', '೧ನೇ');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '೨ನೇ', '೨ನೇ');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '೩ನೇ', '೩ನೇ');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '೪ನೇ', '೪ನೇ');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '೫ನೇ', '೫ನೇ');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '೬ನೇ', '೬ನೇ');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '೭ನೇ', '೭ನೇ');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '೮ನೇ', '೮ನೇ');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '೯ನೇ', '೯ನೇ');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '೧೦ನೇ', '೧೦ನೇ');
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1일', '1일');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2일', '2일');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3일', '3일');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4일', '4일');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5일', '5일');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6일', '6일');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7일', '7일');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8일', '8일');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9일', '9일');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10일', '10일');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '೧೧ನೇ', '೧೧ನೇ');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '೧೨ನೇ', '೧೨ನೇ');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '೧೩ನೇ', '೧೩ನೇ');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '೧೪ನೇ', '೧೪ನೇ');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '೧೫ನೇ', '೧೫ನೇ');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '೧೬ನೇ', '೧೬ನೇ');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '೧೭ನೇ', '೧೭ನೇ');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '೧೮ನೇ', '೧೮ನೇ');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '೧೯ನೇ', '೧೯ನೇ');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '೨೦ನೇ', '೨೦ನೇ');
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11일', '11일');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12일', '12일');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13일', '13일');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14일', '14일');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15일', '15일');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16일', '16일');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17일', '17일');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18일', '18일');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19일', '19일');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20일', '20일');
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '೨೧ನೇ', '೨೧ನೇ');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '೨೨ನೇ', '೨೨ನೇ');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '೨೩ನೇ', '೨೩ನೇ');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '೨೪ನೇ', '೨೪ನೇ');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '೨೫ನೇ', '೨೫ನೇ');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '೨೬ನೇ', '೨೬ನೇ');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '೨೭ನೇ', '೨೭ನೇ');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '೨೮ನೇ', '೨೮ನೇ');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '೨೯ನೇ', '೨೯ನೇ');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '೩೦ನೇ', '೩೦ನೇ');
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21일', '21일');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22일', '22일');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23일', '23일');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24일', '24일');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25일', '25일');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26일', '26일');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27일', '27일');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28일', '28일');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29일', '29일');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30일', '30일');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '೩೧ನೇ', '೩೧ನೇ');
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31일', '31일');
     });
 
     test('format month', function (assert) {
         var expected =
-                'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್ ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋ_ನವೆಂಬರ್ ನವೆಂ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂ'.split(
+                '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split(
                     '_'
                 ),
             i;
 
     test('format week', function (assert) {
         var expected =
-                'ಭಾನುವಾರ ಭಾನು ಭಾ_ಸೋಮವಾರ ಸೋಮ ಸೋ_ಮಂಗಳವಾರ ಮಂಗಳ ಮಂ_ಬುಧವಾರ ಬುಧ ಬು_ಗುರುವಾರ ಗುರು ಗು_ಶುಕ್ರವಾರ ಶುಕ್ರ ಶು_ಶನಿವಾರ ಶನಿ ಶ'.split(
+                '일요일 일 일_월요일 월 월_화요일 화 화_수요일 수 수_목요일 목 목_금요일 금 금_토요일 토 토'.split(
                     '_'
                 ),
             i;
         var start = moment([2007, 1, 28]);
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            'ಕೆಲವು ಕ್ಷಣಗಳು',
-            '44 seconds = a few seconds'
+            '몇 초',
+            '44초 = 몇 초'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            'ಒಂದು ನಿಮಿಷ',
-            '45 seconds = a minute'
+            '1분',
+            '45초 = 1분'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            'ಒಂದು ನಿಮಿಷ',
-            '89 seconds = a minute'
+            '1분',
+            '89초 = 1분'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '೨ ನಿಮಿಷ',
-            '90 seconds = 2 minutes'
+            '2분',
+            '90초 = 2분'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '೪೪ ನಿಮಿಷ',
-            '44 minutes = 44 minutes'
+            '44분',
+            '44분 = 44분'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'ಒಂದು ಗಂಟೆ',
-            '45 minutes = an hour'
+            '한 시간',
+            '45분 = 한 시간'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'ಒಂದು ಗಂಟೆ',
-            '89 minutes = an hour'
+            '한 시간',
+            '89분 = 한 시간'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '೨ ಗಂಟೆ',
-            '90 minutes = 2 hours'
+            '2시간',
+            '90분 = 2시간'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '೫ ಗಂಟೆ',
-            '5 hours = 5 hours'
+            '5시간',
+            '5시간 = 5시간'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '೨೧ ಗಂಟೆ',
-            '21 hours = 21 hours'
+            '21시간',
+            '21시간 = 21시간'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'à²\92à²\82ದà³\81 à²¦à²¿à²¨',
-            '22 hours = a day'
+            'í\95\98루',
+            '22시간 = 하루'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'à²\92à²\82ದà³\81 à²¦à²¿à²¨',
-            '35 hours = a day'
+            'í\95\98루',
+            '35시간 = 하루'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '೨ ದಿನ',
-            '36 hours = 2 days'
+            '2일',
+            '36시간 = 2일'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'à²\92à²\82ದà³\81 à²¦à²¿à²¨',
-            '1 day = a day'
+            'í\95\98루',
+            '하루 = 하루'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '೫ ದಿನ',
-            '5 days = 5 days'
+            '5일',
+            '5일 = 5일'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '೨೫ ದಿನ',
-            '25 days = 25 days'
+            '25일',
+            '25일 = 25일'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'ಒಂದು ತಿಂಗಳು',
-            '26 days = a month'
+            '한 달',
+            '26일 = 한 달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'ಒಂದು ತಿಂಗಳು',
-            '30 days = a month'
+            '한 달',
+            '30일 = 한 달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'ಒಂದು ತಿಂಗಳು',
-            '43 days = a month'
+            '한 달',
+            '45일 = 한 달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '೨ ತಿಂಗಳು',
-            '46 days = 2 months'
+            '2달',
+            '46일 = 2달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '೨ ತಿಂಗಳು',
-            '75 days = 2 months'
+            '2달',
+            '75일 = 2달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '೩ ತಿಂಗಳು',
-            '76 days = 3 months'
+            '3달',
+            '76일 = 3달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'ಒಂದು ತಿಂಗಳು',
-            '1 month = a month'
+            '한 달',
+            '1달 = 한 달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '೫ ತಿಂಗಳು',
-            '5 months = 5 months'
+            '5달',
+            '5달 = 5달'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            'ಒಂದು ವರ್ಷ',
-            '345 days = a year'
+            '일 년',
+            '345일 = 일 년'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '೨ ವರ್ಷ',
-            '548 days = 2 years'
+            '2년',
+            '548일 = 2년'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            'ಒಂದು ವರ್ಷ',
-            '1 year = a year'
+            '일 년',
+            '일 년 = 일 년'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '೫ ವರ್ಷ',
-            '5 years = 5 years'
+            '5년',
+            '5년 = 5년'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), 'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ', 'prefix');
-        assert.equal(moment(0).from(30000), 'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ', 'suffix');
+        assert.equal(moment(30000).from(0), '몇 초 후', 'prefix');
+        assert.equal(moment(0).from(30000), '몇 초 전', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ',
+            '몇 초 전',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ',
-            'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ'
+            '몇 초 후',
+            'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '೫ ದಿನ ನಂತರ', '೫ ದಿನ ನಂತರ');
+        assert.equal(moment().add({ d: 5 }).fromNow(), '5일 후', 'in 5 days');
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
+            '오늘 오후 12:00',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೨೫',
+            '오늘 오후 12:25',
             'Now plus 25 min'
         );
         assert.equal(
-            moment(a).add({ h: 3 }).calendar(),
-            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೩:೦೦',
-            'Now plus 3 hours'
+            moment(a).add({ h: 1 }).calendar(),
+            '오늘 오후 1:00',
+            'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            'ನಾಳೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
+            '내일 오후 12:00',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೧:೦೦',
+            '오늘 오전 11:00',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            'ನಿನ್ನೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦',
+            '어제 오후 12:00',
             'yesterday at the same time'
         );
     });
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd[,] LT'),
+                m.format('dddd LT'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
-
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('[ಕೊನೆಯ] dddd[,] LT'),
+                m.format('지난주 dddd LT'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('[ಕೊನೆಯ] dddd[,] LT'),
+                m.format('지난주 dddd LT'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('[ಕೊನೆಯ] dddd[,] LT'),
+                m.format('지난주 dddd LT'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('meridiem', function (assert) {
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('a'),
-            'ರಾತ್ರಿ',
-            'before dawn'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 9, 30]).format('a'),
-            'ಬೆಳಿಗ್ಗೆ',
-            'morning'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('a'),
-            'ಮಧ್ಯಾಹ್ನ',
-            'during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'ಸಂಜೆ', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('a'),
-            'ಸಂಜೆ',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'ರಾತ್ರಿ', 'night');
-
-        assert.equal(
-            moment([2011, 2, 23, 2, 30]).format('A'),
-            'ರಾತ್ರಿ',
-            'before dawn'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 9, 30]).format('A'),
-            'ಬೆಳಿಗ್ಗೆ',
-            'morning'
-        );
-        assert.equal(
-            moment([2011, 2, 23, 14, 30]).format('A'),
-            'ಮಧ್ಯಾಹ್ನ',
-            ' during day'
-        );
-        assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'ಸಂಜೆ', 'evening');
-        assert.equal(
-            moment([2011, 2, 23, 19, 30]).format('A'),
-            'ಸಂಜೆ',
-            'late evening'
-        );
-        assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'ರಾತ್ರಿ', 'night');
-    });
-
-    test('weeks year starting sunday formatted', function (assert) {
+    test('weeks year starting sunday format', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '೧ ೦೧ ೧ನೇ',
+            '1 01 1주',
             'Jan  1 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 7]).format('w ww wo'),
-            '೧ ೦೧ ೧ನೇ',
+            '1 01 1주',
             'Jan  7 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '೨ ೦೨ ೨ನೇ',
+            '2 02 2주',
             'Jan  8 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 14]).format('w ww wo'),
-            '೨ ೦೨ ೨ನೇ',
+            '2 02 2주',
             'Jan 14 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '೩ ೦೩ ೩ನೇ',
+            '3 03 3주',
             'Jan 15 2012 should be week 3'
         );
     });
         defineCommonLocaleTests(name);
     }
 
-    localeModule('ko');
+    localeModule('ku-kmr');
 
     test('parse', function (assert) {
-        var tests =
-                '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split(
-                    '_'
-                ),
-            i;
+        var i,
+            tests = [
+                'Rêbendan Rêb',
+                'Sibat Sib',
+                'Adar Ada',
+                'Nîsan Nîs',
+                'Gulan Gul',
+                'Hezîran Hez',
+                'Tîrmeh Tîr',
+                'Tebax Teb',
+                'Îlon Îlo',
+                'Cotmeh Cot',
+                'Mijdar Mij',
+                'Berfanbar Ber',
+            ];
+
         function equalTest(input, mmm, i) {
             assert.equal(
                 moment(input, mmm).month(),
                 input + ' should be month ' + (i + 1)
             );
         }
+
         function equalTestStrict(input, mmm, monthIndex) {
             assert.equal(
                 moment(input, mmm, true).month(),
         }
     });
 
-    test('parse meridiem', function (assert) {
-        var elements = [
-                {
-                    expression: '1981년 9월 8일 오후 2시 30분',
-                    inputFormat: 'YYYY[년] M[월] D[일] A h[시] m[분]',
-                    outputFormat: 'A',
-                    expected: '오후',
-                },
-                {
-                    expression: '1981년 9월 8일 오전 2시 30분',
-                    inputFormat: 'YYYY[년] M[월] D[일] A h[시] m[분]',
-                    outputFormat: 'A h시',
-                    expected: '오전 2시',
-                },
-                {
-                    expression: '14시 30분',
-                    inputFormat: 'H[시] m[분]',
-                    outputFormat: 'A',
-                    expected: '오후',
-                },
-                {
-                    expression: '오후 4시',
-                    inputFormat: 'A h[시]',
-                    outputFormat: 'H',
-                    expected: '16',
-                },
-            ],
-            i,
-            l,
-            it,
-            actual;
-
-        for (i = 0, l = elements.length; i < l; ++i) {
-            it = elements[i];
-            actual = moment(it.expression, it.inputFormat).format(it.outputFormat);
-
-            assert.equal(
-                actual,
-                it.expected,
-                "'" +
-                    it.outputFormat +
-                    "' of '" +
-                    it.expression +
-                    "' must be '" +
-                    it.expected +
-                    "' but was '" +
-                    actual +
-                    "'."
-            );
-        }
-    });
-
     test('format', function (assert) {
         var a = [
                 [
-                    'YYYY년 MMMM Do dddd a h:mm:ss',
-                    '2010년 2월 14일 일요일 오후 3:25:50',
+                    'dddd, Do MMMM YYYY, h:mm:ss a',
+                    'Yekşem, 14ê Sibat 2010, 3:25:50 pn',
                 ],
-                ['ddd A h', '일 오후 3'],
-                ['M Mo MM MMMM MMM', '2 2월 02 2월 2월'],
+                ['ddd, hA', 'Yek, 3PN'],
+                ['M Mo MM MMMM MMM', '2 2. 02 Sibat Sib'],
                 ['YYYY YY', '2010 10'],
-                ['D Do DD', '14 14 14'],
-                ['d do dddd ddd dd', '0 0일 일요일 일 일'],
-                ['DDD DDDo DDDD', '45 45 045'],
-                ['w wo ww', '8 8주 08'],
+                ['D Do DD', '14 14ê 14'],
+                ['d do dddd ddd dd', '0 0ê Yekşem Yek Ye'],
+                ['DDD DDDo DDDD', '45 45ê 045'],
+                ['w wo ww', '6 6. 06'],
                 ['h hh', '3 03'],
                 ['H HH', '15 15'],
                 ['m mm', '25 25'],
                 ['s ss', '50 50'],
-                ['a A', '오후 오후'],
-                ['일년 중 DDDo째 되는 날', '일년 중 45일째 되는 날'],
-                ['LTS', '오후 3:25:50'],
-                ['L', '2010.02.14.'],
-                ['LL', '2010년 2월 14일'],
-                ['LLL', '2010년 2월 14일 오후 3:25'],
-                ['LLLL', '2010년 2월 14일 일요일 오후 3:25'],
-                ['l', '2010.02.14.'],
-                ['ll', '2010년 2월 14일'],
-                ['lll', '2010년 2월 14일 오후 3:25'],
-                ['llll', '2010년 2월 14일 일요일 오후 3:25'],
+                ['a A', 'pn PN'],
+                ['DDDo [Adarê]', '45ê Adarê'],
+                ['LTS', '15:25:50'],
+                ['L', '14.02.2010'],
+                ['LL', '14ê Sibata 2010an'],
+                ['LLL', '14ê Sibata 2010an 15:25'],
+                ['LLLL', 'Yekşem, 14ê Sibata 2010an 15:25'],
+                ['l', '14.2.2010'],
+                ['ll', '14ê Sib. 2010an'],
+                ['lll', '14ê Sib. 2010an 15:25'],
+                ['llll', 'Yek., 14ê Sib. 2010an 15:25'],
             ],
             b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
             i;
+
         for (i = 0; i < a.length; i++) {
             assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
         }
     });
 
-    test('format ordinal', function (assert) {
-        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1일', '1일');
-        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2일', '2일');
-        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3일', '3일');
-        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4일', '4일');
-        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5일', '5일');
-        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6일', '6일');
-        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7일', '7일');
-        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8일', '8일');
-        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9일', '9일');
-        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10일', '10일');
+    test('parse era', function (assert) {
+        assert.equal(moment('2010 AD', 'y N', true).isValid(), true, '2010 AD');
+        assert.equal(moment('2010 AD', 'y N', true).year(), 2010, '2010 AD');
 
-        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11일', '11일');
-        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12일', '12일');
-        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13일', '13일');
-        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14일', '14일');
-        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15일', '15일');
-        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16일', '16일');
-        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17일', '17일');
-        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18일', '18일');
-        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19일', '19일');
-        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20일', '20일');
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', true).isValid(),
+            false,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', false).isValid(),
+            true,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y NNNN', true).isValid(),
+            true,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y NNNN', true).year(),
+            2010,
+            '2010 Anno Domini'
+        );
+        assert.equal(
+            moment('2010 Anno Domini', 'y N', false).year(),
+            2010,
+            '2010 Anno Domini'
+        );
 
-        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21일', '21일');
-        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22일', '22일');
-        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23일', '23일');
-        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24일', '24일');
-        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25일', '25일');
-        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26일', '26일');
-        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27일', '27일');
-        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28일', '28일');
-        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29일', '29일');
-        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30일', '30일');
+        assert.equal(moment('469 BC', 'y N', true).isValid(), true, '469 BC');
+        assert.equal(moment('469 BC', 'y N', true).year(), -468, '469 BC');
 
-        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31일', '31일');
+        assert.equal(
+            moment('469 Before Christ', 'y NNNN', true).isValid(),
+            true,
+            '469 Before Christ'
+        );
+        assert.equal(
+            moment('469 Before Christ', 'y NNNN', true).year(),
+            -468,
+            '469 Before Christ'
+        );
+    });
+
+    test('format era', function (assert) {
+        var a = [
+                ['+000001-01-01', 'N, NN, NNN', 'AD, AD, AD'],
+                ['+000001-01-01', 'NNNN', 'Anno Domini'],
+                ['+000001-01-01', 'NNNNN', 'AD'],
+                ['+000001-01-01', 'y', '1'],
+
+                ['+000000-12-31', 'N, NN, NNN', 'BC, BC, BC'],
+                ['+000000-12-31', 'NNNN', 'Before Christ'],
+                ['+000000-12-31', 'NNNNN', 'BC'],
+                ['+000000-12-31', 'y', '1'],
+
+                ['-000001-12-31', 'N, NN, NNN', 'BC, BC, BC'],
+                ['-000001-12-31', 'NNNN', 'Before Christ'],
+                ['-000001-12-31', 'NNNNN', 'BC'],
+                ['-000001-12-31', 'y', '2'],
+            ],
+            i,
+            l;
+
+        for (i = 0, l = a.length; i < l; ++i) {
+            assert.equal(
+                moment(a[i][0]).format(a[i][1]),
+                a[i][2],
+                a[i][0] + '; ' + a[i][1] + ' ---> ' + a[i][2]
+            );
+        }
+    });
+
+    test('format ordinal', function (assert) {
+        assert.equal(moment([2011, 0, 1]).format('DDDo'), '1ê', '1st');
+        assert.equal(moment([2011, 0, 2]).format('DDDo'), '2yê', '2nd');
+        assert.equal(moment([2011, 0, 3]).format('DDDo'), '3yê', '3rd');
+        assert.equal(moment([2011, 0, 4]).format('DDDo'), '4ê', '4th');
+        assert.equal(moment([2011, 0, 5]).format('DDDo'), '5ê', '5th');
+        assert.equal(moment([2011, 0, 6]).format('DDDo'), '6ê', '6th');
+        assert.equal(moment([2011, 0, 7]).format('DDDo'), '7ê', '7th');
+        assert.equal(moment([2011, 0, 8]).format('DDDo'), '8ê', '8th');
+        assert.equal(moment([2011, 0, 9]).format('DDDo'), '9ê', '9th');
+        assert.equal(moment([2011, 0, 10]).format('DDDo'), '10ê', '10th');
+
+        assert.equal(moment([2011, 0, 11]).format('DDDo'), '11ê', '11th');
+        assert.equal(moment([2011, 0, 12]).format('DDDo'), '12ê', '12th');
+        assert.equal(moment([2011, 0, 13]).format('DDDo'), '13ê', '13th');
+        assert.equal(moment([2011, 0, 14]).format('DDDo'), '14ê', '14th');
+        assert.equal(moment([2011, 0, 15]).format('DDDo'), '15ê', '15th');
+        assert.equal(moment([2011, 0, 16]).format('DDDo'), '16ê', '16th');
+        assert.equal(moment([2011, 0, 17]).format('DDDo'), '17ê', '17th');
+        assert.equal(moment([2011, 0, 18]).format('DDDo'), '18ê', '18th');
+        assert.equal(moment([2011, 0, 19]).format('DDDo'), '19ê', '19th');
+        assert.equal(moment([2011, 0, 20]).format('DDDo'), '20ê', '20th');
+
+        assert.equal(moment([2011, 0, 21]).format('DDDo'), '21ê', '21st');
+        assert.equal(moment([2011, 0, 22]).format('DDDo'), '22yê', '22nd');
+        assert.equal(moment([2011, 0, 23]).format('DDDo'), '23yê', '23rd');
+        assert.equal(moment([2011, 0, 24]).format('DDDo'), '24ê', '24th');
+        assert.equal(moment([2011, 0, 25]).format('DDDo'), '25ê', '25th');
+        assert.equal(moment([2011, 0, 26]).format('DDDo'), '26ê', '26th');
+        assert.equal(moment([2011, 0, 27]).format('DDDo'), '27ê', '27th');
+        assert.equal(moment([2011, 0, 28]).format('DDDo'), '28ê', '28th');
+        assert.equal(moment([2011, 0, 29]).format('DDDo'), '29ê', '29th');
+        assert.equal(moment([2011, 0, 30]).format('DDDo'), '30ê', '30th');
+
+        assert.equal(moment([2011, 0, 31]).format('DDDo'), '31ê', '31st');
     });
 
     test('format month', function (assert) {
-        var expected =
-                '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split(
-                    '_'
-                ),
-            i;
+        var i,
+            expected = [
+                'Rêbendan Rêb',
+                'Sibat Sib',
+                'Adar Ada',
+                'Nîsan Nîs',
+                'Gulan Gul',
+                'Hezîran Hez',
+                'Tîrmeh Tîr',
+                'Tebax Teb',
+                'Îlon Îlo',
+                'Cotmeh Cot',
+                'Mijdar Mij',
+                'Berfanbar Ber',
+            ];
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, i, 1]).format('MMMM MMM'),
     });
 
     test('format week', function (assert) {
-        var expected =
-                '일요일 일 일_월요일 월 월_화요일 화 화_수요일 수 수_목요일 목 목_금요일 금 금_토요일 토 토'.split(
-                    '_'
-                ),
-            i;
+        var i,
+            expected = [
+                'Yekşem Yek Ye',
+                'Duşem Du Du',
+                'Sêşem Sê Sê',
+                'Çarşem Çar Ça',
+                'Pêncşem Pên Pê',
+                'În În În',
+                'Şemî Şem Şe',
+            ];
+
         for (i = 0; i < expected.length; i++) {
             assert.equal(
                 moment([2011, 0, 2 + i]).format('dddd ddd dd'),
 
     test('from', function (assert) {
         var start = moment([2007, 1, 28]);
+
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 44 }), true),
-            '몇 초',
-            '44초 = 몇 초'
+            'çend sanîye',
+            '44 seconds = a few seconds'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 45 }), true),
-            '1분',
-            '45초 = 1분'
+            'deqîqeyek',
+            '45 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 89 }), true),
-            '1분',
-            '89초 = 1분'
+            'deqîqeyek',
+            '89 seconds = a minute'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ s: 90 }), true),
-            '2',
-            '90초 = 2분'
+            '2 deqîqe',
+            '90 seconds = 2 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 44 }), true),
-            '44',
-            '44분 = 44분'
+            '44 deqîqe',
+            '44 minutes = 44 minutes'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            '한 시간',
-            '45분 = 한 시간'
+            'saetek',
+            '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            '한 시간',
-            '89분 = 한 시간'
+            'saetek',
+            '89 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 90 }), true),
-            '2시간',
-            '90분 = 2시간'
+            '2 saet',
+            '90 minutes = 2 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 5 }), true),
-            '5시간',
-            '5시간 = 5시간'
+            '5 saet',
+            '5 hours = 5 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 21 }), true),
-            '21시간',
-            '21시간 = 21시간'
+            '21 saet',
+            '21 hours = 21 hours'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            '하루',
-            '22시간 = 하루'
+            'rojek',
+            '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            '하루',
-            '35시간 = 하루'
+            'rojek',
+            '35 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 36 }), true),
-            '2',
-            '36시간 = 2일'
+            '2 roj',
+            '36 hours = 2 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            '하루',
-            '하루 = 하루'
+            'rojek',
+            '1 day = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 5 }), true),
-            '5',
-            '5일 = 5일'
+            '5 roj',
+            '5 days = 5 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 25 }), true),
-            '25',
-            '25일 = 25일'
+            '25 roj',
+            '25 days = 25 days'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            '한 달',
-            '26일 = 한 달'
+            'mehek',
+            '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            '한 달',
-            '30일 = 한 달'
+            'mehek',
+            '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            '한 달',
-            '45일 = 한 달'
+            'mehek',
+            '43 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 46 }), true),
-            '2',
-            '46일 = 2달'
+            '2 meh',
+            '46 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 74 }), true),
-            '2',
-            '75일 = 2달'
+            '2 meh',
+            '75 days = 2 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 76 }), true),
-            '3',
-            '76일 = 3달'
+            '3 meh',
+            '76 days = 3 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            '한 달',
-            '1달 = 한 달'
+            'mehek',
+            '1 month = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 5 }), true),
-            '5',
-            '5달 = 5달'
+            '5 meh',
+            '5 months = 5 months'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 345 }), true),
-            '일 년',
-            '345일 = 일 년'
+            'salek',
+            '345 days = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 548 }), true),
-            '2',
-            '548일 = 2년'
+            '2 sal',
+            '548 days = 2 years'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 1 }), true),
-            '일 년',
-            '일 년 = 일 년'
+            'salek',
+            '1 year = a year'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ y: 5 }), true),
-            '5',
-            '5년 = 5년'
+            '5 sal',
+            '5 years = 5 years'
         );
     });
 
     test('suffix', function (assert) {
-        assert.equal(moment(30000).from(0), '몇 초 후', 'prefix');
-        assert.equal(moment(0).from(30000), '몇 초 전', 'suffix');
+        assert.equal(moment(30000).from(0), 'di çend sanîyeyan de', 'prefix');
+        assert.equal(moment(0).from(30000), 'berî çend sanîyeyan', 'suffix');
     });
 
     test('now from now', function (assert) {
         assert.equal(
             moment().fromNow(),
-            '몇 초 전',
+            'berî çend sanîyeyan',
             'now from now should display as in the past'
         );
     });
     test('fromNow', function (assert) {
         assert.equal(
             moment().add({ s: 30 }).fromNow(),
-            '몇 초 후',
+            'di çend sanîyeyan de',
             'in a few seconds'
         );
-        assert.equal(moment().add({ d: 5 }).fromNow(), '5일 후', 'in 5 days');
+        assert.equal(
+            moment().add({ d: 5 }).fromNow(),
+            'di 5 rojan de',
+            'in 5 days'
+        );
     });
 
     test('calendar day', function (assert) {
 
         assert.equal(
             moment(a).calendar(),
-            '오늘 오후 12:00',
+            'Îro di saet 12:00 de',
             'today at the same time'
         );
         assert.equal(
             moment(a).add({ m: 25 }).calendar(),
-            '오늘 오후 12:25',
+            'Îro di saet 12:25 de',
             'Now plus 25 min'
         );
         assert.equal(
             moment(a).add({ h: 1 }).calendar(),
-            '오늘 오후 1:00',
+            'Îro di saet 13:00 de',
             'Now plus 1 hour'
         );
         assert.equal(
             moment(a).add({ d: 1 }).calendar(),
-            '내일 오후 12:00',
+            'Sibê di saet 12:00 de',
             'tomorrow at the same time'
         );
         assert.equal(
             moment(a).subtract({ h: 1 }).calendar(),
-            '오늘 오전 11:00',
+            'Îro di saet 11:00 de',
             'Now minus 1 hour'
         );
         assert.equal(
             moment(a).subtract({ d: 1 }).calendar(),
-            '어제 오후 12:00',
+            'Duh di saet 12:00 de',
             'yesterday at the same time'
         );
     });
 
     test('calendar next week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().add({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [di saet] LT [de]'),
                 'Today + ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [di saet] LT [de]'),
                 'Today + ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('dddd LT'),
+                m.format('dddd [di saet] LT [de]'),
                 'Today + ' + i + ' days end of day'
             );
         }
 
     test('calendar last week', function (assert) {
         var i, m;
+
         for (i = 2; i < 7; i++) {
             m = moment().subtract({ d: i });
             assert.equal(
                 m.calendar(),
-                m.format('지난주 dddd LT'),
+                m.format('dddd[a borî di saet] LT [de]'),
                 'Today - ' + i + ' days current time'
             );
             m.hours(0).minutes(0).seconds(0).milliseconds(0);
             assert.equal(
                 m.calendar(),
-                m.format('지난주 dddd LT'),
+                m.format('dddd[a borî di saet] LT [de]'),
                 'Today - ' + i + ' days beginning of day'
             );
             m.hours(23).minutes(59).seconds(59).milliseconds(999);
             assert.equal(
                 m.calendar(),
-                m.format('지난주 dddd LT'),
+                m.format('dddd[a borî di saet] LT [de]'),
                 'Today - ' + i + ' days end of day'
             );
         }
         );
     });
 
-    test('weeks year starting sunday format', function (assert) {
+    test('weeks year starting sunday formatted', function (assert) {
         assert.equal(
             moment([2012, 0, 1]).format('w ww wo'),
-            '1 01 1주',
-            'Jan  1 2012 should be week 1'
+            '52 52 52.',
+            'Jan  1 2012 should be week 52'
         );
         assert.equal(
-            moment([2012, 0, 7]).format('w ww wo'),
-            '1 01 1',
-            'Jan  7 2012 should be week 1'
+            moment([2012, 0, 2]).format('w ww wo'),
+            '1 01 1.',
+            'Jan  2 2012 should be week 1'
         );
         assert.equal(
             moment([2012, 0, 8]).format('w ww wo'),
-            '2 02 2주',
-            'Jan  8 2012 should be week 2'
+            '1 01 1.',
+            'Jan  8 2012 should be week 1'
         );
         assert.equal(
-            moment([2012, 0, 14]).format('w ww wo'),
-            '2 02 2',
-            'Jan 14 2012 should be week 2'
+            moment([2012, 0, 9]).format('w ww wo'),
+            '2 02 2.',
+            'Jan  9 2012 should be week 2'
         );
         assert.equal(
             moment([2012, 0, 15]).format('w ww wo'),
-            '3 03 3주',
-            'Jan 15 2012 should be week 3'
+            '2 02 2.',
+            'Jan 15 2012 should be week 2'
         );
     });
 
+    test('weekdays strict parsing', function (assert) {
+        var m = moment('2015-01-01T12', moment.ISO_8601, true),
+            locale = moment.localeData('ku-kmr'),
+            i;
+
+        for (i = 0; i < 7; ++i) {
+            assert.equal(
+                moment(locale.weekdays(m.day(i), ''), 'dddd', true).isValid(),
+                true,
+                'parse weekday ' + i
+            );
+            assert.equal(
+                moment(locale.weekdaysShort(m.day(i), ''), 'ddd', true).isValid(),
+                true,
+                'parse short weekday ' + i
+            );
+            assert.equal(
+                moment(locale.weekdaysMin(m.day(i), ''), 'dd', true).isValid(),
+                true,
+                'parse min weekday ' + i
+            );
+        }
+    });
+
 })));
 
 
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 45 }), true),
-            'en time',
+            'én time',
             '45 minutes = an hour'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ m: 89 }), true),
-            'en time',
+            'én time',
             '89 minutes = an hour'
         );
         assert.equal(
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 22 }), true),
-            'en dag',
+            'én dag',
             '22 hours = a day'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ h: 35 }), true),
-            'en dag',
+            'én dag',
             '35 hours = a day'
         );
         assert.equal(
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 1 }), true),
-            'en dag',
+            'én dag',
             '1 day = a day'
         );
         assert.equal(
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 26 }), true),
-            'en måned',
+            'én måned',
             '26 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 30 }), true),
-            'en måned',
+            'én måned',
             '30 days = a month'
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ d: 43 }), true),
-            'en måned',
+            'én måned',
             '43 days = a month'
         );
         assert.equal(
         );
         assert.equal(
             start.from(moment([2007, 1, 28]).add({ M: 1 }), true),
-            'en måned',
+            'én måned',
             '1 month = a month'
         );
         assert.equal(
                     diff < -6
                         ? 'sameElse'
                         : diff < -1
-                        ? 'lastWeek'
-                        : diff < 0
-                        ? 'lastDay'
-                        : diff < 1
-                        ? 'sameDay'
-                        : diff < 2
-                        ? 'nextDay'
-                        : diff < 7
-                        ? 'nextWeek'
-                        : myMoment.month() === now.month() &&
-                          myMoment.year() === now.year()
-                        ? 'thisMonth'
-                        : nextMonth.month() === myMoment.month() &&
-                          nextMonth.year() === myMoment.year()
-                        ? 'nextMonth'
-                        : 'sameElse';
+                          ? 'lastWeek'
+                          : diff < 0
+                            ? 'lastDay'
+                            : diff < 1
+                              ? 'sameDay'
+                              : diff < 2
+                                ? 'nextDay'
+                                : diff < 7
+                                  ? 'nextWeek'
+                                  : myMoment.month() === now.month() &&
+                                      myMoment.year() === now.year()
+                                    ? 'thisMonth'
+                                    : nextMonth.month() === myMoment.month() &&
+                                        nextMonth.year() === myMoment.year()
+                                      ? 'nextMonth'
+                                      : 'sameElse';
             return retVal;
         };
 
         );
         assert.equal(
             moment('2012-05-25', 'YYYY-M-DD', true).isValid(),
-            true,
-            'valid one-digit month'
+            false,
+            'isValid one-digit month'
         );
         assert.equal(
             moment('2012-05-25', 'YYYY-MM-DD', true).isValid(),
         );
         assert.equal(
             moment('2012-05-02', 'YYYY-MM-D', true).isValid(),
-            true,
-            'valid two-digit day'
+            false,
+            'isValid two-digit day'
         );
         assert.equal(
             moment('2012-05-02', 'YYYY-MM-DD', true).isValid(),
             'invalid three-digit milisecond'
         );
 
+        assert.equal(
+            moment('2002-05-02 09:30:26', 'YYYY-MM-DD H:mm:ss', true).isValid(),
+            false,
+            'invalid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:30:26', 'YYYY-MM-DD H:mm:ss', true).isValid(),
+            true,
+            'valid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 09:30:26', 'YYYY-MM-DD h:mm:ss', true).isValid(),
+            false,
+            'invalid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:30:26', 'YYYY-MM-DD h:mm:ss', true).isValid(),
+            true,
+            'valid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 09:30:26', 'YYYY-MM-DD k:mm:ss', true).isValid(),
+            false,
+            'invalid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:30:26', 'YYYY-MM-DD k:mm:ss', true).isValid(),
+            true,
+            'valid two-digit hour'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:09:26', 'YYYY-MM-DD hh:m:ss', true).isValid(),
+            false,
+            'invalid two-digit minute'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:12:26', 'YYYY-MM-DD hh:m:ss', true).isValid(),
+            true,
+            'valid two-digit minute'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:09:06', 'YYYY-MM-DD hh:mm:s', true).isValid(),
+            false,
+            'invalid two-digit second'
+        );
+
+        assert.equal(
+            moment('2002-05-02 11:09:16', 'YYYY-MM-DD hh:mm:s', true).isValid(),
+            true,
+            'valid two-digit second'
+        );
+
+        assert.equal(
+            moment('2012-W07', 'YYYY-[W]W', true).isValid(),
+            false,
+            'invalid two-digit week'
+        );
+
+        assert.equal(
+            moment('2012-W17', 'YYYY-[W]W', true).isValid(),
+            true,
+            'valid two-digit week'
+        );
+
+        assert.equal(
+            moment('2012-W07', 'YYYY-[W]w', true).isValid(),
+            false,
+            'invalid two-digit week'
+        );
+
+        assert.equal(
+            moment('2012-W17', 'YYYY-[W]w', true).isValid(),
+            true,
+            'valid two-digit week'
+        );
+
+        assert.equal(
+            moment('08 June 2012', ['D MMMM YYYY'], true).isValid(),
+            false,
+            'invalid two-digit day'
+        );
+
+        assert.equal(
+            moment('18 June 2012', ['D MMMM YYYY'], true).isValid(),
+            true,
+            'valid two-digit day'
+        );
+
+        assert.equal(
+            moment('2012-05-02', 'YYYY-M-DD', true).isValid(),
+            false,
+            'invalid two-digit month'
+        );
+
+        assert.equal(
+            moment('2012-11-02', 'YYYY-M-DD', true).isValid(),
+            true,
+            'valid two-digit month'
+        );
+
         assert.equal(
             moment('1', 'SS', true).isValid(),
             false,
         return Object.prototype.hasOwnProperty.call(a, b);
     }
 
-    function addUnitAlias(unit, shorthand) {
-        var lowerCase = unit.toLowerCase();
-    }
-
     var hookCallback;
 
     function hooks() {
         );
     }
 
-    function isLeapYear(year) {
-        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
-    }
-
-    function absFloor(number) {
-        if (number < 0) {
-            // -0 -> 0
-            return Math.ceil(number) || 0;
-        } else {
-            return Math.floor(number);
-        }
-    }
-
-    function toInt(argumentForCoercion) {
-        var coercedNumber = +argumentForCoercion,
-            value = 0;
-
-        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
-            value = absFloor(coercedNumber);
-        }
-
-        return value;
-    }
-
     function zeroFill(number, targetLength, forceSign) {
         var absNumber = '' + Math.abs(number),
             zerosToFill = targetLength - absNumber.length,
         match1to4 = /\d{1,4}/, //       0 - 9999
         match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
         matchSigned = /[+-]?\d+/, //    -inf - inf
+        match1to2NoLeadingZero = /^[1-9]\d?/, //         1-99
+        match1to2HasZero = /^([1-9]\d|\d)/, //           0-99
         regexes;
 
     regexes = {};
         );
     }
 
+    function absFloor(number) {
+        if (number < 0) {
+            // -0 -> 0
+            return Math.ceil(number) || 0;
+        } else {
+            return Math.floor(number);
+        }
+    }
+
+    function toInt(argumentForCoercion) {
+        var coercedNumber = +argumentForCoercion,
+            value = 0;
+
+        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+            value = absFloor(coercedNumber);
+        }
+
+        return value;
+    }
+
     var tokens = {};
 
     function addParseToken(token, callback) {
         });
     }
 
+    function isLeapYear(year) {
+        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    }
+
     var YEAR = 0,
         MONTH = 1,
         HOUR = 3,
         MINUTE = 4,
         SECOND = 5;
 
+    // FORMATTING
+
+    addFormatToken('Y', 0, 0, function () {
+        var y = this.year();
+        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
+    });
+
+    addFormatToken(0, ['YY', 2], 0, function () {
+        return this.year() % 100;
+    });
+
+    addFormatToken(0, ['YYYY', 4], 0, 'year');
+    addFormatToken(0, ['YYYYY', 5], 0, 'year');
+    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+    // PARSING
+
+    addRegexToken('Y', matchSigned);
+    addRegexToken('YY', match1to2, match2);
+    addRegexToken('YYYY', match1to4, match4);
+    addRegexToken('YYYYY', match1to6, match6);
+    addRegexToken('YYYYYY', match1to6, match6);
+
+    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+    addParseToken('YYYY', function (input, array) {
+        array[YEAR] =
+            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+    });
+    addParseToken('YY', function (input, array) {
+        array[YEAR] = hooks.parseTwoDigitYear(input);
+    });
+    addParseToken('Y', function (input, array) {
+        array[YEAR] = parseInt(input, 10);
+    });
+
+    // HOOKS
+
+    hooks.parseTwoDigitYear = function (input) {
+        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+    };
+
     function mod(n, x) {
         return ((n % x) + x) % x;
     }
 
     // FORMATTING
 
-    addFormatToken('Y', 0, 0, function () {
-        var y = this.year();
-        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
-    });
-
-    addFormatToken(0, ['YY', 2], 0, function () {
-        return this.year() % 100;
-    });
-
-    addFormatToken(0, ['YYYY', 4], 0, 'year');
-    addFormatToken(0, ['YYYYY', 5], 0, 'year');
-    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
-
-    // ALIASES
-
-    addUnitAlias('year');
-
-    // PARSING
-
-    addRegexToken('Y', matchSigned);
-    addRegexToken('YY', match1to2, match2);
-    addRegexToken('YYYY', match1to4, match4);
-    addRegexToken('YYYYY', match1to6, match6);
-    addRegexToken('YYYYYY', match1to6, match6);
-
-    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
-    addParseToken('YYYY', function (input, array) {
-        array[YEAR] =
-            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
-    });
-    addParseToken('YY', function (input, array) {
-        array[YEAR] = hooks.parseTwoDigitYear(input);
-    });
-    addParseToken('Y', function (input, array) {
-        array[YEAR] = parseInt(input, 10);
-    });
-
-    // HOOKS
-
-    hooks.parseTwoDigitYear = function (input) {
-        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
-    };
-
-    // FORMATTING
-
     addFormatToken('w', ['ww', 2], 'wo', 'week');
     addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
 
-    // ALIASES
-
-    addUnitAlias('week');
-    addUnitAlias('isoWeek');
-
     // PARSING
 
-    addRegexToken('w', match1to2);
+    addRegexToken('w', match1to2, match1to2NoLeadingZero);
     addRegexToken('ww', match1to2, match2);
-    addRegexToken('W', match1to2);
+    addRegexToken('W', match1to2, match1to2NoLeadingZero);
     addRegexToken('WW', match1to2, match2);
 
     addWeekParseToken(
     addFormatToken('e', 0, 0, 'weekday');
     addFormatToken('E', 0, 0, 'isoWeekday');
 
-    // ALIASES
-
-    addUnitAlias('day');
-    addUnitAlias('weekday');
-    addUnitAlias('isoWeekday');
-
     // PARSING
 
     addRegexToken('d', match1to2);
     meridiem('a', true);
     meridiem('A', false);
 
-    // ALIASES
-
-    addUnitAlias('hour');
-
     // PARSING
 
     function matchMeridiem(isStrict, locale) {
 
     addRegexToken('a', matchMeridiem);
     addRegexToken('A', matchMeridiem);
-    addRegexToken('H', match1to2);
-    addRegexToken('h', match1to2);
-    addRegexToken('k', match1to2);
+    addRegexToken('H', match1to2, match1to2HasZero);
+    addRegexToken('h', match1to2, match1to2NoLeadingZero);
+    addRegexToken('k', match1to2, match1to2NoLeadingZero);
     addRegexToken('HH', match1to2, match2);
     addRegexToken('hh', match1to2, match2);
     addRegexToken('kk', match1to2, match2);
         return this.localeData().months(this, format);
     });
 
-    // ALIASES
-
-    addUnitAlias('month');
-
     // PARSING
 
-    addRegexToken('M', match1to2);
+    addRegexToken('M', match1to2, match1to2NoLeadingZero);
     addRegexToken('MM', match1to2, match2);
     addRegexToken('MMM', function (isStrict, locale) {
         return locale.monthsShortRegex(isStrict);
         durationObject.foo(5);
     });
 
+    test('valueOf and asMilliseconds have the same function', function (assert) {
+        var t1 = +moment.duration({ months: 2 }),
+            t2 = moment.duration({ months: 2 }).asMilliseconds();
+        assert.ok(t1 === t2, 'the final value should be equal');
+    });
+
 })));
 
 
         }
     });
 
+    test('destructive operation', function (assert) {
+        assert.equal(
+            moment('2018-05-15').add(100, 'years').isValid(),
+            true,
+            'add 100 years is valid'
+        );
+        assert.equal(
+            moment('2018-05-15').add(1000000, 'years').isValid(),
+            false,
+            'add 1000000 years is invalid'
+        );
+        assert.equal(
+            moment('2018-05-15').subtract(100, 'years').isValid(),
+            true,
+            'subtract 100 years is valid'
+        );
+        assert.equal(
+            moment('2018-05-15').subtract(1000000, 'years').isValid(),
+            false,
+            'subtract 1000000 years is invalid'
+        );
+    });
+
 })));
 
 
         assert.equal(moment([2008, 11, 29]).weekYear(), 2009);
         assert.equal(moment([2009, 11, 27]).weekYear(), 2009);
         assert.equal(moment([2009, 11, 28]).weekYear(), 2010);
+
+        moment.locale('dow:1 doy:4', { week: { dow: 1, doy: 4 } });
+        assert.equal(moment([2015, 11, 27]).locale('dow:1 doy:4').weekYear(), 2015);
+        assert.equal(
+            moment([2015, 11, 27]).locale('dow:1 doy:4').weekYear(2015).date(),
+            27
+        );
+        moment.defineLocale('dow:1 doy:4', null);
     });
 
     // Verifies that the week number, week day computation is correct for all dow, doy combinations
         assert.equal(moment().zone(-90).format('ZZ'), '+0130', '-90 -> +0130');
         assert.equal(moment().zone(-120).format('ZZ'), '+0200', '-120 -> +0200');
 
-        assert.equal(
-            moment()
-                .zone(+60)
-                .format('ZZ'),
-            '-0100',
-            '+60 -> -0100'
-        );
-        assert.equal(
-            moment()
-                .zone(+90)
-                .format('ZZ'),
-            '-0130',
-            '+90 -> -0130'
-        );
-        assert.equal(
-            moment()
-                .zone(+120)
-                .format('ZZ'),
-            '-0200',
-            '+120 -> -0200'
-        );
+        assert.equal(moment().zone(+60).format('ZZ'), '-0100', '+60 -> -0100');
+        assert.equal(moment().zone(+90).format('ZZ'), '-0130', '+90 -> -0130');
+        assert.equal(moment().zone(+120).format('ZZ'), '-0200', '+120 -> -0200');
     });
 
     test('parse zone without a timezone', function (assert) {
index 05a63b1413408c7bb5e2bb6b6b2f5642d64de0eb..4cde9f22180767ea6585abae8ffecf8554a81927 100644 (file)
--- a/moment.js
+++ b/moment.js
@@ -1,5 +1,5 @@
 //! moment.js
-//! version : 2.29.4
+//! version : 2.30.0
 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
 //! license : MIT
 //! momentjs.com
     }
 
     function isValid(m) {
-        if (m._isValid == null) {
-            var flags = getParsingFlags(m),
-                parsedParts = some.call(flags.parsedDateParts, function (i) {
-                    return i != null;
-                }),
-                isNowValid =
-                    !isNaN(m._d.getTime()) &&
-                    flags.overflow < 0 &&
-                    !flags.empty &&
-                    !flags.invalidEra &&
-                    !flags.invalidMonth &&
-                    !flags.invalidWeekday &&
-                    !flags.weekdayMismatch &&
-                    !flags.nullInput &&
-                    !flags.invalidFormat &&
-                    !flags.userInvalidated &&
-                    (!flags.meridiem || (flags.meridiem && parsedParts));
-
+        var flags = null,
+            parsedParts = false,
+            isNowValid = m._d && !isNaN(m._d.getTime());
+        if (isNowValid) {
+            flags = getParsingFlags(m);
+            parsedParts = some.call(flags.parsedDateParts, function (i) {
+                return i != null;
+            });
+            isNowValid =
+                flags.overflow < 0 &&
+                !flags.empty &&
+                !flags.invalidEra &&
+                !flags.invalidMonth &&
+                !flags.invalidWeekday &&
+                !flags.weekdayMismatch &&
+                !flags.nullInput &&
+                !flags.invalidFormat &&
+                !flags.userInvalidated &&
+                (!flags.meridiem || (flags.meridiem && parsedParts));
             if (m._strict) {
                 isNowValid =
                     isNowValid &&
                     flags.unusedTokens.length === 0 &&
                     flags.bigHour === undefined;
             }
-
-            if (Object.isFrozen == null || !Object.isFrozen(m)) {
-                m._isValid = isNowValid;
-            } else {
-                return isNowValid;
-            }
+        }
+        if (Object.isFrozen == null || !Object.isFrozen(m)) {
+            m._isValid = isNowValid;
+        } else {
+            return isNowValid;
         }
         return m._isValid;
     }
         return isFunction(format) ? format(output) : format.replace(/%s/i, output);
     }
 
-    var aliases = {};
-
-    function addUnitAlias(unit, shorthand) {
-        var lowerCase = unit.toLowerCase();
-        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
-    }
+    var aliases = {
+        D: 'date',
+        dates: 'date',
+        date: 'date',
+        d: 'day',
+        days: 'day',
+        day: 'day',
+        e: 'weekday',
+        weekdays: 'weekday',
+        weekday: 'weekday',
+        E: 'isoWeekday',
+        isoweekdays: 'isoWeekday',
+        isoweekday: 'isoWeekday',
+        DDD: 'dayOfYear',
+        dayofyears: 'dayOfYear',
+        dayofyear: 'dayOfYear',
+        h: 'hour',
+        hours: 'hour',
+        hour: 'hour',
+        ms: 'millisecond',
+        milliseconds: 'millisecond',
+        millisecond: 'millisecond',
+        m: 'minute',
+        minutes: 'minute',
+        minute: 'minute',
+        M: 'month',
+        months: 'month',
+        month: 'month',
+        Q: 'quarter',
+        quarters: 'quarter',
+        quarter: 'quarter',
+        s: 'second',
+        seconds: 'second',
+        second: 'second',
+        gg: 'weekYear',
+        weekyears: 'weekYear',
+        weekyear: 'weekYear',
+        GG: 'isoWeekYear',
+        isoweekyears: 'isoWeekYear',
+        isoweekyear: 'isoWeekYear',
+        w: 'week',
+        weeks: 'week',
+        week: 'week',
+        W: 'isoWeek',
+        isoweeks: 'isoWeek',
+        isoweek: 'isoWeek',
+        y: 'year',
+        years: 'year',
+        year: 'year',
+    };
 
     function normalizeUnits(units) {
         return typeof units === 'string'
         return normalizedInput;
     }
 
-    var priorities = {};
-
-    function addUnitPriority(unit, priority) {
-        priorities[unit] = priority;
-    }
+    var priorities = {
+        date: 9,
+        day: 11,
+        weekday: 11,
+        isoWeekday: 11,
+        dayOfYear: 4,
+        hour: 13,
+        millisecond: 16,
+        minute: 14,
+        month: 8,
+        quarter: 7,
+        second: 15,
+        weekYear: 1,
+        isoWeekYear: 1,
+        week: 5,
+        isoWeek: 5,
+        year: 1,
+    };
 
     function getPrioritizedUnits(unitsObj) {
         var units = [],
         return units;
     }
 
-    function isLeapYear(year) {
-        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
-    }
-
-    function absFloor(number) {
-        if (number < 0) {
-            // -0 -> 0
-            return Math.ceil(number) || 0;
-        } else {
-            return Math.floor(number);
-        }
-    }
-
-    function toInt(argumentForCoercion) {
-        var coercedNumber = +argumentForCoercion,
-            value = 0;
-
-        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
-            value = absFloor(coercedNumber);
-        }
-
-        return value;
-    }
-
-    function makeGetSet(unit, keepTime) {
-        return function (value) {
-            if (value != null) {
-                set$1(this, unit, value);
-                hooks.updateOffset(this, keepTime);
-                return this;
-            } else {
-                return get(this, unit);
-            }
-        };
-    }
-
-    function get(mom, unit) {
-        return mom.isValid()
-            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
-            : NaN;
-    }
-
-    function set$1(mom, unit, value) {
-        if (mom.isValid() && !isNaN(value)) {
-            if (
-                unit === 'FullYear' &&
-                isLeapYear(mom.year()) &&
-                mom.month() === 1 &&
-                mom.date() === 29
-            ) {
-                value = toInt(value);
-                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
-                    value,
-                    mom.month(),
-                    daysInMonth(value, mom.month())
-                );
-            } else {
-                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
-            }
-        }
-    }
-
-    // MOMENTS
-
-    function stringGet(units) {
-        units = normalizeUnits(units);
-        if (isFunction(this[units])) {
-            return this[units]();
-        }
-        return this;
-    }
-
-    function stringSet(units, value) {
-        if (typeof units === 'object') {
-            units = normalizeObjectUnits(units);
-            var prioritized = getPrioritizedUnits(units),
-                i,
-                prioritizedLen = prioritized.length;
-            for (i = 0; i < prioritizedLen; i++) {
-                this[prioritized[i].unit](units[prioritized[i].unit]);
-            }
-        } else {
-            units = normalizeUnits(units);
-            if (isFunction(this[units])) {
-                return this[units](value);
-            }
-        }
-        return this;
-    }
-
     var match1 = /\d/, //       0 - 9
         match2 = /\d\d/, //      00 - 99
         match3 = /\d{3}/, //     000 - 999
         // includes scottish gaelic two word and hyphenated months
         matchWord =
             /[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,
+        match1to2NoLeadingZero = /^[1-9]\d?/, //         1-99
+        match1to2HasZero = /^([1-9]\d|\d)/, //           0-99
         regexes;
 
     regexes = {};
         return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
     }
 
+    function absFloor(number) {
+        if (number < 0) {
+            // -0 -> 0
+            return Math.ceil(number) || 0;
+        } else {
+            return Math.floor(number);
+        }
+    }
+
+    function toInt(argumentForCoercion) {
+        var coercedNumber = +argumentForCoercion,
+            value = 0;
+
+        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+            value = absFloor(coercedNumber);
+        }
+
+        return value;
+    }
+
     var tokens = {};
 
     function addParseToken(token, callback) {
         }
     }
 
+    function isLeapYear(year) {
+        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    }
+
     var YEAR = 0,
         MONTH = 1,
         DATE = 2,
         WEEK = 7,
         WEEKDAY = 8;
 
+    // FORMATTING
+
+    addFormatToken('Y', 0, 0, function () {
+        var y = this.year();
+        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
+    });
+
+    addFormatToken(0, ['YY', 2], 0, function () {
+        return this.year() % 100;
+    });
+
+    addFormatToken(0, ['YYYY', 4], 0, 'year');
+    addFormatToken(0, ['YYYYY', 5], 0, 'year');
+    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+    // PARSING
+
+    addRegexToken('Y', matchSigned);
+    addRegexToken('YY', match1to2, match2);
+    addRegexToken('YYYY', match1to4, match4);
+    addRegexToken('YYYYY', match1to6, match6);
+    addRegexToken('YYYYYY', match1to6, match6);
+
+    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+    addParseToken('YYYY', function (input, array) {
+        array[YEAR] =
+            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+    });
+    addParseToken('YY', function (input, array) {
+        array[YEAR] = hooks.parseTwoDigitYear(input);
+    });
+    addParseToken('Y', function (input, array) {
+        array[YEAR] = parseInt(input, 10);
+    });
+
+    // HELPERS
+
+    function daysInYear(year) {
+        return isLeapYear(year) ? 366 : 365;
+    }
+
+    // HOOKS
+
+    hooks.parseTwoDigitYear = function (input) {
+        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+    };
+
+    // MOMENTS
+
+    var getSetYear = makeGetSet('FullYear', true);
+
+    function getIsLeapYear() {
+        return isLeapYear(this.year());
+    }
+
+    function makeGetSet(unit, keepTime) {
+        return function (value) {
+            if (value != null) {
+                set$1(this, unit, value);
+                hooks.updateOffset(this, keepTime);
+                return this;
+            } else {
+                return get(this, unit);
+            }
+        };
+    }
+
+    function get(mom, unit) {
+        if (!mom.isValid()) {
+            return NaN;
+        }
+
+        var d = mom._d,
+            isUTC = mom._isUTC;
+
+        switch (unit) {
+            case 'Milliseconds':
+                return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();
+            case 'Seconds':
+                return isUTC ? d.getUTCSeconds() : d.getSeconds();
+            case 'Minutes':
+                return isUTC ? d.getUTCMinutes() : d.getMinutes();
+            case 'Hours':
+                return isUTC ? d.getUTCHours() : d.getHours();
+            case 'Date':
+                return isUTC ? d.getUTCDate() : d.getDate();
+            case 'Day':
+                return isUTC ? d.getUTCDay() : d.getDay();
+            case 'Month':
+                return isUTC ? d.getUTCMonth() : d.getMonth();
+            case 'FullYear':
+                return isUTC ? d.getUTCFullYear() : d.getFullYear();
+            default:
+                return NaN; // Just in case
+        }
+    }
+
+    function set$1(mom, unit, value) {
+        var d, isUTC, year, month, date;
+
+        if (!mom.isValid() || isNaN(value)) {
+            return;
+        }
+
+        d = mom._d;
+        isUTC = mom._isUTC;
+
+        switch (unit) {
+            case 'Milliseconds':
+                return void (isUTC
+                    ? d.setUTCMilliseconds(value)
+                    : d.setMilliseconds(value));
+            case 'Seconds':
+                return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));
+            case 'Minutes':
+                return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));
+            case 'Hours':
+                return void (isUTC ? d.setUTCHours(value) : d.setHours(value));
+            case 'Date':
+                return void (isUTC ? d.setUTCDate(value) : d.setDate(value));
+            // case 'Day': // Not real
+            //    return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
+            // case 'Month': // Not used because we need to pass two variables
+            //     return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
+            case 'FullYear':
+                break; // See below ...
+            default:
+                return; // Just in case
+        }
+
+        year = value;
+        month = mom.month();
+        date = mom.date();
+        date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;
+        void (isUTC
+            ? d.setUTCFullYear(year, month, date)
+            : d.setFullYear(year, month, date));
+    }
+
+    // MOMENTS
+
+    function stringGet(units) {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units]();
+        }
+        return this;
+    }
+
+    function stringSet(units, value) {
+        if (typeof units === 'object') {
+            units = normalizeObjectUnits(units);
+            var prioritized = getPrioritizedUnits(units),
+                i,
+                prioritizedLen = prioritized.length;
+            for (i = 0; i < prioritizedLen; i++) {
+                this[prioritized[i].unit](units[prioritized[i].unit]);
+            }
+        } else {
+            units = normalizeUnits(units);
+            if (isFunction(this[units])) {
+                return this[units](value);
+            }
+        }
+        return this;
+    }
+
     function mod(n, x) {
         return ((n % x) + x) % x;
     }
         return this.localeData().months(this, format);
     });
 
-    // ALIASES
-
-    addUnitAlias('month', 'M');
-
-    // PRIORITY
-
-    addUnitPriority('month', 8);
-
     // PARSING
 
-    addRegexToken('M', match1to2);
+    addRegexToken('M', match1to2, match1to2NoLeadingZero);
     addRegexToken('MM', match1to2, match2);
     addRegexToken('MMM', function (isStrict, locale) {
         return locale.monthsShortRegex(isStrict);
     // MOMENTS
 
     function setMonth(mom, value) {
-        var dayOfMonth;
-
         if (!mom.isValid()) {
             // No op
             return mom;
             }
         }
 
-        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
-        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+        var month = value,
+            date = mom.date();
+
+        date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));
+        void (mom._isUTC
+            ? mom._d.setUTCMonth(month, date)
+            : mom._d.setMonth(month, date));
         return mom;
     }
 
             longPieces = [],
             mixedPieces = [],
             i,
-            mom;
+            mom,
+            shortP,
+            longP;
         for (i = 0; i < 12; i++) {
             // make the regex if we don't have it already
             mom = createUTC([2000, i]);
-            shortPieces.push(this.monthsShort(mom, ''));
-            longPieces.push(this.months(mom, ''));
-            mixedPieces.push(this.months(mom, ''));
-            mixedPieces.push(this.monthsShort(mom, ''));
+            shortP = regexEscape(this.monthsShort(mom, ''));
+            longP = regexEscape(this.months(mom, ''));
+            shortPieces.push(shortP);
+            longPieces.push(longP);
+            mixedPieces.push(longP);
+            mixedPieces.push(shortP);
         }
         // Sorting makes sure if one month (or abbr) is a prefix of another it
         // will match the longer piece.
         shortPieces.sort(cmpLenRev);
         longPieces.sort(cmpLenRev);
         mixedPieces.sort(cmpLenRev);
-        for (i = 0; i < 12; i++) {
-            shortPieces[i] = regexEscape(shortPieces[i]);
-            longPieces[i] = regexEscape(longPieces[i]);
-        }
-        for (i = 0; i < 24; i++) {
-            mixedPieces[i] = regexEscape(mixedPieces[i]);
-        }
 
         this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
         this._monthsShortRegex = this._monthsRegex;
         );
     }
 
-    // FORMATTING
-
-    addFormatToken('Y', 0, 0, function () {
-        var y = this.year();
-        return y <= 9999 ? zeroFill(y, 4) : '+' + y;
-    });
-
-    addFormatToken(0, ['YY', 2], 0, function () {
-        return this.year() % 100;
-    });
-
-    addFormatToken(0, ['YYYY', 4], 0, 'year');
-    addFormatToken(0, ['YYYYY', 5], 0, 'year');
-    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
-
-    // ALIASES
-
-    addUnitAlias('year', 'y');
-
-    // PRIORITIES
-
-    addUnitPriority('year', 1);
-
-    // PARSING
-
-    addRegexToken('Y', matchSigned);
-    addRegexToken('YY', match1to2, match2);
-    addRegexToken('YYYY', match1to4, match4);
-    addRegexToken('YYYYY', match1to6, match6);
-    addRegexToken('YYYYYY', match1to6, match6);
-
-    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
-    addParseToken('YYYY', function (input, array) {
-        array[YEAR] =
-            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
-    });
-    addParseToken('YY', function (input, array) {
-        array[YEAR] = hooks.parseTwoDigitYear(input);
-    });
-    addParseToken('Y', function (input, array) {
-        array[YEAR] = parseInt(input, 10);
-    });
-
-    // HELPERS
-
-    function daysInYear(year) {
-        return isLeapYear(year) ? 366 : 365;
-    }
-
-    // HOOKS
-
-    hooks.parseTwoDigitYear = function (input) {
-        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
-    };
-
-    // MOMENTS
-
-    var getSetYear = makeGetSet('FullYear', true);
-
-    function getIsLeapYear() {
-        return isLeapYear(this.year());
-    }
-
     function createDate(y, m, d, h, M, s, ms) {
         // can't just apply() to create a date:
         // https://stackoverflow.com/q/181348
     addFormatToken('w', ['ww', 2], 'wo', 'week');
     addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
 
-    // ALIASES
-
-    addUnitAlias('week', 'w');
-    addUnitAlias('isoWeek', 'W');
-
-    // PRIORITIES
-
-    addUnitPriority('week', 5);
-    addUnitPriority('isoWeek', 5);
-
     // PARSING
 
-    addRegexToken('w', match1to2);
+    addRegexToken('w', match1to2, match1to2NoLeadingZero);
     addRegexToken('ww', match1to2, match2);
-    addRegexToken('W', match1to2);
+    addRegexToken('W', match1to2, match1to2NoLeadingZero);
     addRegexToken('WW', match1to2, match2);
 
     addWeekParseToken(
     addFormatToken('e', 0, 0, 'weekday');
     addFormatToken('E', 0, 0, 'isoWeekday');
 
-    // ALIASES
-
-    addUnitAlias('day', 'd');
-    addUnitAlias('weekday', 'e');
-    addUnitAlias('isoWeekday', 'E');
-
-    // PRIORITY
-    addUnitPriority('day', 11);
-    addUnitPriority('weekday', 11);
-    addUnitPriority('isoWeekday', 11);
-
     // PARSING
 
     addRegexToken('d', match1to2);
         return m === true
             ? shiftWeekdays(weekdays, this._week.dow)
             : m
-            ? weekdays[m.day()]
-            : weekdays;
+              ? weekdays[m.day()]
+              : weekdays;
     }
 
     function localeWeekdaysShort(m) {
         return m === true
             ? shiftWeekdays(this._weekdaysShort, this._week.dow)
             : m
-            ? this._weekdaysShort[m.day()]
-            : this._weekdaysShort;
+              ? this._weekdaysShort[m.day()]
+              : this._weekdaysShort;
     }
 
     function localeWeekdaysMin(m) {
         return m === true
             ? shiftWeekdays(this._weekdaysMin, this._week.dow)
             : m
-            ? this._weekdaysMin[m.day()]
-            : this._weekdaysMin;
+              ? this._weekdaysMin[m.day()]
+              : this._weekdaysMin;
     }
 
     function handleStrictParse$1(weekdayName, format, strict) {
         if (!this.isValid()) {
             return input != null ? this : NaN;
         }
-        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+
+        var day = get(this, 'Day');
         if (input != null) {
             input = parseWeekday(input, this.localeData());
             return this.add(input - day, 'd');
     meridiem('a', true);
     meridiem('A', false);
 
-    // ALIASES
-
-    addUnitAlias('hour', 'h');
-
-    // PRIORITY
-    addUnitPriority('hour', 13);
-
     // PARSING
 
     function matchMeridiem(isStrict, locale) {
 
     addRegexToken('a', matchMeridiem);
     addRegexToken('A', matchMeridiem);
-    addRegexToken('H', match1to2);
-    addRegexToken('h', match1to2);
-    addRegexToken('k', match1to2);
+    addRegexToken('H', match1to2, match1to2HasZero);
+    addRegexToken('h', match1to2, match1to2NoLeadingZero);
+    addRegexToken('k', match1to2, match1to2NoLeadingZero);
     addRegexToken('HH', match1to2, match2);
     addRegexToken('hh', match1to2, match2);
     addRegexToken('kk', match1to2, match2);
 
     function isLocaleNameSane(name) {
         // Prevent names that look like filesystem paths, i.e contain '/' or '\'
-        return name.match('^[^/\\\\]*$') != null;
+        // Ensure name is available and function returns boolean
+        return !!(name && name.match('^[^/\\\\]*$'));
     }
 
     function loadLocale(name) {
                 a[MONTH] < 0 || a[MONTH] > 11
                     ? MONTH
                     : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
-                    ? DATE
-                    : a[HOUR] < 0 ||
-                      a[HOUR] > 24 ||
-                      (a[HOUR] === 24 &&
-                          (a[MINUTE] !== 0 ||
-                              a[SECOND] !== 0 ||
-                              a[MILLISECOND] !== 0))
-                    ? HOUR
-                    : a[MINUTE] < 0 || a[MINUTE] > 59
-                    ? MINUTE
-                    : a[SECOND] < 0 || a[SECOND] > 59
-                    ? SECOND
-                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
-                    ? MILLISECOND
-                    : -1;
+                      ? DATE
+                      : a[HOUR] < 0 ||
+                          a[HOUR] > 24 ||
+                          (a[HOUR] === 24 &&
+                              (a[MINUTE] !== 0 ||
+                                  a[SECOND] !== 0 ||
+                                  a[MILLISECOND] !== 0))
+                        ? HOUR
+                        : a[MINUTE] < 0 || a[MINUTE] > 59
+                          ? MINUTE
+                          : a[SECOND] < 0 || a[SECOND] > 59
+                            ? SECOND
+                            : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
+                              ? MILLISECOND
+                              : -1;
 
             if (
                 getParsingFlags(m)._overflowDayOfYear &&
         return diff < -6
             ? 'sameElse'
             : diff < -1
-            ? 'lastWeek'
-            : diff < 0
-            ? 'lastDay'
-            : diff < 1
-            ? 'sameDay'
-            : diff < 2
-            ? 'nextDay'
-            : diff < 7
-            ? 'nextWeek'
-            : 'sameElse';
+              ? 'lastWeek'
+              : diff < 0
+                ? 'lastDay'
+                : diff < 1
+                  ? 'sameDay'
+                  : diff < 2
+                    ? 'nextDay'
+                    : diff < 7
+                      ? 'nextWeek'
+                      : 'sameElse';
     }
 
     function calendar$1(time, formats) {
             mixedPieces = [],
             i,
             l,
+            erasName,
+            erasAbbr,
+            erasNarrow,
             eras = this.eras();
 
         for (i = 0, l = eras.length; i < l; ++i) {
-            namePieces.push(regexEscape(eras[i].name));
-            abbrPieces.push(regexEscape(eras[i].abbr));
-            narrowPieces.push(regexEscape(eras[i].narrow));
+            erasName = regexEscape(eras[i].name);
+            erasAbbr = regexEscape(eras[i].abbr);
+            erasNarrow = regexEscape(eras[i].narrow);
 
-            mixedPieces.push(regexEscape(eras[i].name));
-            mixedPieces.push(regexEscape(eras[i].abbr));
-            mixedPieces.push(regexEscape(eras[i].narrow));
+            namePieces.push(erasName);
+            abbrPieces.push(erasAbbr);
+            narrowPieces.push(erasNarrow);
+            mixedPieces.push(erasName);
+            mixedPieces.push(erasAbbr);
+            mixedPieces.push(erasNarrow);
         }
 
         this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
 
     // ALIASES
 
-    addUnitAlias('weekYear', 'gg');
-    addUnitAlias('isoWeekYear', 'GG');
-
-    // PRIORITY
-
-    addUnitPriority('weekYear', 1);
-    addUnitPriority('isoWeekYear', 1);
-
     // PARSING
 
     addRegexToken('G', matchSigned);
             this,
             input,
             this.week(),
-            this.weekday(),
+            this.weekday() + this.localeData()._week.dow,
             this.localeData()._week.dow,
             this.localeData()._week.doy
         );
 
     addFormatToken('Q', 0, 'Qo', 'quarter');
 
-    // ALIASES
-
-    addUnitAlias('quarter', 'Q');
-
-    // PRIORITY
-
-    addUnitPriority('quarter', 7);
-
     // PARSING
 
     addRegexToken('Q', match1);
 
     addFormatToken('D', ['DD', 2], 'Do', 'date');
 
-    // ALIASES
-
-    addUnitAlias('date', 'D');
-
-    // PRIORITY
-    addUnitPriority('date', 9);
-
     // PARSING
 
-    addRegexToken('D', match1to2);
+    addRegexToken('D', match1to2, match1to2NoLeadingZero);
     addRegexToken('DD', match1to2, match2);
     addRegexToken('Do', function (isStrict, locale) {
         // TODO: Remove "ordinalParse" fallback in next major release.
 
     addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
 
-    // ALIASES
-
-    addUnitAlias('dayOfYear', 'DDD');
-
-    // PRIORITY
-    addUnitPriority('dayOfYear', 4);
-
     // PARSING
 
     addRegexToken('DDD', match1to3);
 
     addFormatToken('m', ['mm', 2], 0, 'minute');
 
-    // ALIASES
-
-    addUnitAlias('minute', 'm');
-
-    // PRIORITY
-
-    addUnitPriority('minute', 14);
-
     // PARSING
 
-    addRegexToken('m', match1to2);
+    addRegexToken('m', match1to2, match1to2HasZero);
     addRegexToken('mm', match1to2, match2);
     addParseToken(['m', 'mm'], MINUTE);
 
 
     addFormatToken('s', ['ss', 2], 0, 'second');
 
-    // ALIASES
-
-    addUnitAlias('second', 's');
-
-    // PRIORITY
-
-    addUnitPriority('second', 15);
-
     // PARSING
 
-    addRegexToken('s', match1to2);
+    addRegexToken('s', match1to2, match1to2HasZero);
     addRegexToken('ss', match1to2, match2);
     addParseToken(['s', 'ss'], SECOND);
 
         return this.millisecond() * 1000000;
     });
 
-    // ALIASES
-
-    addUnitAlias('millisecond', 'ms');
-
-    // PRIORITY
-
-    addUnitPriority('millisecond', 16);
-
     // PARSING
 
     addRegexToken('S', match1to3, match1);
                     toInt((number % 100) / 10) === 1
                         ? 'th'
                         : b === 1
-                        ? 'st'
-                        : b === 2
-                        ? 'nd'
-                        : b === 3
-                        ? 'rd'
-                        : 'th';
+                          ? 'st'
+                          : b === 2
+                            ? 'nd'
+                            : b === 3
+                              ? 'rd'
+                              : 'th';
             return number + output;
         },
     });
         }
     }
 
-    // TODO: Use this.as('ms')?
-    function valueOf$1() {
-        if (!this.isValid()) {
-            return NaN;
-        }
-        return (
-            this._milliseconds +
-            this._days * 864e5 +
-            (this._months % 12) * 2592e6 +
-            toInt(this._months / 12) * 31536e6
-        );
-    }
-
     function makeAs(alias) {
         return function () {
             return this.as(alias);
         asWeeks = makeAs('w'),
         asMonths = makeAs('M'),
         asQuarters = makeAs('Q'),
-        asYears = makeAs('y');
+        asYears = makeAs('y'),
+        valueOf$1 = asMilliseconds;
 
     function clone$1() {
         return createDuration(this);
 
     //! moment.js
 
-    hooks.version = '2.29.4';
+    hooks.version = '2.30.0';
 
     setHookCallback(createLocal);