1/******/ (function() { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3 4/***/ 119: 5/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6 7//! moment.js locale configuration 8//! locale : Persian [fa] 9//! author : Ebrahim Byagowi : https://github.com/ebraminio 10 11;(function (global, factory) { 12 true ? factory(__webpack_require__(5093)) : 13 0 14}(this, (function (moment) { 'use strict'; 15 16 //! moment.js locale configuration 17 18 var symbolMap = { 19 1: 'Û±', 20 2: 'Û²', 21 3: 'Û³', 22 4: 'Û´', 23 5: 'Ûµ', 24 6: 'Û¶', 25 7: 'Û·', 26 8: 'Û¸', 27 9: 'Û¹', 28 0: 'Û°', 29 }, 30 numberMap = { 31 'Û±': '1', 32 'Û²': '2', 33 'Û³': '3', 34 'Û´': '4', 35 'Ûµ': '5', 36 'Û¶': '6', 37 'Û·': '7', 38 'Û¸': '8', 39 'Û¹': '9', 40 'Û°': '0', 41 }; 42 43 var fa = moment.defineLocale('fa', { 44 months: 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split( 45 '_' 46 ), 47 monthsShort: 48 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split( 49 '_' 50 ), 51 weekdays: 52 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split( 53 '_' 54 ), 55 weekdaysShort: 56 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split( 57 '_' 58 ), 59 weekdaysMin: 'Û_د_س_Ú_Ù¾_ج_Ø´'.split('_'), 60 weekdaysParseExact: true, 61 longDateFormat: { 62 LT: 'HH:mm', 63 LTS: 'HH:mm:ss', 64 L: 'DD/MM/YYYY', 65 LL: 'D MMMM YYYY', 66 LLL: 'D MMMM YYYY HH:mm', 67 LLLL: 'dddd, D MMMM YYYY HH:mm', 68 }, 69 meridiemParse: /ÙØ¨Ù از Ø¸ÙØ±|بعد از Ø¸ÙØ±/, 70 isPM: function (input) { 71 return /بعد از Ø¸ÙØ±/.test(input); 72 }, 73 meridiem: function (hour, minute, isLower) { 74 if (hour < 12) { 75 return 'ÙØ¨Ù از Ø¸ÙØ±'; 76 } else { 77 return 'بعد از Ø¸ÙØ±'; 78 } 79 }, 80 calendar: { 81 sameDay: '[Ø§Ù Ø±ÙØ² ساعت] LT', 82 nextDay: '[ÙØ±Ø¯Ø§ ساعت] LT', 83 nextWeek: 'dddd [ساعت] LT', 84 lastDay: '[Ø¯ÛØ±Ùز ساعت] LT', 85 lastWeek: 'dddd [Ù¾ÛØ´] [ساعت] LT', 86 sameElse: 'L', 87 }, 88 relativeTime: { 89 future: 'در %s', 90 past: '%s Ù¾ÛØ´', 91 s: 'ÚÙØ¯ ثاÙÛÙ', 92 ss: '%d ثاÙÛÙ', 93 m: 'ÛÚ© دÙÛÙÙ', 94 mm: '%d دÙÛÙÙ', 95 h: 'ÛÚ© ساعت', 96 hh: '%d ساعت', 97 d: 'ÛÚ© Ø±ÙØ²', 98 dd: '%d Ø±ÙØ²', 99 M: 'ÛÚ© ٠اÙ', 100 MM: '%d ٠اÙ', 101 y: 'ÛÚ© ساÙ', 102 yy: '%d ساÙ', 103 }, 104 preparse: function (string) { 105 return string 106 .replace(/[Û°-Û¹]/g, function (match) { 107 return numberMap[match]; 108 }) 109 .replace(/Ø/g, ','); 110 }, 111 postformat: function (string) { 112 return string 113 .replace(/\d/g, function (match) { 114 return symbolMap[match]; 115 }) 116 .replace(/,/g, 'Ø'); 117 }, 118 dayOfMonthOrdinalParse: /\d{1,2}Ù /, 119 ordinal: '%dÙ ', 120 week: { 121 dow: 6, // Saturday is the first day of the week. 122 doy: 12, // The week that contains Jan 12th is the first week of the year. 123 }, 124 }); 125 126 return fa; 127 128}))); 129 130 131/***/ }), 132 133/***/ 158: 134/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 135 136//! moment.js locale configuration 137//! locale : Urdu [ur] 138//! author : Sawood Alam : https://github.com/ibnesayeed 139//! author : Zack : https://github.com/ZackVision 140 141;(function (global, factory) { 142 true ? factory(__webpack_require__(5093)) : 143 0 144}(this, (function (moment) { 'use strict'; 145 146 //! moment.js locale configuration 147 148 var months = [ 149 'جÙÙØ±Û', 150 'ÙØ±ÙرÛ', 151 '٠ارÚ', 152 'اپرÛÙ', 153 '٠ئÛ', 154 'جÙÙ', 155 'جÙÙØ§Ø¦Û', 156 'اگست', 157 'ست٠بر', 158 'Ø§Ú©ØªÙØ¨Ø±', 159 'ÙÙ٠بر', 160 'دس٠بر', 161 ], 162 days = ['Ø§ØªÙØ§Ø±', 'Ù¾ÛØ±', 'Ù ÙÚ¯Ù', 'بدھ', 'ج٠عرات', 'ج٠عÛ', 'ÛÙØªÛ']; 163 164 var ur = moment.defineLocale('ur', { 165 months: months, 166 monthsShort: months, 167 weekdays: days, 168 weekdaysShort: days, 169 weekdaysMin: days, 170 longDateFormat: { 171 LT: 'HH:mm', 172 LTS: 'HH:mm:ss', 173 L: 'DD/MM/YYYY', 174 LL: 'D MMMM YYYY', 175 LLL: 'D MMMM YYYY HH:mm', 176 LLLL: 'ddddØ D MMMM YYYY HH:mm', 177 }, 178 meridiemParse: /صبØ|شا٠/, 179 isPM: function (input) { 180 return 'شا٠' === input; 181 }, 182 meridiem: function (hour, minute, isLower) { 183 if (hour < 12) { 184 return 'صبØ'; 185 } 186 return 'شا٠'; 187 }, 188 calendar: { 189 sameDay: '[آج بÙÙØª] LT', 190 nextDay: '[ک٠بÙÙØª] LT', 191 nextWeek: 'dddd [بÙÙØª] LT', 192 lastDay: '[Ú¯Ø°Ø´ØªÛ Ø±ÙØ² بÙÙØª] LT', 193 lastWeek: '[گذشتÛ] dddd [بÙÙØª] LT', 194 sameElse: 'L', 195 }, 196 relativeTime: { 197 future: '%s بعد', 198 past: '%s ÙØ¨Ù', 199 s: 'ÚÙØ¯ سÛÚ©ÙÚ', 200 ss: '%d سÛÚ©ÙÚ', 201 m: 'اÛÚ© Ù ÙÙ¹', 202 mm: '%d Ù ÙÙ¹', 203 h: 'اÛÚ© Ú¯Ú¾ÙÙ¹Û', 204 hh: '%d Ú¯Ú¾ÙÙ¹Û', 205 d: 'اÛÚ© دÙ', 206 dd: '%d دÙ', 207 M: 'اÛÚ© ٠اÛ', 208 MM: '%d ٠اÛ', 209 y: 'اÛÚ© ساÙ', 210 yy: '%d ساÙ', 211 }, 212 preparse: function (string) { 213 return string.replace(/Ø/g, ','); 214 }, 215 postformat: function (string) { 216 return string.replace(/,/g, 'Ø'); 217 }, 218 week: { 219 dow: 1, // Monday is the first day of the week. 220 doy: 4, // The week that contains Jan 4th is the first week of the year. 221 }, 222 }); 223 224 return ur; 225 226}))); 227 228 229/***/ }), 230 231/***/ 217: 232/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 233 234//! moment.js locale configuration 235//! locale : Scottish Gaelic [gd]
vendor: 14,434 bytes, lines 236-694
236//! author : Jon Ashdown : https://github.com/jonashdown 237 238;(function (global, factory) { 239 true ? factory(__webpack_require__(5093)) : 240 0 241}(this, (function (moment) { 'use strict'; 242 243 //! moment.js locale configuration 244 245 var months = [ 246 'Am Faoilleach', 247 'An Gearran', 248 'Am Mà rt', 249 'An Giblean', 250 'An Cèitean', 251 'An t-Ãgmhios', 252 'An t-Iuchar', 253 'An Lùnastal', 254 'An t-Sultain', 255 'An Dà mhair', 256 'An t-Samhain', 257 'An Dùbhlachd', 258 ], 259 monthsShort = [ 260 'Faoi', 261 'Gear', 262 'Mà rt', 263 'Gibl', 264 'Cèit', 265 'Ãgmh', 266 'Iuch', 267 'Lùn', 268 'Sult', 269 'Dà mh', 270 'Samh', 271 'Dùbh', 272 ], 273 weekdays = [ 274 'Didòmhnaich', 275 'Diluain', 276 'Dimà irt', 277 'Diciadain', 278 'Diardaoin', 279 'Dihaoine', 280 'Disathairne', 281 ], 282 weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], 283 weekdaysMin = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; 284 285 var gd = moment.defineLocale('gd', { 286 months: months, 287 monthsShort: monthsShort, 288 monthsParseExact: true, 289 weekdays: weekdays, 290 weekdaysShort: weekdaysShort, 291 weekdaysMin: weekdaysMin, 292 longDateFormat: { 293 LT: 'HH:mm', 294 LTS: 'HH:mm:ss', 295 L: 'DD/MM/YYYY', 296 LL: 'D MMMM YYYY', 297 LLL: 'D MMMM YYYY HH:mm', 298 LLLL: 'dddd, D MMMM YYYY HH:mm', 299 }, 300 calendar: { 301 sameDay: '[An-diugh aig] LT', 302 nextDay: '[A-mà ireach aig] LT', 303 nextWeek: 'dddd [aig] LT', 304 lastDay: '[An-dè aig] LT', 305 lastWeek: 'dddd [seo chaidh] [aig] LT', 306 sameElse: 'L', 307 }, 308 relativeTime: { 309 future: 'ann an %s', 310 past: 'bho chionn %s', 311 s: 'beagan diogan', 312 ss: '%d diogan', 313 m: 'mionaid', 314 mm: '%d mionaidean', 315 h: 'uair', 316 hh: '%d uairean', 317 d: 'latha', 318 dd: '%d latha', 319 M: 'mìos', 320 MM: '%d mìosan', 321 y: 'bliadhna', 322 yy: '%d bliadhna', 323 }, 324 dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, 325 ordinal: function (number) { 326 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 327 return number + output; 328 }, 329 week: { 330 dow: 1, // Monday is the first day of the week. 331 doy: 4, // The week that contains Jan 4th is the first week of the year. 332 }, 333 }); 334 335 return gd; 336 337}))); 338 339 340/***/ }), 341 342/***/ 304: 343/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 344 345//! moment.js locale configuration 346//! locale : Chinese (Taiwan) [zh-tw] 347//! author : Ben : https://github.com/ben-lin 348//! author : Chris Lam : https://github.com/hehachris 349 350;(function (global, factory) { 351 true ? factory(__webpack_require__(5093)) : 352 0 353}(this, (function (moment) { 'use strict'; 354 355 //! moment.js locale configuration 356 357 var zhTw = moment.defineLocale('zh-tw', { 358 months: '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split( 359 '_' 360 ), 361 monthsShort: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split( 362 '_' 363 ), 364 weekdays: 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 365 weekdaysShort: '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 366 weekdaysMin: 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 367 longDateFormat: { 368 LT: 'HH:mm', 369 LTS: 'HH:mm:ss', 370 L: 'YYYY/MM/DD', 371 LL: 'YYYYå¹´MæDæ¥', 372 LLL: 'YYYYå¹´MæDæ¥ HH:mm', 373 LLLL: 'YYYYå¹´MæDæ¥dddd HH:mm', 374 l: 'YYYY/M/D', 375 ll: 'YYYYå¹´MæDæ¥', 376 lll: 'YYYYå¹´MæDæ¥ HH:mm', 377 llll: 'YYYYå¹´MæDæ¥dddd HH:mm', 378 }, 379 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 380 meridiemHour: function (hour, meridiem) { 381 if (hour === 12) { 382 hour = 0; 383 } 384 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 385 return hour; 386 } else if (meridiem === 'ä¸å') { 387 return hour >= 11 ? hour : hour + 12; 388 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 389 return hour + 12; 390 } 391 }, 392 meridiem: function (hour, minute, isLower) { 393 var hm = hour * 100 + minute; 394 if (hm < 600) { 395 return '忍'; 396 } else if (hm < 900) { 397 return 'æ©ä¸'; 398 } else if (hm < 1130) { 399 return 'ä¸å'; 400 } else if (hm < 1230) { 401 return 'ä¸å'; 402 } else if (hm < 1800) { 403 return 'ä¸å'; 404 } else { 405 return 'æä¸'; 406 } 407 }, 408 calendar: { 409 sameDay: '[ä»å¤©] LT', 410 nextDay: '[æå¤©] LT', 411 nextWeek: '[ä¸]dddd LT', 412 lastDay: '[æ¨å¤©] LT', 413 lastWeek: '[ä¸]dddd LT', 414 sameElse: 'L', 415 }, 416 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 417 ordinal: function (number, period) { 418 switch (period) { 419 case 'd': 420 case 'D': 421 case 'DDD': 422 return number + 'æ¥'; 423 case 'M': 424 return number + 'æ'; 425 case 'w': 426 case 'W': 427 return number + 'é±'; 428 default: 429 return number; 430 } 431 }, 432 relativeTime: { 433 future: '%så¾', 434 past: '%så', 435 s: 'å¹¾ç§', 436 ss: '%d ç§', 437 m: '1 åé', 438 mm: '%d åé', 439 h: '1 å°æ', 440 hh: '%d å°æ', 441 d: '1 天', 442 dd: '%d 天', 443 M: '1 åæ', 444 MM: '%d åæ', 445 y: '1 å¹´', 446 yy: '%d å¹´', 447 }, 448 }); 449 450 return zhTw; 451 452}))); 453 454 455/***/ }), 456 457/***/ 306: 458/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 459 460//! moment.js locale configuration 461//! locale : Macedonian [mk] 462//! author : Borislav Mickov : https://github.com/B0k0 463//! author : Sashko Todorov : https://github.com/bkyceh 464 465;(function (global, factory) { 466 true ? factory(__webpack_require__(5093)) : 467 0 468}(this, (function (moment) { 'use strict'; 469 470 //! moment.js locale configuration 471 472 var mk = moment.defineLocale('mk', { 473 months: 'ÑанÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_маÑ_ÑÑни_ÑÑли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split( 474 '_' 475 ), 476 monthsShort: 'Ñан_Ñев_маÑ_апÑ_маÑ_ÑÑн_ÑÑл_авг_Ñеп_окÑ_ное_дек'.split('_'), 477 weekdays: 'недела_понеделник_вÑоÑник_ÑÑеда_ÑеÑвÑÑок_пеÑок_ÑабоÑа'.split( 478 '_' 479 ), 480 weekdaysShort: 'нед_пон_вÑо_ÑÑе_ÑеÑ_пеÑ_Ñаб'.split('_'), 481 weekdaysMin: 'нe_пo_вÑ_ÑÑ_Ñе_пе_Ña'.split('_'), 482 longDateFormat: { 483 LT: 'H:mm', 484 LTS: 'H:mm:ss', 485 L: 'D.MM.YYYY', 486 LL: 'D MMMM YYYY', 487 LLL: 'D MMMM YYYY H:mm', 488 LLLL: 'dddd, D MMMM YYYY H:mm', 489 }, 490 calendar: { 491 sameDay: '[ÐÐµÐ½ÐµÑ Ð²Ð¾] LT', 492 nextDay: '[УÑÑе во] LT', 493 nextWeek: '[Ðо] dddd [во] LT', 494 lastDay: '[ÐÑеÑа во] LT', 495 lastWeek: function () { 496 switch (this.day()) { 497 case 0: 498 case 3: 499 case 6: 500 return '[ÐзминаÑаÑа] dddd [во] LT'; 501 case 1: 502 case 2: 503 case 4: 504 case 5: 505 return '[ÐзминаÑиоÑ] dddd [во] LT'; 506 } 507 }, 508 sameElse: 'L', 509 }, 510 relativeTime: { 511 future: 'за %s', 512 past: 'пÑед %s', 513 s: 'Ð½ÐµÐºÐ¾Ð»ÐºÑ ÑекÑнди', 514 ss: '%d ÑекÑнди', 515 m: 'една минÑÑа', 516 mm: '%d минÑÑи', 517 h: 'еден ÑаÑ', 518 hh: '%d ÑаÑа', 519 d: 'еден ден', 520 dd: '%d дена', 521 M: 'еден меÑеÑ', 522 MM: '%d меÑеÑи', 523 y: 'една година', 524 yy: '%d години', 525 }, 526 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 527 ordinal: function (number) { 528 var lastDigit = number % 10, 529 last2Digits = number % 100; 530 if (number === 0) { 531 return number + '-ев'; 532 } else if (last2Digits === 0) { 533 return number + '-ен'; 534 } else if (last2Digits > 10 && last2Digits < 20) { 535 return number + '-Ñи'; 536 } else if (lastDigit === 1) { 537 return number + '-ви'; 538 } else if (lastDigit === 2) { 539 return number + '-Ñи'; 540 } else if (lastDigit === 7 || lastDigit === 8) { 541 return number + '-ми'; 542 } else { 543 return number + '-Ñи'; 544 } 545 }, 546 week: { 547 dow: 1, // Monday is the first day of the week. 548 doy: 7, // The week that contains Jan 7th is the first week of the year. 549 }, 550 }); 551 552 return mk; 553 554}))); 555 556 557/***/ }), 558 559/***/ 527: 560/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 561 562//! moment.js locale configuration 563//! locale : Finnish [fi] 564//! author : Tarmo Aidantausta : https://github.com/bleadof 565 566;(function (global, factory) { 567 true ? factory(__webpack_require__(5093)) : 568 0 569}(this, (function (moment) { 'use strict'; 570 571 //! moment.js locale configuration 572 573 var numbersPast = 574 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( 575 ' ' 576 ), 577 numbersFuture = [ 578 'nolla', 579 'yhden', 580 'kahden', 581 'kolmen', 582 'neljän', 583 'viiden', 584 'kuuden', 585 numbersPast[7], 586 numbersPast[8], 587 numbersPast[9], 588 ]; 589 function translate(number, withoutSuffix, key, isFuture) { 590 var result = ''; 591 switch (key) { 592 case 's': 593 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; 594 case 'ss': 595 result = isFuture ? 'sekunnin' : 'sekuntia'; 596 break; 597 case 'm': 598 return isFuture ? 'minuutin' : 'minuutti'; 599 case 'mm': 600 result = isFuture ? 'minuutin' : 'minuuttia'; 601 break; 602 case 'h': 603 return isFuture ? 'tunnin' : 'tunti'; 604 case 'hh': 605 result = isFuture ? 'tunnin' : 'tuntia'; 606 break; 607 case 'd': 608 return isFuture ? 'päivän' : 'päivä'; 609 case 'dd': 610 result = isFuture ? 'päivän' : 'päivää'; 611 break; 612 case 'M': 613 return isFuture ? 'kuukauden' : 'kuukausi'; 614 case 'MM': 615 result = isFuture ? 'kuukauden' : 'kuukautta'; 616 break; 617 case 'y': 618 return isFuture ? 'vuoden' : 'vuosi'; 619 case 'yy': 620 result = isFuture ? 'vuoden' : 'vuotta'; 621 break; 622 } 623 result = verbalNumber(number, isFuture) + ' ' + result; 624 return result; 625 } 626 function verbalNumber(number, isFuture) { 627 return number < 10 628 ? isFuture 629 ? numbersFuture[number] 630 : numbersPast[number] 631 : number; 632 } 633 634 var fi = moment.defineLocale('fi', { 635 months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( 636 '_' 637 ), 638 monthsShort: 639 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split( 640 '_' 641 ), 642 weekdays: 643 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split( 644 '_' 645 ), 646 weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), 647 weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), 648 longDateFormat: { 649 LT: 'HH.mm', 650 LTS: 'HH.mm.ss', 651 L: 'DD.MM.YYYY', 652 LL: 'Do MMMM[ta] YYYY', 653 LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm', 654 LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', 655 l: 'D.M.YYYY', 656 ll: 'Do MMM YYYY', 657 lll: 'Do MMM YYYY, [klo] HH.mm', 658 llll: 'ddd, Do MMM YYYY, [klo] HH.mm', 659 }, 660 calendar: { 661 sameDay: '[tänään] [klo] LT', 662 nextDay: '[huomenna] [klo] LT', 663 nextWeek: 'dddd [klo] LT', 664 lastDay: '[eilen] [klo] LT', 665 lastWeek: '[viime] dddd[na] [klo] LT', 666 sameElse: 'L', 667 }, 668 relativeTime: { 669 future: '%s päästä', 670 past: '%s sitten', 671 s: translate, 672 ss: translate, 673 m: translate, 674 mm: translate, 675 h: translate, 676 hh: translate, 677 d: translate, 678 dd: translate, 679 M: translate, 680 MM: translate, 681 y: translate, 682 yy: translate, 683 }, 684 dayOfMonthOrdinalParse: /\d{1,2}\./, 685 ordinal: '%d.', 686 week: { 687 dow: 1, // Monday is the first day of the week. 688 doy: 4, // The week that contains Jan 4th is the first week of the year. 689 }, 690 }); 691 692 return fi; 693 694}
vendor: 5,148 bytes, lines 694-854
694))); 695 696 697/***/ }), 698 699/***/ 609: 700/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 701 702//! moment.js locale configuration 703//! locale : Hungarian [hu] 704//! author : Adam Brunner : https://github.com/adambrunner 705//! author : Peter Viszt : https://github.com/passatgt 706 707;(function (global, factory) { 708 true ? factory(__webpack_require__(5093)) : 709 0 710}(this, (function (moment) { 'use strict'; 711 712 //! moment.js locale configuration 713 714 var weekEndings = 715 'vasárnap hétfÅn kedden szerdán csütörtökön pénteken szombaton'.split(' '); 716 function translate(number, withoutSuffix, key, isFuture) { 717 var num = number; 718 switch (key) { 719 case 's': 720 return isFuture || withoutSuffix 721 ? 'néhány másodperc' 722 : 'néhány másodperce'; 723 case 'ss': 724 return num + (isFuture || withoutSuffix) 725 ? ' másodperc' 726 : ' másodperce'; 727 case 'm': 728 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); 729 case 'mm': 730 return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); 731 case 'h': 732 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); 733 case 'hh': 734 return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); 735 case 'd': 736 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); 737 case 'dd': 738 return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); 739 case 'M': 740 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 741 case 'MM': 742 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 743 case 'y': 744 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); 745 case 'yy': 746 return num + (isFuture || withoutSuffix ? ' év' : ' éve'); 747 } 748 return ''; 749 } 750 function week(isFuture) { 751 return ( 752 (isFuture ? '' : '[múlt] ') + 753 '[' + 754 weekEndings[this.day()] + 755 '] LT[-kor]' 756 ); 757 } 758 759 var hu = moment.defineLocale('hu', { 760 months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( 761 '_' 762 ), 763 monthsShort: 764 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( 765 '_' 766 ), 767 monthsParseExact: true, 768 weekdays: 'vasárnap_hétfÅ_kedd_szerda_csütörtök_péntek_szombat'.split('_'), 769 weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), 770 weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), 771 longDateFormat: { 772 LT: 'H:mm', 773 LTS: 'H:mm:ss', 774 L: 'YYYY.MM.DD.', 775 LL: 'YYYY. MMMM D.', 776 LLL: 'YYYY. MMMM D. H:mm', 777 LLLL: 'YYYY. MMMM D., dddd H:mm', 778 }, 779 meridiemParse: /de|du/i, 780 isPM: function (input) { 781 return input.charAt(1).toLowerCase() === 'u'; 782 }, 783 meridiem: function (hours, minutes, isLower) { 784 if (hours < 12) { 785 return isLower === true ? 'de' : 'DE'; 786 } else { 787 return isLower === true ? 'du' : 'DU'; 788 } 789 }, 790 calendar: { 791 sameDay: '[ma] LT[-kor]', 792 nextDay: '[holnap] LT[-kor]', 793 nextWeek: function () { 794 return week.call(this, true); 795 }, 796 lastDay: '[tegnap] LT[-kor]', 797 lastWeek: function () { 798 return week.call(this, false); 799 }, 800 sameElse: 'L', 801 }, 802 relativeTime: { 803 future: '%s múlva', 804 past: '%s', 805 s: translate, 806 ss: translate, 807 m: translate, 808 mm: translate, 809 h: translate, 810 hh: translate, 811 d: translate, 812 dd: translate, 813 M: translate, 814 MM: translate, 815 y: translate, 816 yy: translate, 817 }, 818 dayOfMonthOrdinalParse: /\d{1,2}\./, 819 ordinal: '%d.', 820 week: { 821 dow: 1, // Monday is the first day of the week. 822 doy: 4, // The week that contains Jan 4th is the first week of the year. 823 }, 824 }); 825 826 return hu; 827 828}))); 829 830 831/***/ }), 832 833/***/ 708: 834/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 835 836//! moment.js locale configuration 837//! locale : Maldivian [dv] 838//! author : Jawish Hameed : https://github.com/jawish 839 840;(function (global, factory) { 841 true ? factory(__webpack_require__(5093)) : 842 0 843}(this, (function (moment) { 'use strict'; 844 845 //! moment.js locale configuration 846 847 var months = [ 848 'ÞÞ¬ÞÞªÞÞ¦ÞÞ©', 849 'ÞÞ¬ÞÞ°ÞÞªÞÞ¦ÞÞ©', 850 'ÞÞ§ÞÞ¨ÞÞª', 851 'ÞÞÞÞ°ÞÞ©ÞÞª', 852 'ÞÞ', 853 'ÞÞ«ÞÞ°', 854 'ÞÞªÞÞ¦ÞÞ¨',
vendor: 8,827 bytes, lines 855-1137
855 'ÞÞ¯ÞÞ¦ÞÞ°ÞÞª', 856 'ÞÞ¬ÞÞ°ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 857 'ÞÞ®ÞÞ°ÞÞ¯ÞÞ¦ÞÞª', 858 'ÞÞ®ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 859 'ÞÞ¨ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 860 ], 861 weekdays = [ 862 'ÞÞ§ÞÞ¨ÞÞ°ÞÞ¦', 863 'ÞÞ¯ÞÞ¦', 864 'ÞÞ¦ÞÞ°ÞÞ§ÞÞ¦', 865 'ÞÞªÞÞ¦', 866 'ÞÞªÞÞ§ÞÞ°ÞÞ¦ÞÞ¨', 867 'ÞÞªÞÞªÞÞª', 868 'ÞÞ®ÞÞ¨ÞÞ¨ÞÞª', 869 ]; 870 871 var dv = moment.defineLocale('dv', { 872 months: months, 873 monthsShort: months, 874 weekdays: weekdays, 875 weekdaysShort: weekdays, 876 weekdaysMin: 'ÞÞ§ÞÞ¨_ÞÞ¯ÞÞ¦_ÞÞ¦ÞÞ°_ÞÞªÞÞ¦_ÞÞªÞÞ§_ÞÞªÞÞª_ÞÞ®ÞÞ¨'.split('_'), 877 longDateFormat: { 878 LT: 'HH:mm', 879 LTS: 'HH:mm:ss', 880 L: 'D/M/YYYY', 881 LL: 'D MMMM YYYY', 882 LLL: 'D MMMM YYYY HH:mm', 883 LLLL: 'dddd D MMMM YYYY HH:mm', 884 }, 885 meridiemParse: /ÞÞ|ÞÞ/, 886 isPM: function (input) { 887 return 'ÞÞ' === input; 888 }, 889 meridiem: function (hour, minute, isLower) { 890 if (hour < 12) { 891 return 'ÞÞ'; 892 } else { 893 return 'ÞÞ'; 894 } 895 }, 896 calendar: { 897 sameDay: '[ÞÞ¨ÞÞ¦ÞÞª] LT', 898 nextDay: '[ÞÞ§ÞÞ¦ÞÞ§] LT', 899 nextWeek: 'dddd LT', 900 lastDay: '[ÞÞ¨ÞÞ°ÞÞ¬] LT', 901 lastWeek: '[ÞÞ§ÞÞ¨ÞÞªÞÞ¨] dddd LT', 902 sameElse: 'L', 903 }, 904 relativeTime: { 905 future: 'ÞÞ¬ÞÞÞÞ¦ÞÞ¨ %s', 906 past: 'ÞÞªÞÞ¨ÞÞ° %s', 907 s: 'ÞÞ¨ÞÞªÞÞ°ÞÞªÞÞ®Þ Þ¬ÞÞ°', 908 ss: 'd% ÞÞ¨ÞÞªÞÞ°ÞÞª', 909 m: 'ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 910 mm: 'ÞÞ¨ÞÞ¨ÞÞª %d', 911 h: 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 912 hh: 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞª %d', 913 d: 'ÞÞªÞÞ¦ÞÞ¬ÞÞ°', 914 dd: 'ÞÞªÞÞ¦ÞÞ° %d', 915 M: 'ÞÞ¦ÞÞ¬ÞÞ°', 916 MM: 'ÞÞ¦ÞÞ° %d', 917 y: 'ÞÞ¦ÞÞ¦ÞÞ¬ÞÞ°', 918 yy: 'ÞÞ¦ÞÞ¦ÞÞª %d', 919 }, 920 preparse: function (string) { 921 return string.replace(/Ø/g, ','); 922 }, 923 postformat: function (string) { 924 return string.replace(/,/g, 'Ø'); 925 }, 926 week: { 927 dow: 7, // Sunday is the first day of the week. 928 doy: 12, // The week that contains Jan 12th is the first week of the year. 929 }, 930 }); 931 932 return dv; 933 934}))); 935 936 937/***/ }), 938 939/***/ 748: 940/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 941 942//! moment.js locale configuration 943//! locale : Swahili [sw] 944//! author : Fahad Kassim : https://github.com/fadsel 945 946;(function (global, factory) { 947 true ? factory(__webpack_require__(5093)) : 948 0 949}(this, (function (moment) { 'use strict'; 950 951 //! moment.js locale configuration 952 953 var sw = moment.defineLocale('sw', { 954 months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( 955 '_' 956 ), 957 monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), 958 weekdays: 959 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( 960 '_' 961 ), 962 weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), 963 weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), 964 weekdaysParseExact: true, 965 longDateFormat: { 966 LT: 'hh:mm A', 967 LTS: 'HH:mm:ss', 968 L: 'DD.MM.YYYY', 969 LL: 'D MMMM YYYY', 970 LLL: 'D MMMM YYYY HH:mm', 971 LLLL: 'dddd, D MMMM YYYY HH:mm', 972 }, 973 calendar: { 974 sameDay: '[leo saa] LT', 975 nextDay: '[kesho saa] LT', 976 nextWeek: '[wiki ijayo] dddd [saat] LT', 977 lastDay: '[jana] LT', 978 lastWeek: '[wiki iliyopita] dddd [saat] LT', 979 sameElse: 'L', 980 }, 981 relativeTime: { 982 future: '%s baadaye', 983 past: 'tokea %s', 984 s: 'hivi punde', 985 ss: 'sekunde %d', 986 m: 'dakika moja', 987 mm: 'dakika %d', 988 h: 'saa limoja', 989 hh: 'masaa %d', 990 d: 'siku moja', 991 dd: 'siku %d', 992 M: 'mwezi mmoja', 993 MM: 'miezi %d', 994 y: 'mwaka mmoja', 995 yy: 'miaka %d', 996 }, 997 week: { 998 dow: 1, // Monday is the first day of the week. 999 doy: 7, // The week that contains Jan 7th is the first week of the year. 1000 }, 1001 }); 1002 1003 return sw; 1004 1005}))); 1006 1007 1008/***/ }), 1009 1010/***/ 838: 1011/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1012 1013//! moment.js locale configuration 1014//! locale : Spanish (Dominican Republic) [es-do] 1015 1016;(function (global, factory) { 1017 true ? factory(__webpack_require__(5093)) : 1018 0 1019}(this, (function (moment) { 'use strict'; 1020 1021 //! moment.js locale configuration 1022 1023 var monthsShortDot = 1024 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( 1025 '_' 1026 ), 1027 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), 1028 monthsParse = [ 1029 /^ene/i, 1030 /^feb/i, 1031 /^mar/i, 1032 /^abr/i, 1033 /^may/i, 1034 /^jun/i, 1035 /^jul/i, 1036 /^ago/i, 1037 /^sep/i, 1038 /^oct/i, 1039 /^nov/i, 1040 /^dic/i, 1041 ], 1042 monthsRegex = 1043 /^(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; 1044 1045 var esDo = moment.defineLocale('es-do', { 1046 months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( 1047 '_' 1048 ), 1049 monthsShort: function (m, format) { 1050 if (!m) { 1051 return monthsShortDot; 1052 } else if (/-MMM-/.test(format)) { 1053 return monthsShort[m.month()]; 1054 } else { 1055 return monthsShortDot[m.month()]; 1056 } 1057 }, 1058 monthsRegex: monthsRegex, 1059 monthsShortRegex: monthsRegex, 1060 monthsStrictRegex: 1061 /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 1062 monthsShortStrictRegex: 1063 /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 1064 monthsParse: monthsParse, 1065 longMonthsParse: monthsParse, 1066 shortMonthsParse: monthsParse, 1067 weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 1068 weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 1069 weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), 1070 weekdaysParseExact: true, 1071 longDateFormat: { 1072 LT: 'h:mm A', 1073 LTS: 'h:mm:ss A', 1074 L: 'DD/MM/YYYY', 1075 LL: 'D [de] MMMM [de] YYYY', 1076 LLL: 'D [de] MMMM [de] YYYY h:mm A', 1077 LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', 1078 }, 1079 calendar: { 1080 sameDay: function () { 1081 return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 1082 }, 1083 nextDay: function () { 1084 return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 1085 }, 1086 nextWeek: function () { 1087 return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 1088 }, 1089 lastDay: function () { 1090 return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 1091 }, 1092 lastWeek: function () { 1093 return ( 1094 '[el] dddd [pasado a la' + 1095 (this.hours() !== 1 ? 's' : '') + 1096 '] LT' 1097 ); 1098 }, 1099 sameElse: 'L', 1100 }, 1101 relativeTime: { 1102 future: 'en %s', 1103 past: 'hace %s', 1104 s: 'unos segundos', 1105 ss: '%d segundos', 1106 m: 'un minuto', 1107 mm: '%d minutos', 1108 h: 'una hora', 1109 hh: '%d horas', 1110 d: 'un dÃa', 1111 dd: '%d dÃas', 1112 w: 'una semana', 1113 ww: '%d semanas', 1114 M: 'un mes', 1115 MM: '%d meses', 1116 y: 'un año', 1117 yy: '%d años', 1118 }, 1119 dayOfMonthOrdinalParse: /\d{1,2}º/, 1120 ordinal: '%dº', 1121 week: { 1122 dow: 1, // Monday is the first day of the week. 1123 doy: 4, // The week that contains Jan 4th is the first week of the year. 1124 }, 1125 }); 1126 1127 return esDo; 1128 1129}))); 1130 1131 1132/***/ }), 1133 1134/***/ 1011: 1135/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1136 1137//! moment.js locale configuration
1138//! locale : Swedish [sv] 1139//! author : Jens Alm : https://github.com/ulmus 1140 1141;(function (global, factory) { 1142 true ? factory(__webpack_require__(5093)) : 1143 0 1144}(this, (function (moment) { 'use strict'; 1145 1146 //! moment.js locale configuration 1147 1148 var sv = moment.defineLocale('sv', { 1149 months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split( 1150 '_' 1151 ), 1152 monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 1153 weekdays: 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), 1154 weekdaysShort: 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), 1155 weekdaysMin: 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), 1156 longDateFormat: { 1157 LT: 'HH:mm', 1158 LTS: 'HH:mm:ss', 1159 L: 'YYYY-MM-DD', 1160 LL: 'D MMMM YYYY', 1161 LLL: 'D MMMM YYYY [kl.] HH:mm', 1162 LLLL: 'dddd D MMMM YYYY [kl.] HH:mm', 1163 lll: 'D MMM YYYY HH:mm', 1164 llll: 'ddd D MMM YYYY HH:mm', 1165 }, 1166 calendar: { 1167 sameDay: '[Idag] LT', 1168 nextDay: '[Imorgon] LT', 1169 lastDay: '[IgÃ¥r] LT', 1170 nextWeek: '[PÃ¥] dddd LT', 1171 lastWeek: '[I] dddd[s] LT', 1172 sameElse: 'L', 1173 }, 1174 relativeTime: { 1175 future: 'om %s', 1176 past: 'för %s sedan', 1177 s: 'nÃ¥gra sekunder', 1178 ss: '%d sekunder', 1179 m: 'en minut', 1180 mm: '%d minuter', 1181 h: 'en timme', 1182 hh: '%d timmar', 1183 d: 'en dag', 1184 dd: '%d dagar', 1185 M: 'en mÃ¥nad', 1186 MM: '%d mÃ¥nader', 1187 y: 'ett Ã¥r', 1188 yy: '%d Ã¥r', 1189 }, 1190 dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, 1191 ordinal: function (number) { 1192 var b = number % 10, 1193 output = 1194 ~~((number % 100) / 10) === 1 1195 ? ':e' 1196 : b === 1 1197 ? ':a' 1198 : b === 2 1199 ? ':a' 1200 : b === 3 1201 ? ':e' 1202 : ':e'; 1203 return number + output; 1204 }, 1205 week: { 1206 dow: 1, // Monday is the first day of the week. 1207 doy: 4, // The week that contains Jan 4th is the first week of the year. 1208 }, 1209 }); 1210 1211 return sv; 1212 1213}))); 1214 1215 1216/***/ }), 1217 1218/***/ 1025: 1219/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1220 1221//! moment.js locale configuration 1222//! locale : Tamil [ta] 1223//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404 1224 1225;(function (global, factory) { 1226 true ? factory(__webpack_require__(5093)) : 1227 0 1228}(this, (function (moment) { 'use strict'; 1229 1230 //! moment.js locale configuration 1231 1232 var symbolMap = { 1233 1: '௧', 1234 2: '௨', 1235 3: '௩', 1236 4: '௪', 1237 5: '௫', 1238 6: '௬', 1239 7: 'à¯', 1240 8: '௮', 1241 9: '௯', 1242 0: '௦', 1243 }, 1244 numberMap = { 1245 '௧': '1', 1246 '௨': '2', 1247 '௩': '3', 1248 '௪': '4', 1249 '௫': '5', 1250 '௬': '6', 1251 'à¯': '7', 1252 '௮': '8', 1253 '௯': '9', 1254 '௦': '0', 1255 }; 1256 1257 var ta = moment.defineLocale('ta', { 1258 months: 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split( 1259 '_' 1260 ), 1261 monthsShort: 1262 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split( 1263 '_' 1264 ), 1265 weekdays: 1266 'à®à®¾à®¯à®¿à®±à¯à®±à¯à®à¯à®à®¿à®´à®®à¯_திà®à¯à®à®à¯à®à®¿à®´à®®à¯_à®à¯à®µà¯à®µà®¾à®¯à¯à®à®¿à®´à®®à¯_பà¯à®¤à®©à¯à®à®¿à®´à®®à¯_வியாழà®à¯à®à®¿à®´à®®à¯_வà¯à®³à¯à®³à®¿à®à¯à®à®¿à®´à®®à¯_à®à®©à®¿à®à¯à®à®¿à®´à®®à¯'.split( 1267 '_' 1268 ), 1269 weekdaysShort: 'à®à®¾à®¯à®¿à®±à¯_திà®à¯à®à®³à¯_à®à¯à®µà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வà¯à®³à¯à®³à®¿_à®à®©à®¿'.split( 1270 '_' 1271 ), 1272 weekdaysMin: 'à®à®¾_தி_à®à¯_பà¯_வி_வà¯_à®'.split('_'), 1273 longDateFormat: { 1274 LT: 'HH:mm', 1275 LTS: 'HH:mm:ss', 1276 L: 'DD/MM/YYYY', 1277 LL: 'D MMMM YYYY', 1278 LLL: 'D MMMM YYYY, HH:mm', 1279 LLLL: 'dddd, D MMMM YYYY, HH:mm', 1280 }, 1281 calendar: { 1282 sameDay: '[à®à®©à¯à®±à¯] LT', 1283 nextDay: '[நாளà¯] LT', 1284 nextWeek: 'dddd, LT', 1285 lastDay: '[நà¯à®±à¯à®±à¯] LT', 1286 lastWeek: '[à®à®à®¨à¯à®¤ வாரமà¯] dddd, LT', 1287 sameElse: 'L', 1288 }, 1289 relativeTime: { 1290 future: '%s à®à®²à¯', 1291 past: '%s à®®à¯à®©à¯', 1292 s: 'à®à®°à¯ à®à®¿à®² விநாà®à®¿à®à®³à¯', 1293 ss: '%d விநாà®à®¿à®à®³à¯', 1294 m: 'à®à®°à¯ நிமிà®à®®à¯', 1295 mm: '%d நிமிà®à®à¯à®à®³à¯', 1296 h: 'à®à®°à¯ மணி நà¯à®°à®®à¯', 1297 hh: '%d மணி நà¯à®°à®®à¯', 1298 d: 'à®à®°à¯ நாளà¯', 1299 dd: '%d நாà®à¯à®à®³à¯', 1300 M: 'à®à®°à¯ மாதமà¯', 1301 MM: '%d மாதà®à¯à®à®³à¯', 1302 y: 'à®à®°à¯ வரà¯à®à®®à¯', 1303 yy: '%d à®à®£à¯à®à¯à®à®³à¯', 1304 }, 1305 dayOfMonthOrdinalParse: /\d{1,2}வதà¯/, 1306 ordinal: function (number) { 1307 return number + 'வதà¯'; 1308 }, 1309 preparse: function (string) { 1310 return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { 1311 return numberMap[match]; 1312 }); 1313 }, 1314 postformat: function (string) { 1315 return string.replace(/\d/g, function (match) { 1316 return symbolMap[match]; 1317 }); 1318 }, 1319 // refer http://ta.wikipedia.org/s/1er1
vendor: 49,152 bytes, lines 1320-2853
1320 meridiemParse: /யாமமà¯|வà¯à®à®±à¯|à®à®¾à®²à¯|நணà¯à®ªà®à®²à¯|à®à®±à¯à®ªà®¾à®à¯|மாலà¯/, 1321 meridiem: function (hour, minute, isLower) { 1322 if (hour < 2) { 1323 return ' யாமமà¯'; 1324 } else if (hour < 6) { 1325 return ' வà¯à®à®±à¯'; // வà¯à®à®±à¯ 1326 } else if (hour < 10) { 1327 return ' à®à®¾à®²à¯'; // à®à®¾à®²à¯ 1328 } else if (hour < 14) { 1329 return ' நணà¯à®ªà®à®²à¯'; // நணà¯à®ªà®à®²à¯ 1330 } else if (hour < 18) { 1331 return ' à®à®±à¯à®ªà®¾à®à¯'; // à®à®±à¯à®ªà®¾à®à¯ 1332 } else if (hour < 22) { 1333 return ' மாலà¯'; // மால௠1334 } else { 1335 return ' யாமமà¯'; 1336 } 1337 }, 1338 meridiemHour: function (hour, meridiem) { 1339 if (hour === 12) { 1340 hour = 0; 1341 } 1342 if (meridiem === 'யாமமà¯') { 1343 return hour < 2 ? hour : hour + 12; 1344 } else if (meridiem === 'வà¯à®à®±à¯' || meridiem === 'à®à®¾à®²à¯') { 1345 return hour; 1346 } else if (meridiem === 'நணà¯à®ªà®à®²à¯') { 1347 return hour >= 10 ? hour : hour + 12; 1348 } else { 1349 return hour + 12; 1350 } 1351 }, 1352 week: { 1353 dow: 0, // Sunday is the first day of the week. 1354 doy: 6, // The week that contains Jan 6th is the first week of the year. 1355 }, 1356 }); 1357 1358 return ta; 1359 1360}))); 1361 1362 1363/***/ }), 1364 1365/***/ 1052: 1366/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1367 1368//! moment.js locale configuration 1369//! locale : Klingon [tlh] 1370//! author : Dominika Kruk : https://github.com/amaranthrose 1371 1372;(function (global, factory) { 1373 true ? factory(__webpack_require__(5093)) : 1374 0 1375}(this, (function (moment) { 'use strict'; 1376 1377 //! moment.js locale configuration 1378 1379 var numbersNouns = 'pagh_waâ_chaâ_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); 1380 1381 function translateFuture(output) { 1382 var time = output; 1383 time = 1384 output.indexOf('jaj') !== -1 1385 ? time.slice(0, -3) + 'leS' 1386 : output.indexOf('jar') !== -1 1387 ? time.slice(0, -3) + 'waQ' 1388 : output.indexOf('DIS') !== -1 1389 ? time.slice(0, -3) + 'nem' 1390 : time + ' pIq'; 1391 return time; 1392 } 1393 1394 function translatePast(output) { 1395 var time = output; 1396 time = 1397 output.indexOf('jaj') !== -1 1398 ? time.slice(0, -3) + 'Huâ' 1399 : output.indexOf('jar') !== -1 1400 ? time.slice(0, -3) + 'wen' 1401 : output.indexOf('DIS') !== -1 1402 ? time.slice(0, -3) + 'ben' 1403 : time + ' ret'; 1404 return time; 1405 } 1406 1407 function translate(number, withoutSuffix, string, isFuture) { 1408 var numberNoun = numberAsNoun(number); 1409 switch (string) { 1410 case 'ss': 1411 return numberNoun + ' lup'; 1412 case 'mm': 1413 return numberNoun + ' tup'; 1414 case 'hh': 1415 return numberNoun + ' rep'; 1416 case 'dd': 1417 return numberNoun + ' jaj'; 1418 case 'MM': 1419 return numberNoun + ' jar'; 1420 case 'yy': 1421 return numberNoun + ' DIS'; 1422 } 1423 } 1424 1425 function numberAsNoun(number) { 1426 var hundred = Math.floor((number % 1000) / 100), 1427 ten = Math.floor((number % 100) / 10), 1428 one = number % 10, 1429 word = ''; 1430 if (hundred > 0) { 1431 word += numbersNouns[hundred] + 'vatlh'; 1432 } 1433 if (ten > 0) { 1434 word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH'; 1435 } 1436 if (one > 0) { 1437 word += (word !== '' ? ' ' : '') + numbersNouns[one]; 1438 } 1439 return word === '' ? 'pagh' : word; 1440 } 1441 1442 var tlh = moment.defineLocale('tlh', { 1443 months: 'teraâ jar waâ_teraâ jar chaâ_teraâ jar wej_teraâ jar loS_teraâ jar vagh_teraâ jar jav_teraâ jar Soch_teraâ jar chorgh_teraâ jar Hut_teraâ jar waâmaH_teraâ jar waâmaH waâ_teraâ jar waâmaH chaâ'.split( 1444 '_' 1445 ), 1446 monthsShort: 1447 'jar waâ_jar chaâ_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar waâmaH_jar waâmaH waâ_jar waâmaH chaâ'.split( 1448 '_' 1449 ), 1450 monthsParseExact: true, 1451 weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split( 1452 '_' 1453 ), 1454 weekdaysShort: 1455 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 1456 weekdaysMin: 1457 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 1458 longDateFormat: { 1459 LT: 'HH:mm', 1460 LTS: 'HH:mm:ss', 1461 L: 'DD.MM.YYYY', 1462 LL: 'D MMMM YYYY', 1463 LLL: 'D MMMM YYYY HH:mm', 1464 LLLL: 'dddd, D MMMM YYYY HH:mm', 1465 }, 1466 calendar: { 1467 sameDay: '[DaHjaj] LT', 1468 nextDay: '[waâleS] LT', 1469 nextWeek: 'LLL', 1470 lastDay: '[waâHuâ] LT', 1471 lastWeek: 'LLL', 1472 sameElse: 'L', 1473 }, 1474 relativeTime: { 1475 future: translateFuture, 1476 past: translatePast, 1477 s: 'puS lup', 1478 ss: translate, 1479 m: 'waâ tup', 1480 mm: translate, 1481 h: 'waâ rep', 1482 hh: translate, 1483 d: 'waâ jaj', 1484 dd: translate, 1485 M: 'waâ jar', 1486 MM: translate, 1487 y: 'waâ DIS', 1488 yy: translate, 1489 }, 1490 dayOfMonthOrdinalParse: /\d{1,2}\./, 1491 ordinal: '%d.', 1492 week: { 1493 dow: 1, // Monday is the first day of the week. 1494 doy: 4, // The week that contains Jan 4th is the first week of the year. 1495 }, 1496 }); 1497 1498 return tlh; 1499 1500}))); 1501 1502 1503/***/ }), 1504 1505/***/ 1135: 1506/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1507 1508//! moment.js locale configuration 1509//! locale : Vietnamese [vi] 1510//! author : Bang Nguyen : https://github.com/bangnk 1511//! author : Chien Kira : https://github.com/chienkira 1512 1513;(function (global, factory) { 1514 true ? factory(__webpack_require__(5093)) : 1515 0 1516}(this, (function (moment) { 'use strict'; 1517 1518 //! moment.js locale configuration 1519 1520 var vi = moment.defineLocale('vi', { 1521 months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split( 1522 '_' 1523 ), 1524 monthsShort: 1525 '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( 1526 '_' 1527 ), 1528 monthsParseExact: true, 1529 weekdays: 'chá»§ nháºt_thứ hai_thứ ba_thứ tư_thứ nÄm_thứ sáu_thứ bảy'.split( 1530 '_' 1531 ), 1532 weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 1533 weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 1534 weekdaysParseExact: true, 1535 meridiemParse: /sa|ch/i, 1536 isPM: function (input) { 1537 return /^ch$/i.test(input); 1538 }, 1539 meridiem: function (hours, minutes, isLower) { 1540 if (hours < 12) { 1541 return isLower ? 'sa' : 'SA'; 1542 } else { 1543 return isLower ? 'ch' : 'CH'; 1544 } 1545 }, 1546 longDateFormat: { 1547 LT: 'HH:mm', 1548 LTS: 'HH:mm:ss', 1549 L: 'DD/MM/YYYY', 1550 LL: 'D MMMM [nÄm] YYYY', 1551 LLL: 'D MMMM [nÄm] YYYY HH:mm', 1552 LLLL: 'dddd, D MMMM [nÄm] YYYY HH:mm', 1553 l: 'DD/M/YYYY', 1554 ll: 'D MMM YYYY', 1555 lll: 'D MMM YYYY HH:mm', 1556 llll: 'ddd, D MMM YYYY HH:mm', 1557 }, 1558 calendar: { 1559 sameDay: '[Hôm nay lúc] LT', 1560 nextDay: '[Ngà y mai lúc] LT', 1561 nextWeek: 'dddd [tuần tá»i lúc] LT', 1562 lastDay: '[Hôm qua lúc] LT', 1563 lastWeek: 'dddd [tuần trưá»c lúc] LT', 1564 sameElse: 'L', 1565 }, 1566 relativeTime: { 1567 future: '%s tá»i', 1568 past: '%s trưá»c', 1569 s: 'và i giây', 1570 ss: '%d giây', 1571 m: 'má»t phút', 1572 mm: '%d phút', 1573 h: 'má»t giá»', 1574 hh: '%d giá»', 1575 d: 'má»t ngà y', 1576 dd: '%d ngà y', 1577 w: 'má»t tuần', 1578 ww: '%d tuần', 1579 M: 'má»t tháng', 1580 MM: '%d tháng', 1581 y: 'má»t nÄm', 1582 yy: '%d nÄm', 1583 }, 1584 dayOfMonthOrdinalParse: /\d{1,2}/, 1585 ordinal: function (number) { 1586 return number; 1587 }, 1588 week: { 1589 dow: 1, // Monday is the first day of the week. 1590 doy: 4, // The week that contains Jan 4th is the first week of the year. 1591 }, 1592 }); 1593 1594 return vi; 1595 1596}))); 1597 1598 1599/***/ }), 1600 1601/***/ 1221: 1602/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1603 1604//! moment.js locale configuration 1605//! locale : Sindhi [sd] 1606//! author : Narain Sagar : https://github.com/narainsagar 1607 1608;(function (global, factory) { 1609 true ? factory(__webpack_require__(5093)) : 1610 0 1611}(this, (function (moment) { 'use strict'; 1612 1613 //! moment.js locale configuration 1614 1615 var months = [ 1616 'جÙÙØ±Ù', 1617 'ÙÙØ¨Ø±ÙرÙ', 1618 '٠ارÚ', 1619 'اپرÙÙ', 1620 '٠ئÙ', 1621 'جÙÙ', 1622 'جÙÙØ§Ø¡Ù', 1623 'آگسٽ', 1624 'سÙپٽ٠بر', 1625 'Ø¢ÚªÙ½ÙØ¨Ø±', 1626 'ÙÙ٠بر', 1627 'ÚØ³Ù بر', 1628 ], 1629 days = ['Ø¢ÚØ±', 'سÙ٠ر', 'اڱارÙ', 'اربع', 'Ø®Ù ÙØ³', 'ج٠ع', 'ÚÙÚØ±']; 1630 1631 var sd = moment.defineLocale('sd', { 1632 months: months, 1633 monthsShort: months, 1634 weekdays: days, 1635 weekdaysShort: days, 1636 weekdaysMin: days, 1637 longDateFormat: { 1638 LT: 'HH:mm', 1639 LTS: 'HH:mm:ss', 1640 L: 'DD/MM/YYYY', 1641 LL: 'D MMMM YYYY', 1642 LLL: 'D MMMM YYYY HH:mm', 1643 LLLL: 'ddddØ D MMMM YYYY HH:mm', 1644 }, 1645 meridiemParse: /صبØ|شا٠/, 1646 isPM: function (input) { 1647 return 'شا٠' === input; 1648 }, 1649 meridiem: function (hour, minute, isLower) { 1650 if (hour < 12) { 1651 return 'صبØ'; 1652 } 1653 return 'شا٠'; 1654 }, 1655 calendar: { 1656 sameDay: '[اÚ] LT', 1657 nextDay: '[Ø³ÚØ§Ú»Ù] LT', 1658 nextWeek: 'dddd [اڳÙÙ ÙÙØªÙ تÙ] LT', 1659 lastDay: '[ڪاÙÙÙ] LT', 1660 lastWeek: '[گزرÙÙ ÙÙØªÙ] dddd [تÙ] LT', 1661 sameElse: 'L', 1662 }, 1663 relativeTime: { 1664 future: '%s Ù¾ÙØ¡', 1665 past: '%s اڳ', 1666 s: 'ÚÙØ¯ سÙÚªÙÚ', 1667 ss: '%d سÙÚªÙÚ', 1668 m: 'ÙÚª Ù ÙÙ½', 1669 mm: '%d Ù ÙÙ½', 1670 h: 'ÙÚª ÚªÙØ§Úª', 1671 hh: '%d ÚªÙØ§Úª', 1672 d: 'ÙÚª ÚÙÙÙÙ', 1673 dd: '%d ÚÙÙÙÙ', 1674 M: 'ÙÚª Ù ÙÙÙÙ', 1675 MM: '%d Ù ÙÙÙØ§', 1676 y: 'ÙÚª ساÙ', 1677 yy: '%d ساÙ', 1678 }, 1679 preparse: function (string) { 1680 return string.replace(/Ø/g, ','); 1681 }, 1682 postformat: function (string) { 1683 return string.replace(/,/g, 'Ø'); 1684 }, 1685 week: { 1686 dow: 1, // Monday is the first day of the week. 1687 doy: 4, // The week that contains Jan 4th is the first week of the year. 1688 }, 1689 }); 1690 1691 return sd; 1692 1693}))); 1694 1695 1696/***/ }), 1697 1698/***/ 1290: 1699/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1700 1701//! moment.js locale configuration 1702//! locale : Bengali [bn] 1703//! author : Kaushik Gandhi : https://github.com/kaushikgandhi 1704 1705;(function (global, factory) { 1706 true ? factory(__webpack_require__(5093)) : 1707 0 1708}(this, (function (moment) { 'use strict'; 1709 1710 //! moment.js locale configuration 1711 1712 var symbolMap = { 1713 1: 'à§§', 1714 2: '২', 1715 3: 'à§©', 1716 4: '৪', 1717 5: 'à§«', 1718 6: '৬', 1719 7: 'à§', 1720 8: 'à§®', 1721 9: '৯', 1722 0: '০', 1723 }, 1724 numberMap = { 1725 'à§§': '1', 1726 '২': '2', 1727 'à§©': '3', 1728 '৪': '4', 1729 'à§«': '5', 1730 '৬': '6', 1731 'à§': '7', 1732 'à§®': '8', 1733 '৯': '9', 1734 '০': '0', 1735 }; 1736 1737 var bn = moment.defineLocale('bn', { 1738 months: 'à¦à¦¾à¦¨à§à§à¦¾à¦°à¦¿_ফà§à¦¬à§à¦°à§à§à¦¾à¦°à¦¿_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°_ঠà¦à§à¦à§à¦¬à¦°_নà¦à§à¦®à§à¦¬à¦°_ডিসà§à¦®à§à¦¬à¦°'.split( 1739 '_' 1740 ), 1741 monthsShort: 1742 'à¦à¦¾à¦¨à§_ফà§à¦¬à§à¦°à§_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦_ঠà¦à§à¦à§_নà¦à§_ডিসà§'.split( 1743 '_' 1744 ), 1745 weekdays: 'রবিবার_সà§à¦®à¦¬à¦¾à¦°_মà¦à§à¦à¦²à¦¬à¦¾à¦°_বà§à¦§à¦¬à¦¾à¦°_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦à§à¦°à¦¬à¦¾à¦°_শনিবার'.split( 1746 '_' 1747 ), 1748 weekdaysShort: 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿_শà§à¦à§à¦°_শনি'.split('_'), 1749 weekdaysMin: 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹_শà§à¦à§à¦°_শনি'.split('_'), 1750 longDateFormat: { 1751 LT: 'A h:mm সমà§', 1752 LTS: 'A h:mm:ss সমà§', 1753 L: 'DD/MM/YYYY', 1754 LL: 'D MMMM YYYY', 1755 LLL: 'D MMMM YYYY, A h:mm সমà§', 1756 LLLL: 'dddd, D MMMM YYYY, A h:mm সমà§', 1757 }, 1758 calendar: { 1759 sameDay: '[à¦à¦] LT', 1760 nextDay: '[à¦à¦à¦¾à¦®à§à¦à¦¾à¦²] LT', 1761 nextWeek: 'dddd, LT', 1762 lastDay: '[à¦à¦¤à¦à¦¾à¦²] LT', 1763 lastWeek: '[à¦à¦¤] dddd, LT', 1764 sameElse: 'L', 1765 }, 1766 relativeTime: { 1767 future: '%s পরà§', 1768 past: '%s à¦à¦à§', 1769 s: 'à¦à§à§à¦ সà§à¦à§à¦¨à§à¦¡', 1770 ss: '%d সà§à¦à§à¦¨à§à¦¡', 1771 m: 'à¦à¦ মিনিà¦', 1772 mm: '%d মিনিà¦', 1773 h: 'à¦à¦ à¦à¦¨à§à¦à¦¾', 1774 hh: '%d à¦à¦¨à§à¦à¦¾', 1775 d: 'à¦à¦ দিন', 1776 dd: '%d দিন', 1777 M: 'à¦à¦ মাস', 1778 MM: '%d মাস', 1779 y: 'à¦à¦ বà¦à¦°', 1780 yy: '%d বà¦à¦°', 1781 }, 1782 preparse: function (string) { 1783 return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { 1784 return numberMap[match]; 1785 }); 1786 }, 1787 postformat: function (string) { 1788 return string.replace(/\d/g, function (match) { 1789 return symbolMap[match]; 1790 }); 1791 }, 1792 meridiemParse: /রাত|সà¦à¦¾à¦²|দà§à¦ªà§à¦°|বিà¦à¦¾à¦²|রাত/, 1793 meridiemHour: function (hour, meridiem) { 1794 if (hour === 12) { 1795 hour = 0; 1796 } 1797 if ( 1798 (meridiem === 'রাত' && hour >= 4) || 1799 (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || 1800 meridiem === 'বিà¦à¦¾à¦²' 1801 ) { 1802 return hour + 12; 1803 } else { 1804 return hour; 1805 } 1806 }, 1807 meridiem: function (hour, minute, isLower) { 1808 if (hour < 4) { 1809 return 'রাত'; 1810 } else if (hour < 10) { 1811 return 'সà¦à¦¾à¦²'; 1812 } else if (hour < 17) { 1813 return 'দà§à¦ªà§à¦°'; 1814 } else if (hour < 20) { 1815 return 'বিà¦à¦¾à¦²'; 1816 } else { 1817 return 'রাত'; 1818 } 1819 }, 1820 week: { 1821 dow: 0, // Sunday is the first day of the week. 1822 doy: 6, // The week that contains Jan 6th is the first week of the year. 1823 }, 1824 }); 1825 1826 return bn; 1827 1828}))); 1829 1830 1831/***/ }), 1832 1833/***/ 1470: 1834/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 1835 1836//! moment.js locale configuration 1837//! locale : Breton [br] 1838//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou 1839 1840;(function (global, factory) { 1841 true ? factory(__webpack_require__(5093)) : 1842 0 1843}(this, (function (moment) { 'use strict'; 1844 1845 //! moment.js locale configuration 1846 1847 function relativeTimeWithMutation(number, withoutSuffix, key) { 1848 var format = { 1849 mm: 'munutenn', 1850 MM: 'miz', 1851 dd: 'devezh', 1852 }; 1853 return number + ' ' + mutation(format[key], number); 1854 } 1855 function specialMutationForYears(number) { 1856 switch (lastNumber(number)) { 1857 case 1: 1858 case 3: 1859 case 4: 1860 case 5: 1861 case 9: 1862 return number + ' bloaz'; 1863 default: 1864 return number + ' vloaz'; 1865 } 1866 } 1867 function lastNumber(number) { 1868 if (number > 9) { 1869 return lastNumber(number % 10); 1870 } 1871 return number; 1872 } 1873 function mutation(text, number) { 1874 if (number === 2) { 1875 return softMutation(text); 1876 } 1877 return text; 1878 } 1879 function softMutation(text) { 1880 var mutationTable = { 1881 m: 'v', 1882 b: 'v', 1883 d: 'z', 1884 }; 1885 if (mutationTable[text.charAt(0)] === undefined) { 1886 return text; 1887 } 1888 return mutationTable[text.charAt(0)] + text.substring(1); 1889 } 1890 1891 var monthsParse = [ 1892 /^gen/i, 1893 /^c[ʼ\']hwe/i, 1894 /^meu/i, 1895 /^ebr/i, 1896 /^mae/i, 1897 /^(mez|eve)/i, 1898 /^gou/i, 1899 /^eos/i, 1900 /^gwe/i, 1901 /^her/i, 1902 /^du/i, 1903 /^ker/i, 1904 ], 1905 monthsRegex = 1906 /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, 1907 monthsStrictRegex = 1908 /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i, 1909 monthsShortStrictRegex = 1910 /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i, 1911 fullWeekdaysParse = [ 1912 /^sul/i, 1913 /^lun/i, 1914 /^meurzh/i, 1915 /^merc[ʼ\']her/i, 1916 /^yaou/i, 1917 /^gwener/i, 1918 /^sadorn/i, 1919 ], 1920 shortWeekdaysParse = [ 1921 /^Sul/i, 1922 /^Lun/i, 1923 /^Meu/i, 1924 /^Mer/i, 1925 /^Yao/i, 1926 /^Gwe/i, 1927 /^Sad/i, 1928 ], 1929 minWeekdaysParse = [ 1930 /^Su/i, 1931 /^Lu/i, 1932 /^Me([^r]|$)/i, 1933 /^Mer/i, 1934 /^Ya/i, 1935 /^Gw/i, 1936 /^Sa/i, 1937 ]; 1938 1939 var br = moment.defineLocale('br', { 1940 months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( 1941 '_' 1942 ), 1943 monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), 1944 weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), 1945 weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), 1946 weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), 1947 weekdaysParse: minWeekdaysParse, 1948 fullWeekdaysParse: fullWeekdaysParse, 1949 shortWeekdaysParse: shortWeekdaysParse, 1950 minWeekdaysParse: minWeekdaysParse, 1951 1952 monthsRegex: monthsRegex, 1953 monthsShortRegex: monthsRegex, 1954 monthsStrictRegex: monthsStrictRegex, 1955 monthsShortStrictRegex: monthsShortStrictRegex, 1956 monthsParse: monthsParse, 1957 longMonthsParse: monthsParse, 1958 shortMonthsParse: monthsParse, 1959 1960 longDateFormat: { 1961 LT: 'HH:mm', 1962 LTS: 'HH:mm:ss', 1963 L: 'DD/MM/YYYY', 1964 LL: 'D [a viz] MMMM YYYY', 1965 LLL: 'D [a viz] MMMM YYYY HH:mm', 1966 LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm', 1967 }, 1968 calendar: { 1969 sameDay: '[Hiziv da] LT', 1970 nextDay: '[Warcʼhoazh da] LT', 1971 nextWeek: 'dddd [da] LT', 1972 lastDay: '[Decʼh da] LT', 1973 lastWeek: 'dddd [paset da] LT', 1974 sameElse: 'L', 1975 }, 1976 relativeTime: { 1977 future: 'a-benn %s', 1978 past: '%s ʼzo', 1979 s: 'un nebeud segondennoù', 1980 ss: '%d eilenn', 1981 m: 'ur vunutenn', 1982 mm: relativeTimeWithMutation, 1983 h: 'un eur', 1984 hh: '%d eur', 1985 d: 'un devezh', 1986 dd: relativeTimeWithMutation, 1987 M: 'ur miz', 1988 MM: relativeTimeWithMutation, 1989 y: 'ur bloaz', 1990 yy: specialMutationForYears, 1991 }, 1992 dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, 1993 ordinal: function (number) { 1994 var output = number === 1 ? 'añ' : 'vet'; 1995 return number + output; 1996 }, 1997 week: { 1998 dow: 1, // Monday is the first day of the week. 1999 doy: 4, // The week that contains Jan 4th is the first week of the year. 2000 }, 2001 meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn 2002 isPM: function (token) { 2003 return token === 'g.m.'; 2004 }, 2005 meridiem: function (hour, minute, isLower) { 2006 return hour < 12 ? 'a.m.' : 'g.m.'; 2007 }, 2008 }); 2009 2010 return br; 2011 2012}))); 2013 2014 2015/***/ }), 2016 2017/***/ 1488: 2018/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2019 2020//! moment.js locale configuration 2021//! locale : Arabic (Algeria) [ar-dz] 2022//! author : Amine Roukh: https://github.com/Amine27 2023//! author : Abdel Said: https://github.com/abdelsaid 2024//! author : Ahmed Elkhatib 2025//! author : forabi https://github.com/forabi 2026//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem 2027 2028;(function (global, factory) { 2029 true ? factory(__webpack_require__(5093)) : 2030 0 2031}(this, (function (moment) { 'use strict'; 2032 2033 //! moment.js locale configuration 2034 2035 var pluralForm = function (n) { 2036 return n === 0 2037 ? 0 2038 : n === 1 2039 ? 1 2040 : n === 2 2041 ? 2 2042 : n % 100 >= 3 && n % 100 <= 10 2043 ? 3 2044 : n % 100 >= 11 2045 ? 4 2046 : 5; 2047 }, 2048 plurals = { 2049 s: [ 2050 'Ø£Ù٠٠٠ثاÙÙØ©', 2051 'ثاÙÙØ© ÙØ§ØØ¯Ø©', 2052 ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], 2053 '%d Ø«ÙØ§Ù', 2054 '%d ثاÙÙØ©', 2055 '%d ثاÙÙØ©', 2056 ], 2057 m: [ 2058 'Ø£Ù٠٠٠دÙÙÙØ©', 2059 'دÙÙÙØ© ÙØ§ØØ¯Ø©', 2060 ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], 2061 '%d Ø¯ÙØ§Ø¦Ù', 2062 '%d دÙÙÙØ©', 2063 '%d دÙÙÙØ©', 2064 ], 2065 h: [ 2066 'Ø£Ù٠٠٠ساعة', 2067 'ساعة ÙØ§ØØ¯Ø©', 2068 ['ساعتاÙ', 'ساعتÙÙ'], 2069 '%d ساعات', 2070 '%d ساعة', 2071 '%d ساعة', 2072 ], 2073 d: [ 2074 'Ø£ÙÙ Ù Ù ÙÙÙ ', 2075 'ÙÙÙ ÙØ§ØØ¯', 2076 ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], 2077 '%d Ø£ÙØ§Ù ', 2078 '%d ÙÙÙ ÙØ§', 2079 '%d ÙÙÙ ', 2080 ], 2081 M: [ 2082 'Ø£ÙÙ Ù Ù Ø´ÙØ±', 2083 'Ø´ÙØ± ÙØ§ØØ¯', 2084 ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], 2085 '%d Ø£Ø´ÙØ±', 2086 '%d Ø´ÙØ±Ø§', 2087 '%d Ø´ÙØ±', 2088 ], 2089 y: [ 2090 'Ø£Ù٠٠٠عا٠', 2091 'Ø¹Ø§Ù ÙØ§ØØ¯', 2092 ['عا٠اÙ', 'عا٠ÙÙ'], 2093 '%d Ø£Ø¹ÙØ§Ù ', 2094 '%d Ø¹Ø§Ù ÙØ§', 2095 '%d عا٠', 2096 ], 2097 }, 2098 pluralize = function (u) { 2099 return function (number, withoutSuffix, string, isFuture) { 2100 var f = pluralForm(number), 2101 str = plurals[u][pluralForm(number)]; 2102 if (f === 2) { 2103 str = str[withoutSuffix ? 0 : 1]; 2104 } 2105 return str.replace(/%d/i, number); 2106 }; 2107 }, 2108 months = [ 2109 'جاÙÙÙ', 2110 'ÙÙÙØ±Ù', 2111 '٠ارس', 2112 'Ø£ÙØ±ÙÙ', 2113 '٠اÙ', 2114 'Ø¬ÙØ§Ù', 2115 'جÙÙÙÙØ©', 2116 'Ø£ÙØª', 2117 'سبت٠بر', 2118 'Ø£ÙØªÙبر', 2119 'ÙÙÙ٠بر', 2120 'Ø¯ÙØ³Ù بر', 2121 ]; 2122 2123 var arDz = moment.defineLocale('ar-dz', { 2124 months: months, 2125 monthsShort: months, 2126 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 2127 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 2128 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 2129 weekdaysParseExact: true, 2130 longDateFormat: { 2131 LT: 'HH:mm', 2132 LTS: 'HH:mm:ss', 2133 L: 'D/\u200FM/\u200FYYYY', 2134 LL: 'D MMMM YYYY', 2135 LLL: 'D MMMM YYYY HH:mm', 2136 LLLL: 'dddd D MMMM YYYY HH:mm', 2137 }, 2138 meridiemParse: /ص|Ù /, 2139 isPM: function (input) { 2140 return 'Ù ' === input; 2141 }, 2142 meridiem: function (hour, minute, isLower) { 2143 if (hour < 12) { 2144 return 'ص'; 2145 } else { 2146 return 'Ù '; 2147 } 2148 }, 2149 calendar: { 2150 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2151 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2152 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2153 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2154 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2155 sameElse: 'L', 2156 }, 2157 relativeTime: { 2158 future: 'بعد %s', 2159 past: 'Ù ÙØ° %s', 2160 s: pluralize('s'), 2161 ss: pluralize('s'), 2162 m: pluralize('m'), 2163 mm: pluralize('m'), 2164 h: pluralize('h'), 2165 hh: pluralize('h'), 2166 d: pluralize('d'), 2167 dd: pluralize('d'), 2168 M: pluralize('M'), 2169 MM: pluralize('M'), 2170 y: pluralize('y'), 2171 yy: pluralize('y'), 2172 }, 2173 postformat: function (string) { 2174 return string.replace(/,/g, 'Ø'); 2175 }, 2176 week: { 2177 dow: 0, // Sunday is the first day of the week. 2178 doy: 4, // The week that contains Jan 4th is the first week of the year. 2179 }, 2180 }); 2181 2182 return arDz; 2183 2184}))); 2185 2186 2187/***/ }), 2188 2189/***/ 1509: 2190/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2191 2192//! moment.js locale configuration 2193//! locale : Arabic [ar] 2194//! author : Abdel Said: https://github.com/abdelsaid 2195//! author : Ahmed Elkhatib 2196//! author : forabi https://github.com/forabi 2197 2198;(function (global, factory) { 2199 true ? factory(__webpack_require__(5093)) : 2200 0 2201}(this, (function (moment) { 'use strict'; 2202 2203 //! moment.js locale configuration 2204 2205 var symbolMap = { 2206 1: 'Ù¡', 2207 2: 'Ù¢', 2208 3: 'Ù£', 2209 4: 'Ù¤', 2210 5: 'Ù¥', 2211 6: 'Ù¦', 2212 7: 'Ù§', 2213 8: 'Ù¨', 2214 9: 'Ù©', 2215 0: 'Ù ', 2216 }, 2217 numberMap = { 2218 'Ù¡': '1', 2219 'Ù¢': '2', 2220 'Ù£': '3', 2221 'Ù¤': '4', 2222 'Ù¥': '5', 2223 'Ù¦': '6', 2224 'Ù§': '7', 2225 'Ù¨': '8', 2226 'Ù©': '9', 2227 'Ù ': '0', 2228 }, 2229 pluralForm = function (n) { 2230 return n === 0 2231 ? 0 2232 : n === 1 2233 ? 1 2234 : n === 2 2235 ? 2 2236 : n % 100 >= 3 && n % 100 <= 10 2237 ? 3 2238 : n % 100 >= 11 2239 ? 4 2240 : 5; 2241 }, 2242 plurals = { 2243 s: [ 2244 'Ø£Ù٠٠٠ثاÙÙØ©', 2245 'ثاÙÙØ© ÙØ§ØØ¯Ø©', 2246 ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], 2247 '%d Ø«ÙØ§Ù', 2248 '%d ثاÙÙØ©', 2249 '%d ثاÙÙØ©', 2250 ], 2251 m: [ 2252 'Ø£Ù٠٠٠دÙÙÙØ©', 2253 'دÙÙÙØ© ÙØ§ØØ¯Ø©', 2254 ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], 2255 '%d Ø¯ÙØ§Ø¦Ù', 2256 '%d دÙÙÙØ©', 2257 '%d دÙÙÙØ©', 2258 ], 2259 h: [ 2260 'Ø£Ù٠٠٠ساعة', 2261 'ساعة ÙØ§ØØ¯Ø©', 2262 ['ساعتاÙ', 'ساعتÙÙ'], 2263 '%d ساعات', 2264 '%d ساعة', 2265 '%d ساعة', 2266 ], 2267 d: [ 2268 'Ø£ÙÙ Ù Ù ÙÙÙ ', 2269 'ÙÙÙ ÙØ§ØØ¯', 2270 ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], 2271 '%d Ø£ÙØ§Ù ', 2272 '%d ÙÙÙ ÙØ§', 2273 '%d ÙÙÙ ', 2274 ], 2275 M: [ 2276 'Ø£ÙÙ Ù Ù Ø´ÙØ±', 2277 'Ø´ÙØ± ÙØ§ØØ¯', 2278 ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], 2279 '%d Ø£Ø´ÙØ±', 2280 '%d Ø´ÙØ±Ø§', 2281 '%d Ø´ÙØ±', 2282 ], 2283 y: [ 2284 'Ø£Ù٠٠٠عا٠', 2285 'Ø¹Ø§Ù ÙØ§ØØ¯', 2286 ['عا٠اÙ', 'عا٠ÙÙ'], 2287 '%d Ø£Ø¹ÙØ§Ù ', 2288 '%d Ø¹Ø§Ù ÙØ§', 2289 '%d عا٠', 2290 ], 2291 }, 2292 pluralize = function (u) { 2293 return function (number, withoutSuffix, string, isFuture) { 2294 var f = pluralForm(number), 2295 str = plurals[u][pluralForm(number)]; 2296 if (f === 2) { 2297 str = str[withoutSuffix ? 0 : 1]; 2298 } 2299 return str.replace(/%d/i, number); 2300 }; 2301 }, 2302 months = [ 2303 'ÙÙØ§Ùر', 2304 'ÙØ¨Ø±Ø§Ùر', 2305 '٠ارس', 2306 'أبرÙÙ', 2307 '٠اÙÙ', 2308 'ÙÙÙÙÙ', 2309 'ÙÙÙÙÙ', 2310 'أغسطس', 2311 'سبت٠بر', 2312 'Ø£ÙØªÙبر', 2313 'ÙÙÙ٠بر', 2314 'Ø¯ÙØ³Ù بر', 2315 ]; 2316 2317 var ar = moment.defineLocale('ar', { 2318 months: months, 2319 monthsShort: months, 2320 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 2321 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 2322 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 2323 weekdaysParseExact: true, 2324 longDateFormat: { 2325 LT: 'HH:mm', 2326 LTS: 'HH:mm:ss', 2327 L: 'D/\u200FM/\u200FYYYY', 2328 LL: 'D MMMM YYYY', 2329 LLL: 'D MMMM YYYY HH:mm', 2330 LLLL: 'dddd D MMMM YYYY HH:mm', 2331 }, 2332 meridiemParse: /ص|Ù /, 2333 isPM: function (input) { 2334 return 'Ù ' === input; 2335 }, 2336 meridiem: function (hour, minute, isLower) { 2337 if (hour < 12) { 2338 return 'ص'; 2339 } else { 2340 return 'Ù '; 2341 } 2342 }, 2343 calendar: { 2344 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2345 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2346 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2347 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2348 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 2349 sameElse: 'L', 2350 }, 2351 relativeTime: { 2352 future: 'بعد %s', 2353 past: 'Ù ÙØ° %s', 2354 s: pluralize('s'), 2355 ss: pluralize('s'), 2356 m: pluralize('m'), 2357 mm: pluralize('m'), 2358 h: pluralize('h'), 2359 hh: pluralize('h'), 2360 d: pluralize('d'), 2361 dd: pluralize('d'), 2362 M: pluralize('M'), 2363 MM: pluralize('M'), 2364 y: pluralize('y'), 2365 yy: pluralize('y'), 2366 }, 2367 preparse: function (string) { 2368 return string 2369 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 2370 return numberMap[match]; 2371 }) 2372 .replace(/Ø/g, ','); 2373 }, 2374 postformat: function (string) { 2375 return string 2376 .replace(/\d/g, function (match) { 2377 return symbolMap[match]; 2378 }) 2379 .replace(/,/g, 'Ø'); 2380 }, 2381 week: { 2382 dow: 6, // Saturday is the first day of the week. 2383 doy: 12, // The week that contains Jan 12th is the first week of the year. 2384 }, 2385 }); 2386 2387 return ar; 2388 2389}))); 2390 2391 2392/***/ }), 2393 2394/***/ 1541: 2395/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2396 2397//! moment.js locale configuration 2398//! locale : Chinese (Macau) [zh-mo] 2399//! author : Ben : https://github.com/ben-lin 2400//! author : Chris Lam : https://github.com/hehachris 2401//! author : Tan Yuanhong : https://github.com/le0tan 2402 2403;(function (global, factory) { 2404 true ? factory(__webpack_require__(5093)) : 2405 0 2406}(this, (function (moment) { 'use strict'; 2407 2408 //! moment.js locale configuration 2409 2410 var zhMo = moment.defineLocale('zh-mo', { 2411 months: '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split( 2412 '_' 2413 ), 2414 monthsShort: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split( 2415 '_' 2416 ), 2417 weekdays: 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 2418 weekdaysShort: '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 2419 weekdaysMin: 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 2420 longDateFormat: { 2421 LT: 'HH:mm', 2422 LTS: 'HH:mm:ss', 2423 L: 'DD/MM/YYYY', 2424 LL: 'YYYYå¹´MæDæ¥', 2425 LLL: 'YYYYå¹´MæDæ¥ HH:mm', 2426 LLLL: 'YYYYå¹´MæDæ¥dddd HH:mm', 2427 l: 'D/M/YYYY', 2428 ll: 'YYYYå¹´MæDæ¥', 2429 lll: 'YYYYå¹´MæDæ¥ HH:mm', 2430 llll: 'YYYYå¹´MæDæ¥dddd HH:mm', 2431 }, 2432 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 2433 meridiemHour: function (hour, meridiem) { 2434 if (hour === 12) { 2435 hour = 0; 2436 } 2437 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 2438 return hour; 2439 } else if (meridiem === 'ä¸å') { 2440 return hour >= 11 ? hour : hour + 12; 2441 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 2442 return hour + 12; 2443 } 2444 }, 2445 meridiem: function (hour, minute, isLower) { 2446 var hm = hour * 100 + minute; 2447 if (hm < 600) { 2448 return '忍'; 2449 } else if (hm < 900) { 2450 return 'æ©ä¸'; 2451 } else if (hm < 1130) { 2452 return 'ä¸å'; 2453 } else if (hm < 1230) { 2454 return 'ä¸å'; 2455 } else if (hm < 1800) { 2456 return 'ä¸å'; 2457 } else { 2458 return 'æä¸'; 2459 } 2460 }, 2461 calendar: { 2462 sameDay: '[ä»å¤©] LT', 2463 nextDay: '[æå¤©] LT', 2464 nextWeek: '[ä¸]dddd LT', 2465 lastDay: '[æ¨å¤©] LT', 2466 lastWeek: '[ä¸]dddd LT', 2467 sameElse: 'L', 2468 }, 2469 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 2470 ordinal: function (number, period) { 2471 switch (period) { 2472 case 'd': 2473 case 'D': 2474 case 'DDD': 2475 return number + 'æ¥'; 2476 case 'M': 2477 return number + 'æ'; 2478 case 'w': 2479 case 'W': 2480 return number + 'é±'; 2481 default: 2482 return number; 2483 } 2484 }, 2485 relativeTime: { 2486 future: '%så §', 2487 past: '%så', 2488 s: 'å¹¾ç§', 2489 ss: '%d ç§', 2490 m: '1 åé', 2491 mm: '%d åé', 2492 h: '1 å°æ', 2493 hh: '%d å°æ', 2494 d: '1 天', 2495 dd: '%d 天', 2496 M: '1 åæ', 2497 MM: '%d åæ', 2498 y: '1 å¹´', 2499 yy: '%d å¹´', 2500 }, 2501 }); 2502 2503 return zhMo; 2504 2505}))); 2506 2507 2508/***/ }), 2509 2510/***/ 1545: 2511/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2512 2513//! moment.js locale configuration 2514//! locale : Tibetan [bo] 2515//! author : Thupten N. Chakrishar : https://github.com/vajradog 2516 2517;(function (global, factory) { 2518 true ? factory(__webpack_require__(5093)) : 2519 0 2520}(this, (function (moment) { 'use strict'; 2521 2522 //! moment.js locale configuration 2523 2524 var symbolMap = { 2525 1: '༡', 2526 2: '༢', 2527 3: '༣', 2528 4: '༤', 2529 5: '༥', 2530 6: '༦', 2531 7: '༧', 2532 8: '༨', 2533 9: '༩', 2534 0: '༠', 2535 }, 2536 numberMap = { 2537 '༡': '1', 2538 '༢': '2', 2539 '༣': '3', 2540 '༤': '4', 2541 '༥': '5', 2542 '༦': '6', 2543 '༧': '7', 2544 '༨': '8', 2545 '༩': '9', 2546 '༠': '0', 2547 }; 2548 2549 var bo = moment.defineLocale('bo', { 2550 months: 'à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½'.split( 2551 '_' 2552 ), 2553 monthsShort: 2554 'à½à¾³à¼1_à½à¾³à¼2_à½à¾³à¼3_à½à¾³à¼4_à½à¾³à¼5_à½à¾³à¼6_à½à¾³à¼7_à½à¾³à¼8_à½à¾³à¼9_à½à¾³à¼10_à½à¾³à¼11_à½à¾³à¼12'.split( 2555 '_' 2556 ), 2557 monthsShortRegex: /^(à½à¾³à¼\d{1,2})/, 2558 monthsParseExact: true, 2559 weekdays: 2560 'à½à½à½ à¼à½à½²à¼à½à¼_à½à½à½ à¼à½à¾³à¼à½à¼_à½à½à½ à¼à½à½²à½à¼à½à½à½¢à¼_à½à½à½ à¼à½£à¾·à½à¼à½à¼_à½à½à½ à¼à½à½´à½¢à¼à½à½´_à½à½à½ à¼à½à¼à½¦à½à½¦à¼_à½à½à½ à¼à½¦à¾¤à½ºà½à¼à½à¼'.split( 2561 '_' 2562 ), 2563 weekdaysShort: 'à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼'.split( 2564 '_' 2565 ), 2566 weekdaysMin: 'à½à½²_à½à¾³_à½à½²à½_ལྷà½_à½à½´à½¢_སà½à½¦_སྤེà½'.split('_'), 2567 longDateFormat: { 2568 LT: 'A h:mm', 2569 LTS: 'A h:mm:ss', 2570 L: 'DD/MM/YYYY', 2571 LL: 'D MMMM YYYY', 2572 LLL: 'D MMMM YYYY, A h:mm', 2573 LLLL: 'dddd, D MMMM YYYY, A h:mm', 2574 }, 2575 calendar: { 2576 sameDay: '[à½à½²à¼à½¢à½²à½] LT', 2577 nextDay: '[སà½à¼à½à½²à½] LT', 2578 nextWeek: '[à½à½à½´à½à¼à½à¾²à½à¼à½¢à¾à½ºà½¦à¼à½], LT', 2579 lastDay: '[à½à¼à½¦à½] LT', 2580 lastWeek: '[à½à½à½´à½à¼à½à¾²à½à¼à½à½à½ à¼à½] dddd, LT', 2581 sameElse: 'L', 2582 }, 2583 relativeTime: { 2584 future: '%s ལà¼', 2585 past: '%s སà¾à½à¼à½£', 2586 s: 'ལà½à¼à½¦à½', 2587 ss: '%d སà¾à½¢à¼à½à¼', 2588 m: 'སà¾à½¢à¼à½à¼à½à½ ིà½', 2589 mm: '%d སà¾à½¢à¼à½', 2590 h: 'à½à½´à¼à½à½¼à½à¼à½à½ ིà½', 2591 hh: '%d à½à½´à¼à½à½¼à½', 2592 d: 'à½à½²à½à¼à½à½ ིà½', 2593 dd: '%d à½à½²à½à¼', 2594 M: 'à½à¾³à¼à½à¼à½à½ ིà½', 2595 MM: '%d à½à¾³à¼à½', 2596 y: 'ལོà¼à½à½ ིà½', 2597 yy: '%d ལོ', 2598 }, 2599 preparse: function (string) { 2600 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { 2601 return numberMap[match]; 2602 }); 2603 }, 2604 postformat: function (string) { 2605 return string.replace(/\d/g, function (match) { 2606 return symbolMap[match]; 2607 }); 2608 }, 2609 meridiemParse: /à½à½à½à¼à½à½¼|à½à½¼à½à½¦à¼à½à½¦|à½à½²à½à¼à½à½´à½|à½à½à½¼à½à¼à½à½|à½à½à½à¼à½à½¼/, 2610 meridiemHour: function (hour, meridiem) { 2611 if (hour === 12) { 2612 hour = 0; 2613 } 2614 if ( 2615 (meridiem === 'à½à½à½à¼à½à½¼' && hour >= 4) || 2616 (meridiem === 'à½à½²à½à¼à½à½´à½' && hour < 5) || 2617 meridiem === 'à½à½à½¼à½à¼à½à½' 2618 ) { 2619 return hour + 12; 2620 } else { 2621 return hour; 2622 } 2623 }, 2624 meridiem: function (hour, minute, isLower) { 2625 if (hour < 4) { 2626 return 'à½à½à½à¼à½à½¼'; 2627 } else if (hour < 10) { 2628 return 'à½à½¼à½à½¦à¼à½à½¦'; 2629 } else if (hour < 17) { 2630 return 'à½à½²à½à¼à½à½´à½'; 2631 } else if (hour < 20) { 2632 return 'à½à½à½¼à½à¼à½à½'; 2633 } else { 2634 return 'à½à½à½à¼à½à½¼'; 2635 } 2636 }, 2637 week: { 2638 dow: 0, // Sunday is the first day of the week. 2639 doy: 6, // The week that contains Jan 6th is the first week of the year. 2640 }, 2641 }); 2642 2643 return bo; 2644 2645}))); 2646 2647 2648/***/ }), 2649 2650/***/ 1632: 2651/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2652 2653//! moment.js locale configuration 2654//! locale : Chinese (Hong Kong) [zh-hk] 2655//! author : Ben : https://github.com/ben-lin 2656//! author : Chris Lam : https://github.com/hehachris 2657//! author : Konstantin : https://github.com/skfd 2658//! author : Anthony : https://github.com/anthonylau 2659 2660;(function (global, factory) { 2661 true ? factory(__webpack_require__(5093)) : 2662 0 2663}(this, (function (moment) { 'use strict'; 2664 2665 //! moment.js locale configuration 2666 2667 var zhHk = moment.defineLocale('zh-hk', { 2668 months: '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split( 2669 '_' 2670 ), 2671 monthsShort: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split( 2672 '_' 2673 ), 2674 weekdays: 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 2675 weekdaysShort: '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 2676 weekdaysMin: 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 2677 longDateFormat: { 2678 LT: 'HH:mm', 2679 LTS: 'HH:mm:ss', 2680 L: 'YYYY/MM/DD', 2681 LL: 'YYYYå¹´MæDæ¥', 2682 LLL: 'YYYYå¹´MæDæ¥ HH:mm', 2683 LLLL: 'YYYYå¹´MæDæ¥dddd HH:mm', 2684 l: 'YYYY/M/D', 2685 ll: 'YYYYå¹´MæDæ¥', 2686 lll: 'YYYYå¹´MæDæ¥ HH:mm', 2687 llll: 'YYYYå¹´MæDæ¥dddd HH:mm', 2688 }, 2689 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 2690 meridiemHour: function (hour, meridiem) { 2691 if (hour === 12) { 2692 hour = 0; 2693 } 2694 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 2695 return hour; 2696 } else if (meridiem === 'ä¸å') { 2697 return hour >= 11 ? hour : hour + 12; 2698 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 2699 return hour + 12; 2700 } 2701 }, 2702 meridiem: function (hour, minute, isLower) { 2703 var hm = hour * 100 + minute; 2704 if (hm < 600) { 2705 return '忍'; 2706 } else if (hm < 900) { 2707 return 'æ©ä¸'; 2708 } else if (hm < 1200) { 2709 return 'ä¸å'; 2710 } else if (hm === 1200) { 2711 return 'ä¸å'; 2712 } else if (hm < 1800) { 2713 return 'ä¸å'; 2714 } else { 2715 return 'æä¸'; 2716 } 2717 }, 2718 calendar: { 2719 sameDay: '[ä»å¤©]LT', 2720 nextDay: '[æå¤©]LT', 2721 nextWeek: '[ä¸]ddddLT', 2722 lastDay: '[æ¨å¤©]LT', 2723 lastWeek: '[ä¸]ddddLT', 2724 sameElse: 'L', 2725 }, 2726 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 2727 ordinal: function (number, period) { 2728 switch (period) { 2729 case 'd': 2730 case 'D': 2731 case 'DDD': 2732 return number + 'æ¥'; 2733 case 'M': 2734 return number + 'æ'; 2735 case 'w': 2736 case 'W': 2737 return number + 'é±'; 2738 default: 2739 return number; 2740 } 2741 }, 2742 relativeTime: { 2743 future: '%så¾', 2744 past: '%så', 2745 s: 'å¹¾ç§', 2746 ss: '%d ç§', 2747 m: '1 åé', 2748 mm: '%d åé', 2749 h: '1 å°æ', 2750 hh: '%d å°æ', 2751 d: '1 天', 2752 dd: '%d 天', 2753 M: '1 åæ', 2754 MM: '%d åæ', 2755 y: '1 å¹´', 2756 yy: '%d å¹´', 2757 }, 2758 }); 2759 2760 return zhHk; 2761 2762}))); 2763 2764 2765/***/ }), 2766 2767/***/ 1713: 2768/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2769 2770//! moment.js locale configuration 2771//! locale : Hebrew [he] 2772//! author : Tomer Cohen : https://github.com/tomer 2773//! author : Moshe Simantov : https://github.com/DevelopmentIL 2774//! author : Tal Ater : https://github.com/TalAter 2775 2776;(function (global, factory) { 2777 true ? factory(__webpack_require__(5093)) : 2778 0 2779}(this, (function (moment) { 'use strict'; 2780 2781 //! moment.js locale configuration 2782 2783 var he = moment.defineLocale('he', { 2784 months: '×× ××ר_פ×ר××ר_×רץ_×פר××_×××_××× ×_××××_××××ס×_ספ×××ר_×××§×××ר_× ××××ר_×צ××ר'.split( 2785 '_' 2786 ), 2787 monthsShort: 2788 '×× ×׳_פ×ר׳_×רץ_×פר׳_×××_××× ×_××××_×××׳_ספ×׳_××ק׳_× ××׳_×צ×׳'.split('_'), 2789 weekdays: 'ר×ש××_×©× ×_ש××ש×_ר×××¢×_×××ש×_ש×ש×_ש×ת'.split('_'), 2790 weekdaysShort: '×׳_×׳_×׳_×׳_×׳_×׳_ש׳'.split('_'), 2791 weekdaysMin: '×_×_×_×_×_×_ש'.split('_'), 2792 longDateFormat: { 2793 LT: 'HH:mm', 2794 LTS: 'HH:mm:ss', 2795 L: 'DD/MM/YYYY', 2796 LL: 'D [×]MMMM YYYY', 2797 LLL: 'D [×]MMMM YYYY HH:mm', 2798 LLLL: 'dddd, D [×]MMMM YYYY HH:mm', 2799 l: 'D/M/YYYY', 2800 ll: 'D MMM YYYY', 2801 lll: 'D MMM YYYY HH:mm', 2802 llll: 'ddd, D MMM YYYY HH:mm', 2803 }, 2804 calendar: { 2805 sameDay: '[×××× ×Ö¾]LT', 2806 nextDay: '[××ר ×Ö¾]LT', 2807 nextWeek: 'dddd [×שע×] LT', 2808 lastDay: '[×ת××× ×Ö¾]LT', 2809 lastWeek: '[××××] dddd [×××ר×× ×שע×] LT', 2810 sameElse: 'L', 2811 }, 2812 relativeTime: { 2813 future: '××¢×× %s', 2814 past: '××¤× × %s', 2815 s: '×ספר ×©× ××ת', 2816 ss: '%d ×©× ××ת', 2817 m: '××§×', 2818 mm: '%d ××§×ת', 2819 h: 'שע×', 2820 hh: function (number) { 2821 if (number === 2) { 2822 return 'שעת×××'; 2823 } 2824 return number + ' שע×ת'; 2825 }, 2826 d: '×××', 2827 dd: function (number) { 2828 if (number === 2) { 2829 return '××××××'; 2830 } 2831 return number + ' ××××'; 2832 }, 2833 M: '×××ש', 2834 MM: function (number) { 2835 if (number === 2) { 2836 return '×××ש×××'; 2837 } 2838 return number + ' ×××ש××'; 2839 }, 2840 y: '×©× ×', 2841 yy: function (number) { 2842 if (number === 2) { 2843 return '×©× ×ª×××'; 2844 } else if (number % 10 === 0 && number !== 10) { 2845 return number + ' ×©× ×'; 2846 } 2847 return number + ' ×©× ××'; 2848 }, 2849 }, 2850 meridiemParse: 2851 /×××"צ|××¤× ×"צ|×××¨× ×צ×ר×××|××¤× × ×צ×ר×××|××¤× ×ת ××קר|×××קר|×ער×/i, 2852 isPM: function (input) { 2853 return /^(×××"צ|×××¨× ×צ×ר×××|×ער×)$/.t
2853est(input); 2854 }, 2855 meridiem: function (hour, minute, isLower) { 2856 if (hour < 5) { 2857 return '××¤× ×ת ××קר'; 2858 } else if (hour < 10) { 2859 return '×××קר'; 2860 } else if (hour < 12) { 2861 return isLower ? '××¤× ×"צ' : '××¤× × ×צ×ר×××'; 2862 } else if (hour < 18) { 2863 return isLower ? '×××"צ' : '×××¨× ×צ×ר×××'; 2864 } else { 2865 return '×ער×'; 2866 } 2867 }, 2868 }); 2869 2870 return he; 2871 2872}))); 2873 2874 2875/***/ }), 2876 2877/***/ 1734: 2878/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2879 2880//! moment.js locale configuration 2881//! locale : Irish or Irish Gaelic [ga] 2882//! author : André Silva : https://github.com/askpt 2883 2884;(function (global, factory) { 2885 true ? factory(__webpack_require__(5093)) : 2886 0 2887}(this, (function (moment) { 'use strict'; 2888 2889 //! moment.js locale configuration 2890 2891 var months = [ 2892 'Eanáir', 2893 'Feabhra', 2894 'Márta', 2895 'Aibreán', 2896 'Bealtaine', 2897 'Meitheamh', 2898 'Iúil', 2899 'Lúnasa', 2900 'Meán Fómhair', 2901 'Deireadh Fómhair', 2902 'Samhain', 2903 'Nollaig', 2904 ], 2905 monthsShort = [ 2906 'Ean', 2907 'Feabh', 2908 'Márt', 2909 'Aib', 2910 'Beal', 2911 'Meith', 2912 'Iúil', 2913 'Lún', 2914 'M.F.', 2915 'D.F.', 2916 'Samh', 2917 'Noll', 2918 ], 2919 weekdays = [ 2920 'Dé Domhnaigh', 2921 'Dé Luain', 2922 'Dé Máirt', 2923 'Dé Céadaoin', 2924 'Déardaoin', 2925 'Dé hAoine', 2926 'Dé Sathairn', 2927 ], 2928 weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], 2929 weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa']; 2930 2931 var ga = moment.defineLocale('ga', { 2932 months: months, 2933 monthsShort: monthsShort, 2934 monthsParseExact: true, 2935 weekdays: weekdays, 2936 weekdaysShort: weekdaysShort, 2937 weekdaysMin: weekdaysMin, 2938 longDateFormat: { 2939 LT: 'HH:mm', 2940 LTS: 'HH:mm:ss', 2941 L: 'DD/MM/YYYY', 2942 LL: 'D MMMM YYYY', 2943 LLL: 'D MMMM YYYY HH:mm', 2944 LLLL: 'dddd, D MMMM YYYY HH:mm', 2945 }, 2946 calendar: { 2947 sameDay: '[Inniu ag] LT', 2948 nextDay: '[Amárach ag] LT', 2949 nextWeek: 'dddd [ag] LT', 2950 lastDay: '[Inné ag] LT', 2951 lastWeek: 'dddd [seo caite] [ag] LT', 2952 sameElse: 'L', 2953 }, 2954 relativeTime: { 2955 future: 'i %s', 2956 past: '%s ó shin', 2957 s: 'cúpla soicind', 2958 ss: '%d soicind', 2959 m: 'nóiméad', 2960 mm: '%d nóiméad', 2961 h: 'uair an chloig', 2962 hh: '%d uair an chloig', 2963 d: 'lá', 2964 dd: '%d lá', 2965 M: 'mÃ', 2966 MM: '%d mÃonna', 2967 y: 'bliain', 2968 yy: '%d bliain', 2969 }, 2970 dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, 2971 ordinal: function (number) { 2972 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 2973 return number + output; 2974 }, 2975 week: { 2976 dow: 1, // Monday is the first day of the week. 2977 doy: 4, // The week that contains Jan 4th is the first week of the year. 2978 }, 2979 }); 2980 2981 return ga; 2982 2983}))); 2984 2985 2986/***/ }), 2987 2988/***/ 1765: 2989/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 2990 2991//! moment.js locale configuration 2992//! locale : Central Atlas Tamazight [tzm] 2993//! author : Abdel Said : https://github.com/abdelsaid 2994 2995;(function (global, factory) { 2996 true ? factory(__webpack_require__(5093)) : 2997 0 2998}(this, (function (moment) { 'use strict'; 2999 3000 //! moment.js locale configuration 3001 3002 var tzm = moment.defineLocale('tzm', { 3003 months: 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split( 3004 '_' 3005 ), 3006 monthsShort: 3007 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split( 3008 '_' 3009 ), 3010 weekdays: 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 3011 weekdaysShort: 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 3012 weekdaysMin: 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 3013 longDateFormat: { 3014 LT: 'HH:mm', 3015 LTS: 'HH:mm:ss', 3016 L: 'DD/MM/YYYY', 3017 LL: 'D MMMM YYYY', 3018 LLL: 'D MMMM YYYY HH:mm', 3019 LLLL: 'dddd D MMMM YYYY HH:mm', 3020 }, 3021 calendar: { 3022 sameDay: '[â´°âµâ´·âµ â´´] LT', 3023 nextDay: '[â´°âµâ´½â´° â´´] LT', 3024 nextWeek: 'dddd [â´´] LT', 3025 lastDay: '[â´°âµâ´°âµâµ â´´] LT', 3026 lastWeek: 'dddd [â´´] LT', 3027 sameElse: 'L', 3028 }, 3029 relativeTime: { 3030 future: 'ⴷⴰⴷⵠⵠⵢⴰⵠ%s', 3031 past: 'ⵢⴰⵠ%s', 3032 s: 'âµâµâµâ´½', 3033 ss: '%d âµâµâµâ´½', 3034 m: 'âµâµâµâµâ´º', 3035 mm: '%d âµâµâµâµâ´º', 3036 h: 'âµâ´°âµâ´°',
vendor: 4,619 bytes, lines 3037-3166
3037 hh: '%d âµâ´°âµâµâ´°âµâµâµ', 3038 d: 'â´°âµâµ', 3039 dd: '%d oâµâµâ´°âµ', 3040 M: 'â´°âµ¢oâµâµ', 3041 MM: '%d âµâµ¢âµ¢âµâµâµ', 3042 y: 'â´°âµâ´³â´°âµ', 3043 yy: '%d âµâµâ´³â´°âµâµ', 3044 }, 3045 week: { 3046 dow: 6, // Saturday is the first day of the week. 3047 doy: 12, // The week that contains Jan 12th is the first week of the year. 3048 }, 3049 }); 3050 3051 return tzm; 3052 3053}))); 3054 3055 3056/***/ }), 3057 3058/***/ 1794: 3059/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3060 3061//! moment.js locale configuration 3062//! locale : Georgian [ka] 3063//! author : Irakli Janiashvili : https://github.com/IrakliJani 3064 3065;(function (global, factory) { 3066 true ? factory(__webpack_require__(5093)) : 3067 0 3068}(this, (function (moment) { 'use strict'; 3069 3070 //! moment.js locale configuration 3071 3072 var ka = moment.defineLocale('ka', { 3073 months: 'áááááá á_ááááá áááá_ááá á¢á_ááá ááá_áááá¡á_ááááá¡á_ááááá¡á_ááááá¡á¢á_á¡áá¥á¢ááááá á_áá¥á¢ááááá á_ááááááá á_áááááááá á'.split( 3074 '_' 3075 ), 3076 monthsShort: 'ááá_ááá_ááá _ááá _ááá_ááá_ááá_ááá_á¡áá¥_áá¥á¢_ááá_ááá'.split('_'), 3077 weekdays: { 3078 standalone: 3079 'áááá á_áá á¨ááááá_á¡ááá¨ááááá_ááá®á¨ááááá_á®á£áá¨ááááá_ááá áá¡áááá_á¨ááááá'.split( 3080 '_' 3081 ), 3082 format: 'áááá áá¡_áá á¨ááááá¡_á¡ááá¨ááááá¡_ááá®á¨ááááá¡_á®á£áá¨ááááá¡_ááá áá¡áááá¡_á¨ááááá¡'.split( 3083 '_' 3084 ), 3085 isFormat: /(á¬ááá|á¨ááááá)/, 3086 }, 3087 weekdaysShort: 'ááá_áá á¨_á¡áá_ááá®_á®á£á_ááá _á¨áá'.split('_'), 3088 weekdaysMin: 'áá_áá _á¡á_áá_á®á£_áá_á¨á'.split('_'), 3089 longDateFormat: { 3090 LT: 'HH:mm', 3091 LTS: 'HH:mm:ss', 3092 L: 'DD/MM/YYYY', 3093 LL: 'D MMMM YYYY', 3094 LLL: 'D MMMM YYYY HH:mm', 3095 LLLL: 'dddd, D MMMM YYYY HH:mm', 3096 }, 3097 calendar: { 3098 sameDay: '[áá¦áá¡] LT[-áá]', 3099 nextDay: '[á®ááá] LT[-áá]', 3100 lastDay: '[áá£á¨áá] LT[-áá]', 3101 nextWeek: '[á¨ááááá] dddd LT[-áá]', 3102 lastWeek: '[á¬ááá] dddd LT-áá', 3103 sameElse: 'L', 3104 }, 3105 relativeTime: { 3106 future: function (s) { 3107 return s.replace( 3108 /(á¬áá|á¬á£á|á¡ááá|á¬áá|áá¦|áá)(á|á)/, 3109 function ($0, $1, $2) { 3110 return $2 === 'á' ? $1 + 'á¨á' : $1 + $2 + 'á¨á'; 3111 } 3112 ); 3113 }, 3114 past: function (s) { 3115 if (/(á¬ááá|á¬á£áá|á¡áááá|áá¦á|ááá)/.test(s)) { 3116 return s.replace(/(á|á)$/, 'áá¡ á¬áá'); 3117 } 3118 if (/á¬ááá/.test(s)) { 3119 return s.replace(/á¬ááá$/, 'á¬ááá¡ á¬áá'); 3120 } 3121 return s; 3122 }, 3123 s: 'á áááááááá á¬ááá', 3124 ss: '%d á¬ááá', 3125 m: 'á¬á£áá', 3126 mm: '%d á¬á£áá', 3127 h: 'á¡áááá', 3128 hh: '%d á¡áááá', 3129 d: 'áá¦á', 3130 dd: '%d áá¦á', 3131 M: 'ááá', 3132 MM: '%d ááá', 3133 y: 'á¬ááá', 3134 yy: '%d á¬ááá', 3135 }, 3136 dayOfMonthOrdinalParse: /0|1-áá|áá-\d{1,2}|\d{1,2}-á/, 3137 ordinal: function (number) { 3138 if (number === 0) { 3139 return number; 3140 } 3141 if (number === 1) { 3142 return number + '-áá'; 3143 } 3144 if ( 3145 number < 20 || 3146 (number <= 100 && number % 20 === 0) || 3147 number % 100 === 0 3148 ) { 3149 return 'áá-' + number; 3150 } 3151 return number + '-á'; 3152 }, 3153 week: { 3154 dow: 1, 3155 doy: 7, 3156 }, 3157 }); 3158 3159 return ka; 3160 3161}))); 3162 3163 3164/***/ }), 3165 3166/***/ 1827:
3167/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3168 3169//! moment.js locale configuration 3170//! locale : Italian (Switzerland) [it-ch] 3171//! author : xfh : https://github.com/xfh 3172 3173;(function (global, factory) { 3174 true ? factory(__webpack_require__(5093)) : 3175 0 3176}(this, (function (moment) { 'use strict'; 3177 3178 //! moment.js locale configuration 3179 3180 var itCh = moment.defineLocale('it-ch', { 3181 months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( 3182 '_' 3183 ), 3184 monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 3185 weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( 3186 '_' 3187 ), 3188 weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 3189 weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), 3190 longDateFormat: { 3191 LT: 'HH:mm', 3192 LTS: 'HH:mm:ss', 3193 L: 'DD.MM.YYYY', 3194 LL: 'D MMMM YYYY', 3195 LLL: 'D MMMM YYYY HH:mm', 3196 LLLL: 'dddd D MMMM YYYY HH:mm', 3197 }, 3198 calendar: { 3199 sameDay: '[Oggi alle] LT', 3200 nextDay: '[Domani alle] LT', 3201 nextWeek: 'dddd [alle] LT', 3202 lastDay: '[Ieri alle] LT', 3203 lastWeek: function () { 3204 switch (this.day()) { 3205 case 0: 3206 return '[la scorsa] dddd [alle] LT'; 3207 default: 3208 return '[lo scorso] dddd [alle] LT'; 3209 } 3210 }, 3211 sameElse: 'L', 3212 }, 3213 relativeTime: { 3214 future: function (s) { 3215 return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; 3216 }, 3217 past: '%s fa', 3218 s: 'alcuni secondi', 3219 ss: '%d secondi', 3220 m: 'un minuto', 3221 mm: '%d minuti', 3222 h: "un'ora", 3223 hh: '%d ore', 3224 d: 'un giorno', 3225 dd: '%d giorni', 3226 M: 'un mese', 3227 MM: '%d mesi', 3228 y: 'un anno', 3229 yy: '%d anni', 3230 }, 3231 dayOfMonthOrdinalParse: /\d{1,2}º/, 3232 ordinal: '%dº', 3233 week: { 3234 dow: 1, // Monday is the first day of the week. 3235 doy: 4, // The week that contains Jan 4th is the first week of the year. 3236 }, 3237 }); 3238 3239 return itCh; 3240 3241}))); 3242 3243 3244/***/ }), 3245 3246/***/ 1848: 3247/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3248 3249//! moment.js locale configuration 3250//! locale : Maori [mi] 3251//! author : John Corrigan <[email protected]> : https://github.com/johnideal 3252 3253;(function (global, factory) { 3254 true ? factory(__webpack_require__(5093)) : 3255 0 3256}(this, (function (moment) { 'use strict'; 3257 3258 //! moment.js locale configuration 3259 3260 var mi = moment.defineLocale('mi', { 3261 months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split( 3262 '_' 3263 ), 3264 monthsShort: 3265 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( 3266 '_' 3267 ), 3268 monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 3269 monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 3270 monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 3271 monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, 3272 weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), 3273 weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 3274 weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 3275 longDateFormat: { 3276 LT: 'HH:mm', 3277 LTS: 'HH:mm:ss', 3278 L: 'DD/MM/YYYY', 3279 LL: 'D MMMM YYYY', 3280 LLL: 'D MMMM YYYY [i] HH:mm', 3281 LLLL: 'dddd, D MMMM YYYY [i] HH:mm', 3282 }, 3283 calendar: { 3284 sameDay: '[i teie mahana, i] LT', 3285 nextDay: '[apopo i] LT', 3286 nextWeek: 'dddd [i] LT', 3287 lastDay: '[inanahi i] LT', 3288 lastWeek: 'dddd [whakamutunga i] LT', 3289 sameElse: 'L', 3290 }, 3291 relativeTime: { 3292 future: 'i roto i %s', 3293 past: '%s i mua', 3294 s: 'te hÄkona ruarua', 3295 ss: '%d hÄkona', 3296 m: 'he meneti', 3297 mm: '%d meneti', 3298 h: 'te haora', 3299 hh: '%d haora', 3300 d: 'he ra', 3301 dd: '%d ra', 3302 M: 'he marama', 3303 MM: '%d marama', 3304 y: 'he tau', 3305 yy: '%d tau', 3306 }, 3307 dayOfMonthOrdinalParse: /\d{1,2}º/, 3308 ordinal: '%dº', 3309 week: { 3310 dow: 1, // Monday is the first day of the week. 3311 doy: 4, // The week that contains Jan 4th is the first week of the year. 3312 }, 3313 }); 3314 3315 return mi; 3316 3317}))); 3318 3319 3320/***/ }), 3321 3322/***/ 1885: 3323/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3324 3325//! moment.js locale configuration 3326//! locale : Telugu [te] 3327//! author : Krishna Chaitanya Thota : https://github.com/kcthota 3328 3329;(function (global, factory) { 3330 true ? factory(__webpack_require__(5093)) : 3331 0 3332}(this, (function (moment) { 'use strict'; 3333 3334 //! moment.js locale configuration 3335 3336 var te = moment.defineLocale('te', { 3337 months: 'à°à°¨à°µà°°à°¿_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°à°¿_à°à°ªà±à°°à°¿à°²à±_à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°à°¸à±à°à±_à°¸à±à°ªà±à°à±à°à°¬à°°à±_à° à°à±à°à±à°¬à°°à±_నవà°à°¬à°°à±_à°¡à°¿à°¸à±à°à°¬à°°à±'.split( 3338 '_' 3339 ), 3340 monthsShort: 3341 'à°à°¨._à°«à°¿à°¬à±à°°._మారà±à°à°¿_à°à°ªà±à°°à°¿._à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°._à°¸à±à°ªà±._à° à°à±à°à±._నవ._à°¡à°¿à°¸à±.'.split( 3342 '_' 3343 ), 3344 monthsParseExact: true, 3345 weekdays: 3346 'à°à°¦à°¿à°µà°¾à°°à°_à°¸à±à°®à°µà°¾à°°à°_à°®à°à°à°³à°µà°¾à°°à°_à°¬à±à°§à°µà°¾à°°à°_à°à±à°°à±à°µà°¾à°°à°_à°¶à±à°à±à°°à°µà°¾à°°à°_శనివారà°'.split( 3347 '_' 3348 ), 3349 weekdaysShort: 'à°à°¦à°¿_à°¸à±à°®_à°®à°à°à°³_à°¬à±à°§_à°à±à°°à±_à°¶à±à°à±à°°_శని'.split('_'), 3350 weekdaysMin: 'à°_à°¸à±_à°®à°_à°¬à±_à°à±_à°¶à±_à°¶'.split('_'), 3351 longDateFormat: { 3352 LT: 'A h:mm', 3353 LTS: 'A h:mm:ss', 3354 L: 'DD/MM/YYYY', 3355 LL: 'D MMMM YYYY', 3356 LLL: 'D MMMM YYYY, A h:mm', 3357 LLLL: 'dddd, D MMMM YYYY, A h:mm', 3358 }, 3359 calendar: { 3360 sameDay: '[à°¨à±à°¡à±] LT', 3361 nextDay: '[à°°à±à°ªà±] LT', 3362 nextWeek: 'dddd, LT', 3363 lastDay: '[నినà±à°¨] LT', 3364 lastWeek: '[à°à°¤] dddd, LT', 3365 sameElse: 'L', 3366 }, 3367 relativeTime: { 3368 future: '%s à°²à±', 3369 past: '%s à°à±à°°à°¿à°¤à°', 3370 s: 'à°à±à°¨à±à°¨à°¿ à°à±à°·à°£à°¾à°²à±', 3371 ss: '%d à°¸à±à°à°¨à±à°²à±', 3372 m: 'à°à° నిమిషà°', 3373 mm: '%d నిమిషాలà±', 3374 h: 'à°à° à°à°à°', 3375 hh: '%d à°à°à°à°²à±', 3376 d: 'à°à° à°°à±à°à±', 3377 dd: '%d à°°à±à°à±à°²à±', 3378 M: 'à°à° à°¨à±à°²', 3379 MM: '%d à°¨à±à°²à°²à±', 3380 y: 'à°à° à°¸à°à°µà°¤à±à°¸à°°à°', 3381 yy: '%d à°¸à°à°µà°¤à±à°¸à°°à°¾à°²à±', 3382 }, 3383 dayOfMonthOrdinalParse: /\d{1,2}à°µ/,
vendor: 12,614 bytes, lines 3384-3707
3384 ordinal: '%dà°µ', 3385 meridiemParse: /రాతà±à°°à°¿|à°à°¦à°¯à°|మధà±à°¯à°¾à°¹à±à°¨à°|సాయà°à°¤à±à°°à°/, 3386 meridiemHour: function (hour, meridiem) { 3387 if (hour === 12) { 3388 hour = 0; 3389 } 3390 if (meridiem === 'రాతà±à°°à°¿') { 3391 return hour < 4 ? hour : hour + 12; 3392 } else if (meridiem === 'à°à°¦à°¯à°') { 3393 return hour; 3394 } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°') { 3395 return hour >= 10 ? hour : hour + 12; 3396 } else if (meridiem === 'సాయà°à°¤à±à°°à°') { 3397 return hour + 12; 3398 } 3399 }, 3400 meridiem: function (hour, minute, isLower) { 3401 if (hour < 4) { 3402 return 'రాతà±à°°à°¿'; 3403 } else if (hour < 10) { 3404 return 'à°à°¦à°¯à°'; 3405 } else if (hour < 17) { 3406 return 'మధà±à°¯à°¾à°¹à±à°¨à°'; 3407 } else if (hour < 20) { 3408 return 'సాయà°à°¤à±à°°à°'; 3409 } else { 3410 return 'రాతà±à°°à°¿'; 3411 } 3412 }, 3413 week: { 3414 dow: 0, // Sunday is the first day of the week. 3415 doy: 6, // The week that contains Jan 6th is the first week of the year. 3416 }, 3417 }); 3418 3419 return te; 3420 3421}))); 3422 3423 3424/***/ }), 3425 3426/***/ 2124: 3427/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3428 3429//! moment.js locale configuration 3430//! locale : Konkani Devanagari script [gom-deva] 3431//! author : The Discoverer : https://github.com/WikiDiscoverer 3432 3433;(function (global, factory) { 3434 true ? factory(__webpack_require__(5093)) : 3435 0 3436}(this, (function (moment) { 'use strict'; 3437 3438 //! moment.js locale configuration 3439 3440 function processRelativeTime(number, withoutSuffix, key, isFuture) { 3441 var format = { 3442 s: ['थà¥à¤¡à¤¯à¤¾ सॠà¤à¤à¤¡à¤¾à¤à¤¨à¥', 'थà¥à¤¡à¥ सॠà¤à¤à¤¡'], 3443 ss: [number + ' सॠà¤à¤à¤¡à¤¾à¤à¤¨à¥', number + ' सॠà¤à¤à¤¡'], 3444 m: ['à¤à¤à¤¾ मिणà¤à¤¾à¤¨', 'à¤à¤ मिनà¥à¤'], 3445 mm: [number + ' मिणà¤à¤¾à¤à¤¨à¥', number + ' मिणà¤à¤¾à¤'], 3446 h: ['à¤à¤à¤¾ वरान', 'à¤à¤ वर'], 3447 hh: [number + ' वराà¤à¤¨à¥', number + ' वराà¤'], 3448 d: ['à¤à¤à¤¾ दिसान', 'à¤à¤ दà¥à¤¸'], 3449 dd: [number + ' दिसाà¤à¤¨à¥', number + ' दà¥à¤¸'], 3450 M: ['à¤à¤à¤¾ मà¥à¤¹à¤¯à¤¨à¥à¤¯à¤¾à¤¨', 'à¤à¤ मà¥à¤¹à¤¯à¤¨à¥'], 3451 MM: [number + ' मà¥à¤¹à¤¯à¤¨à¥à¤¯à¤¾à¤¨à¥', number + ' मà¥à¤¹à¤¯à¤¨à¥'], 3452 y: ['à¤à¤à¤¾ वरà¥à¤¸à¤¾à¤¨', 'à¤à¤ वरà¥à¤¸'], 3453 yy: [number + ' वरà¥à¤¸à¤¾à¤à¤¨à¥', number + ' वरà¥à¤¸à¤¾à¤'], 3454 }; 3455 return isFuture ? format[key][0] : format[key][1]; 3456 } 3457 3458 var gomDeva = moment.defineLocale('gom-deva', { 3459 months: { 3460 standalone: 3461 'à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥_मारà¥à¤_à¤à¤ªà¥à¤°à¥à¤²_मà¥_à¤à¥à¤¨_à¤à¥à¤²à¤¯_à¤à¤à¤¸à¥à¤_सपà¥à¤à¥à¤à¤¬à¤°_à¤à¤à¥à¤à¥à¤¬à¤°_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°_डिसà¥à¤à¤¬à¤°'.split( 3462 '_' 3463 ), 3464 format: 'à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥à¤à¥à¤¯à¤¾_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥à¤à¥à¤¯à¤¾_मारà¥à¤à¤¾à¤à¥à¤¯à¤¾_à¤à¤ªà¥à¤°à¥à¤²à¤¾à¤à¥à¤¯à¤¾_मà¥à¤¯à¤¾à¤à¥à¤¯à¤¾_à¤à¥à¤¨à¤¾à¤à¥à¤¯à¤¾_à¤à¥à¤²à¤¯à¤¾à¤à¥à¤¯à¤¾_à¤à¤à¤¸à¥à¤à¤¾à¤à¥à¤¯à¤¾_सपà¥à¤à¥à¤à¤¬à¤°à¤¾à¤à¥à¤¯à¤¾_à¤à¤à¥à¤à¥à¤¬à¤°à¤¾à¤à¥à¤¯à¤¾_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°à¤¾à¤à¥à¤¯à¤¾_डिसà¥à¤à¤¬à¤°à¤¾à¤à¥à¤¯à¤¾'.split( 3465 '_' 3466 ), 3467 isFormat: /MMMM(\s)+D[oD]?/, 3468 }, 3469 monthsShort: 3470 'à¤à¤¾à¤¨à¥._फà¥à¤¬à¥à¤°à¥._मारà¥à¤_à¤à¤ªà¥à¤°à¥._मà¥_à¤à¥à¤¨_à¤à¥à¤²._à¤à¤._सपà¥à¤à¥à¤._à¤à¤à¥à¤à¥._नà¥à¤µà¥à¤¹à¥à¤._डिसà¥à¤.'.split( 3471 '_' 3472 ), 3473 monthsParseExact: true, 3474 weekdays: 'à¤à¤¯à¤¤à¤¾à¤°_सà¥à¤®à¤¾à¤°_मà¤à¤à¤³à¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_बिरà¥à¤¸à¥à¤¤à¤¾à¤°_सà¥à¤à¥à¤°à¤¾à¤°_शà¥à¤¨à¤µà¤¾à¤°'.split('_'), 3475 weekdaysShort: 'à¤à¤¯à¤¤._सà¥à¤®._मà¤à¤à¤³._बà¥à¤§._बà¥à¤°à¥à¤¸à¥à¤¤._सà¥à¤à¥à¤°._शà¥à¤¨.'.split('_'), 3476 weekdaysMin: 'à¤_सà¥_मà¤_बà¥_बà¥à¤°à¥_सà¥_शà¥'.split('_'), 3477 weekdaysParseExact: true, 3478 longDateFormat: { 3479 LT: 'A h:mm [वाà¤à¤¤à¤¾à¤]', 3480 LTS: 'A h:mm:ss [वाà¤à¤¤à¤¾à¤]', 3481 L: 'DD-MM-YYYY', 3482 LL: 'D MMMM YYYY', 3483 LLL: 'D MMMM YYYY A h:mm [वाà¤à¤¤à¤¾à¤]', 3484 LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाà¤à¤¤à¤¾à¤]', 3485 llll: 'ddd, D MMM YYYY, A h:mm [वाà¤à¤¤à¤¾à¤]', 3486 }, 3487 calendar: { 3488 sameDay: '[à¤à¤¯à¤] LT', 3489 nextDay: '[फालà¥à¤¯à¤¾à¤] LT', 3490 nextWeek: '[फà¥à¤¡à¤²à¥] dddd[,] LT', 3491 lastDay: '[à¤à¤¾à¤²] LT', 3492 lastWeek: '[फाà¤à¤²à¥] dddd[,] LT', 3493 sameElse: 'L', 3494 }, 3495 relativeTime: { 3496 future: '%s', 3497 past: '%s à¤à¤¦à¥à¤', 3498 s: processRelativeTime, 3499 ss: processRelativeTime, 3500 m: processRelativeTime, 3501 mm: processRelativeTime, 3502 h: processRelativeTime, 3503 hh: processRelativeTime, 3504 d: processRelativeTime, 3505 dd: processRelativeTime, 3506 M: processRelativeTime, 3507 MM: processRelativeTime, 3508 y: processRelativeTime, 3509 yy: processRelativeTime, 3510 }, 3511 dayOfMonthOrdinalParse: /\d{1,2}(वà¥à¤°)/, 3512 ordinal: function (number, period) { 3513 switch (period) { 3514 // the ordinal 'वà¥à¤°' only applies to day of the month 3515 case 'D': 3516 return number + 'वà¥à¤°'; 3517 default: 3518 case 'M': 3519 case 'Q': 3520 case 'DDD': 3521 case 'd': 3522 case 'w': 3523 case 'W': 3524 return number; 3525 } 3526 }, 3527 week: { 3528 dow: 0, // Sunday is the first day of the week 3529 doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) 3530 }, 3531 meridiemParse: /रातà¥|सà¤à¤¾à¤³à¥à¤|दनपाराà¤|साà¤à¤à¥/, 3532 meridiemHour: function (hour, meridiem) { 3533 if (hour === 12) { 3534 hour = 0; 3535 } 3536 if (meridiem === 'रातà¥') { 3537 return hour < 4 ? hour : hour + 12; 3538 } else if (meridiem === 'सà¤à¤¾à¤³à¥à¤') { 3539 return hour; 3540 } else if (meridiem === 'दनपाराà¤') { 3541 return hour > 12 ? hour : hour + 12; 3542 } else if (meridiem === 'साà¤à¤à¥') { 3543 return hour + 12; 3544 } 3545 }, 3546 meridiem: function (hour, minute, isLower) { 3547 if (hour < 4) { 3548 return 'रातà¥'; 3549 } else if (hour < 12) { 3550 return 'सà¤à¤¾à¤³à¥à¤'; 3551 } else if (hour < 16) { 3552 return 'दनपाराà¤'; 3553 } else if (hour < 20) { 3554 return 'साà¤à¤à¥'; 3555 } else { 3556 return 'रातà¥'; 3557 } 3558 }, 3559 }); 3560 3561 return gomDeva; 3562 3563}))); 3564 3565 3566/***/ }), 3567 3568/***/ 2218: 3569/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3570 3571//! moment.js locale configuration 3572//! locale : Yoruba Nigeria [yo] 3573//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe 3574 3575;(function (global, factory) { 3576 true ? factory(__webpack_require__(5093)) : 3577 0 3578}(this, (function (moment) { 'use strict'; 3579 3580 //! moment.js locale configuration 3581 3582 var yo = moment.defineLocale('yo', { 3583 months: 'SẹÌrẹÌ_EÌreÌleÌ_ẸrẹÌnaÌ_IÌgbeÌ_EÌbibi_OÌkuÌdu_Agẹmo_OÌguÌn_Owewe_á»ÌwaÌraÌ_BeÌluÌ_á»ÌpẹÌÌ'.split( 3584 '_' 3585 ), 3586 monthsShort: 'SẹÌr_EÌrl_Ẹrn_IÌgb_EÌbi_OÌkuÌ_Agẹ_OÌguÌ_Owe_á»ÌwaÌ_BeÌl_á»ÌpẹÌÌ'.split('_'), 3587 weekdays: 'AÌiÌkuÌ_AjeÌ_IÌsẹÌgun_á»já»ÌruÌ_á»já»Ìbá»_ẸtiÌ_AÌbaÌmẹÌta'.split('_'), 3588 weekdaysShort: 'AÌiÌk_AjeÌ_IÌsẹÌ_á»jr_á»jb_ẸtiÌ_AÌbaÌ'.split('_'), 3589 weekdaysMin: 'AÌiÌ_Aj_IÌs_á»r_á»b_Ẹt_AÌb'.split('_'), 3590 longDateFormat: { 3591 LT: 'h:mm A', 3592 LTS: 'h:mm:ss A', 3593 L: 'DD/MM/YYYY', 3594 LL: 'D MMMM YYYY', 3595 LLL: 'D MMMM YYYY h:mm A', 3596 LLLL: 'dddd, D MMMM YYYY h:mm A', 3597 }, 3598 calendar: { 3599 sameDay: '[OÌniÌ ni] LT', 3600 nextDay: '[á»Ìla ni] LT', 3601 nextWeek: "dddd [á»sáº¹Ì toÌn'bá»] [ni] LT", 3602 lastDay: '[AÌna ni] LT', 3603 lastWeek: 'dddd [á»sáº¹Ì toÌlá»Ì] [ni] LT', 3604 sameElse: 'L', 3605 }, 3606 relativeTime: { 3607 future: 'niÌ %s', 3608 past: '%s ká»jaÌ', 3609 s: 'iÌsẹjuÌ aayaÌ die', 3610 ss: 'aayaÌ %d', 3611 m: 'iÌsẹjuÌ kan', 3612 mm: 'iÌsẹjuÌ %d', 3613 h: 'waÌkati kan', 3614 hh: 'waÌkati %d', 3615 d: 'á»já»Ì kan', 3616 dd: 'á»já»Ì %d', 3617 M: 'osuÌ kan', 3618 MM: 'osuÌ %d', 3619 y: 'á»duÌn kan', 3620 yy: 'á»duÌn %d', 3621 }, 3622 dayOfMonthOrdinalParse: /á»já»Ì\s\d{1,2}/, 3623 ordinal: 'á»já»Ì %d', 3624 week: { 3625 dow: 1, // Monday is the first day of the week. 3626 doy: 4, // The week that contains Jan 4th is the first week of the year. 3627 }, 3628 }); 3629 3630 return yo; 3631 3632}))); 3633 3634 3635/***/ }), 3636 3637/***/ 2264: 3638/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3639 3640//! moment.js locale configuration 3641//! locale : Burmese [my] 3642//! author : Squar team, mysquar.com 3643//! author : David Rossellat : https://github.com/gholadr 3644//! author : Tin Aung Lin : https://github.com/thanyawzinmin 3645 3646;(function (global, factory) { 3647 true ? factory(__webpack_require__(5093)) : 3648 0 3649}(this, (function (moment) { 'use strict'; 3650 3651 //! moment.js locale configuration 3652 3653 var symbolMap = { 3654 1: 'á', 3655 2: 'á', 3656 3: 'á', 3657 4: 'á', 3658 5: 'á ', 3659 6: 'á', 3660 7: 'á', 3661 8: 'á', 3662 9: 'á', 3663 0: 'á', 3664 }, 3665 numberMap = { 3666 'á': '1', 3667 'á': '2', 3668 'á': '3', 3669 'á': '4', 3670 'á ': '5', 3671 'á': '6', 3672 'á': '7', 3673 'á': '8', 3674 'á': '9', 3675 'á': '0', 3676 }; 3677 3678 var my = moment.defineLocale('my', { 3679 months: 'áááºááá«áá®_áá±áá±á¬áºáá«áá®_áááº_á§áá¼á®_áá±_áá½ááº_áá°ááá¯ááº_áá¼áá¯ááº_á ááºáááºáá¬_á¡á±á¬ááºááá¯áá¬_ááá¯áááºáá¬_áá®áááºáá¬'.split( 3680 '_' 3681 ), 3682 monthsShort: 'áááº_áá±_áááº_áá¼á®_áá±_áá½ááº_ááá¯ááº_áá¼_á ááº_á¡á±á¬ááº_ááá¯_áá®'.split('_'), 3683 weekdays: 'ááááºá¹ááá½á±_ááááºá¹áá¬_á¡ááºá¹áá«_áá¯áá¹ááá°á¸_áá¼á¬áááá±á¸_áá±á¬áá¼á¬_á áá±'.split( 3684 '_' 3685 ), 3686 weekdaysShort: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 3687 weekdaysMin: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 3688 3689 longDateFormat: { 3690 LT: 'HH:mm', 3691 LTS: 'HH:mm:ss', 3692 L: 'DD/MM/YYYY', 3693 LL: 'D MMMM YYYY', 3694 LLL: 'D MMMM YYYY HH:mm', 3695 LLLL: 'dddd D MMMM YYYY HH:mm', 3696 }, 3697 calendar: { 3698 sameDay: '[ááá±.] LT [áá¾á¬]', 3699 nextDay: '[ááááºáá¼ááº] LT [áá¾á¬]', 3700 nextWeek: 'dddd LT [áá¾á¬]', 3701 lastDay: '[ááá±.á] LT [áá¾á¬]', 3702 lastWeek: '[áá¼á®á¸áá²á·áá±á¬] dddd LT [áá¾á¬]', 3703 sameElse: 'L', 3704 }, 3705 relativeTime: { 3706 future: 'áá¬áááºá· %s áá¾á¬', 3707 past: 'áá½ááºáá²á·áá±á¬ %s á',
vendor: 5,530 bytes, lines 3708-3840
3708 s: 'á áá¹áááº.á¡áááºá¸áááº', 3709 ss: '%d á áá¹ááá·áº', 3710 m: 'áá áºáááá áº', 3711 mm: '%d áááá áº', 3712 h: 'áá áºáá¬áá®', 3713 hh: '%d áá¬áá®', 3714 d: 'áá áºáááº', 3715 dd: '%d áááº', 3716 M: 'áá áºá', 3717 MM: '%d á', 3718 y: 'áá áºáá¾á áº', 3719 yy: '%d áá¾á áº', 3720 }, 3721 preparse: function (string) { 3722 return string.replace(/[ááááá ááááá]/g, function (match) { 3723 return numberMap[match]; 3724 }); 3725 }, 3726 postformat: function (string) { 3727 return string.replace(/\d/g, function (match) { 3728 return symbolMap[match]; 3729 }); 3730 }, 3731 week: { 3732 dow: 1, // Monday is the first day of the week. 3733 doy: 4, // The week that contains Jan 4th is the first week of the year. 3734 }, 3735 }); 3736 3737 return my; 3738 3739}))); 3740 3741 3742/***/ }), 3743 3744/***/ 2271: 3745/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3746 3747//! moment.js locale configuration 3748//! locale : Russian [ru] 3749//! author : Viktorminator : https://github.com/Viktorminator 3750//! author : Menelion Elensúle : https://github.com/Oire 3751//! author : ÐоÑенбеÑг ÐаÑк : https://github.com/socketpair 3752 3753;(function (global, factory) { 3754 true ? factory(__webpack_require__(5093)) : 3755 0 3756}(this, (function (moment) { 'use strict'; 3757 3758 //! moment.js locale configuration 3759 3760 function plural(word, num) { 3761 var forms = word.split('_'); 3762 return num % 10 === 1 && num % 100 !== 11 3763 ? forms[0] 3764 : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) 3765 ? forms[1] 3766 : forms[2]; 3767 } 3768 function relativeTimeWithPlural(number, withoutSuffix, key) { 3769 var format = { 3770 ss: withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 3771 mm: withoutSuffix ? 'минÑÑа_минÑÑÑ_минÑÑ' : 'минÑÑÑ_минÑÑÑ_минÑÑ', 3772 hh: 'ÑаÑ_ÑаÑа_ÑаÑов', 3773 dd: 'денÑ_днÑ_дней', 3774 ww: 'неделÑ_недели_неделÑ', 3775 MM: 'меÑÑÑ_меÑÑÑа_меÑÑÑев', 3776 yy: 'год_года_леÑ', 3777 }; 3778 if (key === 'm') { 3779 return withoutSuffix ? 'минÑÑа' : 'минÑÑÑ'; 3780 } else { 3781 return number + ' ' + plural(format[key], +number); 3782 } 3783 } 3784 var monthsParse = [ 3785 /^Ñнв/i, 3786 /^Ñев/i, 3787 /^маÑ/i, 3788 /^апÑ/i, 3789 /^ма[йÑ]/i, 3790 /^иÑн/i, 3791 /^иÑл/i, 3792 /^авг/i, 3793 /^Ñен/i, 3794 /^окÑ/i, 3795 /^ноÑ/i, 3796 /^дек/i, 3797 ]; 3798 3799 // http://new.gramota.ru/spravka/rules/139-prop : § 103 3800 // СокÑаÑÐµÐ½Ð¸Ñ Ð¼ÐµÑÑÑев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 3801 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 3802 var ru = moment.defineLocale('ru', { 3803 months: { 3804 format: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split( 3805 '_' 3806 ), 3807 standalone: 3808 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split( 3809 '_' 3810 ), 3811 }, 3812 monthsShort: { 3813 // по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑкÑ? 3814 format: 'Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split( 3815 '_' 3816 ), 3817 standalone: 3818 'Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split( 3819 '_' 3820 ), 3821 }, 3822 weekdays: { 3823 standalone: 3824 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа'.split( 3825 '_' 3826 ), 3827 format: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ'.split( 3828 '_' 3829 ), 3830 isFormat: /\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?] ?dddd/, 3831 }, 3832 weekdaysShort: 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 3833 weekdaysMin: 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 3834 monthsParse: monthsParse, 3835 longMonthsParse: monthsParse, 3836 shortMonthsParse: monthsParse, 3837 3838 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по ÑÑи бÑквÑ, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ , по 4 бÑквÑ, ÑокÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑкой и без ÑоÑки 3839 monthsRegex: 3840 /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i,
vendor: 16,025 bytes, lines 3841-4331
3841 3842 // ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедÑдÑÑего 3843 monthsShortRegex: 3844 /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 3845 3846 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ 3847 monthsStrictRegex: 3848 /^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[Ñй]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i, 3849 3850 // ÐÑÑажение, коÑоÑое ÑооÑвеÑÑÑвÑÐµÑ ÑолÑко ÑокÑаÑÑннÑм ÑоÑмам 3851 monthsShortStrictRegex: 3852 /^(Ñнв\.|ÑевÑ?\.|маÑ[Ñ.]|апÑ\.|ма[Ñй]|иÑн[ÑÑ.]|иÑл[ÑÑ.]|авг\.|ÑенÑ?\.|окÑ\.|ноÑб?\.|дек\.)/i, 3853 longDateFormat: { 3854 LT: 'H:mm', 3855 LTS: 'H:mm:ss', 3856 L: 'DD.MM.YYYY', 3857 LL: 'D MMMM YYYY г.', 3858 LLL: 'D MMMM YYYY г., H:mm', 3859 LLLL: 'dddd, D MMMM YYYY г., H:mm', 3860 }, 3861 calendar: { 3862 sameDay: '[СегоднÑ, в] LT', 3863 nextDay: '[ÐавÑÑа, в] LT', 3864 lastDay: '[ÐÑеÑа, в] LT', 3865 nextWeek: function (now) { 3866 if (now.week() !== this.week()) { 3867 switch (this.day()) { 3868 case 0: 3869 return '[Ð ÑледÑÑÑее] dddd, [в] LT'; 3870 case 1: 3871 case 2: 3872 case 4: 3873 return '[Ð ÑледÑÑÑий] dddd, [в] LT'; 3874 case 3: 3875 case 5: 3876 case 6: 3877 return '[Ð ÑледÑÑÑÑÑ] dddd, [в] LT'; 3878 } 3879 } else { 3880 if (this.day() === 2) { 3881 return '[Ðо] dddd, [в] LT'; 3882 } else { 3883 return '[Ð] dddd, [в] LT'; 3884 } 3885 } 3886 }, 3887 lastWeek: function (now) { 3888 if (now.week() !== this.week()) { 3889 switch (this.day()) { 3890 case 0: 3891 return '[РпÑоÑлое] dddd, [в] LT'; 3892 case 1: 3893 case 2: 3894 case 4: 3895 return '[РпÑоÑлÑй] dddd, [в] LT'; 3896 case 3: 3897 case 5: 3898 case 6: 3899 return '[РпÑоÑлÑÑ] dddd, [в] LT'; 3900 } 3901 } else { 3902 if (this.day() === 2) { 3903 return '[Ðо] dddd, [в] LT'; 3904 } else { 3905 return '[Ð] dddd, [в] LT'; 3906 } 3907 } 3908 }, 3909 sameElse: 'L', 3910 }, 3911 relativeTime: { 3912 future: 'ÑеÑез %s', 3913 past: '%s назад', 3914 s: 'неÑколÑко ÑекÑнд', 3915 ss: relativeTimeWithPlural, 3916 m: relativeTimeWithPlural, 3917 mm: relativeTimeWithPlural, 3918 h: 'ÑаÑ', 3919 hh: relativeTimeWithPlural, 3920 d: 'денÑ', 3921 dd: relativeTimeWithPlural, 3922 w: 'неделÑ', 3923 ww: relativeTimeWithPlural, 3924 M: 'меÑÑÑ', 3925 MM: relativeTimeWithPlural, 3926 y: 'год', 3927 yy: relativeTimeWithPlural, 3928 }, 3929 meridiemParse: /ноÑи|ÑÑÑа|днÑ|веÑеÑа/i, 3930 isPM: function (input) { 3931 return /^(днÑ|веÑеÑа)$/.test(input); 3932 }, 3933 meridiem: function (hour, minute, isLower) { 3934 if (hour < 4) { 3935 return 'ноÑи'; 3936 } else if (hour < 12) { 3937 return 'ÑÑÑа'; 3938 } else if (hour < 17) { 3939 return 'днÑ'; 3940 } else { 3941 return 'веÑеÑа'; 3942 } 3943 }, 3944 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, 3945 ordinal: function (number, period) { 3946 switch (period) { 3947 case 'M': 3948 case 'd': 3949 case 'DDD': 3950 return number + '-й'; 3951 case 'D': 3952 return number + '-го'; 3953 case 'w': 3954 case 'W': 3955 return number + '-Ñ'; 3956 default: 3957 return number; 3958 } 3959 }, 3960 week: { 3961 dow: 1, // Monday is the first day of the week. 3962 doy: 4, // The week that contains Jan 4th is the first week of the year. 3963 }, 3964 }); 3965 3966 return ru; 3967 3968}))); 3969 3970 3971/***/ }), 3972 3973/***/ 2274: 3974/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 3975 3976//! moment.js locale configuration 3977//! locale : Norwegian BokmÃ¥l [nb] 3978//! authors : Espen Hovlandsdal : https://github.com/rexxars 3979//! Sigurd Gartmann : https://github.com/sigurdga 3980//! Stephen Ramthun : https://github.com/stephenramthun 3981 3982;(function (global, factory) { 3983 true ? factory(__webpack_require__(5093)) : 3984 0 3985}(this, (function (moment) { 'use strict'; 3986 3987 //! moment.js locale configuration 3988 3989 var nb = moment.defineLocale('nb', { 3990 months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( 3991 '_' 3992 ), 3993 monthsShort: 3994 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), 3995 monthsParseExact: true, 3996 weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 3997 weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), 3998 weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), 3999 weekdaysParseExact: true, 4000 longDateFormat: { 4001 LT: 'HH:mm', 4002 LTS: 'HH:mm:ss', 4003 L: 'DD.MM.YYYY', 4004 LL: 'D. MMMM YYYY', 4005 LLL: 'D. MMMM YYYY [kl.] HH:mm', 4006 LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', 4007 }, 4008 calendar: { 4009 sameDay: '[i dag kl.] LT', 4010 nextDay: '[i morgen kl.] LT', 4011 nextWeek: 'dddd [kl.] LT', 4012 lastDay: '[i gÃ¥r kl.] LT', 4013 lastWeek: '[forrige] dddd [kl.] LT', 4014 sameElse: 'L', 4015 }, 4016 relativeTime: { 4017 future: 'om %s', 4018 past: '%s siden', 4019 s: 'noen sekunder', 4020 ss: '%d sekunder', 4021 m: 'ett minutt', 4022 mm: '%d minutter', 4023 h: 'én time', 4024 hh: '%d timer', 4025 d: 'én dag', 4026 dd: '%d dager', 4027 w: 'én uke', 4028 ww: '%d uker', 4029 M: 'én mÃ¥ned', 4030 MM: '%d mÃ¥neder', 4031 y: 'ett Ã¥r', 4032 yy: '%d Ã¥r', 4033 }, 4034 dayOfMonthOrdinalParse: /\d{1,2}\./, 4035 ordinal: '%d.', 4036 week: { 4037 dow: 1, // Monday is the first day of the week. 4038 doy: 4, // The week that contains Jan 4th is the first week of the year. 4039 }, 4040 }); 4041 4042 return nb; 4043 4044}))); 4045 4046 4047/***/ }), 4048 4049/***/ 2297: 4050/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4051 4052//! moment.js locale configuration 4053//! locale : Malay [ms-my] 4054//! note : DEPRECATED, the correct one is [ms] 4055//! author : Weldan Jamili : https://github.com/weldan 4056 4057;(function (global, factory) { 4058 true ? factory(__webpack_require__(5093)) : 4059 0 4060}(this, (function (moment) { 'use strict'; 4061 4062 //! moment.js locale configuration 4063 4064 var msMy = moment.defineLocale('ms-my', { 4065 months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( 4066 '_' 4067 ), 4068 monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 4069 weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 4070 weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 4071 weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 4072 longDateFormat: { 4073 LT: 'HH.mm', 4074 LTS: 'HH.mm.ss', 4075 L: 'DD/MM/YYYY', 4076 LL: 'D MMMM YYYY', 4077 LLL: 'D MMMM YYYY [pukul] HH.mm', 4078 LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', 4079 }, 4080 meridiemParse: /pagi|tengahari|petang|malam/, 4081 meridiemHour: function (hour, meridiem) { 4082 if (hour === 12) { 4083 hour = 0; 4084 } 4085 if (meridiem === 'pagi') { 4086 return hour; 4087 } else if (meridiem === 'tengahari') { 4088 return hour >= 11 ? hour : hour + 12; 4089 } else if (meridiem === 'petang' || meridiem === 'malam') { 4090 return hour + 12; 4091 } 4092 }, 4093 meridiem: function (hours, minutes, isLower) { 4094 if (hours < 11) { 4095 return 'pagi'; 4096 } else if (hours < 15) { 4097 return 'tengahari'; 4098 } else if (hours < 19) { 4099 return 'petang'; 4100 } else { 4101 return 'malam'; 4102 } 4103 }, 4104 calendar: { 4105 sameDay: '[Hari ini pukul] LT', 4106 nextDay: '[Esok pukul] LT', 4107 nextWeek: 'dddd [pukul] LT', 4108 lastDay: '[Kelmarin pukul] LT', 4109 lastWeek: 'dddd [lepas pukul] LT', 4110 sameElse: 'L', 4111 }, 4112 relativeTime: { 4113 future: 'dalam %s', 4114 past: '%s yang lepas', 4115 s: 'beberapa saat', 4116 ss: '%d saat', 4117 m: 'seminit', 4118 mm: '%d minit', 4119 h: 'sejam', 4120 hh: '%d jam', 4121 d: 'sehari', 4122 dd: '%d hari', 4123 M: 'sebulan', 4124 MM: '%d bulan', 4125 y: 'setahun', 4126 yy: '%d tahun', 4127 }, 4128 week: { 4129 dow: 1, // Monday is the first day of the week. 4130 doy: 7, // The week that contains Jan 7th is the first week of the year. 4131 }, 4132 }); 4133 4134 return msMy; 4135 4136}))); 4137 4138 4139/***/ }), 4140 4141/***/ 2353: 4142/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4143 4144//! moment.js locale configuration 4145//! locale : Arabic (Libya) [ar-ly] 4146//! author : Ali Hmer: https://github.com/kikoanis 4147 4148;(function (global, factory) { 4149 true ? factory(__webpack_require__(5093)) : 4150 0 4151}(this, (function (moment) { 'use strict'; 4152 4153 //! moment.js locale configuration 4154 4155 var symbolMap = { 4156 1: '1', 4157 2: '2', 4158 3: '3', 4159 4: '4', 4160 5: '5', 4161 6: '6', 4162 7: '7', 4163 8: '8', 4164 9: '9', 4165 0: '0', 4166 }, 4167 pluralForm = function (n) { 4168 return n === 0 4169 ? 0 4170 : n === 1 4171 ? 1 4172 : n === 2 4173 ? 2 4174 : n % 100 >= 3 && n % 100 <= 10 4175 ? 3 4176 : n % 100 >= 11 4177 ? 4 4178 : 5; 4179 }, 4180 plurals = { 4181 s: [ 4182 'Ø£Ù٠٠٠ثاÙÙØ©', 4183 'ثاÙÙØ© ÙØ§ØØ¯Ø©', 4184 ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], 4185 '%d Ø«ÙØ§Ù', 4186 '%d ثاÙÙØ©', 4187 '%d ثاÙÙØ©', 4188 ], 4189 m: [ 4190 'Ø£Ù٠٠٠دÙÙÙØ©', 4191 'دÙÙÙØ© ÙØ§ØØ¯Ø©', 4192 ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], 4193 '%d Ø¯ÙØ§Ø¦Ù', 4194 '%d دÙÙÙØ©', 4195 '%d دÙÙÙØ©', 4196 ], 4197 h: [ 4198 'Ø£Ù٠٠٠ساعة', 4199 'ساعة ÙØ§ØØ¯Ø©', 4200 ['ساعتاÙ', 'ساعتÙÙ'], 4201 '%d ساعات', 4202 '%d ساعة', 4203 '%d ساعة', 4204 ], 4205 d: [ 4206 'Ø£ÙÙ Ù Ù ÙÙÙ ', 4207 'ÙÙÙ ÙØ§ØØ¯', 4208 ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], 4209 '%d Ø£ÙØ§Ù ', 4210 '%d ÙÙÙ ÙØ§', 4211 '%d ÙÙÙ ', 4212 ], 4213 M: [ 4214 'Ø£ÙÙ Ù Ù Ø´ÙØ±', 4215 'Ø´ÙØ± ÙØ§ØØ¯', 4216 ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], 4217 '%d Ø£Ø´ÙØ±', 4218 '%d Ø´ÙØ±Ø§', 4219 '%d Ø´ÙØ±', 4220 ], 4221 y: [ 4222 'Ø£Ù٠٠٠عا٠', 4223 'Ø¹Ø§Ù ÙØ§ØØ¯', 4224 ['عا٠اÙ', 'عا٠ÙÙ'], 4225 '%d Ø£Ø¹ÙØ§Ù ', 4226 '%d Ø¹Ø§Ù ÙØ§', 4227 '%d عا٠', 4228 ], 4229 }, 4230 pluralize = function (u) { 4231 return function (number, withoutSuffix, string, isFuture) { 4232 var f = pluralForm(number), 4233 str = plurals[u][pluralForm(number)]; 4234 if (f === 2) { 4235 str = str[withoutSuffix ? 0 : 1]; 4236 } 4237 return str.replace(/%d/i, number); 4238 }; 4239 }, 4240 months = [ 4241 'ÙÙØ§Ùر', 4242 'ÙØ¨Ø±Ø§Ùر', 4243 '٠ارس', 4244 'أبرÙÙ', 4245 '٠اÙÙ', 4246 'ÙÙÙÙÙ', 4247 'ÙÙÙÙÙ', 4248 'أغسطس', 4249 'سبت٠بر', 4250 'Ø£ÙØªÙبر', 4251 'ÙÙÙ٠بر', 4252 'Ø¯ÙØ³Ù بر', 4253 ]; 4254 4255 var arLy = moment.defineLocale('ar-ly', { 4256 months: months, 4257 monthsShort: months, 4258 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4259 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4260 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4261 weekdaysParseExact: true, 4262 longDateFormat: { 4263 LT: 'HH:mm', 4264 LTS: 'HH:mm:ss', 4265 L: 'D/\u200FM/\u200FYYYY', 4266 LL: 'D MMMM YYYY', 4267 LLL: 'D MMMM YYYY HH:mm', 4268 LLLL: 'dddd D MMMM YYYY HH:mm', 4269 }, 4270 meridiemParse: /ص|Ù /, 4271 isPM: function (input) { 4272 return 'Ù ' === input; 4273 }, 4274 meridiem: function (hour, minute, isLower) { 4275 if (hour < 12) { 4276 return 'ص'; 4277 } else { 4278 return 'Ù '; 4279 } 4280 }, 4281 calendar: { 4282 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4283 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4284 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4285 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4286 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4287 sameElse: 'L', 4288 }, 4289 relativeTime: { 4290 future: 'بعد %s', 4291 past: 'Ù ÙØ° %s', 4292 s: pluralize('s'), 4293 ss: pluralize('s'), 4294 m: pluralize('m'), 4295 mm: pluralize('m'), 4296 h: pluralize('h'), 4297 hh: pluralize('h'), 4298 d: pluralize('d'), 4299 dd: pluralize('d'), 4300 M: pluralize('M'), 4301 MM: pluralize('M'), 4302 y: pluralize('y'), 4303 yy: pluralize('y'), 4304 }, 4305 preparse: function (string) { 4306 return string.replace(/Ø/g, ','); 4307 }, 4308 postformat: function (string) { 4309 return string 4310 .replace(/\d/g, function (match) { 4311 return symbolMap[match]; 4312 }) 4313 .replace(/,/g, 'Ø'); 4314 }, 4315 week: { 4316 dow: 6, // Saturday is the first day of the week. 4317 doy: 12, // The week that contains Jan 12th is the first week of the year. 4318 }, 4319 }); 4320 4321 return arLy; 4322 4323}))); 4324 4325 4326/***/ }), 4327 4328/***/ 2475: 4329/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4330 4331//! moment.js locale configuration
vendor: 6,221 bytes, lines 4332-4526
4332//! locale : Uzbek Latin [uz-latn] 4333//! author : Rasulbek Mirzayev : github.com/Rasulbeeek 4334 4335;(function (global, factory) { 4336 true ? factory(__webpack_require__(5093)) : 4337 0 4338}(this, (function (moment) { 'use strict'; 4339 4340 //! moment.js locale configuration 4341 4342 var uzLatn = moment.defineLocale('uz-latn', { 4343 months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( 4344 '_' 4345 ), 4346 monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), 4347 weekdays: 4348 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( 4349 '_' 4350 ), 4351 weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), 4352 weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), 4353 longDateFormat: { 4354 LT: 'HH:mm', 4355 LTS: 'HH:mm:ss', 4356 L: 'DD/MM/YYYY', 4357 LL: 'D MMMM YYYY', 4358 LLL: 'D MMMM YYYY HH:mm', 4359 LLLL: 'D MMMM YYYY, dddd HH:mm', 4360 }, 4361 calendar: { 4362 sameDay: '[Bugun soat] LT [da]', 4363 nextDay: '[Ertaga] LT [da]', 4364 nextWeek: 'dddd [kuni soat] LT [da]', 4365 lastDay: '[Kecha soat] LT [da]', 4366 lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", 4367 sameElse: 'L', 4368 }, 4369 relativeTime: { 4370 future: 'Yaqin %s ichida', 4371 past: 'Bir necha %s oldin', 4372 s: 'soniya', 4373 ss: '%d soniya', 4374 m: 'bir daqiqa', 4375 mm: '%d daqiqa', 4376 h: 'bir soat', 4377 hh: '%d soat', 4378 d: 'bir kun', 4379 dd: '%d kun', 4380 M: 'bir oy', 4381 MM: '%d oy', 4382 y: 'bir yil', 4383 yy: '%d yil', 4384 }, 4385 week: { 4386 dow: 1, // Monday is the first day of the week. 4387 doy: 7, // The week that contains Jan 7th is the first week of the year. 4388 }, 4389 }); 4390 4391 return uzLatn; 4392 4393}))); 4394 4395 4396/***/ }), 4397 4398/***/ 2477: 4399/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4400 4401//! moment.js locale configuration 4402//! locale : Faroese [fo] 4403//! author : Ragnar Johannesen : https://github.com/ragnar123 4404//! author : Kristian Sakarisson : https://github.com/sakarisson 4405 4406;(function (global, factory) { 4407 true ? factory(__webpack_require__(5093)) : 4408 0 4409}(this, (function (moment) { 'use strict'; 4410 4411 //! moment.js locale configuration 4412 4413 var fo = moment.defineLocale('fo', { 4414 months: 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split( 4415 '_' 4416 ), 4417 monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 4418 weekdays: 4419 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split( 4420 '_' 4421 ), 4422 weekdaysShort: 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), 4423 weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), 4424 longDateFormat: { 4425 LT: 'HH:mm', 4426 LTS: 'HH:mm:ss', 4427 L: 'DD/MM/YYYY', 4428 LL: 'D MMMM YYYY', 4429 LLL: 'D MMMM YYYY HH:mm', 4430 LLLL: 'dddd D. MMMM, YYYY HH:mm', 4431 }, 4432 calendar: { 4433 sameDay: '[à dag kl.] LT', 4434 nextDay: '[à morgin kl.] LT', 4435 nextWeek: 'dddd [kl.] LT', 4436 lastDay: '[à gjár kl.] LT', 4437 lastWeek: '[sÃðstu] dddd [kl] LT', 4438 sameElse: 'L', 4439 }, 4440 relativeTime: { 4441 future: 'um %s', 4442 past: '%s sÃðani', 4443 s: 'fá sekund', 4444 ss: '%d sekundir', 4445 m: 'ein minuttur', 4446 mm: '%d minuttir', 4447 h: 'ein tÃmi', 4448 hh: '%d tÃmar', 4449 d: 'ein dagur', 4450 dd: '%d dagar', 4451 M: 'ein mánaður', 4452 MM: '%d mánaðir', 4453 y: 'eitt ár', 4454 yy: '%d ár', 4455 }, 4456 dayOfMonthOrdinalParse: /\d{1,2}\./, 4457 ordinal: '%d.', 4458 week: { 4459 dow: 1, // Monday is the first day of the week. 4460 doy: 4, // The week that contains Jan 4th is the first week of the year. 4461 }, 4462 }); 4463 4464 return fo; 4465 4466}))); 4467 4468 4469/***/ }), 4470 4471/***/ 2572: 4472/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4473 4474//! moment.js locale configuration 4475//! locale : Dutch [nl] 4476//! author : Joris Röling : https://github.com/jorisroling 4477//! author : Jacob Middag : https://github.com/middagj 4478 4479;(function (global, factory) { 4480 true ? factory(__webpack_require__(5093)) : 4481 0 4482}(this, (function (moment) { 'use strict'; 4483 4484 //! moment.js locale configuration 4485 4486 var monthsShortWithDots = 4487 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 4488 monthsShortWithoutDots = 4489 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), 4490 monthsParse = [ 4491 /^jan/i, 4492 /^feb/i, 4493 /^(maart|mrt\.?)$/i, 4494 /^apr/i, 4495 /^mei$/i, 4496 /^jun[i.]?$/i, 4497 /^jul[i.]?$/i, 4498 /^aug/i, 4499 /^sep/i, 4500 /^okt/i, 4501 /^nov/i, 4502 /^dec/i, 4503 ], 4504 monthsRegex = 4505 /^(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; 4506 4507 var nl = moment.defineLocale('nl', { 4508 months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( 4509 '_' 4510 ), 4511 monthsShort: function (m, format) { 4512 if (!m) { 4513 return monthsShortWithDots; 4514 } else if (/-MMM-/.test(format)) { 4515 return monthsShortWithoutDots[m.month()]; 4516 } else { 4517 return monthsShortWithDots[m.month()]; 4518 } 4519 }, 4520 4521 monthsRegex: monthsRegex, 4522 monthsShortRegex: monthsRegex, 4523 monthsStrictRegex: 4524 /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 4525 monthsShortStrictRegex: 4526 /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
vendor: 15,568 bytes, lines 4527-5020
4527 4528 monthsParse: monthsParse, 4529 longMonthsParse: monthsParse, 4530 shortMonthsParse: monthsParse, 4531 4532 weekdays: 4533 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 4534 weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), 4535 weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), 4536 weekdaysParseExact: true, 4537 longDateFormat: { 4538 LT: 'HH:mm', 4539 LTS: 'HH:mm:ss', 4540 L: 'DD-MM-YYYY', 4541 LL: 'D MMMM YYYY', 4542 LLL: 'D MMMM YYYY HH:mm', 4543 LLLL: 'dddd D MMMM YYYY HH:mm', 4544 }, 4545 calendar: { 4546 sameDay: '[vandaag om] LT', 4547 nextDay: '[morgen om] LT', 4548 nextWeek: 'dddd [om] LT', 4549 lastDay: '[gisteren om] LT', 4550 lastWeek: '[afgelopen] dddd [om] LT', 4551 sameElse: 'L', 4552 }, 4553 relativeTime: { 4554 future: 'over %s', 4555 past: '%s geleden', 4556 s: 'een paar seconden', 4557 ss: '%d seconden', 4558 m: 'één minuut', 4559 mm: '%d minuten', 4560 h: 'één uur', 4561 hh: '%d uur', 4562 d: 'één dag', 4563 dd: '%d dagen', 4564 w: 'één week', 4565 ww: '%d weken', 4566 M: 'één maand', 4567 MM: '%d maanden', 4568 y: 'één jaar', 4569 yy: '%d jaar', 4570 }, 4571 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 4572 ordinal: function (number) { 4573 return ( 4574 number + 4575 (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') 4576 ); 4577 }, 4578 week: { 4579 dow: 1, // Monday is the first day of the week. 4580 doy: 4, // The week that contains Jan 4th is the first week of the year. 4581 }, 4582 }); 4583 4584 return nl; 4585 4586}))); 4587 4588 4589/***/ }), 4590 4591/***/ 2648: 4592/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4593 4594//! moment.js locale configuration 4595//! locale : Chinese (China) [zh-cn] 4596//! author : suupic : https://github.com/suupic 4597//! author : Zeno Zeng : https://github.com/zenozeng 4598//! author : uu109 : https://github.com/uu109 4599 4600;(function (global, factory) { 4601 true ? factory(__webpack_require__(5093)) : 4602 0 4603}(this, (function (moment) { 'use strict'; 4604 4605 //! moment.js locale configuration 4606 4607 var zhCn = moment.defineLocale('zh-cn', { 4608 months: '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split( 4609 '_' 4610 ), 4611 monthsShort: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split( 4612 '_' 4613 ), 4614 weekdays: 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 4615 weekdaysShort: '卿¥_å¨ä¸_å¨äº_å¨ä¸_å¨å_å¨äº_å¨å '.split('_'), 4616 weekdaysMin: 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 4617 longDateFormat: { 4618 LT: 'HH:mm', 4619 LTS: 'HH:mm:ss', 4620 L: 'YYYY/MM/DD', 4621 LL: 'YYYYå¹´MæDæ¥', 4622 LLL: 'YYYYå¹´MæDæ¥Ahç¹mmå', 4623 LLLL: 'YYYYå¹´MæDæ¥ddddAhç¹mmå', 4624 l: 'YYYY/M/D', 4625 ll: 'YYYYå¹´MæDæ¥', 4626 lll: 'YYYYå¹´MæDæ¥ HH:mm', 4627 llll: 'YYYYå¹´MæDæ¥dddd HH:mm', 4628 }, 4629 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 4630 meridiemHour: function (hour, meridiem) { 4631 if (hour === 12) { 4632 hour = 0; 4633 } 4634 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 4635 return hour; 4636 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 4637 return hour + 12; 4638 } else { 4639 // 'ä¸å' 4640 return hour >= 11 ? hour : hour + 12; 4641 } 4642 }, 4643 meridiem: function (hour, minute, isLower) { 4644 var hm = hour * 100 + minute; 4645 if (hm < 600) { 4646 return '忍'; 4647 } else if (hm < 900) { 4648 return 'æ©ä¸'; 4649 } else if (hm < 1130) { 4650 return 'ä¸å'; 4651 } else if (hm < 1230) { 4652 return 'ä¸å'; 4653 } else if (hm < 1800) { 4654 return 'ä¸å'; 4655 } else { 4656 return 'æä¸'; 4657 } 4658 }, 4659 calendar: { 4660 sameDay: '[ä»å¤©]LT', 4661 nextDay: '[æå¤©]LT', 4662 nextWeek: function (now) { 4663 if (now.week() !== this.week()) { 4664 return '[ä¸]dddLT'; 4665 } else { 4666 return '[æ¬]dddLT'; 4667 } 4668 }, 4669 lastDay: '[æ¨å¤©]LT', 4670 lastWeek: function (now) { 4671 if (this.week() !== now.week()) { 4672 return '[ä¸]dddLT'; 4673 } else { 4674 return '[æ¬]dddLT'; 4675 } 4676 }, 4677 sameElse: 'L', 4678 }, 4679 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|å¨)/, 4680 ordinal: function (number, period) { 4681 switch (period) { 4682 case 'd': 4683 case 'D': 4684 case 'DDD': 4685 return number + 'æ¥'; 4686 case 'M': 4687 return number + 'æ'; 4688 case 'w': 4689 case 'W': 4690 return number + 'å¨'; 4691 default: 4692 return number; 4693 } 4694 }, 4695 relativeTime: { 4696 future: '%så', 4697 past: '%så', 4698 s: 'å ç§', 4699 ss: '%d ç§', 4700 m: '1 åé', 4701 mm: '%d åé', 4702 h: '1 å°æ¶', 4703 hh: '%d å°æ¶', 4704 d: '1 天', 4705 dd: '%d 天', 4706 w: '1 å¨', 4707 ww: '%d å¨', 4708 M: '1 个æ', 4709 MM: '%d 个æ', 4710 y: '1 å¹´', 4711 yy: '%d å¹´', 4712 }, 4713 week: { 4714 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 4715 dow: 1, // Monday is the first day of the week. 4716 doy: 4, // The week that contains Jan 4th is the first week of the year. 4717 }, 4718 }); 4719 4720 return zhCn; 4721 4722}))); 4723 4724 4725/***/ }), 4726 4727/***/ 2682: 4728/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4729 4730//! moment.js locale configuration 4731//! locale : Arabic (Saudi Arabia) [ar-sa] 4732//! author : Suhail Alkowaileet : https://github.com/xsoh 4733 4734;(function (global, factory) { 4735 true ? factory(__webpack_require__(5093)) : 4736 0 4737}(this, (function (moment) { 'use strict'; 4738 4739 //! moment.js locale configuration 4740 4741 var symbolMap = { 4742 1: 'Ù¡', 4743 2: 'Ù¢', 4744 3: 'Ù£', 4745 4: 'Ù¤', 4746 5: 'Ù¥', 4747 6: 'Ù¦', 4748 7: 'Ù§', 4749 8: 'Ù¨', 4750 9: 'Ù©', 4751 0: 'Ù ', 4752 }, 4753 numberMap = { 4754 'Ù¡': '1', 4755 'Ù¢': '2', 4756 'Ù£': '3', 4757 'Ù¤': '4', 4758 'Ù¥': '5', 4759 'Ù¦': '6', 4760 'Ù§': '7', 4761 'Ù¨': '8', 4762 'Ù©': '9', 4763 'Ù ': '0', 4764 }; 4765 4766 var arSa = moment.defineLocale('ar-sa', { 4767 months: 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split( 4768 '_' 4769 ), 4770 monthsShort: 4771 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split( 4772 '_' 4773 ), 4774 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4775 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4776 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4777 weekdaysParseExact: true, 4778 longDateFormat: { 4779 LT: 'HH:mm', 4780 LTS: 'HH:mm:ss', 4781 L: 'DD/MM/YYYY', 4782 LL: 'D MMMM YYYY', 4783 LLL: 'D MMMM YYYY HH:mm', 4784 LLLL: 'dddd D MMMM YYYY HH:mm', 4785 }, 4786 meridiemParse: /ص|Ù /, 4787 isPM: function (input) { 4788 return 'Ù ' === input; 4789 }, 4790 meridiem: function (hour, minute, isLower) { 4791 if (hour < 12) { 4792 return 'ص'; 4793 } else { 4794 return 'Ù '; 4795 } 4796 }, 4797 calendar: { 4798 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4799 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4800 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4801 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4802 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4803 sameElse: 'L', 4804 }, 4805 relativeTime: { 4806 future: 'ÙÙ %s', 4807 past: 'Ù ÙØ° %s', 4808 s: 'Ø«ÙØ§Ù', 4809 ss: '%d ثاÙÙØ©', 4810 m: 'دÙÙÙØ©', 4811 mm: '%d Ø¯ÙØ§Ø¦Ù', 4812 h: 'ساعة', 4813 hh: '%d ساعات', 4814 d: 'ÙÙÙ ', 4815 dd: '%d Ø£ÙØ§Ù ', 4816 M: 'Ø´ÙØ±', 4817 MM: '%d Ø£Ø´ÙØ±', 4818 y: 'Ø³ÙØ©', 4819 yy: '%d سÙÙØ§Øª', 4820 }, 4821 preparse: function (string) { 4822 return string 4823 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 4824 return numberMap[match]; 4825 }) 4826 .replace(/Ø/g, ','); 4827 }, 4828 postformat: function (string) { 4829 return string 4830 .replace(/\d/g, function (match) { 4831 return symbolMap[match]; 4832 }) 4833 .replace(/,/g, 'Ø'); 4834 }, 4835 week: { 4836 dow: 0, // Sunday is the first day of the week. 4837 doy: 6, // The week that contains Jan 6th is the first week of the year. 4838 }, 4839 }); 4840 4841 return arSa; 4842 4843}))); 4844 4845 4846/***/ }), 4847 4848/***/ 2934: 4849/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4850 4851//! moment.js locale configuration 4852//! locale : Esperanto [eo] 4853//! author : Colin Dean : https://github.com/colindean 4854//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia 4855//! comment : miestasmia corrected the translation by colindean 4856//! comment : Vivakvo corrected the translation by colindean and miestasmia 4857 4858;(function (global, factory) { 4859 true ? factory(__webpack_require__(5093)) : 4860 0 4861}(this, (function (moment) { 'use strict'; 4862 4863 //! moment.js locale configuration 4864 4865 var eo = moment.defineLocale('eo', { 4866 months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split( 4867 '_' 4868 ), 4869 monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aÅg_sept_okt_nov_dec'.split('_'), 4870 weekdays: 'dimanÄo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), 4871 weekdaysShort: 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), 4872 weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), 4873 longDateFormat: { 4874 LT: 'HH:mm', 4875 LTS: 'HH:mm:ss', 4876 L: 'YYYY-MM-DD', 4877 LL: '[la] D[-an de] MMMM, YYYY', 4878 LLL: '[la] D[-an de] MMMM, YYYY HH:mm', 4879 LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm', 4880 llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm', 4881 }, 4882 meridiemParse: /[ap]\.t\.m/i, 4883 isPM: function (input) { 4884 return input.charAt(0).toLowerCase() === 'p'; 4885 }, 4886 meridiem: function (hours, minutes, isLower) { 4887 if (hours > 11) { 4888 return isLower ? 'p.t.m.' : 'P.T.M.'; 4889 } else { 4890 return isLower ? 'a.t.m.' : 'A.T.M.'; 4891 } 4892 }, 4893 calendar: { 4894 sameDay: '[HodiaÅ je] LT', 4895 nextDay: '[MorgaÅ je] LT', 4896 nextWeek: 'dddd[n je] LT', 4897 lastDay: '[HieraÅ je] LT', 4898 lastWeek: '[pasintan] dddd[n je] LT', 4899 sameElse: 'L', 4900 }, 4901 relativeTime: { 4902 future: 'post %s', 4903 past: 'antaÅ %s', 4904 s: 'kelkaj sekundoj', 4905 ss: '%d sekundoj', 4906 m: 'unu minuto', 4907 mm: '%d minutoj', 4908 h: 'unu horo', 4909 hh: '%d horoj', 4910 d: 'unu tago', //ne 'diurno', Äar estas uzita por proksimumo 4911 dd: '%d tagoj', 4912 M: 'unu monato', 4913 MM: '%d monatoj', 4914 y: 'unu jaro', 4915 yy: '%d jaroj', 4916 }, 4917 dayOfMonthOrdinalParse: /\d{1,2}a/, 4918 ordinal: '%da', 4919 week: { 4920 dow: 1, // Monday is the first day of the week. 4921 doy: 7, // The week that contains Jan 7th is the first week of the year. 4922 }, 4923 }); 4924 4925 return eo; 4926 4927}))); 4928 4929 4930/***/ }), 4931 4932/***/ 3004: 4933/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 4934 4935//! moment.js locale configuration 4936//! locale : English (Singapore) [en-sg] 4937//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension 4938 4939;(function (global, factory) { 4940 true ? factory(__webpack_require__(5093)) : 4941 0 4942}(this, (function (moment) { 'use strict'; 4943 4944 //! moment.js locale configuration 4945 4946 var enSg = moment.defineLocale('en-sg', { 4947 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 4948 '_' 4949 ), 4950 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 4951 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 4952 '_' 4953 ), 4954 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 4955 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 4956 longDateFormat: { 4957 LT: 'HH:mm', 4958 LTS: 'HH:mm:ss', 4959 L: 'DD/MM/YYYY', 4960 LL: 'D MMMM YYYY', 4961 LLL: 'D MMMM YYYY HH:mm', 4962 LLLL: 'dddd, D MMMM YYYY HH:mm', 4963 }, 4964 calendar: { 4965 sameDay: '[Today at] LT', 4966 nextDay: '[Tomorrow at] LT', 4967 nextWeek: 'dddd [at] LT', 4968 lastDay: '[Yesterday at] LT', 4969 lastWeek: '[Last] dddd [at] LT', 4970 sameElse: 'L', 4971 }, 4972 relativeTime: { 4973 future: 'in %s', 4974 past: '%s ago', 4975 s: 'a few seconds', 4976 ss: '%d seconds', 4977 m: 'a minute', 4978 mm: '%d minutes', 4979 h: 'an hour', 4980 hh: '%d hours', 4981 d: 'a day', 4982 dd: '%d days', 4983 M: 'a month', 4984 MM: '%d months', 4985 y: 'a year', 4986 yy: '%d years', 4987 }, 4988 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 4989 ordinal: function (number) { 4990 var b = number % 10, 4991 output = 4992 ~~((number % 100) / 10) === 1 4993 ? 'th' 4994 : b === 1 4995 ? 'st' 4996 : b === 2 4997 ? 'nd' 4998 : b === 3 4999 ? 'rd' 5000 : 'th'; 5001 return number + output; 5002 }, 5003 week: { 5004 dow: 1, // Monday is the first day of the week. 5005 doy: 4, // The week that contains Jan 4th is the first week of the year. 5006 }, 5007 }); 5008 5009 return enSg; 5010 5011}))); 5012 5013 5014/***/ }), 5015 5016/***/ 3035: 5017/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5018 5019//! moment.js locale configuration 5020//! locale : Estonian [et]
5021//! author : Henry Kehlmann : https://github.com/madhenry 5022//! improvements : Illimar Tambek : https://github.com/ragulka 5023 5024;(function (global, factory) { 5025 true ? factory(__webpack_require__(5093)) : 5026 0 5027}(this, (function (moment) { 'use strict'; 5028 5029 //! moment.js locale configuration 5030 5031 function processRelativeTime(number, withoutSuffix, key, isFuture) { 5032 var format = { 5033 s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], 5034 ss: [number + 'sekundi', number + 'sekundit'], 5035 m: ['ühe minuti', 'üks minut'], 5036 mm: [number + ' minuti', number + ' minutit'], 5037 h: ['ühe tunni', 'tund aega', 'üks tund'], 5038 hh: [number + ' tunni', number + ' tundi'], 5039 d: ['ühe päeva', 'üks päev'], 5040 M: ['kuu aja', 'kuu aega', 'üks kuu'], 5041 MM: [number + ' kuu', number + ' kuud'], 5042 y: ['ühe aasta', 'aasta', 'üks aasta'], 5043 yy: [number + ' aasta', number + ' aastat'], 5044 }; 5045 if (withoutSuffix) { 5046 return format[key][2] ? format[key][2] : format[key][1]; 5047 } 5048 return isFuture ? format[key][0] : format[key][1]; 5049 } 5050 5051 var et = moment.defineLocale('et', { 5052 months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( 5053 '_' 5054 ), 5055 monthsShort: 5056 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), 5057 weekdays: 5058 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split( 5059 '_' 5060 ), 5061 weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), 5062 weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), 5063 longDateFormat: { 5064 LT: 'H:mm', 5065 LTS: 'H:mm:ss', 5066 L: 'DD.MM.YYYY', 5067 LL: 'D. MMMM YYYY', 5068 LLL: 'D. MMMM YYYY H:mm', 5069 LLLL: 'dddd, D. MMMM YYYY H:mm', 5070 }, 5071 calendar: { 5072 sameDay: '[Täna,] LT', 5073 nextDay: '[Homme,] LT', 5074 nextWeek: '[Järgmine] dddd LT', 5075 lastDay: '[Eile,] LT', 5076 lastWeek: '[Eelmine] dddd LT', 5077 sameElse: 'L', 5078 }, 5079 relativeTime: { 5080 future: '%s pärast', 5081 past: '%s tagasi', 5082 s: processRelativeTime, 5083 ss: processRelativeTime, 5084 m: processRelativeTime, 5085 mm: processRelativeTime, 5086 h: processRelativeTime, 5087 hh: processRelativeTime, 5088 d: processRelativeTime, 5089 dd: '%d päeva', 5090 M: processRelativeTime, 5091 MM: processRelativeTime, 5092 y: processRelativeTime, 5093 yy: processRelativeTime, 5094 }, 5095 dayOfMonthOrdinalParse: /\d{1,2}\./, 5096 ordinal: '%d.', 5097 week: { 5098 dow: 1, // Monday is the first day of the week. 5099 doy: 4, // The week that contains Jan 4th is the first week of the year. 5100 }, 5101 }); 5102 5103 return et; 5104 5105}))); 5106 5107 5108/***/ }), 5109 5110/***/ 3124: 5111/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5112 5113/* provided dependency */ var jQuery = __webpack_require__(4692); 5114/* = 5115 jquery.eventCalendar.js 5116 version: 0.7 5117 date: 13-08-2015 5118 author: 5119 Jaime Fernandez (@vissit) 5120 company: 5121 Paradigma Tecnologico (@paradigmate) 5122 url: 5123 http://www.vissit.com/projects/eventCalendar/ 5124 */ 5125var moment = __webpack_require__(5093) 5126 5127;(function ($) { 5128 $.fn.eventCalendar = function (options) { 5129 var calendar = this; 5130 5131 if (options.locales && typeof (options.locales) == 'string') { 5132 $.getJSON(options.locales, function (data) { 5133 options.locales = $.extend({}, $.fn.eventCalendar.defaults.locales, data); 5134 moment.locale(data.locale, options.locales.moment); 5135 moment.locale(data.locale); 5136 5137 initEventCalendar(calendar, options); 5138 }); 5139 } else { 5140 if (options.locales && options.locales.locale) { 5141 options.locales = $.extend({}, $.fn.eventCalendar.defaults.locales, options.locales); 5142 5143 } 5144 initEventCalendar(calendar, options); 5145 } 5146 5147 5148 }; 5149 5150 5151 // define the parameters with the default values of the function 5152 $.fn.eventCalendar.defaults = { 5153 eventsjson: 'js/events.json', 5154 eventsLimit: 4, 5155 locales: { 5156 locale: "en", 5157 txt_noEvents: "There are no events in this period", 5158 txt_SpecificEvents_prev: "", 5159 txt_SpecificEvents_after: "events:", 5160 txt_next: "next", 5161 txt_prev: "prev", 5162 txt_NextEvents: "Next events:", 5163 txt_GoToEventUrl: "See the event", 5164 txt_loading: "loading..." 5165 }, 5166 showDayAsWeeks: true, 5167 startWeekOnMonday: true, 5168 showDayNameInCalendar: true, 5169 showDescription: false, 5170 onlyOneDescription: true, 5171 openEventInNewWindow: false, 5172 eventsScrollable: false, 5173 dateFormat: "D.MM.YYYY", 5174 jsonDateFormat: 'human', // you can use also "human" 'YYYY-MM-DD HH:MM:SS' 5175 moveSpeed: 500, // speed of month move when you clic on a new date 5176 moveOpacity: 0.15, // month and events fadeOut to this opacity 5177 jsonData: "", // to load and inline json (not ajax calls) 5178 cacheJson: true // if true plugin get a json only first time and after plugin filter events 5179 // if false plugin get a new json on each date change 5180 }; 5181 5182 function initEventCalendar(that, options) { 5183 var eventsOpts = $.extend({}, $.fn.eventCalendar.defaults, options); 5184 5185 // define global vars for the function 5186 var flags = { 5187 wrap: "", 5188 directionLeftMove: "300", 5189 eventsJson: {} 5190 }; 5191 5192 // each eventCalendar will execute this function 5193 that.each(function () { 5194 var container = that.parent().parent(); 5195 5196 flags.wrap = $(this); 5197 flags.wrap.addClass('eventCalendar-wrap').append("<div class='eventCalendar-list-wrap'><a href=\"#close\" class='close_event_list'>x</a><p class='eventCalendar-subtitle'></p><span class='eventCalendar-loading'>" + eventsOpts.locales.txt_loading + "</span><div class='eventCalendar-list-content'><ul class='article-list eventCalendar-list'></ul></div></div>"); 5198 5199 $(".close_event_list").click(function (event) { 5200 event.preventDefault(); 5201 5202 $(this).parent().removeClass('active'); 5203 }); 5204 5205 if (eventsOpts.eventsScrollable) { 5206 flags.wrap.find('.eventCalendar-list-content').addClass('scrollable'); 5207 } 5208 5209 setCalendarWidth(flags); 5210 $(window).resize(function () { 5211 setCalendarWidth(flags); 5212 }); 5213 //flags.directionLeftMove = flags.wrap.width(); 5214 5215 // show current month 5216 dateSlider(container, "current", flags, eventsOpts); 5217 5218 getEvents(container, flags, eventsOpts, eventsOpts.eventsLimit, false, false, false, false); 5219 5220 changeMonth(container, flags, eventsOpts); 5221 5222 flags.wrap.on('click', '.eventCalendar-day > a', function (e) { 5223 5224 //flags.wrap.find('.eventCalendar-day a').live('click',function(e){ 5225 e.preventDefault(); 5226 var year = flags.wrap.attr('data-current-year'),
5227 month = flags.wrap.attr('data-current-month'), 5228 day = $(this).parent().attr('rel'); 5229 5230 getEvents(container, flags, eventsOpts, false, year, month, day, "day"); 5231 container.find('.eventCalendar-list-wrap').addClass('active'); 5232 }); 5233 flags.wrap.on('click', '.eventCalendar-monthTitle', function (e) { 5234 //flags.wrap.find('.eventCalendar-monthTitle').live('click',function(e){ 5235 e.preventDefault(); 5236 var year = flags.wrap.attr('data-current-year'), 5237 month = flags.wrap.attr('data-current-month'); 5238 5239 getEvents(container, flags, eventsOpts, eventsOpts.eventsLimit, year, month, false, "month"); 5240 }); 5241 flags.wrap.on('mouseover', '.eventCalendar-day', function(e) { 5242 if($(this).hasClass('eventCalendar-dayWithEvents')) { 5243 $(this).children('.event-day-tooltip').remove(); 5244 var tooltip = $('<div class="event-day-tooltip"></div>'); 5245 5246 $.each(flags.eventsJson, function (key, event) { 5247 // tooltip.append('<p><a href="' + event.url + '" class="tooltip-link">' + event.title + '</a></p>') 5248 tooltip.append('<p>' + event.title + '</p>') 5249 }); 5250 5251 $(this).append(tooltip); 5252 } 5253 }); 5254 flags.wrap.on('mouseout', '.eventCalendar-day', function(e) { 5255 // $(this).children('.event-day-tooltip').remove(); 5256 }); 5257 }); 5258 5259 // show event description 5260 flags.wrap.find('.eventCalendar-list').on('click', '.eventCalendar-eventTitle', function (e) { 5261 //flags.wrap.find('.eventCalendar-list .eventCalendar-eventTitle').live('click',function(e){ 5262 if (false) { var eventTarget, eventUrl, desc; } 5263 }); 5264 } 5265 5266 function sortJson(a, b) { 5267 if (typeof a.date === 'string') { 5268 return a.date.toLowerCase() > b.date.toLowerCase() ? 1 : -1; 5269 } 5270 return a.date > b.date ? 1 : -1; 5271 } 5272 5273 function dateSlider(container, show, flags, eventsOpts) { 5274 5275 var $eventsCalendarSlider = $("<div class='eventCalendar-slider'></div>"), 5276 $eventsCalendarMonthWrap = $("<div class='eventCalendar-monthWrap'></div>"), 5277 $eventsCalendarTitle = $("<div class='eventCalendar-currentTitle'><a href='#' class='eventCalendar-monthTitle'></a></div>"), 5278 $eventsCalendarArrows = $("<a href='#' class='eventCalendar-arrow eventCalendar-prev'><span>" + eventsOpts.locales.txt_prev + "</span></a><a href='#' class='eventCalendar-arrow eventCalendar-next'><span>" + eventsOpts.locales.txt_next + "</span></a>"), 5279 $eventsCalendarDaysList = $("<ul class='eventCalendar-daysList'></ul>"), 5280 date = new Date(); 5281 5282 if (!flags.wrap.find('.eventCalendar-slider').length) { 5283 flags.wrap.prepend($eventsCalendarSlider); 5284 $eventsCalendarSlider.append($eventsCalendarMonthWrap); 5285 } else { 5286 flags.wrap.find('.eventCalendar-slider').append($eventsCalendarMonthWrap); 5287 } 5288 5289 flags.wrap.find('.eventCalendar-monthWrap.eventCalendar-currentMonth').removeClass('eventCalendar-currentMonth').addClass('eventCalendar-oldMonth'); 5290 $eventsCalendarMonthWrap.addClass('eventCalendar-currentMonth').append($eventsCalendarTitle, $eventsCalendarDaysList); 5291 5292 var day; 5293 5294 // if current show current month & day 5295 if (show === "current") { 5296 day = date.getDate(); 5297 $eventsCalendarSlider.append($eventsCalendarArrows); 5298 5299 } else { 5300 date = new Date(flags.wrap.attr('data-current-year'), flags.wrap.attr('data-current-month'), 1, 0, 0, 0); // current visible month 5301 day = 0; // not show current day in days list 5302 5303 moveOfMonth = 1; 5304 if (show === "prev") { 5305 moveOfMonth = -1; 5306 } 5307 date.setMonth(date.getMonth() + moveOfMonth); 5308 5309 var tmpDate = new Date(); 5310 if (date.getMonth() === tmpDate.getMonth()) { 5311 day = tmpDate.getDate(); 5312 } 5313 5314 } 5315 5316 // get date portions 5317 var year = date.getFullYear(), // year of the events 5318 currentYear = new Date().getFullYear(), // current year
5319 month = date.getMonth(), // 0-11 5320 monthToShow = month + 1; 5321 5322 if (show != "current") { 5323 // month change 5324 getEvents(container, flags, eventsOpts, eventsOpts.eventsLimit, year, month, false, show); 5325 } 5326 5327 flags.wrap.attr('data-current-month', month) 5328 .attr('data-current-year', year); 5329 5330 // add current date info 5331 moment.locale(eventsOpts.locales.locale); 5332 5333 var formatedDate = moment(year + " " + monthToShow, "YYYY MM").format("MMMM YYYY"); 5334 $eventsCalendarTitle.find('.eventCalendar-monthTitle').html(formatedDate); 5335 5336 // print all month days 5337 var daysOnTheMonth = 32 - new Date(year, month, 32).getDate(); 5338 var daysList = [], 5339 i; 5340 if (eventsOpts.showDayAsWeeks) { 5341 $eventsCalendarDaysList.addClass('eventCalendar-showAsWeek'); 5342 5343 // show day name in top of calendar 5344 if (eventsOpts.showDayNameInCalendar) { 5345 $eventsCalendarDaysList.addClass('eventCalendar-showDayNames'); 5346 5347 i = 0; 5348 // if week start on monday 5349 if (eventsOpts.startWeekOnMonday) { 5350 i = 1; 5351 } 5352 5353 for (; i < 7; i++) { 5354 daysList.push('<li class="eventCalendar-day-header">' + moment()._locale._weekdaysShort[i] + '</li>'); 5355 5356 if (i === 6 && eventsOpts.startWeekOnMonday) { 5357 // print sunday header 5358 daysList.push('<li class="eventCalendar-day-header">' + moment()._locale._weekdaysShort[0] + '</li>'); 5359 } 5360 5361 } 5362 } 5363 5364 dt = new Date(year, month, 01); 5365 var weekDay = dt.getDay(); // day of the week where month starts 5366 5367 if (eventsOpts.startWeekOnMonday) { 5368 weekDay = dt.getDay() - 1; 5369 } 5370 if (weekDay < 0) { 5371 weekDay = 6; 5372 } // if -1 is because day starts on sunday(0) and week starts on monday 5373 5374 for (i = weekDay; i > 0; i--) { 5375 daysList.push('<li class="eventCalendar-day eventCalendar-empty"></li>'); 5376 } 5377 } 5378 for (dayCount = 1; dayCount <= daysOnTheMonth; dayCount++) { 5379 var dayClass = ""; 5380 5381 if (day > 0 && dayCount === day && year === currentYear) { 5382 dayClass = "today"; 5383 } 5384 daysList.push('<li id="dayList_' + dayCount + '" rel="' + dayCount + '" class="eventCalendar-day ' + dayClass + '"><a href="#">' + dayCount + '</a></li>'); 5385 } 5386 $eventsCalendarDaysList.append(daysList.join('')); 5387 5388 $eventsCalendarSlider.css('height', $eventsCalendarMonthWrap.height() + 'px'); 5389 } 5390 5391 function getEvents(container, flags, eventsOpts, limit, year, month, day, direction) { 5392 limit = limit || 0; 5393 year = year || ''; 5394 day = day || ''; 5395 5396 // to avoid problem with january (month = 0) 5397 5398 if (typeof month != 'undefined') { 5399 month = month; 5400 } else { 5401 month = ''; 5402 } 5403 5404 //var month = month || ''; 5405 $('.events-list-wrapper .eventCalendar-loading').fadeIn(); 5406 5407 if (!day) { 5408 // first load: load json and save it to future filters 5409 5410 $.getJSON(eventsOpts.eventsjson + "&limit=" + limit + "&year=" + year + "&month=" + month + "&day=" + day, function (data) { 5411 flags.eventsJson = data; // save data to future filters 5412 getEventsData(container, flags, eventsOpts, flags.eventsJson, limit, year, month, day, direction); 5413 }); 5414 } else { 5415 // filter previus saved json 5416 getEventsData(container, flags, eventsOpts, flags.eventsJson, limit, year, month, day, direction); 5417 } 5418 5419 if (day > '') { 5420 container.find('.eventCalendar-current').removeClass('eventCalendar-current'); 5421 container.find('.dayList_' + day).addClass('eventCalendar-current'); 5422 } 5423 } 5424 5425 function getEventsData(container, flags, eventsOpts, data, limit, year, month, day, direction) { 5426 directionLeftMove = "-=" + flags.directionLeftMove; 5427 eventContentHeight = "auto"; 5428 5429 subtitle = flags.wrap.find('.eventCalendar-list-wrap .eventCalendar-subtitle'); 5430 5431 if (!direction) { 5432 // first load 5433 subtitle.html(eventsOpts.locales.txt_NextEvents); 5434 eventContentHeight = "auto"; 5435 directionLeftMove = "-=0"; 5436 } else { 5437 var jsMonth = parseInt(month) + 1, 5438 formatedDate; 5439 moment.locale(eventsOpts.locales.locale); 5440 5441 if (day !== '') { 5442 formatedDate = moment(year + " " + jsMonth + " " + day, "YYYY MM DD").format("LL"); 5443 subtitle.html(eventsOpts.locales.txt_SpecificEvents_prev + formatedDate + " " + eventsOpts.locales.txt_SpecificEvents_after); 5444 //eventStringDate = moment(eventDate).format(eventsOpts.dateFormat); 5445 } else { 5446 formatedDate = moment(year + " " + jsMonth, "YYYY MM").format("MMMM"); 5447 subtitle.html(eventsOpts.locales.txt_SpecificEvents_prev + formatedDate + " " + eventsOpts.locales.txt_SpecificEvents_after); 5448 } 5449 5450 if (direction === 'eventCalendar-prev') { 5451 directionLeftMove = "+=" + flags.directionLeftMove; 5452 } else if (direction === 'day' || direction === 'month') { 5453 directionLeftMove = "+=0"; 5454 eventContentHeight = 0; 5455 } 5456 } 5457 5458 flags.wrap.find('.eventCalendar-list').animate({ 5459 opacity: eventsOpts.moveOpacity, 5460 left: directionLeftMove, 5461 height: eventContentHeight 5462 }, eventsOpts.moveSpeed, function () { 5463 flags.wrap.find('.eventCalendar-list').css({'left': 0, 'height': 'auto'}); 5464 5465 var events = []; 5466 5467 data = $(data).sort(sortJson); // sort event by dates 5468 // each event 5469 if (data.length) { 5470 5471 // show or hide event description 5472 var eventDescClass = ''; 5473 if (!eventsOpts.showDescription) { 5474 eventDescClass = 'eventCalendar-hidden'; 5475 } 5476 var eventLinkTarget = "_self"; 5477 if (eventsOpts.openEventInNewWindow) { 5478 eventLinkTarget = '_blank'; 5479 } 5480 5481 var i = 0; 5482 $.each(data, function (key, event) { 5483 var eventDateTime, eventDate, eventTime, eventYear, eventMonth, eventDay, 5484 eventMonthToShow, eventHour, eventMinute, eventSeconds; 5485 5486 if (eventsOpts.jsonDateFormat == 'human') { 5487 eventDateTime = event.date.split(" "); 5488 eventDate = eventDateTime[0].split("-"); 5489 eventTime = eventDateTime[1].split(":"); 5490 eventYear = eventDate[0]; 5491 eventMonth = parseInt(eventDate[1]) - 1; 5492 eventDay = parseInt(eventDate[2]); 5493 //eventMonthToShow = eventMonth; 5494 eventMonthToShow = parseInt(eventMonth) + 1; 5495 eventHour = eventTime[0]; 5496 eventMinute = eventTime[1]; 5497 eventDate = new Date(eventYear, eventMonth, eventDay, eventHour, eventMinute, eventSeconds); 5498// eventDate = new Date(eventYear, eventMonth, eventDay); 5499 } else { 5500 eventDate = new Date(parseInt(event.date)); 5501 eventYear = eventDate.getFullYear(); 5502 eventMonth = eventDate.getMonth(); 5503 eventDay = eventDate.getDate(); 5504 eventMonthToShow = eventMonth + 1; 5505 eventHour = eventDate.getHours(); 5506 eventMinute = eventDate.getMinutes(); 5507 5508 } 5509 5510 if (parseInt(eventMinute) <= 9) { 5511 eventMinute = "0" + parseInt(eventMinute); 5512 } 5513 5514 5515 if (limit === 0 || limit > i) { 5516 // if month or day exist then only show matched events 5517
5518 if ((month === false || month == eventMonth) && (day === '' || day == eventDay) && (year === '' || year == eventYear)) { 5519 // if initial load then load only future events 5520 if (month === false && eventDate < new Date()) { 5521 } else { 5522 moment.locale(eventsOpts.locales.locale); 5523 //eventStringDate = eventDay + "/" + eventMonthToShow + "/" + eventYear; 5524 eventStringDate = moment(eventDate).format(eventsOpts.dateFormat); 5525 5526 var event_html = '<li id="post-' + event.id + '" class="calendar-event post-' + event.id + '"><h4 class="article-heading"><a href="' + event.url + '"><i class="fa-solid fa-calendar-days"></i> ' + event.title + '</a></h4><div class="row no-gutters align-items-center">'; 5527 5528 if(event.thumbnail) { 5529 event_html += '<div class="col-sm-3"><div class="thumbnail"><a href="' + event.url + '"><img src="' + event.thumbnail + '" class="img-fluid" alt="' + event.title + '"/></a></div></div>'; 5530 } 5531 5532 event_html += '<div class="col"><div class="content">' 5533 // + '<div class="event-detail"><table>' 5534 // + '<tr><th>Data: </th><td>' + eventDateTime[0] + '</td></tr>' 5535 // + '<tr><th>Godzina: </th><td>' + eventDateTime[1] + '</td></tr>'; 5536 // if(event.location) { 5537 // event_html += '<tr><th>Miejsce: </th><td>' + event.location + '</td></tr>'; 5538 // } 5539 // event_html += '</table></div>' 5540 + '</div></div></div>' + '<p class="text-right"><a href="' + event.url + '" class="article-button"><span>Czytaj wiÄcej</span></a></p></li>'; 5541 events.push(event_html); 5542 i++; 5543 } 5544 } 5545 } 5546 5547 // add mark in the dayList to the days with events 5548 if (eventYear == flags.wrap.attr('data-current-year') && eventMonth == flags.wrap.attr('data-current-month')) { 5549 container.find('.eventCalendar-currentMonth .eventCalendar-daysList #dayList_' + parseInt(eventDay)).addClass('eventCalendar-dayWithEvents'); 5550 } 5551 5552 }); 5553 } 5554 5555 // there is no events on this period 5556 if (!events.length) { 5557 events.push('<li class="no-events">Brak wydarzeÅ w tym okresie</li>'); 5558 } 5559 flags.wrap.find('.eventCalendar-loading').hide(); 5560 5561 container.find('.events-calendar-wrapper .eventCalendar-list-wrap .eventCalendar-list') 5562 .html(events.join('')); 5563 5564 container.find('.events-calendar-wrapper .eventCalendar-list').animate({ 5565 opacity: 1 5566 }, eventsOpts.moveSpeed); 5567 5568 5569 }); 5570 setCalendarWidth(flags); 5571 } 5572 5573 function changeMonth(container, flags, eventsOpts) { 5574 flags.wrap.find('.eventCalendar-arrow').click(function (e) { 5575 e.preventDefault(); 5576 var lastMonthMove; 5577 5578 5579 if ($(this).hasClass('eventCalendar-next')) { 5580 dateSlider(container, "next", flags, eventsOpts); 5581 lastMonthMove = '-=' + flags.directionLeftMove; 5582 5583 } else { 5584 dateSlider(container, "prev", flags, eventsOpts); 5585 lastMonthMove = '+=' + flags.directionLeftMove; 5586 } 5587 5588 flags.wrap.find('.eventCalendar-monthWrap.eventCalendar-oldMonth').animate({ 5589 opacity: eventsOpts.moveOpacity, 5590 left: lastMonthMove 5591 }, eventsOpts.moveSpeed, function () { 5592 flags.wrap.find('.eventCalendar-monthWrap.eventCalendar-oldMonth').remove(); 5593 }); 5594 }); 5595 } 5596 5597 function showError(msg, wrap) { 5598 wrap.find('.eventCalendar-list-wrap').html("<span class='eventCalendar-loading eventCalendar-error'>" + msg + "</span>"); 5599 } 5600 5601 function setCalendarWidth(flags) { 5602 // resize calendar width on window resize 5603 flags.directionLeftMove = flags.wrap.width(); 5604 flags.wrap.find('.eventCalendar-monthWrap').width(flags.wrap.width() + 'px'); 5605 5606 flags.wrap.find('.eventCalendar-list-wrap').width(flags.wrap.width() + 'px'); 5607 5608 } 5609 5610 5611})(jQuery); 5612 5613 5614/***/ }), 5615 5616/***/ 3164: 5617/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5618 5619//! moment.js locale configuration 5620//! locale : Korean [ko] 5621//! author : Kyungwook, Park : https://github.com/kyungw00k 5622//! author : Jeeeyul Lee <[email protected]> 5623 5624;(function (global, factory) { 5625 true ? factory(__webpack_require__(5093)) : 5626 0 5627}(this, (function (moment) { 'use strict'; 5628 5629 //! moment.js locale configuration 5630 5631 var ko = moment.defineLocale('ko', { 5632 months: '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split('_'), 5633 monthsShort: '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split( 5634 '_' 5635 ), 5636 weekdays: 'ì¼ìì¼_ììì¼_íìì¼_ììì¼_목ìì¼_ê¸ìì¼_í ìì¼'.split('_'), 5637 weekdaysShort: 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 5638 weekdaysMin: 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 5639 longDateFormat: { 5640 LT: 'A h:mm', 5641 LTS: 'A h:mm:ss', 5642 L: 'YYYY.MM.DD.', 5643 LL: 'YYYYë MMMM Dì¼', 5644 LLL: 'YYYYë MMMM Dì¼ A h:mm', 5645 LLLL: 'YYYYë MMMM Dì¼ dddd A h:mm', 5646 l: 'YYYY.MM.DD.', 5647 ll: 'YYYYë MMMM Dì¼', 5648 lll: 'YYYYë MMMM Dì¼ A h:mm', 5649 llll: 'YYYYë MMMM Dì¼ dddd A h:mm', 5650 }, 5651 calendar: { 5652 sameDay: 'ì¤ë LT', 5653 nextDay: 'ë´ì¼ LT', 5654 nextWeek: 'dddd LT', 5655 lastDay: 'ì´ì LT', 5656 lastWeek: 'ì§ë주 dddd LT', 5657 sameElse: 'L', 5658 }, 5659 relativeTime: { 5660 future: '%s í', 5661 past: '%s ì ', 5662 s: 'ëª ì´', 5663 ss: '%dì´', 5664 m: '1ë¶', 5665 mm: '%dë¶', 5666 h: 'í ìê°', 5667 hh: '%dìê°', 5668 d: 'í루', 5669 dd: '%dì¼', 5670 M: 'í ë¬', 5671 MM: '%dë¬', 5672 y: 'ì¼ ë ', 5673 yy: '%dë ', 5674 }, 5675 dayOfMonthOrdinalParse: /\d{1,2}(ì¼|ì|주)/, 5676 ordinal: function (number, period) { 5677 switch (period) { 5678 case 'd': 5679 case 'D': 5680 case 'DDD': 5681 return number + 'ì¼'; 5682 case 'M': 5683 return number + 'ì'; 5684 case 'w': 5685 case 'W': 5686 return number + '주'; 5687 default: 5688 return number; 5689 } 5690 }, 5691 meridiemParse: /ì¤ì |ì¤í/, 5692 isPM: function (token) { 5693 return token === 'ì¤í'; 5694 }, 5695 meridiem: function (hour, minute, isUpper) { 5696 return hour < 12 ? 'ì¤ì ' : 'ì¤í'; 5697 }, 5698 }); 5699 5700 return ko; 5701 5702}))); 5703 5704 5705/***/ }), 5706 5707/***/ 3322: 5708/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5709 5710//! moment.js locale configuration 5711//! locale : Serbian Cyrillic [sr-cyrl] 5712//! author : Milan JanaÄkoviÄ<[email protected]> : https://github.com/milan-j 5713//! author : Stefan CrnjakoviÄ <[email protected]> : https://github.com/crnjakovic 5714 5715;(function (global, factory) { 5716 true ? factory(__webpack_require__(5093)) : 5717 0 5718}(this, (function (moment) { 'use strict'; 5719 5720 //! moment.js locale configuration 5721 5722 var translator = { 5723 words: { 5724 //Different grammatical cases 5725 ss: ['ÑекÑнда', 'ÑекÑнде', 'ÑекÑнди'], 5726 m: ['Ñедан минÑÑ', 'Ñедног минÑÑа'], 5727 mm: ['минÑÑ', 'минÑÑа', 'минÑÑа'], 5728 h: ['Ñедан ÑаÑ', 'Ñедног ÑаÑа'], 5729 hh: ['ÑаÑ', 'ÑаÑа', 'ÑаÑи'], 5730 d: ['Ñедан дан', 'Ñедног дана'], 5731 dd: ['дан', 'дана', 'дана'], 5732 M: ['Ñедан меÑеÑ', 'Ñедног меÑеÑа'], 5733 MM: ['меÑеÑ', 'меÑеÑа', 'меÑеÑи'], 5734 y: ['ÑÐµÐ´Ð½Ñ Ð³Ð¾Ð´Ð¸Ð½Ñ', 'Ñедне године'], 5735 yy: ['годинÑ', 'године', 'година'], 5736 }, 5737 correctGrammaticalCase: function (number, wordKey) { 5738 if ( 5739 number % 10 >= 1 && 5740 number % 10 <= 4 && 5741 (number % 100 < 10 || number % 100 >= 20) 5742 ) { 5743 return number % 10 === 1 ? wordKey[0] : wordKey[1]; 5744 } 5745 return wordKey[2]; 5746 }, 5747 translate: function (number, withoutSuffix, key, isFuture) { 5748 var wordKey = translator.words[key], 5749 word; 5750 5751 if (key.length === 1) { 5752 // Nominativ 5753 if (key === 'y' && withoutSuffix) return 'Ñедна година'; 5754 return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; 5755 } 5756 5757 word = translator.correctGrammaticalCase(number, wordKey); 5758 // Nominativ 5759 if (key === 'yy' && withoutSuffix && word === 'годинÑ') { 5760 return number + ' година'; 5761 } 5762 5763 return number + ' ' + word; 5764 }, 5765 }; 5766 5767 var srCyrl = moment.defineLocale('sr-cyrl', { 5768 months: 'ÑанÑаÑ_ÑебÑÑаÑ_маÑÑ_апÑил_маÑ_ÑÑн_ÑÑл_авгÑÑÑ_ÑепÑембаÑ_ок
vendor: 16,384 bytes, lines 5768-6259
5768ÑобаÑ_новембаÑ_деÑембаÑ'.split( 5769 '_' 5770 ), 5771 monthsShort: 5772 'Ñан._Ñеб._маÑ._апÑ._маÑ_ÑÑн_ÑÑл_авг._Ñеп._окÑ._нов._деÑ.'.split('_'), 5773 monthsParseExact: true, 5774 weekdays: 'недеÑа_понедеÑак_ÑÑоÑак_ÑÑеда_ÑеÑвÑÑак_пеÑак_ÑÑбоÑа'.split('_'), 5775 weekdaysShort: 'нед._пон._ÑÑо._ÑÑе._ÑеÑ._пеÑ._ÑÑб.'.split('_'), 5776 weekdaysMin: 'не_по_ÑÑ_ÑÑ_Ñе_пе_ÑÑ'.split('_'), 5777 weekdaysParseExact: true, 5778 longDateFormat: { 5779 LT: 'H:mm', 5780 LTS: 'H:mm:ss', 5781 L: 'D. M. YYYY.', 5782 LL: 'D. MMMM YYYY.', 5783 LLL: 'D. MMMM YYYY. H:mm', 5784 LLLL: 'dddd, D. MMMM YYYY. H:mm', 5785 }, 5786 calendar: { 5787 sameDay: '[Ð´Ð°Ð½Ð°Ñ Ñ] LT', 5788 nextDay: '[ÑÑÑÑа Ñ] LT', 5789 nextWeek: function () { 5790 switch (this.day()) { 5791 case 0: 5792 return '[Ñ] [недеÑÑ] [Ñ] LT'; 5793 case 3: 5794 return '[Ñ] [ÑÑедÑ] [Ñ] LT'; 5795 case 6: 5796 return '[Ñ] [ÑÑбоÑÑ] [Ñ] LT'; 5797 case 1: 5798 case 2: 5799 case 4: 5800 case 5: 5801 return '[Ñ] dddd [Ñ] LT'; 5802 } 5803 }, 5804 lastDay: '[ÑÑÑе Ñ] LT', 5805 lastWeek: function () { 5806 var lastWeekDays = [ 5807 '[пÑоÑле] [недеÑе] [Ñ] LT', 5808 '[пÑоÑлог] [понедеÑка] [Ñ] LT', 5809 '[пÑоÑлог] [ÑÑоÑка] [Ñ] LT', 5810 '[пÑоÑле] [ÑÑеде] [Ñ] LT', 5811 '[пÑоÑлог] [ÑеÑвÑÑка] [Ñ] LT', 5812 '[пÑоÑлог] [пеÑка] [Ñ] LT', 5813 '[пÑоÑле] [ÑÑбоÑе] [Ñ] LT', 5814 ]; 5815 return lastWeekDays[this.day()]; 5816 }, 5817 sameElse: 'L', 5818 }, 5819 relativeTime: { 5820 future: 'за %s', 5821 past: 'пÑе %s', 5822 s: 'неколико ÑекÑнди', 5823 ss: translator.translate, 5824 m: translator.translate, 5825 mm: translator.translate, 5826 h: translator.translate, 5827 hh: translator.translate, 5828 d: translator.translate, 5829 dd: translator.translate, 5830 M: translator.translate, 5831 MM: translator.translate, 5832 y: translator.translate, 5833 yy: translator.translate, 5834 }, 5835 dayOfMonthOrdinalParse: /\d{1,2}\./, 5836 ordinal: '%d.', 5837 week: { 5838 dow: 1, // Monday is the first day of the week. 5839 doy: 7, // The week that contains Jan 1st is the first week of the year. 5840 }, 5841 }); 5842 5843 return srCyrl; 5844 5845}))); 5846 5847 5848/***/ }), 5849 5850/***/ 3383: 5851/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5852 5853//! moment.js locale configuration 5854//! locale : Konkani Latin script [gom-latn] 5855//! author : The Discoverer : https://github.com/WikiDiscoverer 5856 5857;(function (global, factory) { 5858 true ? factory(__webpack_require__(5093)) : 5859 0 5860}(this, (function (moment) { 'use strict'; 5861 5862 //! moment.js locale configuration 5863 5864 function processRelativeTime(number, withoutSuffix, key, isFuture) { 5865 var format = { 5866 s: ['thoddea sekondamni', 'thodde sekond'], 5867 ss: [number + ' sekondamni', number + ' sekond'], 5868 m: ['eka mintan', 'ek minut'], 5869 mm: [number + ' mintamni', number + ' mintam'], 5870 h: ['eka voran', 'ek vor'], 5871 hh: [number + ' voramni', number + ' voram'], 5872 d: ['eka disan', 'ek dis'], 5873 dd: [number + ' disamni', number + ' dis'], 5874 M: ['eka mhoinean', 'ek mhoino'], 5875 MM: [number + ' mhoineamni', number + ' mhoine'], 5876 y: ['eka vorsan', 'ek voros'], 5877 yy: [number + ' vorsamni', number + ' vorsam'], 5878 }; 5879 return isFuture ? format[key][0] : format[key][1]; 5880 } 5881 5882 var gomLatn = moment.defineLocale('gom-latn', { 5883 months: { 5884 standalone: 5885 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split( 5886 '_' 5887 ), 5888 format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split( 5889 '_' 5890 ), 5891 isFormat: /MMMM(\s)+D[oD]?/, 5892 }, 5893 monthsShort: 5894 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), 5895 monthsParseExact: true, 5896 weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'), 5897 weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), 5898 weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), 5899 weekdaysParseExact: true, 5900 longDateFormat: { 5901 LT: 'A h:mm [vazta]', 5902 LTS: 'A h:mm:ss [vazta]', 5903 L: 'DD-MM-YYYY', 5904 LL: 'D MMMM YYYY', 5905 LLL: 'D MMMM YYYY A h:mm [vazta]', 5906 LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]', 5907 llll: 'ddd, D MMM YYYY, A h:mm [vazta]', 5908 }, 5909 calendar: { 5910 sameDay: '[Aiz] LT', 5911 nextDay: '[Faleam] LT', 5912 nextWeek: '[Fuddlo] dddd[,] LT', 5913 lastDay: '[Kal] LT', 5914 lastWeek: '[Fattlo] dddd[,] LT', 5915 sameElse: 'L', 5916 }, 5917 relativeTime: { 5918 future: '%s', 5919 past: '%s adim', 5920 s: processRelativeTime, 5921 ss: processRelativeTime, 5922 m: processRelativeTime, 5923 mm: processRelativeTime, 5924 h: processRelativeTime, 5925 hh: processRelativeTime, 5926 d: processRelativeTime, 5927 dd: processRelativeTime, 5928 M: processRelativeTime, 5929 MM: processRelativeTime, 5930 y: processRelativeTime, 5931 yy: processRelativeTime, 5932 }, 5933 dayOfMonthOrdinalParse: /\d{1,2}(er)/, 5934 ordinal: function (number, period) { 5935 switch (period) { 5936 // the ordinal 'er' only applies to day of the month 5937 case 'D': 5938 return number + 'er'; 5939 default: 5940 case 'M': 5941 case 'Q': 5942 case 'DDD': 5943 case 'd': 5944 case 'w': 5945 case 'W': 5946 return number; 5947 } 5948 }, 5949 week: { 5950 dow: 0, // Sunday is the first day of the week 5951 doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4) 5952 }, 5953 meridiemParse: /rati|sokallim|donparam|sanje/, 5954 meridiemHour: function (hour, meridiem) { 5955 if (hour === 12) { 5956 hour = 0; 5957 } 5958 if (meridiem === 'rati') { 5959 return hour < 4 ? hour : hour + 12; 5960 } else if (meridiem === 'sokallim') { 5961 return hour; 5962 } else if (meridiem === 'donparam') { 5963 return hour > 12 ? hour : hour + 12; 5964 } else if (meridiem === 'sanje') { 5965 return hour + 12; 5966 } 5967 }, 5968 meridiem: function (hour, minute, isLower) { 5969 if (hour < 4) { 5970 return 'rati'; 5971 } else if (hour < 12) { 5972 return 'sokallim'; 5973 } else if (hour < 16) { 5974 return 'donparam'; 5975 } else if (hour < 20) { 5976 return 'sanje'; 5977 } else { 5978 return 'rati'; 5979 } 5980 }, 5981 }); 5982 5983 return gomLatn; 5984 5985}))); 5986 5987 5988/***/ }), 5989 5990/***/ 3386: 5991/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 5992 5993//! moment.js locale configuration 5994//! locale : Malay [ms] 5995//! author : Weldan Jamili : https://github.com/weldan 5996 5997;(function (global, factory) { 5998 true ? factory(__webpack_require__(5093)) : 5999 0 6000}(this, (function (moment) { 'use strict'; 6001 6002 //! moment.js locale configuration 6003 6004 var ms = moment.defineLocale('ms', { 6005 months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split( 6006 '_' 6007 ), 6008 monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 6009 weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 6010 weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 6011 weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 6012 longDateFormat: { 6013 LT: 'HH.mm', 6014 LTS: 'HH.mm.ss', 6015 L: 'DD/MM/YYYY', 6016 LL: 'D MMMM YYYY', 6017 LLL: 'D MMMM YYYY [pukul] HH.mm', 6018 LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', 6019 }, 6020 meridiemParse: /pagi|tengahari|petang|malam/, 6021 meridiemHour: function (hour, meridiem) { 6022 if (hour === 12) { 6023 hour = 0; 6024 } 6025 if (meridiem === 'pagi') { 6026 return hour; 6027 } else if (meridiem === 'tengahari') { 6028 return hour >= 11 ? hour : hour + 12; 6029 } else if (meridiem === 'petang' || meridiem === 'malam') { 6030 return hour + 12; 6031 } 6032 }, 6033 meridiem: function (hours, minutes, isLower) { 6034 if (hours < 11) { 6035 return 'pagi'; 6036 } else if (hours < 15) { 6037 return 'tengahari'; 6038 } else if (hours < 19) { 6039 return 'petang'; 6040 } else { 6041 return 'malam'; 6042 } 6043 }, 6044 calendar: { 6045 sameDay: '[Hari ini pukul] LT', 6046 nextDay: '[Esok pukul] LT', 6047 nextWeek: 'dddd [pukul] LT', 6048 lastDay: '[Kelmarin pukul] LT', 6049 lastWeek: 'dddd [lepas pukul] LT', 6050 sameElse: 'L', 6051 }, 6052 relativeTime: { 6053 future: 'dalam %s', 6054 past: '%s yang lepas', 6055 s: 'beberapa saat', 6056 ss: '%d saat', 6057 m: 'seminit', 6058 mm: '%d minit', 6059 h: 'sejam', 6060 hh: '%d jam', 6061 d: 'sehari', 6062 dd: '%d hari', 6063 M: 'sebulan', 6064 MM: '%d bulan', 6065 y: 'setahun', 6066 yy: '%d tahun', 6067 }, 6068 week: { 6069 dow: 1, // Monday is the first day of the week. 6070 doy: 7, // The week that contains Jan 7th is the first week of the year. 6071 }, 6072 }); 6073 6074 return ms; 6075 6076}))); 6077 6078 6079/***/ }), 6080 6081/***/ 3478: 6082/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6083 6084//! moment.js locale configuration 6085//! locale : Northern Sami [se] 6086//! authors : BÃ¥rd Rolstad Henriksen : https://github.com/karamell 6087 6088;(function (global, factory) { 6089 true ? factory(__webpack_require__(5093)) : 6090 0 6091}(this, (function (moment) { 'use strict'; 6092 6093 //! moment.js locale configuration 6094 6095 var se = moment.defineLocale('se', { 6096 months: 'oÄÄajagemánnu_guovvamánnu_njukÄamánnu_cuoÅománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_ÄakÄamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( 6097 '_' 6098 ), 6099 monthsShort: 6100 'oÄÄj_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov'.split('_'), 6101 weekdays: 6102 'sotnabeaivi_vuossárga_maÅÅebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( 6103 '_' 6104 ), 6105 weekdaysShort: 'sotn_vuos_maÅ_gask_duor_bear_láv'.split('_'), 6106 weekdaysMin: 's_v_m_g_d_b_L'.split('_'), 6107 longDateFormat: { 6108 LT: 'HH:mm', 6109 LTS: 'HH:mm:ss', 6110 L: 'DD.MM.YYYY', 6111 LL: 'MMMM D. [b.] YYYY', 6112 LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', 6113 LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', 6114 }, 6115 calendar: { 6116 sameDay: '[otne ti] LT', 6117 nextDay: '[ihttin ti] LT', 6118 nextWeek: 'dddd [ti] LT', 6119 lastDay: '[ikte ti] LT', 6120 lastWeek: '[ovddit] dddd [ti] LT', 6121 sameElse: 'L', 6122 }, 6123 relativeTime: { 6124 future: '%s geažes', 6125 past: 'maÅit %s', 6126 s: 'moadde sekunddat', 6127 ss: '%d sekunddat', 6128 m: 'okta minuhta', 6129 mm: '%d minuhtat', 6130 h: 'okta diimmu', 6131 hh: '%d diimmut', 6132 d: 'okta beaivi', 6133 dd: '%d beaivvit', 6134 M: 'okta mánnu', 6135 MM: '%d mánut', 6136 y: 'okta jahki', 6137 yy: '%d jagit', 6138 }, 6139 dayOfMonthOrdinalParse: /\d{1,2}\./, 6140 ordinal: '%d.', 6141 week: { 6142 dow: 1, // Monday is the first day of the week. 6143 doy: 4, // The week that contains Jan 4th is the first week of the year. 6144 }, 6145 }); 6146 6147 return se; 6148 6149}))); 6150 6151 6152/***/ }), 6153 6154/***/ 3508: 6155/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6156 6157//! moment.js locale configuration 6158//! locale : Basque [eu] 6159//! author : Eneko Illarramendi : https://github.com/eillarra 6160 6161;(function (global, factory) { 6162 true ? factory(__webpack_require__(5093)) : 6163 0 6164}(this, (function (moment) { 'use strict'; 6165 6166 //! moment.js locale configuration 6167 6168 var eu = moment.defineLocale('eu', { 6169 months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( 6170 '_' 6171 ), 6172 monthsShort: 6173 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( 6174 '_' 6175 ), 6176 monthsParseExact: true, 6177 weekdays: 6178 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( 6179 '_' 6180 ), 6181 weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), 6182 weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), 6183 weekdaysParseExact: true, 6184 longDateFormat: { 6185 LT: 'HH:mm', 6186 LTS: 'HH:mm:ss', 6187 L: 'YYYY-MM-DD', 6188 LL: 'YYYY[ko] MMMM[ren] D[a]', 6189 LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', 6190 LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', 6191 l: 'YYYY-M-D', 6192 ll: 'YYYY[ko] MMM D[a]', 6193 lll: 'YYYY[ko] MMM D[a] HH:mm', 6194 llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', 6195 }, 6196 calendar: { 6197 sameDay: '[gaur] LT[etan]', 6198 nextDay: '[bihar] LT[etan]', 6199 nextWeek: 'dddd LT[etan]', 6200 lastDay: '[atzo] LT[etan]', 6201 lastWeek: '[aurreko] dddd LT[etan]', 6202 sameElse: 'L', 6203 }, 6204 relativeTime: { 6205 future: '%s barru', 6206 past: 'duela %s', 6207 s: 'segundo batzuk', 6208 ss: '%d segundo', 6209 m: 'minutu bat', 6210 mm: '%d minutu', 6211 h: 'ordu bat', 6212 hh: '%d ordu', 6213 d: 'egun bat', 6214 dd: '%d egun', 6215 M: 'hilabete bat', 6216 MM: '%d hilabete', 6217 y: 'urte bat', 6218 yy: '%d urte', 6219 }, 6220 dayOfMonthOrdinalParse: /\d{1,2}\./, 6221 ordinal: '%d.', 6222 week: { 6223 dow: 1, // Monday is the first day of the week. 6224 doy: 7, // The week that contains Jan 7th is the first week of the year. 6225 }, 6226 }); 6227 6228 return eu; 6229 6230}))); 6231 6232 6233/***/ }), 6234 6235/***/ 3601: 6236/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6237 6238//! moment.js locale configuration 6239//! locale : Danish [da] 6240//! author : Ulrik Nielsen : https://github.com/mrbase 6241 6242;(function (global, factory) { 6243 true ? factory(__webpack_require__(5093)) : 6244 0 6245}(this, (function (moment) { 'use strict'; 6246 6247 //! moment.js locale configuration 6248 6249 var da = moment.defineLocale('da', { 6250 months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( 6251 '_' 6252 ), 6253 monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 6254 weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 6255 weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), 6256 weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), 6257 longDateFormat: { 6258 LT: 'HH:mm', 6259
6259 LTS: 'HH:mm:ss', 6260 L: 'DD.MM.YYYY', 6261 LL: 'D. MMMM YYYY', 6262 LLL: 'D. MMMM YYYY HH:mm', 6263 LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', 6264 }, 6265 calendar: { 6266 sameDay: '[i dag kl.] LT', 6267 nextDay: '[i morgen kl.] LT', 6268 nextWeek: 'pÃ¥ dddd [kl.] LT', 6269 lastDay: '[i gÃ¥r kl.] LT', 6270 lastWeek: '[i] dddd[s kl.] LT', 6271 sameElse: 'L', 6272 }, 6273 relativeTime: { 6274 future: 'om %s', 6275 past: '%s siden', 6276 s: 'fÃ¥ sekunder', 6277 ss: '%d sekunder', 6278 m: 'et minut', 6279 mm: '%d minutter', 6280 h: 'en time', 6281 hh: '%d timer', 6282 d: 'en dag', 6283 dd: '%d dage', 6284 M: 'en mÃ¥ned', 6285 MM: '%d mÃ¥neder', 6286 y: 'et Ã¥r', 6287 yy: '%d Ã¥r', 6288 }, 6289 dayOfMonthOrdinalParse: /\d{1,2}\./, 6290 ordinal: '%d.', 6291 week: { 6292 dow: 1, // Monday is the first day of the week. 6293 doy: 4, // The week that contains Jan 4th is the first week of the year. 6294 }, 6295 }); 6296 6297 return da; 6298 6299}))); 6300 6301 6302/***/ }), 6303 6304/***/ 3635: 6305/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6306 6307//! moment.js locale configuration 6308//! locale : Chuvash [cv] 6309//! author : Anatoly Mironov : https://github.com/mirontoli 6310 6311;(function (global, factory) { 6312 true ? factory(__webpack_require__(5093)) : 6313 0 6314}(this, (function (moment) { 'use strict'; 6315 6316 //! moment.js locale configuration 6317 6318 var cv = moment.defineLocale('cv', { 6319 months: 'кÓÑлаÑ_наÑÓÑ_пÑÑ_ака_май_Ò«ÓÑÑме_ÑÑÓ_Ò«ÑÑла_авÓн_Ñпа_Ñӳк_ÑаÑÑав'.split( 6320 '_' 6321 ), 6322 monthsShort: 'кÓÑ_наÑ_пÑÑ_ака_май_Ò«ÓÑ_ÑÑÓ_Ò«ÑÑ_авн_Ñпа_Ñӳк_ÑаÑ'.split('_'), 6323 weekdays: 6324 'вÑÑÑаÑникÑн_ÑÑнÑикÑн_ÑÑлаÑикÑн_ÑнкÑн_кÓҫнеÑникÑн_ÑÑнекÑн_ÑÓмаÑкÑн'.split( 6325 '_' 6326 ), 6327 weekdaysShort: 'вÑÑ_ÑÑн_ÑÑл_Ñн_кÓÒ«_ÑÑн_ÑÓм'.split('_'), 6328 weekdaysMin: 'вÑ_Ñн_ÑÑ_Ñн_кҫ_ÑÑ_Ñм'.split('_'), 6329 longDateFormat: { 6330 LT: 'HH:mm', 6331 LTS: 'HH:mm:ss', 6332 L: 'DD-MM-YYYY', 6333 LL: 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ]', 6334 LLL: 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm', 6335 LLLL: 'dddd, YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm', 6336 }, 6337 calendar: { 6338 sameDay: '[ÐаÑн] LT [ÑÐµÑ ÐµÑÑе]', 6339 nextDay: '[ЫÑан] LT [ÑÐµÑ ÐµÑÑе]', 6340 lastDay: '[ÓнеÑ] LT [ÑÐµÑ ÐµÑÑе]', 6341 nextWeek: '[ҪиÑеÑ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6342 lastWeek: '[ÐÑÑнÓ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6343 sameElse: 'L', 6344 }, 6345 relativeTime: { 6346 future: function (output) { 6347 var affix = /ÑÐµÑ ÐµÑ$/i.exec(output) 6348 ? 'Ñен' 6349 : /Ò«Ñл$/i.exec(output) 6350 ? 'Ñан' 6351 : 'Ñан'; 6352 return output + affix; 6353 }, 6354 past: '%s каÑлла', 6355 s: 'пÓÑ-ик ҫеккÑнÑ', 6356 ss: '%d ҫеккÑнÑ', 6357 m: 'пÓÑ Ð¼Ð¸Ð½ÑÑ', 6358 mm: '%d минÑÑ', 6359 h: 'пÓÑ ÑÐµÑ ÐµÑ', 6360 hh: '%d ÑÐµÑ ÐµÑ', 6361 d: 'пÓÑ ÐºÑн', 6362 dd: '%d кÑн', 6363 M: 'пÓÑ ÑйÓÑ ', 6364 MM: '%d ÑйÓÑ ', 6365 y: 'пÓÑ Ò«Ñл', 6366 yy: '%d Ò«Ñл', 6367 }, 6368 dayOfMonthOrdinalParse: /\d{1,2}-мÓÑ/, 6369 ordinal: '%d-мÓÑ', 6370 week: { 6371 dow: 1, // Monday is the first day of the week. 6372 doy: 7, // The week that contains Jan 7th is the first week of the year. 6373 }, 6374 }); 6375 6376 return cv; 6377 6378}))); 6379 6380 6381/***/ }), 6382 6383/***/ 3739: 6384/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6385 6386//! moment.js locale configuration 6387//! locale : Malayalam [ml] 6388//! author : Floyd Pink : https://github.com/floydpink 6389 6390;(function (global, factory) { 6391 true ? factory(__webpack_require__(5093)) : 6392 0 6393}(this, (function (moment) { 'use strict'; 6394 6395 //! moment.js locale configuration 6396 6397 var ml = moment.defineLocale('ml', { 6398 months: 'à´à´¨àµà´µà´°à´¿_à´«àµà´¬àµà´°àµà´µà´°à´¿_മാർà´àµà´à
vendor: 5,375 bytes, lines 6398-6536
6398µ_à´à´ªàµà´°à´¿àµ½_à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ_à´à´à´¸àµà´±àµà´±àµ_à´¸àµà´ªàµà´±àµà´±à´à´¬àµ¼_à´à´àµà´àµà´¬àµ¼_നവà´à´¬àµ¼_à´¡à´¿à´¸à´à´¬àµ¼'.split( 6399 '_' 6400 ), 6401 monthsShort: 6402 'à´à´¨àµ._à´«àµà´¬àµà´°àµ._മാർ._à´à´ªàµà´°à´¿._à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ._à´à´._à´¸àµà´ªàµà´±àµà´±._à´à´àµà´àµ._നവà´._à´¡à´¿à´¸à´.'.split( 6403 '_' 6404 ), 6405 monthsParseExact: true, 6406 weekdays: 6407 'à´à´¾à´¯à´±à´¾à´´àµà´_തിà´àµà´à´³à´¾à´´àµà´_à´àµà´µàµà´µà´¾à´´àµà´_à´¬àµà´§à´¨à´¾à´´àµà´_à´µàµà´¯à´¾à´´à´¾à´´àµà´_à´µàµà´³àµà´³à´¿à´¯à´¾à´´àµà´_ശനിയാഴàµà´'.split( 6408 '_' 6409 ), 6410 weekdaysShort: 'à´à´¾à´¯àµ¼_തിà´àµà´àµ¾_à´àµà´µàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´_à´µàµà´³àµà´³à´¿_ശനി'.split('_'), 6411 weekdaysMin: 'à´à´¾_തി_à´àµ_à´¬àµ_à´µàµà´¯à´¾_à´µàµ_à´¶'.split('_'), 6412 longDateFormat: { 6413 LT: 'A h:mm -à´¨àµ', 6414 LTS: 'A h:mm:ss -à´¨àµ', 6415 L: 'DD/MM/YYYY', 6416 LL: 'D MMMM YYYY', 6417 LLL: 'D MMMM YYYY, A h:mm -à´¨àµ', 6418 LLLL: 'dddd, D MMMM YYYY, A h:mm -à´¨àµ', 6419 }, 6420 calendar: { 6421 sameDay: '[à´à´¨àµà´¨àµ] LT', 6422 nextDay: '[നാളàµ] LT', 6423 nextWeek: 'dddd, LT', 6424 lastDay: '[à´à´¨àµà´¨à´²àµ] LT', 6425 lastWeek: '[à´à´´à´¿à´àµà´] dddd, LT', 6426 sameElse: 'L', 6427 }, 6428 relativeTime: { 6429 future: '%s à´à´´à´¿à´àµà´àµ', 6430 past: '%s à´®àµàµ»à´ªàµ', 6431 s: 'ഠൽപ നിമിഷà´àµà´àµ¾', 6432 ss: '%d à´¸àµà´àµà´àµ»à´¡àµ', 6433 m: 'à´à´°àµ മിനിറàµà´±àµ', 6434 mm: '%d മിനിറàµà´±àµ', 6435 h: 'à´à´°àµ മണിà´àµà´àµàµ¼', 6436 hh: '%d മണിà´àµà´àµàµ¼', 6437 d: 'à´à´°àµ ദിവസà´', 6438 dd: '%d ദിവസà´', 6439 M: 'à´à´°àµ മാസà´', 6440 MM: '%d മാസà´', 6441 y: 'à´à´°àµ വർഷà´', 6442 yy: '%d വർഷà´', 6443 }, 6444 meridiemParse: /രാതàµà´°à´¿|രാവിലàµ|à´à´àµà´ à´à´´à´¿à´àµà´àµ|à´µàµà´àµà´¨àµà´¨àµà´°à´|രാതàµà´°à´¿/i, 6445 meridiemHour: function (hour, meridiem) { 6446 if (hour === 12) { 6447 hour = 0; 6448 } 6449 if ( 6450 (meridiem === 'രാതàµà´°à´¿' && hour >= 4) || 6451 meridiem === 'à´à´àµà´ à´à´´à´¿à´àµà´àµ' || 6452 meridiem === 'à´µàµà´àµà´¨àµà´¨àµà´°à´' 6453 ) { 6454 return hour + 12; 6455 } else { 6456 return hour; 6457 } 6458 }, 6459 meridiem: function (hour, minute, isLower) { 6460 if (hour < 4) { 6461 return 'രാതàµà´°à´¿'; 6462 } else if (hour < 12) { 6463 return 'രാവിലàµ'; 6464 } else if (hour < 17) { 6465 return 'à´à´àµà´ à´à´´à´¿à´àµà´àµ'; 6466 } else if (hour < 20) { 6467 return 'à´µàµà´àµà´¨àµà´¨àµà´°à´'; 6468 } else { 6469 return 'രാതàµà´°à´¿'; 6470 } 6471 }, 6472 }); 6473 6474 return ml; 6475 6476}))); 6477 6478 6479/***/ }), 6480 6481/***/ 3784: 6482/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6483 6484//! moment.js locale configuration 6485//! locale : Dutch (Belgium) [nl-be] 6486//! author : Joris Röling : https://github.com/jorisroling 6487//! author : Jacob Middag : https://github.com/middagj 6488 6489;(function (global, factory) { 6490 true ? factory(__webpack_require__(5093)) : 6491 0 6492}(this, (function (moment) { 'use strict'; 6493 6494 //! moment.js locale configuration 6495 6496 var monthsShortWithDots = 6497 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 6498 monthsShortWithoutDots = 6499 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), 6500 monthsParse = [ 6501 /^jan/i, 6502 /^feb/i, 6503 /^(maart|mrt\.?)$/i, 6504 /^apr/i, 6505 /^mei$/i, 6506 /^jun[i.]?$/i, 6507 /^jul[i.]?$/i, 6508 /^aug/i, 6509 /^sep/i, 6510 /^okt/i, 6511 /^nov/i, 6512 /^dec/i, 6513 ], 6514 monthsRegex = 6515 /^(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; 6516 6517 var nlBe = moment.defineLocale('nl-be', { 6518 months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( 6519 '_' 6520 ), 6521 monthsShort: function (m, format) { 6522 if (!m) { 6523 return monthsShortWithDots; 6524 } else if (/-MMM-/.test(format)) { 6525 return monthsShortWithoutDots[m.month()]; 6526 } else { 6527 return monthsShortWithDots[m.month()]; 6528 } 6529 }, 6530 6531 monthsRegex: monthsRegex, 6532 monthsShortRegex: monthsRegex, 6533 monthsStrictRegex: 6534 /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 6535 monthsShortStrictRegex: 6536 /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
vendor: 6,285 bytes, lines 6537-6743
6537 6538 monthsParse: monthsParse, 6539 longMonthsParse: monthsParse, 6540 shortMonthsParse: monthsParse, 6541 6542 weekdays: 6543 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 6544 weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'), 6545 weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'), 6546 weekdaysParseExact: true, 6547 longDateFormat: { 6548 LT: 'HH:mm', 6549 LTS: 'HH:mm:ss', 6550 L: 'DD/MM/YYYY', 6551 LL: 'D MMMM YYYY', 6552 LLL: 'D MMMM YYYY HH:mm', 6553 LLLL: 'dddd D MMMM YYYY HH:mm', 6554 }, 6555 calendar: { 6556 sameDay: '[vandaag om] LT', 6557 nextDay: '[morgen om] LT', 6558 nextWeek: 'dddd [om] LT', 6559 lastDay: '[gisteren om] LT', 6560 lastWeek: '[afgelopen] dddd [om] LT', 6561 sameElse: 'L', 6562 }, 6563 relativeTime: { 6564 future: 'over %s', 6565 past: '%s geleden', 6566 s: 'een paar seconden', 6567 ss: '%d seconden', 6568 m: 'één minuut', 6569 mm: '%d minuten', 6570 h: 'één uur', 6571 hh: '%d uur', 6572 d: 'één dag', 6573 dd: '%d dagen', 6574 M: 'één maand', 6575 MM: '%d maanden', 6576 y: 'één jaar', 6577 yy: '%d jaar', 6578 }, 6579 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 6580 ordinal: function (number) { 6581 return ( 6582 number + 6583 (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') 6584 ); 6585 }, 6586 week: { 6587 dow: 1, // Monday is the first day of the week. 6588 doy: 4, // The week that contains Jan 4th is the first week of the year. 6589 }, 6590 }); 6591 6592 return nlBe; 6593 6594}))); 6595 6596 6597/***/ }), 6598 6599/***/ 3827: 6600/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6601 6602//! moment.js locale configuration 6603//! locale : Japanese [ja] 6604//! author : LI Long : https://github.com/baryon 6605 6606;(function (global, factory) { 6607 true ? factory(__webpack_require__(5093)) : 6608 0 6609}(this, (function (moment) { 'use strict'; 6610 6611 //! moment.js locale configuration 6612 6613 var ja = moment.defineLocale('ja', { 6614 eras: [ 6615 { 6616 since: '2019-05-01', 6617 offset: 1, 6618 name: '令å', 6619 narrow: 'ã¿', 6620 abbr: 'R', 6621 }, 6622 { 6623 since: '1989-01-08', 6624 until: '2019-04-30', 6625 offset: 1, 6626 name: 'å¹³æ', 6627 narrow: 'ã»', 6628 abbr: 'H', 6629 }, 6630 { 6631 since: '1926-12-25', 6632 until: '1989-01-07', 6633 offset: 1, 6634 name: 'æå', 6635 narrow: 'ã¼', 6636 abbr: 'S', 6637 }, 6638 { 6639 since: '1912-07-30', 6640 until: '1926-12-24', 6641 offset: 1, 6642 name: '大æ£', 6643 narrow: 'ã½', 6644 abbr: 'T', 6645 }, 6646 { 6647 since: '1873-01-01', 6648 until: '1912-07-29', 6649 offset: 6, 6650 name: 'ææ²»', 6651 narrow: 'ã¾', 6652 abbr: 'M', 6653 }, 6654 { 6655 since: '0001-01-01', 6656 until: '1873-12-31', 6657 offset: 1, 6658 name: '西æ¦', 6659 narrow: 'AD', 6660 abbr: 'AD', 6661 }, 6662 { 6663 since: '0000-12-31', 6664 until: -Infinity, 6665 offset: 1, 6666 name: 'ç´å å', 6667 narrow: 'BC', 6668 abbr: 'BC', 6669 }, 6670 ], 6671 eraYearOrdinalRegex: /(å |\d+)å¹´/, 6672 eraYearOrdinalParse: function (input, match) { 6673 return match[1] === 'å ' ? 1 : parseInt(match[1] || input, 10); 6674 }, 6675 months: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 6676 monthsShort: '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split( 6677 '_' 6678 ), 6679 weekdays: 'æ¥ææ¥_æææ¥_ç«ææ¥_æ°´ææ¥_æ¨ææ¥_éææ¥_åææ¥'.split('_'), 6680 weekdaysShort: 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 6681 weekdaysMin: 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 6682 longDateFormat: { 6683 LT: 'HH:mm', 6684 LTS: 'HH:mm:ss', 6685 L: 'YYYY/MM/DD', 6686 LL: 'YYYYå¹´MæDæ¥', 6687 LLL: 'YYYYå¹´MæDæ¥ HH:mm', 6688 LLLL: 'YYYYå¹´MæDæ¥ dddd HH:mm', 6689 l: 'YYYY/MM/DD', 6690 ll: 'YYYYå¹´MæDæ¥', 6691 lll: 'YYYYå¹´MæDæ¥ HH:mm', 6692 llll: 'YYYYå¹´MæDæ¥(ddd) HH:mm', 6693 }, 6694 meridiemParse: /åå|åå¾/i, 6695 isPM: function (input) { 6696 return input === 'åå¾'; 6697 }, 6698 meridiem: function (hour, minute, isLower) { 6699 if (hour < 12) { 6700 return 'åå'; 6701 } else { 6702 return 'åå¾'; 6703 } 6704 }, 6705 calendar: { 6706 sameDay: '[仿¥] LT', 6707 nextDay: '[ææ¥] LT', 6708 nextWeek: function (now) { 6709 if (now.week() !== this.week()) { 6710 return '[æ¥é±]dddd LT'; 6711 } else { 6712 return 'dddd LT'; 6713 } 6714 }, 6715 lastDay: '[æ¨æ¥] LT', 6716 lastWeek: function (now) { 6717 if (this.week() !== now.week()) { 6718 return '[å é±]dddd LT'; 6719 } else { 6720 return 'dddd LT'; 6721 } 6722 }, 6723 sameElse: 'L', 6724 }, 6725 dayOfMonthOrdinalParse: /\d{1,2}æ¥/, 6726 ordinal: function (number, period) { 6727 switch (period) { 6728 case 'y': 6729 return number === 1 ? 'å å¹´' : number + 'å¹´'; 6730 case 'd': 6731 case 'D': 6732 case 'DDD': 6733 return number + 'æ¥'; 6734 default: 6735 return number; 6736 } 6737 }, 6738 relativeTime: { 6739 future: '%så¾', 6740 past: '%så', 6741 s: 'æ°ç§', 6742 ss: '%dç§', 6743 m: '1å',
6744 mm: '%då', 6745 h: '1æé', 6746 hh: '%dæé', 6747 d: '1æ¥', 6748 dd: '%dæ¥', 6749 M: '1ã¶æ', 6750 MM: '%dã¶æ', 6751 y: '1å¹´', 6752 yy: '%då¹´', 6753 }, 6754 }); 6755 6756 return ja; 6757 6758}))); 6759 6760 6761/***/ }), 6762 6763/***/ 3861: 6764/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6765 6766//! moment.js locale configuration 6767//! locale : Hindi [hi] 6768//! author : Mayank Singhal : https://github.com/mayanksinghal 6769 6770;(function (global, factory) { 6771 true ? factory(__webpack_require__(5093)) : 6772 0 6773}(this, (function (moment) { 'use strict'; 6774 6775 //! moment.js locale configuration 6776 6777 var symbolMap = { 6778 1: '१', 6779 2: '२', 6780 3: '३', 6781 4: '४', 6782 5: '५', 6783 6: '६', 6784 7: 'à¥', 6785 8: '८', 6786 9: '९', 6787 0: '०', 6788 }, 6789 numberMap = { 6790 '१': '1', 6791 '२': '2', 6792 '३': '3', 6793 '४': '4', 6794 '५': '5', 6795 '६': '6', 6796 'à¥': '7', 6797 '८': '8', 6798 '९': '9', 6799 '०': '0', 6800 }, 6801 monthsParse = [ 6802 /^à¤à¤¨/i, 6803 /^फ़र|फर/i, 6804 /^मारà¥à¤/i, 6805 /^ठपà¥à¤°à¥/i, 6806 /^मà¤/i, 6807 /^à¤à¥à¤¨/i, 6808 /^à¤à¥à¤²/i, 6809 /^ठà¤/i, 6810 /^सितà¤|सित/i, 6811 /^ठà¤à¥à¤à¥/i, 6812 /^नव|नवà¤/i, 6813 /^दिसà¤|दिस/i, 6814 ], 6815 shortMonthsParse = [ 6816 /^à¤à¤¨/i, 6817 /^फ़र/i, 6818 /^मारà¥à¤/i, 6819 /^ठपà¥à¤°à¥/i, 6820 /^मà¤/i, 6821 /^à¤à¥à¤¨/i, 6822 /^à¤à¥à¤²/i, 6823 /^ठà¤/i, 6824 /^सित/i, 6825 /^ठà¤à¥à¤à¥/i, 6826 /^नव/i, 6827 /^दिस/i, 6828 ]; 6829 6830 var hi = moment.defineLocale('hi', { 6831 months: { 6832 format: 'à¤à¤¨à¤µà¤°à¥_फ़रवरà¥_मारà¥à¤_ठपà¥à¤°à¥à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤¸à¥à¤¤_सितमà¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split( 6833 '_' 6834 ), 6835 standalone: 6836 'à¤à¤¨à¤µà¤°à¥_फरवरà¥_मारà¥à¤_ठपà¥à¤°à¥à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤¸à¥à¤¤_सितà¤à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नवà¤à¤¬à¤°_दिसà¤à¤¬à¤°'.split( 6837 '_' 6838 ), 6839 }, 6840 monthsShort: 6841 'à¤à¤¨._फ़र._मारà¥à¤_ठपà¥à¤°à¥._मà¤_à¤à¥à¤¨_à¤à¥à¤²._ठà¤._सित._ठà¤à¥à¤à¥._नव._दिस.'.split('_'), 6842 weekdays: 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤²à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 6843 weekdaysShort: 'रवि_सà¥à¤®_मà¤à¤à¤²_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 6844 weekdaysMin: 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 6845 longDateFormat: { 6846 LT: 'A h:mm बà¤à¥', 6847 LTS: 'A h:mm:ss बà¤à¥', 6848 L: 'DD/MM/YYYY', 6849 LL: 'D MMMM YYYY', 6850 LLL: 'D MMMM YYYY, A h:mm बà¤à¥', 6851 LLLL: 'dddd, D MMMM YYYY, A h:mm बà¤à¥', 6852 }, 6853 6854 monthsParse: monthsParse, 6855 longMonthsParse: monthsParse, 6856 shortMonthsParse: shortMonthsParse, 6857 6858 monthsRegex: 6859 /^(à¤à¤¨à¤µà¤°à¥|à¤à¤¨\.?|फ़रवरà¥|फरवरà¥|फ़र\.?|मारà¥à¤?|ठपà¥à¤°à¥à¤²|ठपà¥à¤°à¥\.?|मà¤?|à¤à¥à¤¨?|à¤à¥à¤²à¤¾à¤|à¤à¥à¤²\.?|ठà¤à¤¸à¥à¤¤|ठà¤\.?|सितमà¥à¤¬à¤°|सितà¤à¤¬à¤°|सित\.?|ठà¤à¥à¤à¥à¤¬à¤°|ठà¤à¥à¤à¥\.?|नवमà¥à¤¬à¤°|नवà¤à¤¬à¤°|नव\.?|दिसमà¥à¤¬à¤°|दिसà¤à¤¬à¤°|दिस\.?)/i, 6860 6861 monthsShortRegex: 6862 /^(à¤à¤¨à¤µà¤°à¥|à¤à¤¨\.?|फ़रवरà¥|फरवरà¥|फ़र\.?|मारà¥à¤?|ठपà¥à¤°à¥à¤²|à¤
6862पà¥à¤°à¥\.?|मà¤?|à¤à¥à¤¨?|à¤à¥à¤²à¤¾à¤|à¤à¥à¤²\.?|ठà¤à¤¸à¥à¤¤|ठà¤\.?|सितमà¥à¤¬à¤°|सितà¤à¤¬à¤°|सित\.?|ठà¤à¥à¤à¥à¤¬à¤°|ठà¤à¥à¤à¥\.?|नवमà¥à¤¬à¤°|नवà¤à¤¬à¤°|नव\.?|दिसमà¥à¤¬à¤°|दिसà¤à¤¬à¤°|दिस\.?)/i, 6863 6864 monthsStrictRegex: 6865 /^(à¤à¤¨à¤µà¤°à¥?|फ़रवरà¥|फरवरà¥?|मारà¥à¤?|ठपà¥à¤°à¥à¤²?|मà¤?|à¤à¥à¤¨?|à¤à¥à¤²à¤¾à¤?|ठà¤à¤¸à¥à¤¤?|सितमà¥à¤¬à¤°|सितà¤à¤¬à¤°|सित?\.?|ठà¤à¥à¤à¥à¤¬à¤°|ठà¤à¥à¤à¥\.?|नवमà¥à¤¬à¤°|नवà¤à¤¬à¤°?|दिसमà¥à¤¬à¤°|दिसà¤à¤¬à¤°?)/i, 6866 6867 monthsShortStrictRegex: 6868 /^(à¤à¤¨\.?|फ़र\.?|मारà¥à¤?|ठपà¥à¤°à¥\.?|मà¤?|à¤à¥à¤¨?|à¤à¥à¤²\.?|ठà¤\.?|सित\.?|ठà¤à¥à¤à¥\.?|नव\.?|दिस\.?)/i, 6869 6870 calendar: { 6871 sameDay: '[à¤à¤] LT', 6872 nextDay: '[à¤à¤²] LT', 6873 nextWeek: 'dddd, LT', 6874 lastDay: '[à¤à¤²] LT', 6875 lastWeek: '[पिà¤à¤²à¥] dddd, LT', 6876 sameElse: 'L', 6877 }, 6878 relativeTime: { 6879 future: '%s मà¥à¤', 6880 past: '%s पहलà¥', 6881 s: 'à¤à¥à¤ हॠà¤à¥à¤·à¤£', 6882 ss: '%d सà¥à¤à¤à¤¡', 6883 m: 'à¤à¤ मिनà¤', 6884 mm: '%d मिनà¤', 6885 h: 'à¤à¤ à¤à¤à¤à¤¾', 6886 hh: '%d à¤à¤à¤à¥', 6887 d: 'à¤à¤ दिन', 6888 dd: '%d दिन', 6889 M: 'à¤à¤ महà¥à¤¨à¥', 6890 MM: '%d महà¥à¤¨à¥', 6891 y: 'à¤à¤ वरà¥à¤·', 6892 yy: '%d वरà¥à¤·', 6893 }, 6894 preparse: function (string) { 6895 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 6896 return numberMap[match]; 6897 }); 6898 }, 6899 postformat: function (string) { 6900 return string.replace(/\d/g, function (match) { 6901 return symbolMap[match]; 6902 }); 6903 }, 6904 // Hindi notation for meridiems are quite fuzzy in practice. While there exists 6905 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. 6906 meridiemParse: /रात|सà¥à¤¬à¤¹|दà¥à¤ªà¤¹à¤°|शाम/, 6907 meridiemHour: function (hour, meridiem) { 6908 if (hour === 12) { 6909 hour = 0; 6910 } 6911 if (meridiem === 'रात') { 6912 return hour < 4 ? hour : hour + 12; 6913 } else if (meridiem === 'सà¥à¤¬à¤¹') { 6914 return hour; 6915 } else if (meridiem === 'दà¥à¤ªà¤¹à¤°') { 6916 return hour >= 10 ? hour : hour + 12; 6917 } else if (meridiem === 'शाम') { 6918 return hour + 12; 6919 } 6920 }, 6921 meridiem: function (hour, minute, isLower) { 6922 if (hour < 4) { 6923 return 'रात'; 6924 } else if (hour < 10) { 6925 return 'सà¥à¤¬à¤¹'; 6926 } else if (hour < 17) { 6927 return 'दà¥à¤ªà¤¹à¤°'; 6928 } else if (hour < 20) { 6929 return 'शाम'; 6930 } else { 6931 return 'रात'; 6932 } 6933 }, 6934 week: { 6935 dow: 0, // Sunday is the first day of the week. 6936 doy: 6, // The week that contains Jan 6th is the first week of the year. 6937 }, 6938 }); 6939 6940 return hi; 6941 6942}))); 6943 6944 6945/***/ }), 6946 6947/***/ 3872: 6948/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 6949 6950//! moment.js locale configuration 6951//! locale : English (Australia) [en-au] 6952//! author : Jared Morse : https://github.com/jarcoal 6953 6954;(function (global, factory) { 6955 true ? factory(__webpack_require__(5093)) : 6956 0 6957}(this, (function (moment) { 'use strict'; 6958 6959 //! moment.js locale configuration 6960 6961 var enAu = moment.defineLocale('en-au', { 6962 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 6963 '_' 6964 ), 6965 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6966 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 6967 '_' 6968 ), 6969 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6970 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6971 longDateFormat: { 6972 LT: 'h:mm A', 6973 LTS: 'h:mm:ss A', 6974 L: 'DD/MM/YYYY', 6975 LL: 'D MMMM YYYY', 6976 LLL: 'D MMMM YYYY h:mm A', 6977 LLLL: 'dddd, D MMMM YYYY h:mm A', 6978 }, 6979 calendar: { 6980 sameDay: '[Today at] LT', 6981 nextDay: '[Tomorrow at] LT', 6982 nextWeek: 'dddd [at] LT', 6983 lastDay: '[Yesterday at] LT', 6984 lastWeek: '[Last] dddd [at] LT', 6985 sameElse: 'L', 6986 }, 6987 relativeTime: { 6988 future: 'in %s', 6989 past: '%s ago', 6990 s: 'a few seconds', 6991 ss: '%d seconds', 6992 m: 'a minute', 6993 mm: '%d minutes', 6994 h: 'an hour', 6995 hh: '%d hours', 6996 d: 'a day', 6997 dd: '%d days', 6998 M: 'a month', 6999 MM: '%d months', 7000 y: 'a year', 7001 yy: '%d years', 7002 }, 7003 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 7004 ordinal: function (number) { 7005 var b = number % 10, 7006 output = 7007 ~~((number % 100) / 10) === 1 7008 ? 'th' 7009 : b === 1 7010 ? 'st' 7011 : b === 2 7012 ? 'nd' 7013 : b === 3 7014 ? 'rd' 7015 : 'th'; 7016 return number + output; 7017 }, 7018 week: { 7019 dow: 0, // Sunday is the first day of the week. 7020 doy: 4, // The week that contains Jan 4th is the first week of the year. 7021 }, 7022 }); 7023 7024 return enAu; 7025 7026}))); 7027 7028 7029/***/ }), 7030 7031/***/ 4051: 7032/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7033 7034//! moment.js locale configuration 7035//! locale : Pseudo [x-pseudo] 7036//! author : Andrew Hood : https://github.com/andrewhood125 7037 7038;(function (global, factory) { 7039 true ? factory(__webpack_require__(5093)) : 7040 0 7041}(this, (function (moment) { 'use strict'; 7042 7043 //! moment.js locale configuration 7044 7045 var xPseudo = moment.defineLocale('x-pseudo', { 7046 months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ã~ctób~ér_Ã~óvém~bér_~Décé~mbér'.split( 7047 '_' 7048 ), 7049 monthsShort: 7050 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Ãct_~Ãóv_~Déc'.
7050split( 7051 '_' 7052 ), 7053 monthsParseExact: true, 7054 weekdays: 7055 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split( 7056 '_' 7057 ), 7058 weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), 7059 weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), 7060 weekdaysParseExact: true, 7061 longDateFormat: { 7062 LT: 'HH:mm', 7063 L: 'DD/MM/YYYY', 7064 LL: 'D MMMM YYYY', 7065 LLL: 'D MMMM YYYY HH:mm', 7066 LLLL: 'dddd, D MMMM YYYY HH:mm', 7067 }, 7068 calendar: { 7069 sameDay: '[T~ódá~ý át] LT', 7070 nextDay: '[T~ómó~rró~w át] LT', 7071 nextWeek: 'dddd [át] LT', 7072 lastDay: '[Ã~ést~érdá~ý át] LT', 7073 lastWeek: '[L~ást] dddd [át] LT', 7074 sameElse: 'L', 7075 }, 7076 relativeTime: { 7077 future: 'Ã~ñ %s', 7078 past: '%s á~gó', 7079 s: 'á ~féw ~sécó~ñds', 7080 ss: '%d s~écóñ~ds',
vendor: 29,153 bytes, lines 7081-7984
7081 m: 'á ~mÃñ~úté', 7082 mm: '%d m~Ãñú~tés', 7083 h: 'á~ñ hó~úr', 7084 hh: '%d h~óúrs', 7085 d: 'á ~dáý', 7086 dd: '%d d~áýs', 7087 M: 'á ~móñ~th', 7088 MM: '%d m~óñt~hs', 7089 y: 'á ~ýéár', 7090 yy: '%d ý~éárs', 7091 }, 7092 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 7093 ordinal: function (number) { 7094 var b = number % 10, 7095 output = 7096 ~~((number % 100) / 10) === 1 7097 ? 'th' 7098 : b === 1 7099 ? 'st' 7100 : b === 2 7101 ? 'nd' 7102 : b === 3 7103 ? 'rd' 7104 : 'th'; 7105 return number + output; 7106 }, 7107 week: { 7108 dow: 1, // Monday is the first day of the week. 7109 doy: 4, // The week that contains Jan 4th is the first week of the year. 7110 }, 7111 }); 7112 7113 return xPseudo; 7114 7115}))); 7116 7117 7118/***/ }), 7119 7120/***/ 4063: 7121/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7122 7123//! moment.js locale configuration 7124//! locale : Indonesian [id] 7125//! author : Mohammad Satrio Utomo : https://github.com/tyok 7126//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan 7127 7128;(function (global, factory) { 7129 true ? factory(__webpack_require__(5093)) : 7130 0 7131}(this, (function (moment) { 'use strict'; 7132 7133 //! moment.js locale configuration 7134 7135 var id = moment.defineLocale('id', { 7136 months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split( 7137 '_' 7138 ), 7139 monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), 7140 weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), 7141 weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), 7142 weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), 7143 longDateFormat: { 7144 LT: 'HH.mm', 7145 LTS: 'HH.mm.ss', 7146 L: 'DD/MM/YYYY', 7147 LL: 'D MMMM YYYY', 7148 LLL: 'D MMMM YYYY [pukul] HH.mm', 7149 LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', 7150 }, 7151 meridiemParse: /pagi|siang|sore|malam/, 7152 meridiemHour: function (hour, meridiem) { 7153 if (hour === 12) { 7154 hour = 0; 7155 } 7156 if (meridiem === 'pagi') { 7157 return hour; 7158 } else if (meridiem === 'siang') { 7159 return hour >= 11 ? hour : hour + 12; 7160 } else if (meridiem === 'sore' || meridiem === 'malam') { 7161 return hour + 12; 7162 } 7163 }, 7164 meridiem: function (hours, minutes, isLower) { 7165 if (hours < 11) { 7166 return 'pagi'; 7167 } else if (hours < 15) { 7168 return 'siang'; 7169 } else if (hours < 19) { 7170 return 'sore'; 7171 } else { 7172 return 'malam'; 7173 } 7174 }, 7175 calendar: { 7176 sameDay: '[Hari ini pukul] LT', 7177 nextDay: '[Besok pukul] LT', 7178 nextWeek: 'dddd [pukul] LT', 7179 lastDay: '[Kemarin pukul] LT', 7180 lastWeek: 'dddd [lalu pukul] LT', 7181 sameElse: 'L', 7182 }, 7183 relativeTime: { 7184 future: 'dalam %s', 7185 past: '%s yang lalu', 7186 s: 'beberapa detik', 7187 ss: '%d detik', 7188 m: 'semenit', 7189 mm: '%d menit', 7190 h: 'sejam', 7191 hh: '%d jam', 7192 d: 'sehari', 7193 dd: '%d hari', 7194 M: 'sebulan', 7195 MM: '%d bulan', 7196 y: 'setahun', 7197 yy: '%d tahun', 7198 }, 7199 week: { 7200 dow: 0, // Sunday is the first day of the week. 7201 doy: 6, // The week that contains Jan 6th is the first week of the year. 7202 }, 7203 }); 7204 7205 return id; 7206 7207}))); 7208 7209 7210/***/ }), 7211 7212/***/ 4226: 7213/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7214 7215//! moment.js locale configuration 7216//! locale : Welsh [cy] 7217//! author : Robert Allen : https://github.com/robgallen 7218//! author : https://github.com/ryangreaves 7219 7220;(function (global, factory) { 7221 true ? factory(__webpack_require__(5093)) : 7222 0 7223}(this, (function (moment) { 'use strict'; 7224 7225 //! moment.js locale configuration 7226 7227 var cy = moment.defineLocale('cy', { 7228 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split( 7229 '_' 7230 ), 7231 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split( 7232 '_' 7233 ), 7234 weekdays: 7235 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split( 7236 '_' 7237 ), 7238 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), 7239 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), 7240 weekdaysParseExact: true, 7241 // time formats are the same as en-gb 7242 longDateFormat: { 7243 LT: 'HH:mm', 7244 LTS: 'HH:mm:ss', 7245 L: 'DD/MM/YYYY', 7246 LL: 'D MMMM YYYY', 7247 LLL: 'D MMMM YYYY HH:mm', 7248 LLLL: 'dddd, D MMMM YYYY HH:mm', 7249 }, 7250 calendar: { 7251 sameDay: '[Heddiw am] LT', 7252 nextDay: '[Yfory am] LT', 7253 nextWeek: 'dddd [am] LT', 7254 lastDay: '[Ddoe am] LT', 7255 lastWeek: 'dddd [diwethaf am] LT', 7256 sameElse: 'L', 7257 }, 7258 relativeTime: { 7259 future: 'mewn %s', 7260 past: '%s yn ôl', 7261 s: 'ychydig eiliadau', 7262 ss: '%d eiliad', 7263 m: 'munud', 7264 mm: '%d munud', 7265 h: 'awr', 7266 hh: '%d awr', 7267 d: 'diwrnod', 7268 dd: '%d diwrnod', 7269 M: 'mis', 7270 MM: '%d mis', 7271 y: 'blwyddyn', 7272 yy: '%d flynedd', 7273 }, 7274 dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, 7275 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh 7276 ordinal: function (number) { 7277 var b = number, 7278 output = '', 7279 lookup = [ 7280 '', 7281 'af', 7282 'il', 7283 'ydd', 7284 'ydd', 7285 'ed', 7286 'ed', 7287 'ed', 7288 'fed', 7289 'fed', 7290 'fed', // 1af to 10fed 7291 'eg', 7292 'fed', 7293 'eg', 7294 'eg', 7295 'fed', 7296 'eg', 7297 'eg', 7298 'fed', 7299 'eg', 7300 'fed', // 11eg to 20fed 7301 ]; 7302 if (b > 20) { 7303 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { 7304 output = 'fed'; // not 30ain, 70ain or 90ain 7305 } else { 7306 output = 'ain'; 7307 } 7308 } else if (b > 0) { 7309 output = lookup[b]; 7310 } 7311 return number + output; 7312 }, 7313 week: { 7314 dow: 1, // Monday is the first day of the week. 7315 doy: 4, // The week that contains Jan 4th is the first week of the year. 7316 }, 7317 }); 7318 7319 return cy; 7320 7321}))); 7322 7323 7324/***/ }), 7325 7326/***/ 4418: 7327/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7328 7329//! moment.js locale configuration 7330//! locale : Polish [pl] 7331//! author : Rafal Hirsz : https://github.com/evoL 7332 7333;(function (global, factory) { 7334 true ? factory(__webpack_require__(5093)) : 7335 0 7336}(this, (function (moment) { 'use strict'; 7337 7338 //! moment.js locale configuration 7339 7340 var monthsNominative = 7341 'styczeÅ_luty_marzec_kwiecieÅ_maj_czerwiec_lipiec_sierpieÅ_wrzesieÅ_październik_listopad_grudzieÅ'.split( 7342 '_' 7343 ), 7344 monthsSubjective = 7345 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅnia_października_listopada_grudnia'.split( 7346 '_' 7347 ), 7348 monthsParse = [ 7349 /^sty/i, 7350 /^lut/i, 7351 /^mar/i, 7352 /^kwi/i, 7353 /^maj/i, 7354 /^cze/i, 7355 /^lip/i, 7356 /^sie/i, 7357 /^wrz/i, 7358 /^paź/i, 7359 /^lis/i, 7360 /^gru/i, 7361 ]; 7362 function plural(n) { 7363 return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; 7364 } 7365 function translate(number, withoutSuffix, key) { 7366 var result = number + ' '; 7367 switch (key) { 7368 case 'ss': 7369 return result + (plural(number) ? 'sekundy' : 'sekund'); 7370 case 'm': 7371 return withoutSuffix ? 'minuta' : 'minutÄ'; 7372 case 'mm': 7373 return result + (plural(number) ? 'minuty' : 'minut'); 7374 case 'h': 7375 return withoutSuffix ? 'godzina' : 'godzinÄ'; 7376 case 'hh': 7377 return result + (plural(number) ? 'godziny' : 'godzin'); 7378 case 'ww': 7379 return result + (plural(number) ? 'tygodnie' : 'tygodni'); 7380 case 'MM': 7381 return result + (plural(number) ? 'miesiÄ ce' : 'miesiÄcy'); 7382 case 'yy': 7383 return result + (plural(number) ? 'lata' : 'lat'); 7384 } 7385 } 7386 7387 var pl = moment.defineLocale('pl', { 7388 months: function (momentToFormat, format) { 7389 if (!momentToFormat) { 7390 return monthsNominative; 7391 } else if (/D MMMM/.test(format)) { 7392 return monthsSubjective[momentToFormat.month()]; 7393 } else { 7394 return monthsNominative[momentToFormat.month()]; 7395 } 7396 }, 7397 monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), 7398 monthsParse: monthsParse, 7399 longMonthsParse: monthsParse, 7400 shortMonthsParse: monthsParse, 7401 weekdays: 7402 'niedziela_poniedziaÅek_wtorek_Åroda_czwartek_piÄ tek_sobota'.split('_'), 7403 weekdaysShort: 'ndz_pon_wt_År_czw_pt_sob'.split('_'), 7404 weekdaysMin: 'Nd_Pn_Wt_År_Cz_Pt_So'.split('_'), 7405 longDateFormat: { 7406 LT: 'HH:mm', 7407 LTS: 'HH:mm:ss', 7408 L: 'DD.MM.YYYY', 7409 LL: 'D MMMM YYYY', 7410 LLL: 'D MMMM YYYY HH:mm', 7411 LLLL: 'dddd, D MMMM YYYY HH:mm', 7412 }, 7413 calendar: { 7414 sameDay: '[DziÅ o] LT', 7415 nextDay: '[Jutro o] LT', 7416 nextWeek: function () { 7417 switch (this.day()) { 7418 case 0: 7419 return '[W niedzielÄ o] LT'; 7420 7421 case 2: 7422 return '[We wtorek o] LT'; 7423 7424 case 3: 7425 return '[W ÅrodÄ o] LT'; 7426 7427 case 6: 7428 return '[W sobotÄ o] LT'; 7429 7430 default: 7431 return '[W] dddd [o] LT'; 7432 } 7433 }, 7434 lastDay: '[Wczoraj o] LT', 7435 lastWeek: function () { 7436 switch (this.day()) { 7437 case 0: 7438 return '[W zeszÅÄ niedzielÄ o] LT'; 7439 case 3: 7440 return '[W zeszÅÄ ÅrodÄ o] LT'; 7441 case 6: 7442 return '[W zeszÅÄ sobotÄ o] LT'; 7443 default: 7444 return '[W zeszÅy] dddd [o] LT'; 7445 } 7446 }, 7447 sameElse: 'L', 7448 }, 7449 relativeTime: { 7450 future: 'za %s', 7451 past: '%s temu', 7452 s: 'kilka sekund', 7453 ss: translate, 7454 m: translate, 7455 mm: translate, 7456 h: translate, 7457 hh: translate, 7458 d: '1 dzieÅ', 7459 dd: '%d dni', 7460 w: 'tydzieÅ', 7461 ww: translate, 7462 M: 'miesiÄ c', 7463 MM: translate, 7464 y: 'rok', 7465 yy: translate, 7466 }, 7467 dayOfMonthOrdinalParse: /\d{1,2}\./, 7468 ordinal: '%d.', 7469 week: { 7470 dow: 1, // Monday is the first day of the week. 7471 doy: 4, // The week that contains Jan 4th is the first week of the year. 7472 }, 7473 }); 7474 7475 return pl; 7476 7477}))); 7478 7479 7480/***/ }), 7481 7482/***/ 4429: 7483/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7484 7485//! moment.js locale configuration 7486//! locale : Bosnian [bs] 7487//! author : Nedim Cholich : https://github.com/frontyard 7488//! author : Rasid Redzic : https://github.com/rasidre 7489//! based on (hr) translation by Bojan MarkoviÄ 7490 7491;(function (global, factory) { 7492 true ? factory(__webpack_require__(5093)) : 7493 0 7494}(this, (function (moment) { 'use strict'; 7495 7496 //! moment.js locale configuration 7497 7498 function processRelativeTime(number, withoutSuffix, key, isFuture) { 7499 switch (key) { 7500 case 'm': 7501 return withoutSuffix 7502 ? 'jedna minuta' 7503 : isFuture 7504 ? 'jednu minutu' 7505 : 'jedne minute'; 7506 } 7507 } 7508 7509 function translate(number, withoutSuffix, key) { 7510 var result = number + ' '; 7511 switch (key) { 7512 case 'ss': 7513 if (number === 1) { 7514 result += 'sekunda'; 7515 } else if (number === 2 || number === 3 || number === 4) { 7516 result += 'sekunde'; 7517 } else { 7518 result += 'sekundi'; 7519 } 7520 return result; 7521 case 'mm': 7522 if (number === 1) { 7523 result += 'minuta'; 7524 } else if (number === 2 || number === 3 || number === 4) { 7525 result += 'minute'; 7526 } else { 7527 result += 'minuta'; 7528 } 7529 return result; 7530 case 'h': 7531 return withoutSuffix ? 'jedan sat' : 'jedan sat'; 7532 case 'hh': 7533 if (number === 1) { 7534 result += 'sat'; 7535 } else if (number === 2 || number === 3 || number === 4) { 7536 result += 'sata'; 7537 } else { 7538 result += 'sati'; 7539 } 7540 return result; 7541 case 'dd': 7542 if (number === 1) { 7543 result += 'dan'; 7544 } else { 7545 result += 'dana'; 7546 } 7547 return result; 7548 case 'MM': 7549 if (number === 1) { 7550 result += 'mjesec'; 7551 } else if (number === 2 || number === 3 || number === 4) { 7552 result += 'mjeseca'; 7553 } else { 7554 result += 'mjeseci'; 7555 } 7556 return result; 7557 case 'yy': 7558 if (number === 1) { 7559 result += 'godina'; 7560 } else if (number === 2 || number === 3 || number === 4) { 7561 result += 'godine'; 7562 } else { 7563 result += 'godina'; 7564 } 7565 return result; 7566 } 7567 } 7568 7569 var bs = moment.defineLocale('bs', { 7570 months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split( 7571 '_' 7572 ), 7573 monthsShort: 7574 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split( 7575 '_' 7576 ), 7577 monthsParseExact: true, 7578 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split( 7579 '_' 7580 ), 7581 weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 7582 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 7583 weekdaysParseExact: true, 7584 longDateFormat: { 7585 LT: 'H:mm', 7586 LTS: 'H:mm:ss', 7587 L: 'DD.MM.YYYY', 7588 LL: 'D. MMMM YYYY', 7589 LLL: 'D. MMMM YYYY H:mm', 7590 LLLL: 'dddd, D. MMMM YYYY H:mm', 7591 }, 7592 calendar: { 7593 sameDay: '[danas u] LT', 7594 nextDay: '[sutra u] LT', 7595 nextWeek: function () { 7596 switch (this.day()) { 7597 case 0: 7598 return '[u] [nedjelju] [u] LT'; 7599 case 3: 7600 return '[u] [srijedu] [u] LT'; 7601 case 6: 7602 return '[u] [subotu] [u] LT'; 7603 case 1: 7604 case 2: 7605 case 4: 7606 case 5: 7607 return '[u] dddd [u] LT'; 7608 } 7609 }, 7610 lastDay: '[juÄer u] LT', 7611 lastWeek: function () { 7612 switch (this.day()) { 7613 case 0: 7614 case 3: 7615 return '[proÅ¡lu] dddd [u] LT'; 7616 case 6: 7617 return '[proÅ¡le] [subote] [u] LT'; 7618 case 1: 7619 case 2: 7620 case 4: 7621 case 5: 7622 return '[proÅ¡li] dddd [u] LT'; 7623 } 7624 }, 7625 sameElse: 'L', 7626 }, 7627 relativeTime: { 7628 future: 'za %s', 7629 past: 'prije %s', 7630 s: 'par sekundi', 7631 ss: translate, 7632 m: processRelativeTime, 7633 mm: translate, 7634 h: translate, 7635 hh: translate, 7636 d: 'dan', 7637 dd: translate, 7638 M: 'mjesec', 7639 MM: translate, 7640 y: 'godinu', 7641 yy: translate, 7642 }, 7643 dayOfMonthOrdinalParse: /\d{1,2}\./, 7644 ordinal: '%d.', 7645 week: { 7646 dow: 1, // Monday is the first day of the week. 7647 doy: 7, // The week that contains Jan 7th is the first week of the year. 7648 }, 7649 }); 7650 7651 return bs; 7652 7653}))); 7654 7655 7656/***/ }), 7657 7658/***/ 4451: 7659/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7660 7661//! moment.js locale configuration 7662//! locale : Kannada [kn] 7663//! author : Rajeev Naik : https://github.com/rajeevnaikte 7664 7665;(function (global, factory) { 7666 true ? factory(__webpack_require__(5093)) : 7667 0 7668}(this, (function (moment) { 'use strict'; 7669 7670 //! moment.js locale configuration 7671 7672 var symbolMap = { 7673 1: 'à³§', 7674 2: '೨', 7675 3: '೩', 7676 4: '೪', 7677 5: '೫', 7678 6: '೬', 7679 7: 'à³', 7680 8: 'à³®', 7681 9: '೯', 7682 0: '೦', 7683 }, 7684 numberMap = { 7685 'à³§': '1', 7686 '೨': '2', 7687 '೩': '3', 7688 '೪': '4', 7689 '೫': '5', 7690 '೬': '6', 7691 'à³': '7', 7692 'à³®': '8', 7693 '೯': '9', 7694 '೦': '0', 7695 }; 7696 7697 var kn = moment.defineLocale('kn', { 7698 months: 'à²à²¨à²µà²°à²¿_ಫà³à²¬à³à²°à²µà²°à²¿_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²à²¬à²°à³_ಠà²à³à²à³à³à³à²¬à²°à³_ನವà³à²à²¬à²°à³_ಡಿಸà³à²à²¬à²°à³'.split( 7699 '_' 7700 ), 7701 monthsShort: 7702 'à²à²¨_ಫà³à²¬à³à²°_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²_ಠà²à³à²à³à³à³_ನವà³à²_ಡಿಸà³à²'.split( 7703 '_' 7704 ), 7705 monthsParseExact: true, 7706 weekdays: 'à²à²¾à²¨à³à²µà²¾à²°_ಸà³à³à³à²®à²µà²¾à²°_ಮà²à²à²³à²µà²¾à²°_ಬà³à²§à²µà²¾à²°_à²à³à²°à³à²µà²¾à²°_ಶà³à²à³à²°à²µà²¾à²°_ಶನಿವಾರ'.split( 7707 '_' 7708 ), 7709 weekdaysShort: 'à²à²¾à²¨à³_ಸà³à³à³à²®_ಮà²à²à²³_ಬà³à²§_à²à³à²°à³_ಶà³à²à³à²°_ಶನಿ'.split('_'), 7710 weekdaysMin: 'à²à²¾_ಸà³à³à³_ಮà²_ಬà³_à²à³_ಶà³_ಶ'.split('_'), 7711 longDateFormat: { 7712 LT: 'A h:mm', 7713 LTS: 'A h:mm:ss', 7714 L: 'DD/MM/YYYY', 7715 LL: 'D MMMM YYYY', 7716 LLL: 'D MMMM YYYY, A h:mm', 7717 LLLL: 'dddd, D MMMM YYYY, A h:mm', 7718 }, 7719 calendar: { 7720 sameDay: '[à²à²à²¦à³] LT', 7721 nextDay: '[ನಾಳà³] LT', 7722 nextWeek: 'dddd, LT', 7723 lastDay: '[ನಿನà³à²¨à³] LT', 7724 lastWeek: '[à²à³à³à²¨à³à²¯] dddd, LT', 7725 sameElse: 'L', 7726 }, 7727 relativeTime: { 7728 future: '%s ನà²à²¤à²°', 7729 past: '%s ಹಿà²à²¦à³', 7730 s: 'à²à³à²²à²µà³ à²à³à²·à²£à²à²³à³', 7731 ss: '%d ಸà³à²à³à²à²¡à³à²à²³à³', 7732 m: 'à²à²à²¦à³ ನಿಮಿಷ', 7733 mm: '%d ನಿಮಿಷ', 7734 h: 'à²à²à²¦à³ à²à²à²à³', 7735 hh: '%d à²à²à²à³', 7736 d: 'à²à²à²¦à³ ದಿನ', 7737 dd: '%d ದಿನ', 7738 M: 'à²à²à²¦à³ ತಿà²à²à²³à³', 7739 MM: '%d ತಿà²à²à²³à³', 7740 y: 'à²à²à²¦à³ ವರà³à²·', 7741 yy: '%d ವರà³à²·', 7742 }, 7743 preparse: function (string) { 7744 return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { 7745 return numberMap[match]; 7746 }); 7747 }, 7748 postformat: function (string) { 7749 return string.replace(/\d/g, function (match) { 7750 return symbolMap[match]; 7751 }); 7752 }, 7753 meridiemParse: /ರಾತà³à²°à²¿|ಬà³à²³à²¿à²à³à²à³|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸà²à²à³/, 7754 meridiemHour: function (hour, meridiem) { 7755 if (hour === 12) { 7756 hour = 0; 7757 } 7758 if (meridiem === 'ರಾತà³à²°à²¿') { 7759 return hour < 4 ? hour : hour + 12; 7760 } else if (meridiem === 'ಬà³à²³à²¿à²à³à²à³') { 7761 return hour; 7762 } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { 7763 return hour >= 10 ? hour : hour + 12; 7764 } else if (meridiem === 'ಸà²à²à³') { 7765 return hour + 12; 7766 } 7767 }, 7768 meridiem: function (hour, minute, isLower) { 7769 if (hour < 4) { 7770 return 'ರಾತà³à²°à²¿'; 7771 } else if (hour < 10) { 7772 return 'ಬà³à²³à²¿à²à³à²à³'; 7773 } else if (hour < 17) { 7774 return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; 7775 } else if (hour < 20) { 7776 return 'ಸà²à²à³'; 7777 } else { 7778 return 'ರಾತà³à²°à²¿'; 7779 } 7780 }, 7781 dayOfMonthOrdinalParse: /\d{1,2}(ನà³à³)/, 7782 ordinal: function (number) { 7783 return number + 'ನà³à³'; 7784 }, 7785 week: { 7786 dow: 0, // Sunday is the first day of the week. 7787 doy: 6, // The week that contains Jan 6th is the first week of the year. 7788 }, 7789 }); 7790 7791 return kn; 7792 7793}))); 7794 7795 7796/***/ }), 7797 7798/***/ 4457: 7799/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7800 7801//! moment.js locale configuration 7802//! locale : Romanian [ro] 7803//! author : Vlad Gurdiga : https://github.com/gurdiga 7804//! author : Valentin Agachi : https://github.com/avaly 7805//! author : Emanuel Cepoi : https://github.com/cepem 7806 7807;(function (global, factory) { 7808 true ? factory(__webpack_require__(5093)) : 7809 0 7810}(this, (function (moment) { 'use strict'; 7811 7812 //! moment.js locale configuration 7813 7814 function relativeTimeWithPlural(number, withoutSuffix, key) { 7815 var format = { 7816 ss: 'secunde', 7817 mm: 'minute', 7818 hh: 'ore', 7819 dd: 'zile', 7820 ww: 'sÄptÄmâni', 7821 MM: 'luni', 7822 yy: 'ani', 7823 }, 7824 separator = ' '; 7825 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { 7826 separator = ' de '; 7827 } 7828 return number + separator + format[key]; 7829 } 7830 7831 var ro = moment.defineLocale('ro', { 7832 months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split( 7833 '_' 7834 ), 7835 monthsShort: 7836 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split( 7837 '_' 7838 ), 7839 monthsParseExact: true, 7840 weekdays: 'duminicÄ_luni_marÈi_miercuri_joi_vineri_sâmbÄtÄ'.split('_'), 7841 weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), 7842 weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), 7843 longDateFormat: { 7844 LT: 'H:mm', 7845 LTS: 'H:mm:ss', 7846 L: 'DD.MM.YYYY', 7847 LL: 'D MMMM YYYY', 7848 LLL: 'D MMMM YYYY H:mm', 7849 LLLL: 'dddd, D MMMM YYYY H:mm', 7850 }, 7851 calendar: { 7852 sameDay: '[azi la] LT', 7853 nextDay: '[mâine la] LT', 7854 nextWeek: 'dddd [la] LT', 7855 lastDay: '[ieri la] LT', 7856 lastWeek: '[fosta] dddd [la] LT', 7857 sameElse: 'L', 7858 }, 7859 relativeTime: { 7860 future: 'peste %s', 7861 past: '%s în urmÄ', 7862 s: 'câteva secunde', 7863 ss: relativeTimeWithPlural, 7864 m: 'un minut', 7865 mm: relativeTimeWithPlural, 7866 h: 'o orÄ', 7867 hh: relativeTimeWithPlural, 7868 d: 'o zi', 7869 dd: relativeTimeWithPlural, 7870 w: 'o sÄptÄmânÄ', 7871 ww: relativeTimeWithPlural, 7872 M: 'o lunÄ', 7873 MM: relativeTimeWithPlural, 7874 y: 'un an', 7875 yy: relativeTimeWithPlural, 7876 }, 7877 week: { 7878 dow: 1, // Monday is the first day of the week. 7879 doy: 7, // The week that contains Jan 7th is the first week of the year. 7880 }, 7881 }); 7882 7883 return ro; 7884 7885}))); 7886 7887 7888/***/ }), 7889 7890/***/ 4496: 7891/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7892 7893//! moment.js locale configuration 7894//! locale : Arabic (Morocco) [ar-ma] 7895//! author : ElFadili Yassine : https://github.com/ElFadiliY 7896//! author : Abdel Said : https://github.com/abdelsaid 7897 7898;(function (global, factory) { 7899 true ? factory(__webpack_require__(5093)) : 7900 0 7901}(this, (function (moment) { 'use strict'; 7902 7903 //! moment.js locale configuration 7904 7905 var arMa = moment.defineLocale('ar-ma', { 7906 months: 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split( 7907 '_' 7908 ), 7909 monthsShort: 7910 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split( 7911 '_' 7912 ), 7913 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 7914 weekdaysShort: 'Ø§ØØ¯_اثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 7915 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 7916 weekdaysParseExact: true, 7917 longDateFormat: { 7918 LT: 'HH:mm', 7919 LTS: 'HH:mm:ss', 7920 L: 'DD/MM/YYYY', 7921 LL: 'D MMMM YYYY', 7922 LLL: 'D MMMM YYYY HH:mm', 7923 LLLL: 'dddd D MMMM YYYY HH:mm', 7924 }, 7925 calendar: { 7926 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 7927 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 7928 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 7929 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 7930 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 7931 sameElse: 'L', 7932 }, 7933 relativeTime: { 7934 future: 'ÙÙ %s', 7935 past: 'Ù ÙØ° %s', 7936 s: 'Ø«ÙØ§Ù', 7937 ss: '%d ثاÙÙØ©', 7938 m: 'دÙÙÙØ©', 7939 mm: '%d Ø¯ÙØ§Ø¦Ù', 7940 h: 'ساعة', 7941 hh: '%d ساعات', 7942 d: 'ÙÙÙ ', 7943 dd: '%d Ø£ÙØ§Ù ', 7944 M: 'Ø´ÙØ±', 7945 MM: '%d Ø£Ø´ÙØ±', 7946 y: 'Ø³ÙØ©', 7947 yy: '%d سÙÙØ§Øª', 7948 }, 7949 week: { 7950 dow: 1, // Monday is the first day of the week. 7951 doy: 4, // The week that contains Jan 4th is the first week of the year. 7952 }, 7953 }); 7954 7955 return arMa; 7956 7957}))); 7958 7959 7960/***/ }), 7961 7962/***/ 4566: 7963/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 7964 7965//! moment.js locale configuration 7966//! locale : Nynorsk [nn] 7967//! authors : https://github.com/mechuwind 7968//! Stephen Ramthun : https://github.com/stephenramthun 7969 7970;(function (global, factory) { 7971 true ? factory(__webpack_require__(5093)) : 7972 0 7973}(this, (function (moment) { 'use strict'; 7974 7975 //! moment.js locale configuration 7976 7977 var nn = moment.defineLocale('nn', { 7978 months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( 7979 '_' 7980 ), 7981 monthsShort: 7982 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), 7983 monthsParseExact: true, 7984 weekdays: 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
vendor: 5,562 bytes, lines 7985-8138
7985 weekdaysShort: 'su._mÃ¥._ty._on._to._fr._lau.'.split('_'), 7986 weekdaysMin: 'su_mÃ¥_ty_on_to_fr_la'.split('_'), 7987 weekdaysParseExact: true, 7988 longDateFormat: { 7989 LT: 'HH:mm', 7990 LTS: 'HH:mm:ss', 7991 L: 'DD.MM.YYYY', 7992 LL: 'D. MMMM YYYY', 7993 LLL: 'D. MMMM YYYY [kl.] H:mm', 7994 LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', 7995 }, 7996 calendar: { 7997 sameDay: '[I dag klokka] LT', 7998 nextDay: '[I morgon klokka] LT', 7999 nextWeek: 'dddd [klokka] LT', 8000 lastDay: '[I gÃ¥r klokka] LT', 8001 lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', 8002 sameElse: 'L', 8003 }, 8004 relativeTime: { 8005 future: 'om %s', 8006 past: '%s sidan', 8007 s: 'nokre sekund', 8008 ss: '%d sekund', 8009 m: 'eit minutt', 8010 mm: '%d minutt', 8011 h: 'ein time', 8012 hh: '%d timar', 8013 d: 'ein dag', 8014 dd: '%d dagar', 8015 w: 'ei veke', 8016 ww: '%d veker', 8017 M: 'ein mÃ¥nad', 8018 MM: '%d mÃ¥nader', 8019 y: 'eit Ã¥r', 8020 yy: '%d Ã¥r', 8021 }, 8022 dayOfMonthOrdinalParse: /\d{1,2}\./, 8023 ordinal: '%d.', 8024 week: { 8025 dow: 1, // Monday is the first day of the week. 8026 doy: 4, // The week that contains Jan 4th is the first week of the year. 8027 }, 8028 }); 8029 8030 return nn; 8031 8032}))); 8033 8034 8035/***/ }), 8036 8037/***/ 4691: 8038/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 8039 8040//! moment.js locale configuration 8041//! locale : Greek [el] 8042//! author : Aggelos Karalias : https://github.com/mehiel 8043 8044;(function (global, factory) { 8045 true ? factory(__webpack_require__(5093)) : 8046 0 8047}(this, (function (moment) { 'use strict'; 8048 8049 //! moment.js locale configuration 8050 8051 function isFunction(input) { 8052 return ( 8053 (typeof Function !== 'undefined' && input instanceof Function) || 8054 Object.prototype.toString.call(input) === '[object Function]' 8055 ); 8056 } 8057 8058 var el = moment.defineLocale('el', { 8059 monthsNominativeEl: 8060 'ÎÎ±Î½Î¿Ï Î¬ÏιοÏ_ΦεβÏÎ¿Ï Î¬ÏιοÏ_ÎάÏÏιοÏ_ÎÏÏίλιοÏ_ÎάιοÏ_ÎοÏνιοÏ_ÎοÏλιοÏ_ÎÏÎ³Î¿Ï ÏÏοÏ_ΣεÏÏÎμβÏιοÏ_ÎκÏÏβÏιοÏ_ÎοÎμβÏιοÏ_ÎεκÎμβÏιοÏ'.split( 8061 '_' 8062 ), 8063 monthsGenitiveEl: 8064 'ÎÎ±Î½Î¿Ï Î±ÏÎ¯Î¿Ï _ΦεβÏÎ¿Ï Î±ÏÎ¯Î¿Ï _ÎαÏÏÎ¯Î¿Ï _ÎÏÏÎ¹Î»Î¯Î¿Ï _ÎαÎÎ¿Ï _ÎÎ¿Ï Î½Î¯Î¿Ï _ÎÎ¿Ï Î»Î¯Î¿Ï _ÎÏ Î³Î¿ÏÏÏÎ¿Ï _ΣεÏÏεμβÏÎ¯Î¿Ï _ÎκÏÏβÏÎ¯Î¿Ï _ÎοεμβÏÎ¯Î¿Ï _ÎεκεμβÏÎ¯Î¿Ï '.split( 8065 '_' 8066 ), 8067 months: function (momentToFormat, format) { 8068 if (!momentToFormat) { 8069 return this._monthsNominativeEl; 8070 } else if ( 8071 typeof format === 'string' && 8072 /D/.test(format.substring(0, format.indexOf('MMMM'))) 8073 ) { 8074 // if there is a day number before 'MMMM' 8075 return this._monthsGenitiveEl[momentToFormat.month()]; 8076 } else { 8077 return this._monthsNominativeEl[momentToFormat.month()]; 8078 } 8079 }, 8080 monthsShort: 'Îαν_Φεβ_ÎαÏ_ÎÏÏ_ÎαÏ_ÎÎ¿Ï Î½_ÎÎ¿Ï Î»_ÎÏ Î³_ΣεÏ_ÎκÏ_Îοε_Îεκ'.split('_'), 8081 weekdays: 'ÎÏ Ïιακή_ÎÎµÏ ÏÎÏα_ΤÏίÏη_ΤεÏάÏÏη_Î ÎμÏÏη_ΠαÏαÏÎºÎµÏ Î®_ΣάββαÏο'.split( 8082 '_' 8083 ), 8084 weekdaysShort: 'ÎÏ Ï_ÎÎµÏ _ΤÏι_ΤεÏ_Πεμ_ΠαÏ_Σαβ'.split('_'), 8085 weekdaysMin: 'ÎÏ _Îε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), 8086 meridiem: function (hours, minutes, isLower) { 8087 if (hours > 11) { 8088 return isLower ? 'μμ' : 'ÎÎ'; 8089 } else { 8090 return isLower ? 'Ïμ' : 'Î Î'; 8091 } 8092 }, 8093 isPM: function (input) { 8094 return (input + '').toLowerCase()[0] === 'μ'; 8095 }, 8096 meridiemParse: /[Î Î]\.?Î?\.?/i, 8097 longDateFormat: { 8098 LT: 'h:mm A', 8099 LTS: 'h:mm:ss A', 8100 L: 'DD/MM/YYYY', 8101 LL: 'D MMMM YYYY', 8102 LLL: 'D MMMM YYYY h:mm A', 8103 LLLL: 'dddd, D MMMM YYYY h:mm A', 8104 }, 8105 calendarEl: { 8106 sameDay: '[ΣήμεÏα {}] LT', 8107 nextDay: '[ÎÏÏιο {}] LT', 8108 nextWeek: 'dddd [{}] LT', 8109 lastDay: '[Î§Î¸ÎµÏ {}] LT', 8110 lastWeek: function () { 8111 switch (this.day()) { 8112 case 6: 8113 return '[Ïο ÏÏοηγοÏμενο] dddd [{}] LT'; 8114 default: 8115 return '[Ïην ÏÏοηγοÏμενη] dddd [{}] LT'; 8116 } 8117 }, 8118 sameElse: 'L', 8119 }, 8120 calendar: function (key, mom) { 8121 var output = this._calendarEl[key], 8122 hours = mom && mom.hours(); 8123 if (isFunction(output)) { 8124 output = output.apply(mom); 8125 } 8126 return output.replace('{}', hours % 12 === 1 ? 'ÏÏη' : 'ÏÏιÏ'); 8127 }, 8128 relativeTime: { 8129 future: 'Ïε %s', 8130 past: '%s ÏÏιν', 8131 s: 'λίγα Î´ÎµÏ ÏεÏÏλεÏÏα', 8132 ss: '%d Î´ÎµÏ ÏεÏÏλεÏÏα', 8133 m: 'Îνα λεÏÏÏ', 8134 mm: '%d λεÏÏά', 8135 h: 'μία ÏÏα', 8136 hh: '%d ÏÏεÏ', 8137 d: 'μία μÎÏα', 8138 dd: '%d μÎÏεÏ',
8139 M: 'ÎÎ½Î±Ï Î¼Î®Î½Î±Ï', 8140 MM: '%d μήνεÏ', 8141 y: 'ÎÎ½Î±Ï ÏÏÏνοÏ', 8142 yy: '%d ÏÏÏνια', 8143 }, 8144 dayOfMonthOrdinalParse: /\d{1,2}η/, 8145 ordinal: '%dη', 8146 week: { 8147 dow: 1, // Monday is the first day of the week. 8148 doy: 4, // The week that contains Jan 4st is the first week of the year. 8149 }, 8150 }); 8151 8152 return el; 8153 8154}))); 8155 8156 8157/***/ }), 8158 8159/***/ 4692: 8160/***/ (function(module, exports) { 8161 8162var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 8163 * jQuery JavaScript Library v3.6.0 8164 * https://jquery.com/ 8165 * 8166 * Includes Sizzle.js 8167 * https://sizzlejs.com/ 8168 * 8169 * Copyright OpenJS Foundation and other contributors 8170 * Released under the MIT license 8171 * https://jquery.org/license 8172 * 8173 * Date: 2021-03-02T17:08Z 8174 */ 8175( function( global, factory ) { 8176 8177 "use strict"; 8178 8179 if ( true
vendor: 6,468 bytes, lines 8179-8423
8179 && typeof module.exports === "object" ) { 8180 8181 // For CommonJS and CommonJS-like environments where a proper `window` 8182 // is present, execute the factory and get jQuery. 8183 // For environments that do not have a `window` with a `document` 8184 // (such as Node.js), expose a factory as module.exports. 8185 // This accentuates the need for the creation of a real `window`. 8186 // e.g. var jQuery = require("jquery")(window); 8187 // See ticket #14549 for more info. 8188 module.exports = global.document ? 8189 factory( global, true ) : 8190 function( w ) { 8191 if ( !w.document ) { 8192 throw new Error( "jQuery requires a window with a document" ); 8193 } 8194 return factory( w ); 8195 }; 8196 } else { 8197 factory( global ); 8198 } 8199 8200// Pass this if window is not defined yet 8201} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 8202 8203// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 8204// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 8205// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common 8206// enough that all such attempts are guarded in a try block. 8207"use strict"; 8208 8209var arr = []; 8210 8211var getProto = Object.getPrototypeOf; 8212 8213var slice = arr.slice; 8214 8215var flat = arr.flat ? function( array ) { 8216 return arr.flat.call( array ); 8217} : function( array ) { 8218 return arr.concat.apply( [], array ); 8219}; 8220 8221 8222var push = arr.push; 8223 8224var indexOf = arr.indexOf; 8225 8226var class2type = {}; 8227 8228var toString = class2type.toString; 8229 8230var hasOwn = class2type.hasOwnProperty; 8231 8232var fnToString = hasOwn.toString; 8233 8234var ObjectFunctionString = fnToString.call( Object ); 8235 8236var support = {}; 8237 8238var isFunction = function isFunction( obj ) { 8239 8240 // Support: Chrome <=57, Firefox <=52 8241 // In some browsers, typeof returns "function" for HTML <object> elements 8242 // (i.e., `typeof document.createElement( "object" ) === "function"`). 8243 // We don't want to classify *any* DOM node as a function. 8244 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 8245 // Plus for old WebKit, typeof returns "function" for HTML collections 8246 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 8247 return typeof obj === "function" && typeof obj.nodeType !== "number" && 8248 typeof obj.item !== "function"; 8249 }; 8250 8251 8252var isWindow = function isWindow( obj ) { 8253 return obj != null && obj === obj.window; 8254 }; 8255 8256 8257var document = window.document; 8258 8259 8260 8261 var preservedScriptAttributes = { 8262 type: true, 8263 src: true, 8264 nonce: true, 8265 noModule: true 8266 }; 8267 8268 function DOMEval( code, node, doc ) { 8269 doc = doc || document; 8270 8271 var i, val, 8272 script = doc.createElement( "script" ); 8273 8274 script.text = code; 8275 if ( node ) { 8276 for ( i in preservedScriptAttributes ) { 8277 8278 // Support: Firefox 64+, Edge 18+ 8279 // Some browsers don't support the "nonce" property on scripts. 8280 // On the other hand, just using `getAttribute` is not enough as 8281 // the `nonce` attribute is reset to an empty string whenever it 8282 // becomes browsing-context connected. 8283 // See https://github.com/whatwg/html/issues/2369 8284 // See https://html.spec.whatwg.org/#nonce-attributes 8285 // The `node.getAttribute` check was added for the sake of 8286 // `jQuery.globalEval` so that it can fake a nonce-containing node 8287 // via an object. 8288 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 8289 if ( val ) { 8290 script.setAttribute( i, val ); 8291 } 8292 } 8293 } 8294 doc.head.appendChild( script ).parentNode.removeChild( script ); 8295 } 8296 8297 8298function toType( obj ) { 8299 if ( obj == null ) { 8300 return obj + ""; 8301 } 8302 8303 // Support: Android <=2.3 only (functionish RegExp) 8304 return typeof obj === "object" || typeof obj === "function" ? 8305 class2type[ toString.call( obj ) ] || "object" : 8306 typeof obj; 8307} 8308/* global Symbol */ 8309// Defining this global in .eslintrc.json would create a danger of using the global 8310// unguarded in another place, it seems safer to define global only for this module 8311 8312 8313 8314var 8315 version = "3.6.0", 8316 8317 // Define a local copy of jQuery 8318 jQuery = function( selector, context ) { 8319 8320 // The jQuery object is actually just the init constructor 'enhanced' 8321 // Need init if jQuery is called (just allow error to be thrown if not included) 8322 return new jQuery.fn.init( selector, context ); 8323 }; 8324 8325jQuery.fn = jQuery.prototype = { 8326 8327 // The current version of jQuery being used 8328 jquery: version, 8329 8330 constructor: jQuery, 8331 8332 // The default length of a jQuery object is 0 8333 length: 0, 8334 8335 toArray: function() { 8336 return slice.call( this ); 8337 }, 8338 8339 // Get the Nth element in the matched element set OR 8340 // Get the whole matched element set as a clean array 8341 get: function( num ) { 8342 8343 // Return all the elements in a clean array 8344 if ( num == null ) { 8345 return slice.call( this ); 8346 } 8347 8348 // Return just the one element from the set 8349 return num < 0 ? this[ num + this.length ] : this[ num ]; 8350 }, 8351 8352 // Take an array of elements and push it onto the stack 8353 // (returning the new matched element set) 8354 pushStack: function( elems ) { 8355 8356 // Build a new jQuery matched element set 8357 var ret = jQuery.merge( this.constructor(), elems ); 8358 8359 // Add the old object onto the stack (as a reference) 8360 ret.prevObject = this; 8361 8362 // Return the newly-formed element set 8363 return ret; 8364 }, 8365 8366 // Execute a callback for every element in the matched set. 8367 each: function( callback ) { 8368 return jQuery.each( this, callback ); 8369 }, 8370 8371 map: function( callback ) { 8372 return this.pushStack( jQuery.map( this, function( elem, i ) { 8373 return callback.call( elem, i, elem ); 8374 } ) ); 8375 }, 8376 8377 slice: function() { 8378 return this.pushStack( slice.apply( this, arguments ) ); 8379 }, 8380 8381 first: function() { 8382 return this.eq( 0 ); 8383 }, 8384 8385 last: function() { 8386 return this.eq( -1 ); 8387 }, 8388 8389 even: function() { 8390 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 8391 return ( i + 1 ) % 2; 8392 } ) ); 8393 }, 8394 8395 odd: function() { 8396 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 8397 return i % 2; 8398 } ) ); 8399 }, 8400 8401 eq: function( i ) { 8402 var len = this.length, 8403 j = +i + ( i < 0 ? len : 0 ); 8404 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 8405 }, 8406 8407 end: function() { 8408 return this.prevObject || this.constructor(); 8409 }, 8410 8411 // For internal use only. 8412 // Behaves like an Array's method, not like a jQuery method. 8413 push: push, 8414 sort: arr.sort, 8415 splice: arr.splice 8416}; 8417 8418jQuery.extend = jQuery.fn.extend = function() { 8419 var options, name, src, copy, copyIsArray, clone, 8420 target = arguments[ 0 ] || {}, 8421 i = 1, 8422 length = arguments.length, 8423 deep = false;
vendor: 180,765 bytes, lines 8424-15110
8424 8425 // Handle a deep copy situation 8426 if ( typeof target === "boolean" ) { 8427 deep = target; 8428 8429 // Skip the boolean and the target 8430 target = arguments[ i ] || {}; 8431 i++; 8432 } 8433 8434 // Handle case when target is a string or something (possible in deep copy) 8435 if ( typeof target !== "object" && !isFunction( target ) ) { 8436 target = {}; 8437 } 8438 8439 // Extend jQuery itself if only one argument is passed 8440 if ( i === length ) { 8441 target = this; 8442 i--; 8443 } 8444 8445 for ( ; i < length; i++ ) { 8446 8447 // Only deal with non-null/undefined values 8448 if ( ( options = arguments[ i ] ) != null ) { 8449 8450 // Extend the base object 8451 for ( name in options ) { 8452 copy = options[ name ]; 8453 8454 // Prevent Object.prototype pollution 8455 // Prevent never-ending loop 8456 if ( name === "__proto__" || target === copy ) { 8457 continue; 8458 } 8459 8460 // Recurse if we're merging plain objects or arrays 8461 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 8462 ( copyIsArray = Array.isArray( copy ) ) ) ) { 8463 src = target[ name ]; 8464 8465 // Ensure proper type for the source value 8466 if ( copyIsArray && !Array.isArray( src ) ) { 8467 clone = []; 8468 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 8469 clone = {}; 8470 } else { 8471 clone = src; 8472 } 8473 copyIsArray = false; 8474 8475 // Never move original objects, clone them 8476 target[ name ] = jQuery.extend( deep, clone, copy ); 8477 8478 // Don't bring in undefined values 8479 } else if ( copy !== undefined ) { 8480 target[ name ] = copy; 8481 } 8482 } 8483 } 8484 } 8485 8486 // Return the modified object 8487 return target; 8488}; 8489 8490jQuery.extend( { 8491 8492 // Unique for each copy of jQuery on the page 8493 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 8494 8495 // Assume jQuery is ready without the ready module 8496 isReady: true, 8497 8498 error: function( msg ) { 8499 throw new Error( msg ); 8500 }, 8501 8502 noop: function() {}, 8503 8504 isPlainObject: function( obj ) { 8505 var proto, Ctor; 8506 8507 // Detect obvious negatives 8508 // Use toString instead of jQuery.type to catch host objects 8509 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 8510 return false; 8511 } 8512 8513 proto = getProto( obj ); 8514 8515 // Objects with no prototype (e.g., `Object.create( null )`) are plain 8516 if ( !proto ) { 8517 return true; 8518 } 8519 8520 // Objects with prototype are plain iff they were constructed by a global Object function 8521 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 8522 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 8523 }, 8524 8525 isEmptyObject: function( obj ) { 8526 var name; 8527 8528 for ( name in obj ) { 8529 return false; 8530 } 8531 return true; 8532 }, 8533 8534 // Evaluates a script in a provided context; falls back to the global one 8535 // if not specified. 8536 globalEval: function( code, options, doc ) { 8537 DOMEval( code, { nonce: options && options.nonce }, doc ); 8538 }, 8539 8540 each: function( obj, callback ) { 8541 var length, i = 0; 8542 8543 if ( isArrayLike( obj ) ) { 8544 length = obj.length; 8545 for ( ; i < length; i++ ) { 8546 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 8547 break; 8548 } 8549 } 8550 } else { 8551 for ( i in obj ) { 8552 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 8553 break; 8554 } 8555 } 8556 } 8557 8558 return obj; 8559 }, 8560 8561 // results is for internal usage only 8562 makeArray: function( arr, results ) { 8563 var ret = results || []; 8564 8565 if ( arr != null ) { 8566 if ( isArrayLike( Object( arr ) ) ) { 8567 jQuery.merge( ret, 8568 typeof arr === "string" ? 8569 [ arr ] : arr 8570 ); 8571 } else { 8572 push.call( ret, arr ); 8573 } 8574 } 8575 8576 return ret; 8577 }, 8578 8579 inArray: function( elem, arr, i ) { 8580 return arr == null ? -1 : indexOf.call( arr, elem, i ); 8581 }, 8582 8583 // Support: Android <=4.0 only, PhantomJS 1 only 8584 // push.apply(_, arraylike) throws on ancient WebKit 8585 merge: function( first, second ) { 8586 var len = +second.length, 8587 j = 0, 8588 i = first.length; 8589 8590 for ( ; j < len; j++ ) { 8591 first[ i++ ] = second[ j ]; 8592 } 8593 8594 first.length = i; 8595 8596 return first; 8597 }, 8598 8599 grep: function( elems, callback, invert ) { 8600 var callbackInverse, 8601 matches = [], 8602 i = 0, 8603 length = elems.length, 8604 callbackExpect = !invert; 8605 8606 // Go through the array, only saving the items 8607 // that pass the validator function 8608 for ( ; i < length; i++ ) { 8609 callbackInverse = !callback( elems[ i ], i ); 8610 if ( callbackInverse !== callbackExpect ) { 8611 matches.push( elems[ i ] ); 8612 } 8613 } 8614 8615 return matches; 8616 }, 8617 8618 // arg is for internal usage only 8619 map: function( elems, callback, arg ) { 8620 var length, value, 8621 i = 0, 8622 ret = []; 8623 8624 // Go through the array, translating each of the items to their new values 8625 if ( isArrayLike( elems ) ) { 8626 length = elems.length; 8627 for ( ; i < length; i++ ) { 8628 value = callback( elems[ i ], i, arg ); 8629 8630 if ( value != null ) { 8631 ret.push( value ); 8632 } 8633 } 8634 8635 // Go through every key on the object, 8636 } else { 8637 for ( i in elems ) { 8638 value = callback( elems[ i ], i, arg ); 8639 8640 if ( value != null ) { 8641 ret.push( value ); 8642 } 8643 } 8644 } 8645 8646 // Flatten any nested arrays 8647 return flat( ret ); 8648 }, 8649 8650 // A global GUID counter for objects 8651 guid: 1, 8652 8653 // jQuery.support is not used in Core but other projects attach their 8654 // properties to it so it needs to exist. 8655 support: support 8656} ); 8657 8658if ( typeof Symbol === "function" ) { 8659 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 8660} 8661 8662// Populate the class2type map 8663jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 8664 function( _i, name ) { 8665 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 8666 } ); 8667 8668function isArrayLike( obj ) { 8669 8670 // Support: real iOS 8.2 only (not reproducible in simulator) 8671 // `in` check used to prevent JIT error (gh-2145) 8672 // hasOwn isn't used here due to false negatives 8673 // regarding Nodelist length in IE 8674 var length = !!obj && "length" in obj && obj.length, 8675 type = toType( obj ); 8676 8677 if ( isFunction( obj ) || isWindow( obj ) ) { 8678 return false; 8679 } 8680 8681 return type === "array" || length === 0 || 8682 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 8683} 8684var Sizzle = 8685/*! 8686 * Sizzle CSS Selector Engine v2.3.6 8687 * https://sizzlejs.com/ 8688 * 8689 * Copyright JS Foundation and other contributors 8690 * Released under the MIT license 8691 * https://js.foundation/ 8692 * 8693 * Date: 2021-02-16 8694 */ 8695( function( window ) { 8696var i, 8697 support, 8698 Expr, 8699 getText, 8700 isXML, 8701 tokenize, 8702 compile, 8703 select, 8704 outermostContext, 8705 sortInput, 8706 hasDuplicate, 8707 8708 // Local document vars 8709 setDocument, 8710 document, 8711 docElem, 8712 documentIsHTML, 8713 rbuggyQSA, 8714 rbuggyMatches, 8715 matches, 8716 contains, 8717 8718 // Instance-specific data 8719 expando = "sizzle" + 1 * new Date(), 8720 preferredDoc = window.document, 8721 dirruns = 0, 8722 done = 0, 8723 classCache = createCache(), 8724 tokenCache = createCache(), 8725 compilerCache = createCache(), 8726 nonnativeSelectorCache = createCache(), 8727 sortOrder = function( a, b ) { 8728 if ( a === b ) { 8729 hasDuplicate = true; 8730 } 8731 return 0; 8732 }, 8733 8734 // Instance methods 8735 hasOwn = ( {} ).hasOwnProperty, 8736 arr = [], 8737 pop = arr.pop, 8738 pushNative = arr.push, 8739 push = arr.push, 8740 slice = arr.slice, 8741 8742 // Use a stripped-down indexOf as it's faster than native 8743 // https://jsperf.com/thor-indexof-vs-for/5 8744 indexOf = function( list, elem ) { 8745 var i = 0, 8746 len = list.length; 8747 for ( ; i < len; i++ ) { 8748 if ( list[ i ] === elem ) { 8749 return i; 8750 } 8751 } 8752 return -1; 8753 }, 8754 8755 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + 8756 "ismap|loop|multiple|open|readonly|required|scoped", 8757 8758 // Regular expressions 8759 8760 // http://www.w3.org/TR/css3-selectors/#whitespace 8761 whitespace = "[\\x20\\t\\r\\n\\f]", 8762 8763 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 8764 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 8765 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 8766 8767 // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors 8768 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 8769 8770 // Operator (capture 2) 8771 "*([*^$|!~]?=)" + whitespace + 8772 8773 // "Attribute values must be CSS identifiers [capture 5] 8774 // or strings [capture 3 or capture 4]" 8775 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 8776 whitespace + "*\\]", 8777 8778 pseudos = ":(" + identifier + ")(?:\\((" + 8779 8780 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 8781 // 1. quoted (capture 3; capture 4 or capture 5) 8782 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 8783 8784 // 2. simple (capture 6) 8785 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 8786 8787 // 3. anything else (capture 2) 8788 ".*" + 8789 ")\\)|)", 8790 8791 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 8792 rwhitespace = new RegExp( whitespace + "+", "g" ), 8793 rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + 8794 whitespace + "+$", "g" ), 8795 8796 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 8797 rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + 8798 "*" ), 8799 rdescend = new RegExp( whitespace + "|>" ), 8800 8801 rpseudo = new RegExp( pseudos ), 8802 ridentifier = new RegExp( "^" + identifier + "$" ), 8803 8804 matchExpr = { 8805 "ID": new RegExp( "^#(" + identifier + ")" ), 8806 "CLASS": new RegExp( "^\\.(" + identifier + ")" ), 8807 "TAG": new RegExp( "^(" + identifier + "|[*])" ), 8808 "ATTR": new RegExp( "^" + attributes ), 8809 "PSEUDO": new RegExp( "^" + pseudos ), 8810 "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 8811 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 8812 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 8813 "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), 8814 8815 // For use in libraries implementing .is() 8816 // We use this for POS matching in `select` 8817 "needsContext": new RegExp( "^" + whitespace + 8818 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 8819 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 8820 }, 8821 8822 rhtml = /HTML$/i, 8823 rinputs = /^(?:input|select|textarea|button)$/i, 8824 rheader = /^h\d$/i, 8825 8826 rnative = /^[^{]+\{\s*\[native \w/, 8827 8828 // Easily-parseable/retrievable ID or TAG or CLASS selectors 8829 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 8830 8831 rsibling = /[+~]/, 8832 8833 // CSS escapes 8834 // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters 8835 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), 8836 funescape = function( escape, nonHex ) { 8837 var high = "0x" + escape.slice( 1 ) - 0x10000; 8838 8839 return nonHex ? 8840 8841 // Strip the backslash prefix from a non-hex escape sequence 8842 nonHex : 8843 8844 // Replace a hexadecimal escape sequence with the encoded Unicode code point 8845 // Support: IE <=11+ 8846 // For values outside the Basic Multilingual Plane (BMP), manually construct a 8847 // surrogate pair 8848 high < 0 ? 8849 String.fromCharCode( high + 0x10000 ) : 8850 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 8851 }, 8852 8853 // CSS string/identifier serialization 8854 // https://drafts.csswg.org/cssom/#common-serializing-idioms 8855 rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 8856 fcssescape = function( ch, asCodePoint ) { 8857 if ( asCodePoint ) { 8858 8859 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 8860 if ( ch === "\0" ) { 8861 return "\uFFFD"; 8862 } 8863 8864 // Control characters and (dependent upon position) numbers get escaped as code points 8865 return ch.slice( 0, -1 ) + "\\" + 8866 ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 8867 } 8868 8869 // Other potentially-special ASCII characters get backslash-escaped 8870 return "\\" + ch; 8871 }, 8872 8873 // Used for iframes 8874 // See setDocument() 8875 // Removing the function wrapper causes a "Permission Denied" 8876 // error in IE 8877 unloadHandler = function() { 8878 setDocument(); 8879 }, 8880 8881 inDisabledFieldset = addCombinator( 8882 function( elem ) { 8883 return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; 8884 }, 8885 { dir: "parentNode", next: "legend" } 8886 ); 8887 8888// Optimize for push.apply( _, NodeList ) 8889try { 8890 push.apply( 8891 ( arr = slice.call( preferredDoc.childNodes ) ), 8892 preferredDoc.childNodes 8893 ); 8894 8895 // Support: Android<4.0 8896 // Detect silently failing push.apply 8897 // eslint-disable-next-line no-unused-expressions 8898 arr[ preferredDoc.childNodes.length ].nodeType; 8899} catch ( e ) { 8900 push = { apply: arr.length ? 8901 8902 // Leverage slice if possible 8903 function( target, els ) { 8904 pushNative.apply( target, slice.call( els ) ); 8905 } : 8906 8907 // Support: IE<9 8908 // Otherwise append directly 8909 function( target, els ) { 8910 var j = target.length, 8911 i = 0; 8912 8913 // Can't trust NodeList.length 8914 while ( ( target[ j++ ] = els[ i++ ] ) ) {} 8915 target.length = j - 1; 8916 } 8917 }; 8918} 8919 8920function Sizzle( selector, context, results, seed ) { 8921 var m, i, elem, nid, match, groups, newSelector, 8922 newContext = context && context.ownerDocument, 8923 8924 // nodeType defaults to 9, since context defaults to document 8925 nodeType = context ? context.nodeType : 9; 8926 8927 results = results || []; 8928 8929 // Return early from calls with invalid selector or context 8930 if ( typeof selector !== "string" || !selector || 8931 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 8932 8933 return results; 8934 } 8935 8936 // Try to shortcut find operations (as opposed to filters) in HTML documents 8937 if ( !seed ) { 8938 setDocument( context ); 8939 context = context || document; 8940 8941 if ( documentIsHTML ) { 8942 8943 // If the selector is sufficiently simple, try using a "get*By*" DOM method 8944 // (excepting DocumentFragment context, where the methods don't exist) 8945 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 8946 8947 // ID selector 8948 if ( ( m = match[ 1 ] ) ) { 8949 8950 // Document context 8951 if ( nodeType === 9 ) { 8952 if ( ( elem = context.getElementById( m ) ) ) { 8953 8954 // Support: IE, Opera, Webkit 8955 // TODO: identify versions 8956 // getElementById can match elements by name instead of ID 8957 if ( elem.id === m ) { 8958 results.push( elem ); 8959 return results; 8960 } 8961 } else { 8962 return results; 8963 } 8964 8965 // Element context 8966 } else { 8967 8968 // Support: IE, Opera, Webkit 8969 // TODO: identify versions 8970 // getElementById can match elements by name instead of ID 8971 if ( newContext && ( elem = newContext.getElementById( m ) ) && 8972 contains( context, elem ) && 8973 elem.id === m ) { 8974 8975 results.push( elem ); 8976 return results; 8977 } 8978 } 8979 8980 // Type selector 8981 } else if ( match[ 2 ] ) { 8982 push.apply( results, context.getElementsByTagName( selector ) ); 8983 return results; 8984 8985 // Class selector 8986 } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && 8987 context.getElementsByClassName ) { 8988 8989 push.apply( results, context.getElementsByClassName( m ) ); 8990 return results; 8991 } 8992 } 8993 8994 // Take advantage of querySelectorAll 8995 if ( support.qsa && 8996 !nonnativeSelectorCache[ selector + " " ] && 8997 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && 8998 8999 // Support: IE 8 only 9000 // Exclude object elements 9001 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { 9002 9003 newSelector = selector; 9004 newContext = context; 9005 9006 // qSA considers elements outside a scoping root when evaluating child or 9007 // descendant combinators, which is not what we want. 9008 // In such cases, we work around the behavior by prefixing every selector in the 9009 // list with an ID selector referencing the scope context. 9010 // The technique has to be used as well when a leading combinator is used 9011 // as such selectors are not recognized by querySelectorAll. 9012 // Thanks to Andrew Dupont for this technique. 9013 if ( nodeType === 1 && 9014 ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { 9015 9016 // Expand context for sibling selectors 9017 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 9018 context; 9019 9020 // We can use :scope instead of the ID hack if the browser 9021 // supports it & if we're not changing the context. 9022 if ( newContext !== context || !support.scope ) { 9023 9024 // Capture the context ID, setting it first if necessary 9025 if ( ( nid = context.getAttribute( "id" ) ) ) { 9026 nid = nid.replace( rcssescape, fcssescape ); 9027 } else { 9028 context.setAttribute( "id", ( nid = expando ) ); 9029 } 9030 } 9031 9032 // Prefix every selector in the list 9033 groups = tokenize( selector ); 9034 i = groups.length; 9035 while ( i-- ) { 9036 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 9037 toSelector( groups[ i ] ); 9038 } 9039 newSelector = groups.join( "," ); 9040 } 9041 9042 try { 9043 push.apply( results, 9044 newContext.querySelectorAll( newSelector ) 9045 ); 9046 return results; 9047 } catch ( qsaError ) { 9048 nonnativeSelectorCache( selector, true ); 9049 } finally { 9050 if ( nid === expando ) { 9051 context.removeAttribute( "id" ); 9052 } 9053 } 9054 } 9055 } 9056 } 9057 9058 // All others 9059 return select( selector.replace( rtrim, "$1" ), context, results, seed ); 9060} 9061 9062/** 9063 * Create key-value caches of limited size 9064 * @returns {function(string, object)} Returns the Object data after storing it on itself with 9065 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 9066 * deleting the oldest entry 9067 */ 9068function createCache() { 9069 var keys = []; 9070 9071 function cache( key, value ) { 9072 9073 // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) 9074 if ( keys.push( key + " " ) > Expr.cacheLength ) { 9075 9076 // Only keep the most recent entries 9077 delete cache[ keys.shift() ]; 9078 } 9079 return ( cache[ key + " " ] = value ); 9080 } 9081 return cache; 9082} 9083 9084/** 9085 * Mark a function for special use by Sizzle 9086 * @param {Function} fn The function to mark 9087 */ 9088function markFunction( fn ) { 9089 fn[ expando ] = true; 9090 return fn; 9091} 9092 9093/** 9094 * Support testing using an element 9095 * @param {Function} fn Passed the created element and returns a boolean result 9096 */ 9097function assert( fn ) { 9098 var el = document.createElement( "fieldset" ); 9099 9100 try { 9101 return !!fn( el ); 9102 } catch ( e ) { 9103 return false; 9104 } finally { 9105 9106 // Remove from its parent by default 9107 if ( el.parentNode ) { 9108 el.parentNode.removeChild( el ); 9109 } 9110 9111 // release memory in IE 9112 el = null; 9113 } 9114} 9115 9116/** 9117 * Adds the same handler for all of the specified attrs 9118 * @param {String} attrs Pipe-separated list of attributes 9119 * @param {Function} handler The method that will be applied 9120 */ 9121function addHandle( attrs, handler ) { 9122 var arr = attrs.split( "|" ), 9123 i = arr.length; 9124 9125 while ( i-- ) { 9126 Expr.attrHandle[ arr[ i ] ] = handler; 9127 } 9128} 9129 9130/** 9131 * Checks document order of two siblings 9132 * @param {Element} a 9133 * @param {Element} b 9134 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b 9135 */ 9136function siblingCheck( a, b ) { 9137 var cur = b && a, 9138 diff = cur && a.nodeType === 1 && b.nodeType === 1 && 9139 a.sourceIndex - b.sourceIndex; 9140 9141 // Use IE sourceIndex if available on both nodes 9142 if ( diff ) { 9143 return diff; 9144 } 9145 9146 // Check if b follows a 9147 if ( cur ) { 9148 while ( ( cur = cur.nextSibling ) ) { 9149 if ( cur === b ) { 9150 return -1; 9151 } 9152 } 9153 } 9154 9155 return a ? 1 : -1; 9156} 9157 9158/** 9159 * Returns a function to use in pseudos for input types 9160 * @param {String} type 9161 */ 9162function createInputPseudo( type ) { 9163 return function( elem ) { 9164 var name = elem.nodeName.toLowerCase(); 9165 return name === "input" && elem.type === type; 9166 }; 9167} 9168 9169/** 9170 * Returns a function to use in pseudos for buttons 9171 * @param {String} type 9172 */ 9173function createButtonPseudo( type ) { 9174 return function( elem ) { 9175 var name = elem.nodeName.toLowerCase(); 9176 return ( name === "input" || name === "button" ) && elem.type === type; 9177 }; 9178} 9179 9180/** 9181 * Returns a function to use in pseudos for :enabled/:disabled 9182 * @param {Boolean} disabled true for :disabled; false for :enabled 9183 */ 9184function createDisabledPseudo( disabled ) { 9185 9186 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 9187 return function( elem ) { 9188 9189 // Only certain elements can match :enabled or :disabled 9190 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 9191 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 9192 if ( "form" in elem ) { 9193 9194 // Check for inherited disabledness on relevant non-disabled elements: 9195 // * listed form-associated elements in a disabled fieldset 9196 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 9197 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 9198 // * option elements in a disabled optgroup 9199 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 9200 // All such elements have a "form" property. 9201 if ( elem.parentNode && elem.disabled === false ) { 9202 9203 // Option elements defer to a parent optgroup if present 9204 if ( "label" in elem ) { 9205 if ( "label" in elem.parentNode ) { 9206 return elem.parentNode.disabled === disabled; 9207 } else { 9208 return elem.disabled === disabled; 9209 } 9210 } 9211 9212 // Support: IE 6 - 11 9213 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 9214 return elem.isDisabled === disabled || 9215 9216 // Where there is no isDisabled, check manually 9217 /* jshint -W018 */ 9218 elem.isDisabled !== !disabled && 9219 inDisabledFieldset( elem ) === disabled; 9220 } 9221 9222 return elem.disabled === disabled; 9223 9224 // Try to winnow out elements that can't be disabled before trusting the disabled property. 9225 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 9226 // even exist on them, let alone have a boolean value. 9227 } else if ( "label" in elem ) { 9228 return elem.disabled === disabled; 9229 } 9230 9231 // Remaining elements are neither :enabled nor :disabled 9232 return false; 9233 }; 9234} 9235 9236/** 9237 * Returns a function to use in pseudos for positionals 9238 * @param {Function} fn 9239 */ 9240function createPositionalPseudo( fn ) { 9241 return markFunction( function( argument ) { 9242 argument = +argument; 9243 return markFunction( function( seed, matches ) { 9244 var j, 9245 matchIndexes = fn( [], seed.length, argument ), 9246 i = matchIndexes.length; 9247 9248 // Match elements found at the specified indexes 9249 while ( i-- ) { 9250 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 9251 seed[ j ] = !( matches[ j ] = seed[ j ] ); 9252 } 9253 } 9254 } ); 9255 } ); 9256} 9257 9258/** 9259 * Checks a node for validity as a Sizzle context 9260 * @param {Element|Object=} context 9261 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 9262 */ 9263function testContext( context ) { 9264 return context && typeof context.getElementsByTagName !== "undefined" && context; 9265} 9266 9267// Expose support vars for convenience 9268support = Sizzle.support = {}; 9269 9270/** 9271 * Detects XML nodes 9272 * @param {Element|Object} elem An element or a document 9273 * @returns {Boolean} True iff elem is a non-HTML XML node 9274 */ 9275isXML = Sizzle.isXML = function( elem ) { 9276 var namespace = elem && elem.namespaceURI, 9277 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 9278 9279 // Support: IE <=8 9280 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes 9281 // https://bugs.jquery.com/ticket/4833 9282 return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); 9283}; 9284 9285/** 9286 * Sets document-related variables once based on the current document 9287 * @param {Element|Object} [doc] An element or document object to use to set the document 9288 * @returns {Object} Returns the current document 9289 */ 9290setDocument = Sizzle.setDocument = function( node ) { 9291 var hasCompare, subWindow, 9292 doc = node ? node.ownerDocument || node : preferredDoc; 9293 9294 // Return early if doc is invalid or already selected 9295 // Support: IE 11+, Edge 17 - 18+ 9296 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9297 // two documents; shallow comparisons work. 9298 // eslint-disable-next-line eqeqeq 9299 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 9300 return document; 9301 } 9302 9303 // Update global variables 9304 document = doc; 9305 docElem = document.documentElement; 9306 documentIsHTML = !isXML( document ); 9307 9308 // Support: IE 9 - 11+, Edge 12 - 18+ 9309 // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) 9310 // Support: IE 11+, Edge 17 - 18+ 9311 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9312 // two documents; shallow comparisons work. 9313 // eslint-disable-next-line eqeqeq 9314 if ( preferredDoc != document && 9315 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 9316 9317 // Support: IE 11, Edge 9318 if ( subWindow.addEventListener ) { 9319 subWindow.addEventListener( "unload", unloadHandler, false ); 9320 9321 // Support: IE 9 - 10 only 9322 } else if ( subWindow.attachEvent ) { 9323 subWindow.attachEvent( "onunload", unloadHandler ); 9324 } 9325 } 9326 9327 // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, 9328 // Safari 4 - 5 only, Opera <=11.6 - 12.x only 9329 // IE/Edge & older browsers don't support the :scope pseudo-class. 9330 // Support: Safari 6.0 only 9331 // Safari 6.0 supports :scope but it's an alias of :root there. 9332 support.scope = assert( function( el ) { 9333 docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); 9334 return typeof el.querySelectorAll !== "undefined" && 9335 !el.querySelectorAll( ":scope fieldset div" ).length; 9336 } ); 9337 9338 /* Attributes 9339 ---------------------------------------------------------------------- */ 9340 9341 // Support: IE<8 9342 // Verify that getAttribute really returns attributes and not properties 9343 // (excepting IE8 booleans) 9344 support.attributes = assert( function( el ) { 9345 el.className = "i"; 9346 return !el.getAttribute( "className" ); 9347 } ); 9348 9349 /* getElement(s)By* 9350 ---------------------------------------------------------------------- */ 9351 9352 // Check if getElementsByTagName("*") returns only elements 9353 support.getElementsByTagName = assert( function( el ) { 9354 el.appendChild( document.createComment( "" ) ); 9355 return !el.getElementsByTagName( "*" ).length; 9356 } ); 9357 9358 // Support: IE<9 9359 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); 9360 9361 // Support: IE<10 9362 // Check if getElementById returns elements by name 9363 // The broken getElementById methods don't pick up programmatically-set names, 9364 // so use a roundabout getElementsByName test 9365 support.getById = assert( function( el ) { 9366 docElem.appendChild( el ).id = expando; 9367 return !document.getElementsByName || !document.getElementsByName( expando ).length; 9368 } ); 9369 9370 // ID filter and find 9371 if ( support.getById ) { 9372 Expr.filter[ "ID" ] = function( id ) { 9373 var attrId = id.replace( runescape, funescape ); 9374 return function( elem ) { 9375 return elem.getAttribute( "id" ) === attrId; 9376 }; 9377 }; 9378 Expr.find[ "ID" ] = function( id, context ) { 9379 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 9380 var elem = context.getElementById( id ); 9381 return elem ? [ elem ] : []; 9382 } 9383 }; 9384 } else { 9385 Expr.filter[ "ID" ] = function( id ) { 9386 var attrId = id.replace( runescape, funescape ); 9387 return function( elem ) { 9388 var node = typeof elem.getAttributeNode !== "undefined" && 9389 elem.getAttributeNode( "id" ); 9390 return node && node.value === attrId; 9391 }; 9392 }; 9393 9394 // Support: IE 6 - 7 only 9395 // getElementById is not reliable as a find shortcut 9396 Expr.find[ "ID" ] = function( id, context ) { 9397 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 9398 var node, i, elems, 9399 elem = context.getElementById( id ); 9400 9401 if ( elem ) { 9402 9403 // Verify the id attribute 9404 node = elem.getAttributeNode( "id" ); 9405 if ( node && node.value === id ) { 9406 return [ elem ]; 9407 } 9408 9409 // Fall back on getElementsByName 9410 elems = context.getElementsByName( id ); 9411 i = 0; 9412 while ( ( elem = elems[ i++ ] ) ) { 9413 node = elem.getAttributeNode( "id" ); 9414 if ( node && node.value === id ) { 9415 return [ elem ]; 9416 } 9417 } 9418 } 9419 9420 return []; 9421 } 9422 }; 9423 } 9424 9425 // Tag 9426 Expr.find[ "TAG" ] = support.getElementsByTagName ? 9427 function( tag, context ) { 9428 if ( typeof context.getElementsByTagName !== "undefined" ) { 9429 return context.getElementsByTagName( tag ); 9430 9431 // DocumentFragment nodes don't have gEBTN 9432 } else if ( support.qsa ) { 9433 return context.querySelectorAll( tag ); 9434 } 9435 } : 9436 9437 function( tag, context ) { 9438 var elem, 9439 tmp = [], 9440 i = 0, 9441 9442 // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too 9443 results = context.getElementsByTagName( tag ); 9444 9445 // Filter out possible comments 9446 if ( tag === "*" ) { 9447 while ( ( elem = results[ i++ ] ) ) { 9448 if ( elem.nodeType === 1 ) { 9449 tmp.push( elem ); 9450 } 9451 } 9452 9453 return tmp; 9454 } 9455 return results; 9456 }; 9457 9458 // Class 9459 Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { 9460 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 9461 return context.getElementsByClassName( className ); 9462 } 9463 }; 9464 9465 /* QSA/matchesSelector 9466 ---------------------------------------------------------------------- */ 9467 9468 // QSA and matchesSelector support 9469 9470 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 9471 rbuggyMatches = []; 9472 9473 // qSa(:focus) reports false when true (Chrome 21) 9474 // We allow this because of a bug in IE8/9 that throws an error 9475 // whenever `document.activeElement` is accessed on an iframe 9476 // So, we allow :focus to pass through QSA all the time to avoid the IE error 9477 // See https://bugs.jquery.com/ticket/13378 9478 rbuggyQSA = []; 9479 9480 if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { 9481 9482 // Build QSA regex 9483 // Regex strategy adopted from Diego Perini 9484 assert( function( el ) { 9485 9486 var input; 9487 9488 // Select is set to empty string on purpose 9489 // This is to test IE's treatment of not explicitly 9490 // setting a boolean content attribute, 9491 // since its presence should be enough 9492 // https://bugs.jquery.com/ticket/12359 9493 docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + 9494 "<select id='" + expando + "-\r\\' msallowcapture=''>" + 9495 "<option selected=''></option></select>"; 9496 9497 // Support: IE8, Opera 11-12.16 9498 // Nothing should be selected when empty strings follow ^= or $= or *= 9499 // The test attribute must be unknown in Opera but "safe" for WinRT 9500 // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section 9501 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { 9502 rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); 9503 } 9504 9505 // Support: IE8 9506 // Boolean attributes and "value" are not treated correctly 9507 if ( !el.querySelectorAll( "[selected]" ).length ) { 9508 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 9509 } 9510 9511 // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ 9512 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 9513 rbuggyQSA.push( "~=" ); 9514 } 9515 9516 // Support: IE 11+, Edge 15 - 18+ 9517 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 9518 // Adding a temporary attribute to the document before the selection works 9519 // around the issue. 9520 // Interestingly, IE 10 & older don't seem to have the issue. 9521 input = document.createElement( "input" ); 9522 input.setAttribute( "name", "" ); 9523 el.appendChild( input ); 9524 if ( !el.querySelectorAll( "[name='']" ).length ) { 9525 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 9526 whitespace + "*(?:''|\"\")" ); 9527 } 9528 9529 // Webkit/Opera - :checked should return selected option elements 9530 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 9531 // IE8 throws error here and will not see later tests 9532 if ( !el.querySelectorAll( ":checked" ).length ) { 9533 rbuggyQSA.push( ":checked" ); 9534 } 9535 9536 // Support: Safari 8+, iOS 8+ 9537 // https://bugs.webkit.org/show_bug.cgi?id=136851 9538 // In-page `selector#id sibling-combinator selector` fails 9539 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 9540 rbuggyQSA.push( ".#.+[+~]" ); 9541 } 9542 9543 // Support: Firefox <=3.6 - 5 only 9544 // Old Firefox doesn't throw on a badly-escaped identifier. 9545 el.querySelectorAll( "\\\f" ); 9546 rbuggyQSA.push( "[\\r\\n\\f]" ); 9547 } ); 9548 9549 assert( function( el ) { 9550 el.innerHTML = "<a href='' disabled='disabled'></a>" + 9551 "<select disabled='disabled'><option/></select>"; 9552 9553 // Support: Windows 8 Native Apps 9554 // The type and name attributes are restricted during .innerHTML assignment 9555 var input = document.createElement( "input" ); 9556 input.setAttribute( "type", "hidden" ); 9557 el.appendChild( input ).setAttribute( "name", "D" ); 9558 9559 // Support: IE8 9560 // Enforce case-sensitivity of name attribute 9561 if ( el.querySelectorAll( "[name=d]" ).length ) { 9562 rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); 9563 } 9564 9565 // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) 9566 // IE8 throws error here and will not see later tests 9567 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { 9568 rbuggyQSA.push( ":enabled", ":disabled" ); 9569 } 9570 9571 // Support: IE9-11+ 9572 // IE's :disabled selector does not pick up the children of disabled fieldsets 9573 docElem.appendChild( el ).disabled = true; 9574 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 9575 rbuggyQSA.push( ":enabled", ":disabled" ); 9576 } 9577 9578 // Support: Opera 10 - 11 only 9579 // Opera 10-11 does not throw on post-comma invalid pseudos 9580 el.querySelectorAll( "*,:x" ); 9581 rbuggyQSA.push( ",.*:" ); 9582 } ); 9583 } 9584 9585 if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || 9586 docElem.webkitMatchesSelector || 9587 docElem.mozMatchesSelector || 9588 docElem.oMatchesSelector || 9589 docElem.msMatchesSelector ) ) ) ) { 9590 9591 assert( function( el ) { 9592 9593 // Check to see if it's possible to do matchesSelector 9594 // on a disconnected node (IE 9) 9595 support.disconnectedMatch = matches.call( el, "*" ); 9596 9597 // This should fail with an exception 9598 // Gecko does not error, returns false instead 9599 matches.call( el, "[s!='']:x" ); 9600 rbuggyMatches.push( "!=", pseudos ); 9601 } ); 9602 } 9603 9604 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 9605 rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); 9606 9607 /* Contains 9608 ---------------------------------------------------------------------- */ 9609 hasCompare = rnative.test( docElem.compareDocumentPosition ); 9610 9611 // Element contains another 9612 // Purposefully self-exclusive 9613 // As in, an element does not contain itself 9614 contains = hasCompare || rnative.test( docElem.contains ) ? 9615 function( a, b ) { 9616 var adown = a.nodeType === 9 ? a.documentElement : a, 9617 bup = b && b.parentNode; 9618 return a === bup || !!( bup && bup.nodeType === 1 && ( 9619 adown.contains ? 9620 adown.contains( bup ) : 9621 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 9622 ) ); 9623 } : 9624 function( a, b ) { 9625 if ( b ) { 9626 while ( ( b = b.parentNode ) ) { 9627 if ( b === a ) { 9628 return true; 9629 } 9630 } 9631 } 9632 return false; 9633 }; 9634 9635 /* Sorting 9636 ---------------------------------------------------------------------- */ 9637 9638 // Document order sorting 9639 sortOrder = hasCompare ? 9640 function( a, b ) { 9641 9642 // Flag for duplicate removal 9643 if ( a === b ) { 9644 hasDuplicate = true; 9645 return 0; 9646 } 9647 9648 // Sort on method existence if only one input has compareDocumentPosition 9649 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 9650 if ( compare ) { 9651 return compare; 9652 } 9653 9654 // Calculate position if both inputs belong to the same document 9655 // Support: IE 11+, Edge 17 - 18+ 9656 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9657 // two documents; shallow comparisons work. 9658 // eslint-disable-next-line eqeqeq 9659 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 9660 a.compareDocumentPosition( b ) : 9661 9662 // Otherwise we know they are disconnected 9663 1; 9664 9665 // Disconnected nodes 9666 if ( compare & 1 || 9667 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 9668 9669 // Choose the first element that is related to our preferred document 9670 // Support: IE 11+, Edge 17 - 18+ 9671 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9672 // two documents; shallow comparisons work. 9673 // eslint-disable-next-line eqeqeq 9674 if ( a == document || a.ownerDocument == preferredDoc && 9675 contains( preferredDoc, a ) ) { 9676 return -1; 9677 } 9678 9679 // Support: IE 11+, Edge 17 - 18+ 9680 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9681 // two documents; shallow comparisons work. 9682 // eslint-disable-next-line eqeqeq 9683 if ( b == document || b.ownerDocument == preferredDoc && 9684 contains( preferredDoc, b ) ) { 9685 return 1; 9686 } 9687 9688 // Maintain original order 9689 return sortInput ? 9690 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 9691 0; 9692 } 9693 9694 return compare & 4 ? -1 : 1; 9695 } : 9696 function( a, b ) { 9697 9698 // Exit early if the nodes are identical 9699 if ( a === b ) { 9700 hasDuplicate = true; 9701 return 0; 9702 } 9703 9704 var cur, 9705 i = 0, 9706 aup = a.parentNode, 9707 bup = b.parentNode, 9708 ap = [ a ], 9709 bp = [ b ]; 9710 9711 // Parentless nodes are either documents or disconnected 9712 if ( !aup || !bup ) { 9713 9714 // Support: IE 11+, Edge 17 - 18+ 9715 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9716 // two documents; shallow comparisons work. 9717 /* eslint-disable eqeqeq */ 9718 return a == document ? -1 : 9719 b == document ? 1 : 9720 /* eslint-enable eqeqeq */ 9721 aup ? -1 : 9722 bup ? 1 : 9723 sortInput ? 9724 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 9725 0; 9726 9727 // If the nodes are siblings, we can do a quick check 9728 } else if ( aup === bup ) { 9729 return siblingCheck( a, b ); 9730 } 9731 9732 // Otherwise we need full lists of their ancestors for comparison 9733 cur = a; 9734 while ( ( cur = cur.parentNode ) ) { 9735 ap.unshift( cur ); 9736 } 9737 cur = b; 9738 while ( ( cur = cur.parentNode ) ) { 9739 bp.unshift( cur ); 9740 } 9741 9742 // Walk down the tree looking for a discrepancy 9743 while ( ap[ i ] === bp[ i ] ) { 9744 i++; 9745 } 9746 9747 return i ? 9748 9749 // Do a sibling check if the nodes have a common ancestor 9750 siblingCheck( ap[ i ], bp[ i ] ) : 9751 9752 // Otherwise nodes in our document sort first 9753 // Support: IE 11+, Edge 17 - 18+ 9754 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9755 // two documents; shallow comparisons work. 9756 /* eslint-disable eqeqeq */ 9757 ap[ i ] == preferredDoc ? -1 : 9758 bp[ i ] == preferredDoc ? 1 : 9759 /* eslint-enable eqeqeq */ 9760 0; 9761 }; 9762 9763 return document; 9764}; 9765 9766Sizzle.matches = function( expr, elements ) { 9767 return Sizzle( expr, null, null, elements ); 9768}; 9769 9770Sizzle.matchesSelector = function( elem, expr ) { 9771 setDocument( elem ); 9772 9773 if ( support.matchesSelector && documentIsHTML && 9774 !nonnativeSelectorCache[ expr + " " ] && 9775 ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && 9776 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 9777 9778 try { 9779 var ret = matches.call( elem, expr ); 9780 9781 // IE 9's matchesSelector returns false on disconnected nodes 9782 if ( ret || support.disconnectedMatch || 9783 9784 // As well, disconnected nodes are said to be in a document 9785 // fragment in IE 9 9786 elem.document && elem.document.nodeType !== 11 ) { 9787 return ret; 9788 } 9789 } catch ( e ) { 9790 nonnativeSelectorCache( expr, true ); 9791 } 9792 } 9793 9794 return Sizzle( expr, document, null, [ elem ] ).length > 0; 9795}; 9796 9797Sizzle.contains = function( context, elem ) { 9798 9799 // Set document vars if needed 9800 // Support: IE 11+, Edge 17 - 18+ 9801 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9802 // two documents; shallow comparisons work. 9803 // eslint-disable-next-line eqeqeq 9804 if ( ( context.ownerDocument || context ) != document ) { 9805 setDocument( context ); 9806 } 9807 return contains( context, elem ); 9808}; 9809 9810Sizzle.attr = function( elem, name ) { 9811 9812 // Set document vars if needed 9813 // Support: IE 11+, Edge 17 - 18+ 9814 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 9815 // two documents; shallow comparisons work. 9816 // eslint-disable-next-line eqeqeq 9817 if ( ( elem.ownerDocument || elem ) != document ) { 9818 setDocument( elem ); 9819 } 9820 9821 var fn = Expr.attrHandle[ name.toLowerCase() ], 9822 9823 // Don't get fooled by Object.prototype properties (jQuery #13807) 9824 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 9825 fn( elem, name, !documentIsHTML ) : 9826 undefined; 9827 9828 return val !== undefined ? 9829 val : 9830 support.attributes || !documentIsHTML ? 9831 elem.getAttribute( name ) : 9832 ( val = elem.getAttributeNode( name ) ) && val.specified ? 9833 val.value : 9834 null; 9835}; 9836 9837Sizzle.escape = function( sel ) { 9838 return ( sel + "" ).replace( rcssescape, fcssescape ); 9839}; 9840 9841Sizzle.error = function( msg ) { 9842 throw new Error( "Syntax error, unrecognized expression: " + msg ); 9843}; 9844 9845/** 9846 * Document sorting and removing duplicates 9847 * @param {ArrayLike} results 9848 */ 9849Sizzle.uniqueSort = function( results ) { 9850 var elem, 9851 duplicates = [], 9852 j = 0, 9853 i = 0; 9854 9855 // Unless we *know* we can detect duplicates, assume their presence 9856 hasDuplicate = !support.detectDuplicates; 9857 sortInput = !support.sortStable && results.slice( 0 ); 9858 results.sort( sortOrder ); 9859 9860 if ( hasDuplicate ) { 9861 while ( ( elem = results[ i++ ] ) ) { 9862 if ( elem === results[ i ] ) { 9863 j = duplicates.push( i ); 9864 } 9865 } 9866 while ( j-- ) { 9867 results.splice( duplicates[ j ], 1 ); 9868 } 9869 } 9870 9871 // Clear input after sorting to release objects 9872 // See https://github.com/jquery/sizzle/pull/225 9873 sortInput = null; 9874 9875 return results; 9876}; 9877 9878/** 9879 * Utility function for retrieving the text value of an array of DOM nodes 9880 * @param {Array|Element} elem 9881 */ 9882getText = Sizzle.getText = function( elem ) { 9883 var node, 9884 ret = "", 9885 i = 0, 9886 nodeType = elem.nodeType; 9887 9888 if ( !nodeType ) { 9889 9890 // If no nodeType, this is expected to be an array 9891 while ( ( node = elem[ i++ ] ) ) { 9892 9893 // Do not traverse comment nodes 9894 ret += getText( node ); 9895 } 9896 } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { 9897 9898 // Use textContent for elements 9899 // innerText usage removed for consistency of new lines (jQuery #11153) 9900 if ( typeof elem.textContent === "string" ) { 9901 return elem.textContent; 9902 } else { 9903 9904 // Traverse its children 9905 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 9906 ret += getText( elem ); 9907 } 9908 } 9909 } else if ( nodeType === 3 || nodeType === 4 ) { 9910 return elem.nodeValue; 9911 } 9912 9913 // Do not include comment or processing instruction nodes 9914 9915 return ret; 9916}; 9917 9918Expr = Sizzle.selectors = { 9919 9920 // Can be adjusted by the user 9921 cacheLength: 50, 9922 9923 createPseudo: markFunction, 9924 9925 match: matchExpr, 9926 9927 attrHandle: {}, 9928 9929 find: {}, 9930 9931 relative: { 9932 ">": { dir: "parentNode", first: true }, 9933 " ": { dir: "parentNode" }, 9934 "+": { dir: "previousSibling", first: true }, 9935 "~": { dir: "previousSibling" } 9936 }, 9937 9938 preFilter: { 9939 "ATTR": function( match ) { 9940 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 9941 9942 // Move the given value to match[3] whether quoted or unquoted 9943 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || 9944 match[ 5 ] || "" ).replace( runescape, funescape ); 9945 9946 if ( match[ 2 ] === "~=" ) { 9947 match[ 3 ] = " " + match[ 3 ] + " "; 9948 } 9949 9950 return match.slice( 0, 4 ); 9951 }, 9952 9953 "CHILD": function( match ) { 9954 9955 /* matches from matchExpr["CHILD"] 9956 1 type (only|nth|...) 9957 2 what (child|of-type) 9958 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 9959 4 xn-component of xn+y argument ([+-]?\d*n|) 9960 5 sign of xn-component 9961 6 x of xn-component 9962 7 sign of y-component 9963 8 y of y-component 9964 */ 9965 match[ 1 ] = match[ 1 ].toLowerCase(); 9966 9967 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 9968 9969 // nth-* requires argument 9970 if ( !match[ 3 ] ) { 9971 Sizzle.error( match[ 0 ] ); 9972 } 9973 9974 // numeric x and y parameters for Expr.filter.CHILD 9975 // remember that false/true cast respectively to 0/1 9976 match[ 4 ] = +( match[ 4 ] ? 9977 match[ 5 ] + ( match[ 6 ] || 1 ) : 9978 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); 9979 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 9980 9981 // other types prohibit arguments 9982 } else if ( match[ 3 ] ) { 9983 Sizzle.error( match[ 0 ] ); 9984 } 9985 9986 return match; 9987 }, 9988 9989 "PSEUDO": function( match ) { 9990 var excess, 9991 unquoted = !match[ 6 ] && match[ 2 ]; 9992 9993 if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { 9994 return null; 9995 } 9996 9997 // Accept quoted arguments as-is 9998 if ( match[ 3 ] ) { 9999 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 10000 10001 // Strip excess characters from unquoted arguments 10002 } else if ( unquoted && rpseudo.test( unquoted ) && 10003 10004 // Get excess from tokenize (recursively) 10005 ( excess = tokenize( unquoted, true ) ) && 10006 10007 // advance to the next closing parenthesis 10008 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 10009 10010 // excess is a negative index 10011 match[ 0 ] = match[ 0 ].slice( 0, excess ); 10012 match[ 2 ] = unquoted.slice( 0, excess ); 10013 } 10014 10015 // Return only captures needed by the pseudo filter method (type and argument) 10016 return match.slice( 0, 3 ); 10017 } 10018 }, 10019 10020 filter: { 10021 10022 "TAG": function( nodeNameSelector ) { 10023 var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 10024 return nodeNameSelector === "*" ? 10025 function() { 10026 return true; 10027 } : 10028 function( elem ) { 10029 return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; 10030 }; 10031 }, 10032 10033 "CLASS": function( className ) { 10034 var pattern = classCache[ className + " " ]; 10035 10036 return pattern || 10037 ( pattern = new RegExp( "(^|" + whitespace + 10038 ")" + className + "(" + whitespace + "|$)" ) ) && classCache( 10039 className, function( elem ) { 10040 return pattern.test( 10041 typeof elem.className === "string" && elem.className || 10042 typeof elem.getAttribute !== "undefined" && 10043 elem.getAttribute( "class" ) || 10044 "" 10045 ); 10046 } ); 10047 }, 10048 10049 "ATTR": function( name, operator, check ) { 10050 return function( elem ) { 10051 var result = Sizzle.attr( elem, name ); 10052 10053 if ( result == null ) { 10054 return operator === "!="; 10055 } 10056 if ( !operator ) { 10057 return true; 10058 } 10059 10060 result += ""; 10061 10062 /* eslint-disable max-len */ 10063 10064 return operator === "=" ? result === check : 10065 operator === "!=" ? result !== check : 10066 operator === "^=" ? check && result.indexOf( check ) === 0 : 10067 operator === "*=" ? check && result.indexOf( check ) > -1 : 10068 operator === "$=" ? check && result.slice( -check.length ) === check : 10069 operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : 10070 operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : 10071 false; 10072 /* eslint-enable max-len */ 10073 10074 }; 10075 }, 10076 10077 "CHILD": function( type, what, _argument, first, last ) { 10078 var simple = type.slice( 0, 3 ) !== "nth", 10079 forward = type.slice( -4 ) !== "last", 10080 ofType = what === "of-type"; 10081 10082 return first === 1 && last === 0 ? 10083 10084 // Shortcut for :nth-*(n) 10085 function( elem ) { 10086 return !!elem.parentNode; 10087 } : 10088 10089 function( elem, _context, xml ) { 10090 var cache, uniqueCache, outerCache, node, nodeIndex, start, 10091 dir = simple !== forward ? "nextSibling" : "previousSibling", 10092 parent = elem.parentNode, 10093 name = ofType && elem.nodeName.toLowerCase(), 10094 useCache = !xml && !ofType, 10095 diff = false; 10096 10097 if ( parent ) { 10098 10099 // :(first|last|only)-(child|of-type) 10100 if ( simple ) { 10101 while ( dir ) { 10102 node = elem; 10103 while ( ( node = node[ dir ] ) ) { 10104 if ( ofType ? 10105 node.nodeName.toLowerCase() === name : 10106 node.nodeType === 1 ) { 10107 10108 return false; 10109 } 10110 } 10111 10112 // Reverse direction for :only-* (if we haven't yet done so) 10113 start = dir = type === "only" && !start && "nextSibling"; 10114 } 10115 return true; 10116 } 10117 10118 start = [ forward ? parent.firstChild : parent.lastChild ]; 10119 10120 // non-xml :nth-child(...) stores cache data on `parent` 10121 if ( forward && useCache ) { 10122 10123 // Seek `elem` from a previously-cached index 10124 10125 // ...in a gzip-friendly way 10126 node = parent; 10127 outerCache = node[ expando ] || ( node[ expando ] = {} ); 10128 10129 // Support: IE <9 only 10130 // Defend against cloned attroperties (jQuery gh-1709) 10131 uniqueCache = outerCache[ node.uniqueID ] || 10132 ( outerCache[ node.uniqueID ] = {} ); 10133 10134 cache = uniqueCache[ type ] || []; 10135 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 10136 diff = nodeIndex && cache[ 2 ]; 10137 node = nodeIndex && parent.childNodes[ nodeIndex ]; 10138 10139 while ( ( node = ++nodeIndex && node && node[ dir ] || 10140 10141 // Fallback to seeking `elem` from the start 10142 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 10143 10144 // When found, cache indexes on `parent` and break 10145 if ( node.nodeType === 1 && ++diff && node === elem ) { 10146 uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; 10147 break; 10148 } 10149 } 10150 10151 } else { 10152 10153 // Use previously-cached element index if available 10154 if ( useCache ) { 10155 10156 // ...in a gzip-friendly way 10157 node = elem; 10158 outerCache = node[ expando ] || ( node[ expando ] = {} ); 10159 10160 // Support: IE <9 only 10161 // Defend against cloned attroperties (jQuery gh-1709) 10162 uniqueCache = outerCache[ node.uniqueID ] || 10163 ( outerCache[ node.uniqueID ] = {} ); 10164 10165 cache = uniqueCache[ type ] || []; 10166 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 10167 diff = nodeIndex; 10168 } 10169 10170 // xml :nth-child(...) 10171 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 10172 if ( diff === false ) { 10173 10174 // Use the same loop as above to seek `elem` from the start 10175 while ( ( node = ++nodeIndex && node && node[ dir ] || 10176 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 10177 10178 if ( ( ofType ? 10179 node.nodeName.toLowerCase() === name : 10180 node.nodeType === 1 ) && 10181 ++diff ) { 10182 10183 // Cache the index of each encountered element 10184 if ( useCache ) { 10185 outerCache = node[ expando ] || 10186 ( node[ expando ] = {} ); 10187 10188 // Support: IE <9 only 10189 // Defend against cloned attroperties (jQuery gh-1709) 10190 uniqueCache = outerCache[ node.uniqueID ] || 10191 ( outerCache[ node.uniqueID ] = {} ); 10192 10193 uniqueCache[ type ] = [ dirruns, diff ]; 10194 } 10195 10196 if ( node === elem ) { 10197 break; 10198 } 10199 } 10200 } 10201 } 10202 } 10203 10204 // Incorporate the offset, then check against cycle size 10205 diff -= last; 10206 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 10207 } 10208 }; 10209 }, 10210 10211 "PSEUDO": function( pseudo, argument ) { 10212 10213 // pseudo-class names are case-insensitive 10214 // http://www.w3.org/TR/selectors/#pseudo-classes 10215 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 10216 // Remember that setFilters inherits from pseudos 10217 var args, 10218 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 10219 Sizzle.error( "unsupported pseudo: " + pseudo ); 10220 10221 // The user may use createPseudo to indicate that 10222 // arguments are needed to create the filter function 10223 // just as Sizzle does 10224 if ( fn[ expando ] ) { 10225 return fn( argument ); 10226 } 10227 10228 // But maintain support for old signatures 10229 if ( fn.length > 1 ) { 10230 args = [ pseudo, pseudo, "", argument ]; 10231 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 10232 markFunction( function( seed, matches ) { 10233 var idx, 10234 matched = fn( seed, argument ), 10235 i = matched.length; 10236 while ( i-- ) { 10237 idx = indexOf( seed, matched[ i ] ); 10238 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 10239 } 10240 } ) : 10241 function( elem ) { 10242 return fn( elem, 0, args ); 10243 }; 10244 } 10245 10246 return fn; 10247 } 10248 }, 10249 10250 pseudos: { 10251 10252 // Potentially complex pseudos 10253 "not": markFunction( function( selector ) { 10254 10255 // Trim the selector passed to compile 10256 // to avoid treating leading and trailing 10257 // spaces as combinators 10258 var input = [], 10259 results = [], 10260 matcher = compile( selector.replace( rtrim, "$1" ) ); 10261 10262 return matcher[ expando ] ? 10263 markFunction( function( seed, matches, _context, xml ) { 10264 var elem, 10265 unmatched = matcher( seed, null, xml, [] ), 10266 i = seed.length; 10267 10268 // Match elements unmatched by `matcher` 10269 while ( i-- ) { 10270 if ( ( elem = unmatched[ i ] ) ) { 10271 seed[ i ] = !( matches[ i ] = elem ); 10272 } 10273 } 10274 } ) : 10275 function( elem, _context, xml ) { 10276 input[ 0 ] = elem; 10277 matcher( input, null, xml, results ); 10278 10279 // Don't keep the element (issue #299) 10280 input[ 0 ] = null; 10281 return !results.pop(); 10282 }; 10283 } ), 10284 10285 "has": markFunction( function( selector ) { 10286 return function( elem ) { 10287 return Sizzle( selector, elem ).length > 0; 10288 }; 10289 } ), 10290 10291 "contains": markFunction( function( text ) { 10292 text = text.replace( runescape, funescape ); 10293 return function( elem ) { 10294 return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; 10295 }; 10296 } ), 10297 10298 // "Whether an element is represented by a :lang() selector 10299 // is based solely on the element's language value 10300 // being equal to the identifier C, 10301 // or beginning with the identifier C immediately followed by "-". 10302 // The matching of C against the element's language value is performed case-insensitively. 10303 // The identifier C does not have to be a valid language name." 10304 // http://www.w3.org/TR/selectors/#lang-pseudo 10305 "lang": markFunction( function( lang ) { 10306 10307 // lang value must be a valid identifier 10308 if ( !ridentifier.test( lang || "" ) ) { 10309 Sizzle.error( "unsupported lang: " + lang ); 10310 } 10311 lang = lang.replace( runescape, funescape ).toLowerCase(); 10312 return function( elem ) { 10313 var elemLang; 10314 do { 10315 if ( ( elemLang = documentIsHTML ? 10316 elem.lang : 10317 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 10318 10319 elemLang = elemLang.toLowerCase(); 10320 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 10321 } 10322 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 10323 return false; 10324 }; 10325 } ), 10326 10327 // Miscellaneous 10328 "target": function( elem ) { 10329 var hash = window.location && window.location.hash; 10330 return hash && hash.slice( 1 ) === elem.id; 10331 }, 10332 10333 "root": function( elem ) { 10334 return elem === docElem; 10335 }, 10336 10337 "focus": function( elem ) { 10338 return elem === document.activeElement && 10339 ( !document.hasFocus || document.hasFocus() ) && 10340 !!( elem.type || elem.href || ~elem.tabIndex ); 10341 }, 10342 10343 // Boolean properties 10344 "enabled": createDisabledPseudo( false ), 10345 "disabled": createDisabledPseudo( true ), 10346 10347 "checked": function( elem ) { 10348 10349 // In CSS3, :checked should return both checked and selected elements 10350 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 10351 var nodeName = elem.nodeName.toLowerCase(); 10352 return ( nodeName === "input" && !!elem.checked ) || 10353 ( nodeName === "option" && !!elem.selected ); 10354 }, 10355 10356 "selected": function( elem ) { 10357 10358 // Accessing this property makes selected-by-default 10359 // options in Safari work properly 10360 if ( elem.parentNode ) { 10361 // eslint-disable-next-line no-unused-expressions 10362 elem.parentNode.selectedIndex; 10363 } 10364 10365 return elem.selected === true; 10366 }, 10367 10368 // Contents 10369 "empty": function( elem ) { 10370 10371 // http://www.w3.org/TR/selectors/#empty-pseudo 10372 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 10373 // but not by others (comment: 8; processing instruction: 7; etc.) 10374 // nodeType < 6 works because attributes (2) do not appear as children 10375 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 10376 if ( elem.nodeType < 6 ) { 10377 return false; 10378 } 10379 } 10380 return true; 10381 }, 10382 10383 "parent": function( elem ) { 10384 return !Expr.pseudos[ "empty" ]( elem ); 10385 }, 10386 10387 // Element/input types 10388 "header": function( elem ) { 10389 return rheader.test( elem.nodeName ); 10390 }, 10391 10392 "input": function( elem ) { 10393 return rinputs.test( elem.nodeName ); 10394 }, 10395 10396 "button": function( elem ) { 10397 var name = elem.nodeName.toLowerCase(); 10398 return name === "input" && elem.type === "button" || name === "button"; 10399 }, 10400 10401 "text": function( elem ) { 10402 var attr; 10403 return elem.nodeName.toLowerCase() === "input" && 10404 elem.type === "text" && 10405 10406 // Support: IE<8 10407 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" 10408 ( ( attr = elem.getAttribute( "type" ) ) == null || 10409 attr.toLowerCase() === "text" ); 10410 }, 10411 10412 // Position-in-collection 10413 "first": createPositionalPseudo( function() { 10414 return [ 0 ]; 10415 } ), 10416 10417 "last": createPositionalPseudo( function( _matchIndexes, length ) { 10418 return [ length - 1 ]; 10419 } ), 10420 10421 "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { 10422 return [ argument < 0 ? argument + length : argument ]; 10423 } ), 10424 10425 "even": createPositionalPseudo( function( matchIndexes, length ) { 10426 var i = 0; 10427 for ( ; i < length; i += 2 ) { 10428 matchIndexes.push( i ); 10429 } 10430 return matchIndexes; 10431 } ), 10432 10433 "odd": createPositionalPseudo( function( matchIndexes, length ) { 10434 var i = 1; 10435 for ( ; i < length; i += 2 ) { 10436 matchIndexes.push( i ); 10437 } 10438 return matchIndexes; 10439 } ), 10440 10441 "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { 10442 var i = argument < 0 ? 10443 argument + length : 10444 argument > length ? 10445 length : 10446 argument; 10447 for ( ; --i >= 0; ) { 10448 matchIndexes.push( i ); 10449 } 10450 return matchIndexes; 10451 } ), 10452 10453 "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { 10454 var i = argument < 0 ? argument + length : argument; 10455 for ( ; ++i < length; ) { 10456 matchIndexes.push( i ); 10457 } 10458 return matchIndexes; 10459 } ) 10460 } 10461}; 10462 10463Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; 10464 10465// Add button/input type pseudos 10466for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 10467 Expr.pseudos[ i ] = createInputPseudo( i ); 10468} 10469for ( i in { submit: true, reset: true } ) { 10470 Expr.pseudos[ i ] = createButtonPseudo( i ); 10471} 10472 10473// Easy API for creating new setFilters 10474function setFilters() {} 10475setFilters.prototype = Expr.filters = Expr.pseudos; 10476Expr.setFilters = new setFilters(); 10477 10478tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 10479 var matched, match, tokens, type, 10480 soFar, groups, preFilters, 10481 cached = tokenCache[ selector + " " ]; 10482 10483 if ( cached ) { 10484 return parseOnly ? 0 : cached.slice( 0 ); 10485 } 10486 10487 soFar = selector; 10488 groups = []; 10489 preFilters = Expr.preFilter; 10490 10491 while ( soFar ) { 10492 10493 // Comma and first run 10494 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 10495 if ( match ) { 10496 10497 // Don't consume trailing commas as valid 10498 soFar = soFar.slice( match[ 0 ].length ) || soFar; 10499 } 10500 groups.push( ( tokens = [] ) ); 10501 } 10502 10503 matched = false; 10504 10505 // Combinators 10506 if ( ( match = rcombinators.exec( soFar ) ) ) { 10507 matched = match.shift(); 10508 tokens.push( { 10509 value: matched, 10510 10511 // Cast descendant combinators to space 10512 type: match[ 0 ].replace( rtrim, " " ) 10513 } ); 10514 soFar = soFar.slice( matched.length ); 10515 } 10516 10517 // Filters 10518 for ( type in Expr.filter ) { 10519 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 10520 ( match = preFilters[ type ]( match ) ) ) ) { 10521 matched = match.shift(); 10522 tokens.push( { 10523 value: matched, 10524 type: type, 10525 matches: match 10526 } ); 10527 soFar = soFar.slice( matched.length ); 10528 } 10529 } 10530 10531 if ( !matched ) { 10532 break; 10533 } 10534 } 10535 10536 // Return the length of the invalid excess 10537 // if we're just parsing 10538 // Otherwise, throw an error or return tokens 10539 return parseOnly ? 10540 soFar.length : 10541 soFar ? 10542 Sizzle.error( selector ) : 10543 10544 // Cache the tokens 10545 tokenCache( selector, groups ).slice( 0 ); 10546}; 10547 10548function toSelector( tokens ) { 10549 var i = 0, 10550 len = tokens.length, 10551 selector = ""; 10552 for ( ; i < len; i++ ) { 10553 selector += tokens[ i ].value; 10554 } 10555 return selector; 10556} 10557 10558function addCombinator( matcher, combinator, base ) { 10559 var dir = combinator.dir, 10560 skip = combinator.next, 10561 key = skip || dir, 10562 checkNonElements = base && key === "parentNode", 10563 doneName = done++; 10564 10565 return combinator.first ? 10566 10567 // Check against closest ancestor/preceding element 10568 function( elem, context, xml ) { 10569 while ( ( elem = elem[ dir ] ) ) { 10570 if ( elem.nodeType === 1 || checkNonElements ) { 10571 return matcher( elem, context, xml ); 10572 } 10573 } 10574 return false; 10575 } : 10576 10577 // Check against all ancestor/preceding elements 10578 function( elem, context, xml ) { 10579 var oldCache, uniqueCache, outerCache, 10580 newCache = [ dirruns, doneName ]; 10581 10582 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 10583 if ( xml ) { 10584 while ( ( elem = elem[ dir ] ) ) { 10585 if ( elem.nodeType === 1 || checkNonElements ) { 10586 if ( matcher( elem, context, xml ) ) { 10587 return true; 10588 } 10589 } 10590 } 10591 } else { 10592 while ( ( elem = elem[ dir ] ) ) { 10593 if ( elem.nodeType === 1 || checkNonElements ) { 10594 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 10595 10596 // Support: IE <9 only 10597 // Defend against cloned attroperties (jQuery gh-1709) 10598 uniqueCache = outerCache[ elem.uniqueID ] || 10599 ( outerCache[ elem.uniqueID ] = {} ); 10600 10601 if ( skip && skip === elem.nodeName.toLowerCase() ) { 10602 elem = elem[ dir ] || elem; 10603 } else if ( ( oldCache = uniqueCache[ key ] ) && 10604 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 10605 10606 // Assign to newCache so results back-propagate to previous elements 10607 return ( newCache[ 2 ] = oldCache[ 2 ] ); 10608 } else { 10609 10610 // Reuse newcache so results back-propagate to previous elements 10611 uniqueCache[ key ] = newCache; 10612 10613 // A match means we're done; a fail means we have to keep checking 10614 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 10615 return true; 10616 } 10617 } 10618 } 10619 } 10620 } 10621 return false; 10622 }; 10623} 10624 10625function elementMatcher( matchers ) { 10626 return matchers.length > 1 ? 10627 function( elem, context, xml ) { 10628 var i = matchers.length; 10629 while ( i-- ) { 10630 if ( !matchers[ i ]( elem, context, xml ) ) { 10631 return false; 10632 } 10633 } 10634 return true; 10635 } : 10636 matchers[ 0 ]; 10637} 10638 10639function multipleContexts( selector, contexts, results ) { 10640 var i = 0, 10641 len = contexts.length; 10642 for ( ; i < len; i++ ) { 10643 Sizzle( selector, contexts[ i ], results ); 10644 } 10645 return results; 10646} 10647 10648function condense( unmatched, map, filter, context, xml ) { 10649 var elem, 10650 newUnmatched = [], 10651 i = 0, 10652 len = unmatched.length, 10653 mapped = map != null; 10654 10655 for ( ; i < len; i++ ) { 10656 if ( ( elem = unmatched[ i ] ) ) { 10657 if ( !filter || filter( elem, context, xml ) ) { 10658 newUnmatched.push( elem ); 10659 if ( mapped ) { 10660 map.push( i ); 10661 } 10662 } 10663 } 10664 } 10665 10666 return newUnmatched; 10667} 10668 10669function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 10670 if ( postFilter && !postFilter[ expando ] ) { 10671 postFilter = setMatcher( postFilter ); 10672 } 10673 if ( postFinder && !postFinder[ expando ] ) { 10674 postFinder = setMatcher( postFinder, postSelector ); 10675 } 10676 return markFunction( function( seed, results, context, xml ) { 10677 var temp, i, elem, 10678 preMap = [], 10679 postMap = [], 10680 preexisting = results.length, 10681 10682 // Get initial elements from seed or context 10683 elems = seed || multipleContexts( 10684 selector || "*", 10685 context.nodeType ? [ context ] : context, 10686 [] 10687 ), 10688 10689 // Prefilter to get matcher input, preserving a map for seed-results synchronization 10690 matcherIn = preFilter && ( seed || !selector ) ? 10691 condense( elems, preMap, preFilter, context, xml ) : 10692 elems, 10693 10694 matcherOut = matcher ? 10695 10696 // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, 10697 postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 10698 10699 // ...intermediate processing is necessary 10700 [] : 10701 10702 // ...otherwise use results directly 10703 results : 10704 matcherIn; 10705 10706 // Find primary matches 10707 if ( matcher ) { 10708 matcher( matcherIn, matcherOut, context, xml ); 10709 } 10710 10711 // Apply postFilter 10712 if ( postFilter ) { 10713 temp = condense( matcherOut, postMap ); 10714 postFilter( temp, [], context, xml ); 10715 10716 // Un-match failing elements by moving them back to matcherIn 10717 i = temp.length; 10718 while ( i-- ) { 10719 if ( ( elem = temp[ i ] ) ) { 10720 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 10721 } 10722 } 10723 } 10724 10725 if ( seed ) { 10726 if ( postFinder || preFilter ) { 10727 if ( postFinder ) { 10728 10729 // Get the final matcherOut by condensing this intermediate into postFinder contexts 10730 temp = []; 10731 i = matcherOut.length; 10732 while ( i-- ) { 10733 if ( ( elem = matcherOut[ i ] ) ) { 10734 10735 // Restore matcherIn since elem is not yet a final match 10736 temp.push( ( matcherIn[ i ] = elem ) ); 10737 } 10738 } 10739 postFinder( null, ( matcherOut = [] ), temp, xml ); 10740 } 10741 10742 // Move matched elements from seed to results to keep them synchronized 10743 i = matcherOut.length; 10744 while ( i-- ) { 10745 if ( ( elem = matcherOut[ i ] ) && 10746 ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { 10747 10748 seed[ temp ] = !( results[ temp ] = elem ); 10749 } 10750 } 10751 } 10752 10753 // Add elements to results, through postFinder if defined 10754 } else { 10755 matcherOut = condense( 10756 matcherOut === results ? 10757 matcherOut.splice( preexisting, matcherOut.length ) : 10758 matcherOut 10759 ); 10760 if ( postFinder ) { 10761 postFinder( null, results, matcherOut, xml ); 10762 } else { 10763 push.apply( results, matcherOut ); 10764 } 10765 } 10766 } ); 10767} 10768 10769function matcherFromTokens( tokens ) { 10770 var checkContext, matcher, j, 10771 len = tokens.length, 10772 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 10773 implicitRelative = leadingRelative || Expr.relative[ " " ], 10774 i = leadingRelative ? 1 : 0, 10775 10776 // The foundational matcher ensures that elements are reachable from top-level context(s) 10777 matchContext = addCombinator( function( elem ) { 10778 return elem === checkContext; 10779 }, implicitRelative, true ), 10780 matchAnyContext = addCombinator( function( elem ) { 10781 return indexOf( checkContext, elem ) > -1; 10782 }, implicitRelative, true ), 10783 matchers = [ function( elem, context, xml ) { 10784 var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 10785 ( checkContext = context ).nodeType ? 10786 matchContext( elem, context, xml ) : 10787 matchAnyContext( elem, context, xml ) ); 10788 10789 // Avoid hanging onto element (issue #299) 10790 checkContext = null; 10791 return ret; 10792 } ]; 10793 10794 for ( ; i < len; i++ ) { 10795 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 10796 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 10797 } else { 10798 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 10799 10800 // Return special upon seeing a positional matcher 10801 if ( matcher[ expando ] ) { 10802 10803 // Find the next relative operator (if any) for proper handling 10804 j = ++i; 10805 for ( ; j < len; j++ ) { 10806 if ( Expr.relative[ tokens[ j ].type ] ) { 10807 break; 10808 } 10809 } 10810 return setMatcher( 10811 i > 1 && elementMatcher( matchers ), 10812 i > 1 && toSelector( 10813 10814 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 10815 tokens 10816 .slice( 0, i - 1 ) 10817 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 10818 ).replace( rtrim, "$1" ), 10819 matcher, 10820 i < j && matcherFromTokens( tokens.slice( i, j ) ), 10821 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 10822 j < len && toSelector( tokens ) 10823 ); 10824 } 10825 matchers.push( matcher ); 10826 } 10827 } 10828 10829 return elementMatcher( matchers ); 10830} 10831 10832function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 10833 var bySet = setMatchers.length > 0, 10834 byElement = elementMatchers.length > 0, 10835 superMatcher = function( seed, context, xml, results, outermost ) { 10836 var elem, j, matcher, 10837 matchedCount = 0, 10838 i = "0", 10839 unmatched = seed && [], 10840 setMatched = [], 10841 contextBackup = outermostContext, 10842 10843 // We must always have either seed elements or outermost context 10844 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), 10845 10846 // Use integer dirruns iff this is the outermost matcher 10847 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 10848 len = elems.length; 10849 10850 if ( outermost ) { 10851 10852 // Support: IE 11+, Edge 17 - 18+ 10853 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 10854 // two documents; shallow comparisons work. 10855 // eslint-disable-next-line eqeqeq 10856 outermostContext = context == document || context || outermost; 10857 } 10858 10859 // Add elements passing elementMatchers directly to results 10860 // Support: IE<9, Safari 10861 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id 10862 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 10863 if ( byElement && elem ) { 10864 j = 0; 10865 10866 // Support: IE 11+, Edge 17 - 18+ 10867 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 10868 // two documents; shallow comparisons work. 10869 // eslint-disable-next-line eqeqeq 10870 if ( !context && elem.ownerDocument != document ) { 10871 setDocument( elem ); 10872 xml = !documentIsHTML; 10873 } 10874 while ( ( matcher = elementMatchers[ j++ ] ) ) { 10875 if ( matcher( elem, context || document, xml ) ) { 10876 results.push( elem ); 10877 break; 10878 } 10879 } 10880 if ( outermost ) { 10881 dirruns = dirrunsUnique; 10882 } 10883 } 10884 10885 // Track unmatched elements for set filters 10886 if ( bySet ) { 10887 10888 // They will have gone through all possible matchers 10889 if ( ( elem = !matcher && elem ) ) { 10890 matchedCount--; 10891 } 10892 10893 // Lengthen the array for every element, matched or not 10894 if ( seed ) { 10895 unmatched.push( elem ); 10896 } 10897 } 10898 } 10899 10900 // `i` is now the count of elements visited above, and adding it to `matchedCount` 10901 // makes the latter nonnegative. 10902 matchedCount += i; 10903 10904 // Apply set filters to unmatched elements 10905 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 10906 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 10907 // no element matchers and no seed. 10908 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 10909 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 10910 // numerically zero. 10911 if ( bySet && i !== matchedCount ) { 10912 j = 0; 10913 while ( ( matcher = setMatchers[ j++ ] ) ) { 10914 matcher( unmatched, setMatched, context, xml ); 10915 } 10916 10917 if ( seed ) { 10918 10919 // Reintegrate element matches to eliminate the need for sorting 10920 if ( matchedCount > 0 ) { 10921 while ( i-- ) { 10922 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 10923 setMatched[ i ] = pop.call( results ); 10924 } 10925 } 10926 } 10927 10928 // Discard index placeholder values to get only actual matches 10929 setMatched = condense( setMatched ); 10930 } 10931 10932 // Add matches to results 10933 push.apply( results, setMatched ); 10934 10935 // Seedless set matches succeeding multiple successful matchers stipulate sorting 10936 if ( outermost && !seed && setMatched.length > 0 && 10937 ( matchedCount + setMatchers.length ) > 1 ) { 10938 10939 Sizzle.uniqueSort( results ); 10940 } 10941 } 10942 10943 // Override manipulation of globals by nested matchers 10944 if ( outermost ) { 10945 dirruns = dirrunsUnique; 10946 outermostContext = contextBackup; 10947 } 10948 10949 return unmatched; 10950 }; 10951 10952 return bySet ? 10953 markFunction( superMatcher ) : 10954 superMatcher; 10955} 10956 10957compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 10958 var i, 10959 setMatchers = [], 10960 elementMatchers = [], 10961 cached = compilerCache[ selector + " " ]; 10962 10963 if ( !cached ) { 10964 10965 // Generate a function of recursive functions that can be used to check each element 10966 if ( !match ) { 10967 match = tokenize( selector ); 10968 } 10969 i = match.length; 10970 while ( i-- ) { 10971 cached = matcherFromTokens( match[ i ] ); 10972 if ( cached[ expando ] ) { 10973 setMatchers.push( cached ); 10974 } else { 10975 elementMatchers.push( cached ); 10976 } 10977 } 10978 10979 // Cache the compiled function 10980 cached = compilerCache( 10981 selector, 10982 matcherFromGroupMatchers( elementMatchers, setMatchers ) 10983 ); 10984 10985 // Save selector and tokenization 10986 cached.selector = selector; 10987 } 10988 return cached; 10989}; 10990 10991/** 10992 * A low-level selection function that works with Sizzle's compiled 10993 * selector functions 10994 * @param {String|Function} selector A selector or a pre-compiled 10995 * selector function built with Sizzle.compile 10996 * @param {Element} context 10997 * @param {Array} [results] 10998 * @param {Array} [seed] A set of elements to match against 10999 */ 11000select = Sizzle.select = function( selector, context, results, seed ) { 11001 var i, tokens, token, type, find, 11002 compiled = typeof selector === "function" && selector, 11003 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 11004 11005 results = results || []; 11006 11007 // Try to minimize operations if there is only one selector in the list and no seed 11008 // (the latter of which guarantees us context) 11009 if ( match.length === 1 ) { 11010 11011 // Reduce context if the leading compound selector is an ID 11012 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 11013 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 11014 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 11015 11016 context = ( Expr.find[ "ID" ]( token.matches[ 0 ] 11017 .replace( runescape, funescape ), context ) || [] )[ 0 ]; 11018 if ( !context ) { 11019 return results; 11020 11021 // Precompiled matchers will still verify ancestry, so step up a level 11022 } else if ( compiled ) { 11023 context = context.parentNode; 11024 } 11025 11026 selector = selector.slice( tokens.shift().value.length ); 11027 } 11028 11029 // Fetch a seed set for right-to-left matching 11030 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; 11031 while ( i-- ) { 11032 token = tokens[ i ]; 11033 11034 // Abort if we hit a combinator 11035 if ( Expr.relative[ ( type = token.type ) ] ) { 11036 break; 11037 } 11038 if ( ( find = Expr.find[ type ] ) ) { 11039 11040 // Search, expanding context for leading sibling combinators 11041 if ( ( seed = find( 11042 token.matches[ 0 ].replace( runescape, funescape ), 11043 rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || 11044 context 11045 ) ) ) { 11046 11047 // If seed is empty or no tokens remain, we can return early 11048 tokens.splice( i, 1 ); 11049 selector = seed.length && toSelector( tokens ); 11050 if ( !selector ) { 11051 push.apply( results, seed ); 11052 return results; 11053 } 11054 11055 break; 11056 } 11057 } 11058 } 11059 } 11060 11061 // Compile and execute a filtering function if one is not provided 11062 // Provide `match` to avoid retokenization if we modified the selector above 11063 ( compiled || compile( selector, match ) )( 11064 seed, 11065 context, 11066 !documentIsHTML, 11067 results, 11068 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 11069 ); 11070 return results; 11071}; 11072 11073// One-time assignments 11074 11075// Sort stability 11076support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 11077 11078// Support: Chrome 14-35+ 11079// Always assume duplicates if they aren't passed to the comparison function 11080support.detectDuplicates = !!hasDuplicate; 11081 11082// Initialize against the default document 11083setDocument(); 11084 11085// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) 11086// Detached nodes confoundingly follow *each other* 11087support.sortDetached = assert( function( el ) { 11088 11089 // Should return 1, but returns 4 (following) 11090 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 11091} ); 11092 11093// Support: IE<8 11094// Prevent attribute/property "interpolation" 11095// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 11096if ( !assert( function( el ) { 11097 el.innerHTML = "<a href='#'></a>"; 11098 return el.firstChild.getAttribute( "href" ) === "#"; 11099} ) ) { 11100 addHandle( "type|href|height|width", function( elem, name, isXML ) { 11101 if ( !isXML ) { 11102 return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); 11103 } 11104 } ); 11105} 11106 11107// Support: IE<9 11108// Use defaultValue in place of getAttribute("value") 11109if ( !support.attributes || !assert( function( el ) { 11110 el.innerHTML = "<input/>"; 11111 el.firstChild.setAttribute( "value", "" ); 11112 return el.firstChild.getAttribute( "value" ) === ""; 11113} ) ) { 11114 addHandle( "value", function( elem, _name, isXML ) { 11115 if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { 11116 return elem.defaultValue; 11117 } 11118 } ); 11119} 11120 11121// Support: IE<9 11122// Use getAttributeNode to fetch booleans when getAttribute lies 11123if ( !assert( function( el ) { 11124 return el.getAttribute( "disabled" ) == null; 11125} ) ) { 11126 addHandle( booleans, function( elem, name, isXML ) { 11127 var val; 11128 if ( !isXML ) { 11129 return elem[ name ] === true ? name.toLowerCase() : 11130 ( val = elem.getAttributeNode( name ) ) && val.specified ? 11131 val.value : 11132 null; 11133 } 11134 } ); 11135} 11136 11137return Sizzle; 11138 11139} )( window ); 11140 11141 11142 11143jQuery.find = Sizzle; 11144jQuery.expr = Sizzle.selectors; 11145 11146// Deprecated 11147jQuery.expr[ ":" ] = jQuery.expr.pseudos; 11148jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 11149jQuery.text = Sizzle.getText; 11150jQuery.isXMLDoc = Sizzle.isXML; 11151jQuery.contains = Sizzle.contains; 11152jQuery.escapeSelector = Sizzle.escape; 11153 11154 11155 11156 11157var dir = function( elem, dir, until ) { 11158 var matched = [], 11159 truncate = until !== undefined; 11160 11161 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 11162 if ( elem.nodeType === 1 ) { 11163 if ( truncate && jQuery( elem ).is( until ) ) { 11164 break; 11165 } 11166 matched.push( elem ); 11167 } 11168 } 11169 return matched; 11170}; 11171 11172 11173var siblings = function( n, elem ) { 11174 var matched = []; 11175 11176 for ( ; n; n = n.nextSibling ) { 11177 if ( n.nodeType === 1 && n !== elem ) { 11178 matched.push( n ); 11179 } 11180 } 11181 11182 return matched; 11183}; 11184 11185 11186var rneedsContext = jQuery.expr.match.needsContext; 11187 11188 11189 11190function nodeName( elem, name ) { 11191 11192 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 11193 11194} 11195var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 11196 11197 11198 11199// Implement the identical functionality for filter and not 11200function winnow( elements, qualifier, not ) { 11201 if ( isFunction( qualifier ) ) { 11202 return jQuery.grep( elements, function( elem, i ) { 11203 return !!qualifier.call( elem, i, elem ) !== not; 11204 } ); 11205 } 11206 11207 // Single element 11208 if ( qualifier.nodeType ) { 11209 return jQuery.grep( elements, function( elem ) { 11210 return ( elem === qualifier ) !== not; 11211 } ); 11212 } 11213 11214 // Arraylike of elements (jQuery, arguments, Array) 11215 if ( typeof qualifier !== "string" ) { 11216 return jQuery.grep( elements, function( elem ) { 11217 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 11218 } ); 11219 } 11220 11221 // Filtered directly for both simple and complex selectors 11222 return jQuery.filter( qualifier, elements, not ); 11223} 11224 11225jQuery.filter = function( expr, elems, not ) { 11226 var elem = elems[ 0 ]; 11227 11228 if ( not ) { 11229 expr = ":not(" + expr + ")"; 11230 } 11231 11232 if ( elems.length === 1 && elem.nodeType === 1 ) { 11233 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 11234 } 11235 11236 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 11237 return elem.nodeType === 1; 11238 } ) ); 11239}; 11240 11241jQuery.fn.extend( { 11242 find: function( selector ) { 11243 var i, ret, 11244 len = this.length, 11245 self = this; 11246 11247 if ( typeof selector !== "string" ) { 11248 return this.pushStack( jQuery( selector ).filter( function() { 11249 for ( i = 0; i < len; i++ ) { 11250 if ( jQuery.contains( self[ i ], this ) ) { 11251 return true; 11252 } 11253 } 11254 } ) ); 11255 } 11256 11257 ret = this.pushStack( [] ); 11258 11259 for ( i = 0; i < len; i++ ) { 11260 jQuery.find( selector, self[ i ], ret ); 11261 } 11262 11263 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 11264 }, 11265 filter: function( selector ) { 11266 return this.pushStack( winnow( this, selector || [], false ) ); 11267 }, 11268 not: function( selector ) { 11269 return this.pushStack( winnow( this, selector || [], true ) ); 11270 }, 11271 is: function( selector ) { 11272 return !!winnow( 11273 this, 11274 11275 // If this is a positional/relative selector, check membership in the returned set 11276 // so $("p:first").is("p:last") won't return true for a doc with two "p". 11277 typeof selector === "string" && rneedsContext.test( selector ) ? 11278 jQuery( selector ) : 11279 selector || [], 11280 false 11281 ).length; 11282 } 11283} ); 11284 11285 11286// Initialize a jQuery object 11287 11288 11289// A central reference to the root jQuery(document) 11290var rootjQuery, 11291 11292 // A simple way to check for HTML strings 11293 // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) 11294 // Strict HTML recognition (#11290: must start with <) 11295 // Shortcut simple #id case for speed 11296 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 11297 11298 init = jQuery.fn.init = function( selector, context, root ) { 11299 var match, elem; 11300 11301 // HANDLE: $(""), $(null), $(undefined), $(false) 11302 if ( !selector ) { 11303 return this; 11304 } 11305 11306 // Method init() accepts an alternate rootjQuery 11307 // so migrate can support jQuery.sub (gh-2101) 11308 root = root || rootjQuery; 11309 11310 // Handle HTML strings 11311 if ( typeof selector === "string" ) { 11312 if ( selector[ 0 ] === "<" && 11313 selector[ selector.length - 1 ] === ">" && 11314 selector.length >= 3 ) { 11315 11316 // Assume that strings that start and end with <> are HTML and skip the regex check 11317 match = [ null, selector, null ]; 11318 11319 } else { 11320 match = rquickExpr.exec( selector ); 11321 } 11322 11323 // Match html or make sure no context is specified for #id 11324 if ( match && ( match[ 1 ] || !context ) ) { 11325 11326 // HANDLE: $(html) -> $(array) 11327 if ( match[ 1 ] ) { 11328 context = context instanceof jQuery ? context[ 0 ] : context; 11329 11330 // Option to run scripts is true for back-compat 11331 // Intentionally let the error be thrown if parseHTML is not present 11332 jQuery.merge( this, jQuery.parseHTML( 11333 match[ 1 ], 11334 context && context.nodeType ? context.ownerDocument || context : document, 11335 true 11336 ) ); 11337 11338 // HANDLE: $(html, props) 11339 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 11340 for ( match in context ) { 11341 11342 // Properties of context are called as methods if possible 11343 if ( isFunction( this[ match ] ) ) { 11344 this[ match ]( context[ match ] ); 11345 11346 // ...and otherwise set as attributes 11347 } else { 11348 this.attr( match, context[ match ] ); 11349 } 11350 } 11351 } 11352 11353 return this; 11354 11355 // HANDLE: $(#id) 11356 } else { 11357 elem = document.getElementById( match[ 2 ] ); 11358 11359 if ( elem ) { 11360 11361 // Inject the element directly into the jQuery object 11362 this[ 0 ] = elem; 11363 this.length = 1; 11364 } 11365 return this; 11366 } 11367 11368 // HANDLE: $(expr, $(...)) 11369 } else if ( !context || context.jquery ) { 11370 return ( context || root ).find( selector ); 11371 11372 // HANDLE: $(expr, context) 11373 // (which is just equivalent to: $(context).find(expr) 11374 } else { 11375 return this.constructor( context ).find( selector ); 11376 } 11377 11378 // HANDLE: $(DOMElement) 11379 } else if ( selector.nodeType ) { 11380 this[ 0 ] = selector; 11381 this.length = 1; 11382 return this; 11383 11384 // HANDLE: $(function) 11385 // Shortcut for document ready 11386 } else if ( isFunction( selector ) ) { 11387 return root.ready !== undefined ? 11388 root.ready( selector ) : 11389 11390 // Execute immediately if ready is not present 11391 selector( jQuery ); 11392 } 11393 11394 return jQuery.makeArray( selector, this ); 11395 }; 11396 11397// Give the init function the jQuery prototype for later instantiation 11398init.prototype = jQuery.fn; 11399 11400// Initialize central reference 11401rootjQuery = jQuery( document ); 11402 11403 11404var rparentsprev = /^(?:parents|prev(?:Until|All))/, 11405 11406 // Methods guaranteed to produce a unique set when starting from a unique set 11407 guaranteedUnique = { 11408 children: true, 11409 contents: true, 11410 next: true, 11411 prev: true 11412 }; 11413 11414jQuery.fn.extend( { 11415 has: function( target ) { 11416 var targets = jQuery( target, this ), 11417 l = targets.length; 11418 11419 return this.filter( function() { 11420 var i = 0; 11421 for ( ; i < l; i++ ) { 11422 if ( jQuery.contains( this, targets[ i ] ) ) { 11423 return true; 11424 } 11425 } 11426 } ); 11427 }, 11428 11429 closest: function( selectors, context ) { 11430 var cur, 11431 i = 0, 11432 l = this.length, 11433 matched = [], 11434 targets = typeof selectors !== "string" && jQuery( selectors ); 11435 11436 // Positional selectors never match, since there's no _selection_ context 11437 if ( !rneedsContext.test( selectors ) ) { 11438 for ( ; i < l; i++ ) { 11439 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 11440 11441 // Always skip document fragments 11442 if ( cur.nodeType < 11 && ( targets ? 11443 targets.index( cur ) > -1 : 11444 11445 // Don't pass non-elements to Sizzle 11446 cur.nodeType === 1 && 11447 jQuery.find.matchesSelector( cur, selectors ) ) ) { 11448 11449 matched.push( cur ); 11450 break; 11451 } 11452 } 11453 } 11454 } 11455 11456 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 11457 }, 11458 11459 // Determine the position of an element within the set 11460 index: function( elem ) { 11461 11462 // No argument, return index in parent 11463 if ( !elem ) { 11464 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 11465 } 11466 11467 // Index in selector 11468 if ( typeof elem === "string" ) { 11469 return indexOf.call( jQuery( elem ), this[ 0 ] ); 11470 } 11471 11472 // Locate the position of the desired element 11473 return indexOf.call( this, 11474 11475 // If it receives a jQuery object, the first element is used 11476 elem.jquery ? elem[ 0 ] : elem 11477 ); 11478 }, 11479 11480 add: function( selector, context ) { 11481 return this.pushStack( 11482 jQuery.uniqueSort( 11483 jQuery.merge( this.get(), jQuery( selector, context ) ) 11484 ) 11485 ); 11486 }, 11487 11488 addBack: function( selector ) { 11489 return this.add( selector == null ? 11490 this.prevObject : this.prevObject.filter( selector ) 11491 ); 11492 } 11493} ); 11494 11495function sibling( cur, dir ) { 11496 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 11497 return cur; 11498} 11499 11500jQuery.each( { 11501 parent: function( elem ) { 11502 var parent = elem.parentNode; 11503 return parent && parent.nodeType !== 11 ? parent : null; 11504 }, 11505 parents: function( elem ) { 11506 return dir( elem, "parentNode" ); 11507 }, 11508 parentsUntil: function( elem, _i, until ) { 11509 return dir( elem, "parentNode", until ); 11510 }, 11511 next: function( elem ) { 11512 return sibling( elem, "nextSibling" ); 11513 }, 11514 prev: function( elem ) { 11515 return sibling( elem, "previousSibling" ); 11516 }, 11517 nextAll: function( elem ) { 11518 return dir( elem, "nextSibling" ); 11519 }, 11520 prevAll: function( elem ) { 11521 return dir( elem, "previousSibling" ); 11522 }, 11523 nextUntil: function( elem, _i, until ) { 11524 return dir( elem, "nextSibling", until ); 11525 }, 11526 prevUntil: function( elem, _i, until ) { 11527 return dir( elem, "previousSibling", until ); 11528 }, 11529 siblings: function( elem ) { 11530 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 11531 }, 11532 children: function( elem ) { 11533 return siblings( elem.firstChild ); 11534 }, 11535 contents: function( elem ) { 11536 if ( elem.contentDocument != null && 11537 11538 // Support: IE 11+ 11539 // <object> elements with no `data` attribute has an object 11540 // `contentDocument` with a `null` prototype. 11541 getProto( elem.contentDocument ) ) { 11542 11543 return elem.contentDocument; 11544 } 11545 11546 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 11547 // Treat the template element as a regular one in browsers that 11548 // don't support it. 11549 if ( nodeName( elem, "template" ) ) { 11550 elem = elem.content || elem; 11551 } 11552 11553 return jQuery.merge( [], elem.childNodes ); 11554 } 11555}, function( name, fn ) { 11556 jQuery.fn[ name ] = function( until, selector ) { 11557 var matched = jQuery.map( this, fn, until ); 11558 11559 if ( name.slice( -5 ) !== "Until" ) { 11560 selector = until; 11561 } 11562 11563 if ( selector && typeof selector === "string" ) { 11564 matched = jQuery.filter( selector, matched ); 11565 } 11566 11567 if ( this.length > 1 ) { 11568 11569 // Remove duplicates 11570 if ( !guaranteedUnique[ name ] ) { 11571 jQuery.uniqueSort( matched ); 11572 } 11573 11574 // Reverse order for parents* and prev-derivatives 11575 if ( rparentsprev.test( name ) ) { 11576 matched.reverse(); 11577 } 11578 } 11579 11580 return this.pushStack( matched ); 11581 }; 11582} ); 11583var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 11584 11585 11586 11587// Convert String-formatted options into Object-formatted ones 11588function createOptions( options ) { 11589 var object = {}; 11590 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 11591 object[ flag ] = true; 11592 } ); 11593 return object; 11594} 11595 11596/* 11597 * Create a callback list using the following parameters: 11598 * 11599 * options: an optional list of space-separated options that will change how 11600 * the callback list behaves or a more traditional option object 11601 * 11602 * By default a callback list will act like an event callback list and can be 11603 * "fired" multiple times. 11604 * 11605 * Possible options: 11606 * 11607 * once: will ensure the callback list can only be fired once (like a Deferred) 11608 * 11609 * memory: will keep track of previous values and will call any callback added 11610 * after the list has been fired right away with the latest "memorized" 11611 * values (like a Deferred) 11612 * 11613 * unique: will ensure a callback can only be added once (no duplicate in the list) 11614 * 11615 * stopOnFalse: interrupt callings when a callback returns false 11616 * 11617 */ 11618jQuery.Callbacks = function( options ) { 11619 11620 // Convert options from String-formatted to Object-formatted if needed 11621 // (we check in cache first) 11622 options = typeof options === "string" ? 11623 createOptions( options ) : 11624 jQuery.extend( {}, options ); 11625 11626 var // Flag to know if list is currently firing 11627 firing, 11628 11629 // Last fire value for non-forgettable lists 11630 memory, 11631 11632 // Flag to know if list was already fired 11633 fired, 11634 11635 // Flag to prevent firing 11636 locked, 11637 11638 // Actual callback list 11639 list = [], 11640 11641 // Queue of execution data for repeatable lists 11642 queue = [], 11643 11644 // Index of currently firing callback (modified by add/remove as needed) 11645 firingIndex = -1, 11646 11647 // Fire callbacks 11648 fire = function() { 11649 11650 // Enforce single-firing 11651 locked = locked || options.once; 11652 11653 // Execute callbacks for all pending executions, 11654 // respecting firingIndex overrides and runtime changes 11655 fired = firing = true; 11656 for ( ; queue.length; firingIndex = -1 ) { 11657 memory = queue.shift(); 11658 while ( ++firingIndex < list.length ) { 11659 11660 // Run callback and check for early termination 11661 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 11662 options.stopOnFalse ) { 11663 11664 // Jump to end and forget the data so .add doesn't re-fire 11665 firingIndex = list.length; 11666 memory = false; 11667 } 11668 } 11669 } 11670 11671 // Forget the data if we're done with it 11672 if ( !options.memory ) { 11673 memory = false; 11674 } 11675 11676 firing = false; 11677 11678 // Clean up if we're done firing for good 11679 if ( locked ) { 11680 11681 // Keep an empty list if we have data for future add calls 11682 if ( memory ) { 11683 list = []; 11684 11685 // Otherwise, this object is spent 11686 } else { 11687 list = ""; 11688 } 11689 } 11690 }, 11691 11692 // Actual Callbacks object 11693 self = { 11694 11695 // Add a callback or a collection of callbacks to the list 11696 add: function() { 11697 if ( list ) { 11698 11699 // If we have memory from a past run, we should fire after adding 11700 if ( memory && !firing ) { 11701 firingIndex = list.length - 1; 11702 queue.push( memory ); 11703 } 11704 11705 ( function add( args ) { 11706 jQuery.each( args, function( _, arg ) { 11707 if ( isFunction( arg ) ) { 11708 if ( !options.unique || !self.has( arg ) ) { 11709 list.push( arg ); 11710 } 11711 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 11712 11713 // Inspect recursively 11714 add( arg ); 11715 } 11716 } ); 11717 } )( arguments ); 11718 11719 if ( memory && !firing ) { 11720 fire(); 11721 } 11722 } 11723 return this; 11724 }, 11725 11726 // Remove a callback from the list 11727 remove: function() { 11728 jQuery.each( arguments, function( _, arg ) { 11729 var index; 11730 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 11731 list.splice( index, 1 ); 11732 11733 // Handle firing indexes 11734 if ( index <= firingIndex ) { 11735 firingIndex--; 11736 } 11737 } 11738 } ); 11739 return this; 11740 }, 11741 11742 // Check if a given callback is in the list. 11743 // If no argument is given, return whether or not list has callbacks attached. 11744 has: function( fn ) { 11745 return fn ? 11746 jQuery.inArray( fn, list ) > -1 : 11747 list.length > 0; 11748 }, 11749 11750 // Remove all callbacks from the list 11751 empty: function() { 11752 if ( list ) { 11753 list = []; 11754 } 11755 return this; 11756 }, 11757 11758 // Disable .fire and .add 11759 // Abort any current/pending executions 11760 // Clear all callbacks and values 11761 disable: function() { 11762 locked = queue = []; 11763 list = memory = ""; 11764 return this; 11765 }, 11766 disabled: function() { 11767 return !list; 11768 }, 11769 11770 // Disable .fire 11771 // Also disable .add unless we have memory (since it would have no effect) 11772 // Abort any pending executions 11773 lock: function() { 11774 locked = queue = []; 11775 if ( !memory && !firing ) { 11776 list = memory = ""; 11777 } 11778 return this; 11779 }, 11780 locked: function() { 11781 return !!locked; 11782 }, 11783 11784 // Call all callbacks with the given context and arguments 11785 fireWith: function( context, args ) { 11786 if ( !locked ) { 11787 args = args || []; 11788 args = [ context, args.slice ? args.slice() : args ]; 11789 queue.push( args ); 11790 if ( !firing ) { 11791 fire(); 11792 } 11793 } 11794 return this; 11795 }, 11796 11797 // Call all the callbacks with the given arguments 11798 fire: function() { 11799 self.fireWith( this, arguments ); 11800 return this; 11801 }, 11802 11803 // To know if the callbacks have already been called at least once 11804 fired: function() { 11805 return !!fired; 11806 } 11807 }; 11808 11809 return self; 11810}; 11811 11812 11813function Identity( v ) { 11814 return v; 11815} 11816function Thrower( ex ) { 11817 throw ex; 11818} 11819 11820function adoptValue( value, resolve, reject, noValue ) { 11821 var method; 11822 11823 try { 11824 11825 // Check for promise aspect first to privilege synchronous behavior 11826 if ( value && isFunction( ( method = value.promise ) ) ) { 11827 method.call( value ).done( resolve ).fail( reject ); 11828 11829 // Other thenables 11830 } else if ( value && isFunction( ( method = value.then ) ) ) { 11831 method.call( value, resolve, reject ); 11832 11833 // Other non-thenables 11834 } else { 11835 11836 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 11837 // * false: [ value ].slice( 0 ) => resolve( value ) 11838 // * true: [ value ].slice( 1 ) => resolve() 11839 resolve.apply( undefined, [ value ].slice( noValue ) ); 11840 } 11841 11842 // For Promises/A+, convert exceptions into rejections 11843 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 11844 // Deferred#then to conditionally suppress rejection. 11845 } catch ( value ) { 11846 11847 // Support: Android 4.0 only 11848 // Strict mode functions invoked without .call/.apply get global-object context 11849 reject.apply( undefined, [ value ] ); 11850 } 11851} 11852 11853jQuery.extend( { 11854 11855 Deferred: function( func ) { 11856 var tuples = [ 11857 11858 // action, add listener, callbacks, 11859 // ... .then handlers, argument index, [final state] 11860 [ "notify", "progress", jQuery.Callbacks( "memory" ), 11861 jQuery.Callbacks( "memory" ), 2 ], 11862 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 11863 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 11864 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 11865 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 11866 ], 11867 state = "pending", 11868 promise = { 11869 state: function() { 11870 return state; 11871 }, 11872 always: function() { 11873 deferred.done( arguments ).fail( arguments ); 11874 return this; 11875 }, 11876 "catch": function( fn ) { 11877 return promise.then( null, fn ); 11878 }, 11879 11880 // Keep pipe for back-compat 11881 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 11882 var fns = arguments; 11883 11884 return jQuery.Deferred( function( newDefer ) { 11885 jQuery.each( tuples, function( _i, tuple ) { 11886 11887 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 11888 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 11889 11890 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 11891 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 11892 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 11893 deferred[ tuple[ 1 ] ]( function() { 11894 var returned = fn && fn.apply( this, arguments ); 11895 if ( returned && isFunction( returned.promise ) ) { 11896 returned.promise() 11897 .progress( newDefer.notify ) 11898 .done( newDefer.resolve ) 11899 .fail( newDefer.reject ); 11900 } else { 11901 newDefer[ tuple[ 0 ] + "With" ]( 11902 this, 11903 fn ? [ returned ] : arguments 11904 ); 11905 } 11906 } ); 11907 } ); 11908 fns = null; 11909 } ).promise(); 11910 }, 11911 then: function( onFulfilled, onRejected, onProgress ) { 11912 var maxDepth = 0; 11913 function resolve( depth, deferred, handler, special ) { 11914 return function() { 11915 var that = this, 11916 args = arguments, 11917 mightThrow = function() { 11918 var returned, then; 11919 11920 // Support: Promises/A+ section 2.3.3.3.3 11921 // https://promisesaplus.com/#point-59 11922 // Ignore double-resolution attempts 11923 if ( depth < maxDepth ) { 11924 return; 11925 } 11926 11927 returned = handler.apply( that, args ); 11928 11929 // Support: Promises/A+ section 2.3.1 11930 // https://promisesaplus.com/#point-48 11931 if ( returned === deferred.promise() ) { 11932 throw new TypeError( "Thenable self-resolution" ); 11933 } 11934 11935 // Support: Promises/A+ sections 2.3.3.1, 3.5 11936 // https://promisesaplus.com/#point-54 11937 // https://promisesaplus.com/#point-75 11938 // Retrieve `then` only once 11939 then = returned && 11940 11941 // Support: Promises/A+ section 2.3.4 11942 // https://promisesaplus.com/#point-64 11943 // Only check objects and functions for thenability 11944 ( typeof returned === "object" || 11945 typeof returned === "function" ) && 11946 returned.then; 11947 11948 // Handle a returned thenable 11949 if ( isFunction( then ) ) { 11950 11951 // Special processors (notify) just wait for resolution 11952 if ( special ) { 11953 then.call( 11954 returned, 11955 resolve( maxDepth, deferred, Identity, special ), 11956 resolve( maxDepth, deferred, Thrower, special ) 11957 ); 11958 11959 // Normal processors (resolve) also hook into progress 11960 } else { 11961 11962 // ...and disregard older resolution values 11963 maxDepth++; 11964 11965 then.call( 11966 returned, 11967 resolve( maxDepth, deferred, Identity, special ), 11968 resolve( maxDepth, deferred, Thrower, special ), 11969 resolve( maxDepth, deferred, Identity, 11970 deferred.notifyWith ) 11971 ); 11972 } 11973 11974 // Handle all other returned values 11975 } else { 11976 11977 // Only substitute handlers pass on context 11978 // and multiple values (non-spec behavior) 11979 if ( handler !== Identity ) { 11980 that = undefined; 11981 args = [ returned ]; 11982 } 11983 11984 // Process the value(s) 11985 // Default process is resolve 11986 ( special || deferred.resolveWith )( that, args ); 11987 } 11988 }, 11989 11990 // Only normal processors (resolve) catch and reject exceptions 11991 process = special ? 11992 mightThrow : 11993 function() { 11994 try { 11995 mightThrow(); 11996 } catch ( e ) { 11997 11998 if ( jQuery.Deferred.exceptionHook ) { 11999 jQuery.Deferred.exceptionHook( e, 12000 process.stackTrace ); 12001 } 12002 12003 // Support: Promises/A+ section 2.3.3.3.4.1 12004 // https://promisesaplus.com/#point-61 12005 // Ignore post-resolution exceptions 12006 if ( depth + 1 >= maxDepth ) { 12007 12008 // Only substitute handlers pass on context 12009 // and multiple values (non-spec behavior) 12010 if ( handler !== Thrower ) { 12011 that = undefined; 12012 args = [ e ]; 12013 } 12014 12015 deferred.rejectWith( that, args ); 12016 } 12017 } 12018 }; 12019 12020 // Support: Promises/A+ section 2.3.3.3.1 12021 // https://promisesaplus.com/#point-57 12022 // Re-resolve promises immediately to dodge false rejection from 12023 // subsequent errors 12024 if ( depth ) { 12025 process(); 12026 } else { 12027 12028 // Call an optional hook to record the stack, in case of exception 12029 // since it's otherwise lost when execution goes async 12030 if ( jQuery.Deferred.getStackHook ) { 12031 process.stackTrace = jQuery.Deferred.getStackHook(); 12032 } 12033 window.setTimeout( process ); 12034 } 12035 }; 12036 } 12037 12038 return jQuery.Deferred( function( newDefer ) { 12039 12040 // progress_handlers.add( ... ) 12041 tuples[ 0 ][ 3 ].add( 12042 resolve( 12043 0, 12044 newDefer, 12045 isFunction( onProgress ) ? 12046 onProgress : 12047 Identity, 12048 newDefer.notifyWith 12049 ) 12050 ); 12051 12052 // fulfilled_handlers.add( ... ) 12053 tuples[ 1 ][ 3 ].add( 12054 resolve( 12055 0, 12056 newDefer, 12057 isFunction( onFulfilled ) ? 12058 onFulfilled : 12059 Identity 12060 ) 12061 ); 12062 12063 // rejected_handlers.add( ... ) 12064 tuples[ 2 ][ 3 ].add( 12065 resolve( 12066 0, 12067 newDefer, 12068 isFunction( onRejected ) ? 12069 onRejected : 12070 Thrower 12071 ) 12072 ); 12073 } ).promise(); 12074 }, 12075 12076 // Get a promise for this deferred 12077 // If obj is provided, the promise aspect is added to the object 12078 promise: function( obj ) { 12079 return obj != null ? jQuery.extend( obj, promise ) : promise; 12080 } 12081 }, 12082 deferred = {}; 12083 12084 // Add list-specific methods 12085 jQuery.each( tuples, function( i, tuple ) { 12086 var list = tuple[ 2 ], 12087 stateString = tuple[ 5 ]; 12088 12089 // promise.progress = list.add 12090 // promise.done = list.add 12091 // promise.fail = list.add 12092 promise[ tuple[ 1 ] ] = list.add; 12093 12094 // Handle state 12095 if ( stateString ) { 12096 list.add( 12097 function() { 12098 12099 // state = "resolved" (i.e., fulfilled) 12100 // state = "rejected" 12101 state = stateString; 12102 }, 12103 12104 // rejected_callbacks.disable 12105 // fulfilled_callbacks.disable 12106 tuples[ 3 - i ][ 2 ].disable, 12107 12108 // rejected_handlers.disable 12109 // fulfilled_handlers.disable 12110 tuples[ 3 - i ][ 3 ].disable, 12111 12112 // progress_callbacks.lock 12113 tuples[ 0 ][ 2 ].lock, 12114 12115 // progress_handlers.lock 12116 tuples[ 0 ][ 3 ].lock 12117 ); 12118 } 12119 12120 // progress_handlers.fire 12121 // fulfilled_handlers.fire 12122 // rejected_handlers.fire 12123 list.add( tuple[ 3 ].fire ); 12124 12125 // deferred.notify = function() { deferred.notifyWith(...) } 12126 // deferred.resolve = function() { deferred.resolveWith(...) } 12127 // deferred.reject = function() { deferred.rejectWith(...) } 12128 deferred[ tuple[ 0 ] ] = function() { 12129 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 12130 return this; 12131 }; 12132 12133 // deferred.notifyWith = list.fireWith 12134 // deferred.resolveWith = list.fireWith 12135 // deferred.rejectWith = list.fireWith 12136 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 12137 } ); 12138 12139 // Make the deferred a promise 12140 promise.promise( deferred ); 12141 12142 // Call given func if any 12143 if ( func ) { 12144 func.call( deferred, deferred ); 12145 } 12146 12147 // All done! 12148 return deferred; 12149 }, 12150 12151 // Deferred helper 12152 when: function( singleValue ) { 12153 var 12154 12155 // count of uncompleted subordinates 12156 remaining = arguments.length, 12157 12158 // count of unprocessed arguments 12159 i = remaining, 12160 12161 // subordinate fulfillment data 12162 resolveContexts = Array( i ), 12163 resolveValues = slice.call( arguments ), 12164 12165 // the primary Deferred 12166 primary = jQuery.Deferred(), 12167 12168 // subordinate callback factory 12169 updateFunc = function( i ) { 12170 return function( value ) { 12171 resolveContexts[ i ] = this; 12172 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 12173 if ( !( --remaining ) ) { 12174 primary.resolveWith( resolveContexts, resolveValues ); 12175 } 12176 }; 12177 }; 12178 12179 // Single- and empty arguments are adopted like Promise.resolve 12180 if ( remaining <= 1 ) { 12181 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 12182 !remaining ); 12183 12184 // Use .then() to unwrap secondary thenables (cf. gh-3000) 12185 if ( primary.state() === "pending" || 12186 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 12187 12188 return primary.then(); 12189 } 12190 } 12191 12192 // Multiple arguments are aggregated like Promise.all array elements 12193 while ( i-- ) { 12194 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 12195 } 12196 12197 return primary.promise(); 12198 } 12199} ); 12200 12201 12202// These usually indicate a programmer mistake during development, 12203// warn about them ASAP rather than swallowing them by default. 12204var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 12205 12206jQuery.Deferred.exceptionHook = function( error, stack ) { 12207 12208 // Support: IE 8 - 9 only 12209 // Console exists when dev tools are open, which can happen at any time 12210 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 12211 window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 12212 } 12213}; 12214 12215 12216 12217 12218jQuery.readyException = function( error ) { 12219 window.setTimeout( function() { 12220 throw error; 12221 } ); 12222}; 12223 12224 12225 12226 12227// The deferred used on DOM ready 12228var readyList = jQuery.Deferred(); 12229 12230jQuery.fn.ready = function( fn ) { 12231 12232 readyList 12233 .then( fn ) 12234 12235 // Wrap jQuery.readyException in a function so that the lookup 12236 // happens at the time of error handling instead of callback 12237 // registration. 12238 .catch( function( error ) { 12239 jQuery.readyException( error ); 12240 } ); 12241 12242 return this; 12243}; 12244 12245jQuery.extend( { 12246 12247 // Is the DOM ready to be used? Set to true once it occurs. 12248 isReady: false, 12249 12250 // A counter to track how many items to wait for before 12251 // the ready event fires. See #6781 12252 readyWait: 1, 12253 12254 // Handle when the DOM is ready 12255 ready: function( wait ) { 12256 12257 // Abort if there are pending holds or we're already ready 12258 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 12259 return; 12260 } 12261 12262 // Remember that the DOM is ready 12263 jQuery.isReady = true; 12264 12265 // If a normal DOM Ready event fired, decrement, and wait if need be 12266 if ( wait !== true && --jQuery.readyWait > 0 ) { 12267 return; 12268 } 12269 12270 // If there are functions bound, to execute 12271 readyList.resolveWith( document, [ jQuery ] ); 12272 } 12273} ); 12274 12275jQuery.ready.then = readyList.then; 12276 12277// The ready event handler and self cleanup method 12278function completed() { 12279 document.removeEventListener( "DOMContentLoaded", completed ); 12280 window.removeEventListener( "load", completed ); 12281 jQuery.ready(); 12282} 12283 12284// Catch cases where $(document).ready() is called 12285// after the browser event has already occurred. 12286// Support: IE <=9 - 10 only 12287// Older IE sometimes signals "interactive" too soon 12288if ( document.readyState === "complete" || 12289 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 12290 12291 // Handle it asynchronously to allow scripts the opportunity to delay ready 12292 window.setTimeout( jQuery.ready ); 12293 12294} else { 12295 12296 // Use the handy event callback 12297 document.addEventListener( "DOMContentLoaded", completed ); 12298 12299 // A fallback to window.onload, that will always work 12300 window.addEventListener( "load", completed ); 12301} 12302 12303 12304 12305 12306// Multifunctional method to get and set values of a collection 12307// The value/s can optionally be executed if it's a function 12308var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 12309 var i = 0, 12310 len = elems.length, 12311 bulk = key == null; 12312 12313 // Sets many values 12314 if ( toType( key ) === "object" ) { 12315 chainable = true; 12316 for ( i in key ) { 12317 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 12318 } 12319 12320 // Sets one value 12321 } else if ( value !== undefined ) { 12322 chainable = true; 12323 12324 if ( !isFunction( value ) ) { 12325 raw = true; 12326 } 12327 12328 if ( bulk ) { 12329 12330 // Bulk operations run against the entire set 12331 if ( raw ) { 12332 fn.call( elems, value ); 12333 fn = null; 12334 12335 // ...except when executing function values 12336 } else { 12337 bulk = fn; 12338 fn = function( elem, _key, value ) { 12339 return bulk.call( jQuery( elem ), value ); 12340 }; 12341 } 12342 } 12343 12344 if ( fn ) { 12345 for ( ; i < len; i++ ) { 12346 fn( 12347 elems[ i ], key, raw ? 12348 value : 12349 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 12350 ); 12351 } 12352 } 12353 } 12354 12355 if ( chainable ) { 12356 return elems; 12357 } 12358 12359 // Gets 12360 if ( bulk ) { 12361 return fn.call( elems ); 12362 } 12363 12364 return len ? fn( elems[ 0 ], key ) : emptyGet; 12365}; 12366 12367 12368// Matches dashed string for camelizing 12369var rmsPrefix = /^-ms-/, 12370 rdashAlpha = /-([a-z])/g; 12371 12372// Used by camelCase as callback to replace() 12373function fcamelCase( _all, letter ) { 12374 return letter.toUpperCase(); 12375} 12376 12377// Convert dashed to camelCase; used by the css and data modules 12378// Support: IE <=9 - 11, Edge 12 - 15 12379// Microsoft forgot to hump their vendor prefix (#9572) 12380function camelCase( string ) { 12381 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 12382} 12383var acceptData = function( owner ) { 12384 12385 // Accepts only: 12386 // - Node 12387 // - Node.ELEMENT_NODE 12388 // - Node.DOCUMENT_NODE 12389 // - Object 12390 // - Any 12391 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 12392}; 12393 12394 12395 12396 12397function Data() { 12398 this.expando = jQuery.expando + Data.uid++; 12399} 12400 12401Data.uid = 1; 12402 12403Data.prototype = { 12404 12405 cache: function( owner ) { 12406 12407 // Check if the owner object already has a cache 12408 var value = owner[ this.expando ]; 12409 12410 // If not, create one 12411 if ( !value ) { 12412 value = {}; 12413 12414 // We can accept data for non-element nodes in modern browsers, 12415 // but we should not, see #8335. 12416 // Always return an empty object. 12417 if ( acceptData( owner ) ) { 12418 12419 // If it is a node unlikely to be stringify-ed or looped over 12420 // use plain assignment 12421 if ( owner.nodeType ) { 12422 owner[ this.expando ] = value; 12423 12424 // Otherwise secure it in a non-enumerable property 12425 // configurable must be true to allow the property to be 12426 // deleted when data is removed 12427 } else { 12428 Object.defineProperty( owner, this.expando, { 12429 value: value, 12430 configurable: true 12431 } ); 12432 } 12433 } 12434 } 12435 12436 return value; 12437 }, 12438 set: function( owner, data, value ) { 12439 var prop, 12440 cache = this.cache( owner ); 12441 12442 // Handle: [ owner, key, value ] args 12443 // Always use camelCase key (gh-2257) 12444 if ( typeof data === "string" ) { 12445 cache[ camelCase( data ) ] = value; 12446 12447 // Handle: [ owner, { properties } ] args 12448 } else { 12449 12450 // Copy the properties one-by-one to the cache object 12451 for ( prop in data ) { 12452 cache[ camelCase( prop ) ] = data[ prop ]; 12453 } 12454 } 12455 return cache; 12456 }, 12457 get: function( owner, key ) { 12458 return key === undefined ? 12459 this.cache( owner ) : 12460 12461 // Always use camelCase key (gh-2257) 12462 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 12463 }, 12464 access: function( owner, key, value ) { 12465 12466 // In cases where either: 12467 // 12468 // 1. No key was specified 12469 // 2. A string key was specified, but no value provided 12470 // 12471 // Take the "read" path and allow the get method to determine 12472 // which value to return, respectively either: 12473 // 12474 // 1. The entire cache object 12475 // 2. The data stored at the key 12476 // 12477 if ( key === undefined || 12478 ( ( key && typeof key === "string" ) && value === undefined ) ) { 12479 12480 return this.get( owner, key ); 12481 } 12482 12483 // When the key is not a string, or both a key and value 12484 // are specified, set or extend (existing objects) with either: 12485 // 12486 // 1. An object of properties 12487 // 2. A key and value 12488 // 12489 this.set( owner, key, value ); 12490 12491 // Since the "set" path can have two possible entry points 12492 // return the expected data based on which path was taken[*] 12493 return value !== undefined ? value : key; 12494 }, 12495 remove: function( owner, key ) { 12496 var i, 12497 cache = owner[ this.expando ]; 12498 12499 if ( cache === undefined ) { 12500 return; 12501 } 12502 12503 if ( key !== undefined ) { 12504 12505 // Support array or space separated string of keys 12506 if ( Array.isArray( key ) ) { 12507 12508 // If key is an array of keys... 12509 // We always set camelCase keys, so remove that. 12510 key = key.map( camelCase ); 12511 } else { 12512 key = camelCase( key ); 12513 12514 // If a key with the spaces exists, use it. 12515 // Otherwise, create an array by matching non-whitespace 12516 key = key in cache ? 12517 [ key ] : 12518 ( key.match( rnothtmlwhite ) || [] ); 12519 } 12520 12521 i = key.length; 12522 12523 while ( i-- ) { 12524 delete cache[ key[ i ] ]; 12525 } 12526 } 12527 12528 // Remove the expando if there's no more data 12529 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 12530 12531 // Support: Chrome <=35 - 45 12532 // Webkit & Blink performance suffers when deleting properties 12533 // from DOM nodes, so set to undefined instead 12534 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 12535 if ( owner.nodeType ) { 12536 owner[ this.expando ] = undefined; 12537 } else { 12538 delete owner[ this.expando ]; 12539 } 12540 } 12541 }, 12542 hasData: function( owner ) { 12543 var cache = owner[ this.expando ]; 12544 return cache !== undefined && !jQuery.isEmptyObject( cache ); 12545 } 12546}; 12547var dataPriv = new Data(); 12548 12549var dataUser = new Data(); 12550 12551 12552 12553// Implementation Summary 12554// 12555// 1. Enforce API surface and semantic compatibility with 1.9.x branch 12556// 2. Improve the module's maintainability by reducing the storage 12557// paths to a single mechanism. 12558// 3. Use the same single mechanism to support "private" and "user" data. 12559// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 12560// 5. Avoid exposing implementation details on user objects (eg. expando properties) 12561// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 12562 12563var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 12564 rmultiDash = /[A-Z]/g; 12565 12566function getData( data ) { 12567 if ( data === "true" ) { 12568 return true; 12569 } 12570 12571 if ( data === "false" ) { 12572 return false; 12573 } 12574 12575 if ( data === "null" ) { 12576 return null; 12577 } 12578 12579 // Only convert to a number if it doesn't change the string 12580 if ( data === +data + "" ) { 12581 return +data; 12582 } 12583 12584 if ( rbrace.test( data ) ) { 12585 return JSON.parse( data ); 12586 } 12587 12588 return data; 12589} 12590 12591function dataAttr( elem, key, data ) { 12592 var name; 12593 12594 // If nothing was found internally, try to fetch any 12595 // data from the HTML5 data-* attribute 12596 if ( data === undefined && elem.nodeType === 1 ) { 12597 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 12598 data = elem.getAttribute( name ); 12599 12600 if ( typeof data === "string" ) { 12601 try { 12602 data = getData( data ); 12603 } catch ( e ) {} 12604 12605 // Make sure we set the data so it isn't changed later 12606 dataUser.set( elem, key, data ); 12607 } else { 12608 data = undefined; 12609 } 12610 } 12611 return data; 12612} 12613 12614jQuery.extend( { 12615 hasData: function( elem ) { 12616 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 12617 }, 12618 12619 data: function( elem, name, data ) { 12620 return dataUser.access( elem, name, data ); 12621 }, 12622 12623 removeData: function( elem, name ) { 12624 dataUser.remove( elem, name ); 12625 }, 12626 12627 // TODO: Now that all calls to _data and _removeData have been replaced 12628 // with direct calls to dataPriv methods, these can be deprecated. 12629 _data: function( elem, name, data ) { 12630 return dataPriv.access( elem, name, data ); 12631 }, 12632 12633 _removeData: function( elem, name ) { 12634 dataPriv.remove( elem, name ); 12635 } 12636} ); 12637 12638jQuery.fn.extend( { 12639 data: function( key, value ) { 12640 var i, name, data, 12641 elem = this[ 0 ], 12642 attrs = elem && elem.attributes; 12643 12644 // Gets all values 12645 if ( key === undefined ) { 12646 if ( this.length ) { 12647 data = dataUser.get( elem ); 12648 12649 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 12650 i = attrs.length; 12651 while ( i-- ) { 12652 12653 // Support: IE 11 only 12654 // The attrs elements can be null (#14894) 12655 if ( attrs[ i ] ) { 12656 name = attrs[ i ].name; 12657 if ( name.indexOf( "data-" ) === 0 ) { 12658 name = camelCase( name.slice( 5 ) ); 12659 dataAttr( elem, name, data[ name ] ); 12660 } 12661 } 12662 } 12663 dataPriv.set( elem, "hasDataAttrs", true ); 12664 } 12665 } 12666 12667 return data; 12668 } 12669 12670 // Sets multiple values 12671 if ( typeof key === "object" ) { 12672 return this.each( function() { 12673 dataUser.set( this, key ); 12674 } ); 12675 } 12676 12677 return access( this, function( value ) { 12678 var data; 12679 12680 // The calling jQuery object (element matches) is not empty 12681 // (and therefore has an element appears at this[ 0 ]) and the 12682 // `value` parameter was not undefined. An empty jQuery object 12683 // will result in `undefined` for elem = this[ 0 ] which will 12684 // throw an exception if an attempt to read a data cache is made. 12685 if ( elem && value === undefined ) { 12686 12687 // Attempt to get data from the cache 12688 // The key will always be camelCased in Data 12689 data = dataUser.get( elem, key ); 12690 if ( data !== undefined ) { 12691 return data; 12692 } 12693 12694 // Attempt to "discover" the data in 12695 // HTML5 custom data-* attrs 12696 data = dataAttr( elem, key ); 12697 if ( data !== undefined ) { 12698 return data; 12699 } 12700 12701 // We tried really hard, but the data doesn't exist. 12702 return; 12703 } 12704 12705 // Set the data... 12706 this.each( function() { 12707 12708 // We always store the camelCased key 12709 dataUser.set( this, key, value ); 12710 } ); 12711 }, null, value, arguments.length > 1, null, true ); 12712 }, 12713 12714 removeData: function( key ) { 12715 return this.each( function() { 12716 dataUser.remove( this, key ); 12717 } ); 12718 } 12719} ); 12720 12721 12722jQuery.extend( { 12723 queue: function( elem, type, data ) { 12724 var queue; 12725 12726 if ( elem ) { 12727 type = ( type || "fx" ) + "queue"; 12728 queue = dataPriv.get( elem, type ); 12729 12730 // Speed up dequeue by getting out quickly if this is just a lookup 12731 if ( data ) { 12732 if ( !queue || Array.isArray( data ) ) { 12733 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 12734 } else { 12735 queue.push( data ); 12736 } 12737 } 12738 return queue || []; 12739 } 12740 }, 12741 12742 dequeue: function( elem, type ) { 12743 type = type || "fx"; 12744 12745 var queue = jQuery.queue( elem, type ), 12746 startLength = queue.length, 12747 fn = queue.shift(), 12748 hooks = jQuery._queueHooks( elem, type ), 12749 next = function() { 12750 jQuery.dequeue( elem, type ); 12751 }; 12752 12753 // If the fx queue is dequeued, always remove the progress sentinel 12754 if ( fn === "inprogress" ) { 12755 fn = queue.shift(); 12756 startLength--; 12757 } 12758 12759 if ( fn ) { 12760 12761 // Add a progress sentinel to prevent the fx queue from being 12762 // automatically dequeued 12763 if ( type === "fx" ) { 12764 queue.unshift( "inprogress" ); 12765 } 12766 12767 // Clear up the last queue stop function 12768 delete hooks.stop; 12769 fn.call( elem, next, hooks ); 12770 } 12771 12772 if ( !startLength && hooks ) { 12773 hooks.empty.fire(); 12774 } 12775 }, 12776 12777 // Not public - generate a queueHooks object, or return the current one 12778 _queueHooks: function( elem, type ) { 12779 var key = type + "queueHooks"; 12780 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 12781 empty: jQuery.Callbacks( "once memory" ).add( function() { 12782 dataPriv.remove( elem, [ type + "queue", key ] ); 12783 } ) 12784 } ); 12785 } 12786} ); 12787 12788jQuery.fn.extend( { 12789 queue: function( type, data ) { 12790 var setter = 2; 12791 12792 if ( typeof type !== "string" ) { 12793 data = type; 12794 type = "fx"; 12795 setter--; 12796 } 12797 12798 if ( arguments.length < setter ) { 12799 return jQuery.queue( this[ 0 ], type ); 12800 } 12801 12802 return data === undefined ? 12803 this : 12804 this.each( function() { 12805 var queue = jQuery.queue( this, type, data ); 12806 12807 // Ensure a hooks for this queue 12808 jQuery._queueHooks( this, type ); 12809 12810 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 12811 jQuery.dequeue( this, type ); 12812 } 12813 } ); 12814 }, 12815 dequeue: function( type ) { 12816 return this.each( function() { 12817 jQuery.dequeue( this, type ); 12818 } ); 12819 }, 12820 clearQueue: function( type ) { 12821 return this.queue( type || "fx", [] ); 12822 }, 12823 12824 // Get a promise resolved when queues of a certain type 12825 // are emptied (fx is the type by default) 12826 promise: function( type, obj ) { 12827 var tmp, 12828 count = 1, 12829 defer = jQuery.Deferred(), 12830 elements = this, 12831 i = this.length, 12832 resolve = function() { 12833 if ( !( --count ) ) { 12834 defer.resolveWith( elements, [ elements ] ); 12835 } 12836 }; 12837 12838 if ( typeof type !== "string" ) { 12839 obj = type; 12840 type = undefined; 12841 } 12842 type = type || "fx"; 12843 12844 while ( i-- ) { 12845 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 12846 if ( tmp && tmp.empty ) { 12847 count++; 12848 tmp.empty.add( resolve ); 12849 } 12850 } 12851 resolve(); 12852 return defer.promise( obj ); 12853 } 12854} ); 12855var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 12856 12857var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 12858 12859 12860var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 12861 12862var documentElement = document.documentElement; 12863 12864 12865 12866 var isAttached = function( elem ) { 12867 return jQuery.contains( elem.ownerDocument, elem ); 12868 }, 12869 composed = { composed: true }; 12870 12871 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 12872 // Check attachment across shadow DOM boundaries when possible (gh-3504) 12873 // Support: iOS 10.0-10.2 only 12874 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 12875 // leading to errors. We need to check for `getRootNode`. 12876 if ( documentElement.getRootNode ) { 12877 isAttached = function( elem ) { 12878 return jQuery.contains( elem.ownerDocument, elem ) || 12879 elem.getRootNode( composed ) === elem.ownerDocument; 12880 }; 12881 } 12882var isHiddenWithinTree = function( elem, el ) { 12883 12884 // isHiddenWithinTree might be called from jQuery#filter function; 12885 // in that case, element will be second argument 12886 elem = el || elem; 12887 12888 // Inline style trumps all 12889 return elem.style.display === "none" || 12890 elem.style.display === "" && 12891 12892 // Otherwise, check computed style 12893 // Support: Firefox <=43 - 45 12894 // Disconnected elements can have computed display: none, so first confirm that elem is 12895 // in the document. 12896 isAttached( elem ) && 12897 12898 jQuery.css( elem, "display" ) === "none"; 12899 }; 12900 12901 12902 12903function adjustCSS( elem, prop, valueParts, tween ) { 12904 var adjusted, scale, 12905 maxIterations = 20, 12906 currentValue = tween ? 12907 function() { 12908 return tween.cur(); 12909 } : 12910 function() { 12911 return jQuery.css( elem, prop, "" ); 12912 }, 12913 initial = currentValue(), 12914 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 12915 12916 // Starting value computation is required for potential unit mismatches 12917 initialInUnit = elem.nodeType && 12918 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 12919 rcssNum.exec( jQuery.css( elem, prop ) ); 12920 12921 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 12922 12923 // Support: Firefox <=54 12924 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 12925 initial = initial / 2; 12926 12927 // Trust units reported by jQuery.css 12928 unit = unit || initialInUnit[ 3 ]; 12929 12930 // Iteratively approximate from a nonzero starting point 12931 initialInUnit = +initial || 1; 12932 12933 while ( maxIterations-- ) { 12934 12935 // Evaluate and update our best guess (doubling guesses that zero out). 12936 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 12937 jQuery.style( elem, prop, initialInUnit + unit ); 12938 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 12939 maxIterations = 0; 12940 } 12941 initialInUnit = initialInUnit / scale; 12942 12943 } 12944 12945 initialInUnit = initialInUnit * 2; 12946 jQuery.style( elem, prop, initialInUnit + unit ); 12947 12948 // Make sure we update the tween properties later on 12949 valueParts = valueParts || []; 12950 } 12951 12952 if ( valueParts ) { 12953 initialInUnit = +initialInUnit || +initial || 0; 12954 12955 // Apply relative offset (+=/-=) if specified 12956 adjusted = valueParts[ 1 ] ? 12957 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 12958 +valueParts[ 2 ]; 12959 if ( tween ) { 12960 tween.unit = unit; 12961 tween.start = initialInUnit; 12962 tween.end = adjusted; 12963 } 12964 } 12965 return adjusted; 12966} 12967 12968 12969var defaultDisplayMap = {}; 12970 12971function getDefaultDisplay( elem ) { 12972 var temp, 12973 doc = elem.ownerDocument, 12974 nodeName = elem.nodeName, 12975 display = defaultDisplayMap[ nodeName ]; 12976 12977 if ( display ) { 12978 return display; 12979 } 12980 12981 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 12982 display = jQuery.css( temp, "display" ); 12983 12984 temp.parentNode.removeChild( temp ); 12985 12986 if ( display === "none" ) { 12987 display = "block"; 12988 } 12989 defaultDisplayMap[ nodeName ] = display; 12990 12991 return display; 12992} 12993 12994function showHide( elements, show ) { 12995 var display, elem, 12996 values = [], 12997 index = 0, 12998 length = elements.length; 12999 13000 // Determine new display value for elements that need to change 13001 for ( ; index < length; index++ ) { 13002 elem = elements[ index ]; 13003 if ( !elem.style ) { 13004 continue; 13005 } 13006 13007 display = elem.style.display; 13008 if ( show ) { 13009 13010 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 13011 // check is required in this first loop unless we have a nonempty display value (either 13012 // inline or about-to-be-restored) 13013 if ( display === "none" ) { 13014 values[ index ] = dataPriv.get( elem, "display" ) || null; 13015 if ( !values[ index ] ) { 13016 elem.style.display = ""; 13017 } 13018 } 13019 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 13020 values[ index ] = getDefaultDisplay( elem ); 13021 } 13022 } else { 13023 if ( display !== "none" ) { 13024 values[ index ] = "none"; 13025 13026 // Remember what we're overwriting 13027 dataPriv.set( elem, "display", display ); 13028 } 13029 } 13030 } 13031 13032 // Set the display of the elements in a second loop to avoid constant reflow 13033 for ( index = 0; index < length; index++ ) { 13034 if ( values[ index ] != null ) { 13035 elements[ index ].style.display = values[ index ]; 13036 } 13037 } 13038 13039 return elements; 13040} 13041 13042jQuery.fn.extend( { 13043 show: function() { 13044 return showHide( this, true ); 13045 }, 13046 hide: function() { 13047 return showHide( this ); 13048 }, 13049 toggle: function( state ) { 13050 if ( typeof state === "boolean" ) { 13051 return state ? this.show() : this.hide(); 13052 } 13053 13054 return this.each( function() { 13055 if ( isHiddenWithinTree( this ) ) { 13056 jQuery( this ).show(); 13057 } else { 13058 jQuery( this ).hide(); 13059 } 13060 } ); 13061 } 13062} ); 13063var rcheckableType = ( /^(?:checkbox|radio)$/i ); 13064 13065var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 13066 13067var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 13068 13069 13070 13071( function() { 13072 var fragment = document.createDocumentFragment(), 13073 div = fragment.appendChild( document.createElement( "div" ) ), 13074 input = document.createElement( "input" ); 13075 13076 // Support: Android 4.0 - 4.3 only 13077 // Check state lost if the name is set (#11217) 13078 // Support: Windows Web Apps (WWA) 13079 // `name` and `type` must use .setAttribute for WWA (#14901) 13080 input.setAttribute( "type", "radio" ); 13081 input.setAttribute( "checked", "checked" ); 13082 input.setAttribute( "name", "t" ); 13083 13084 div.appendChild( input ); 13085 13086 // Support: Android <=4.1 only 13087 // Older WebKit doesn't clone checked state correctly in fragments 13088 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 13089 13090 // Support: IE <=11 only 13091 // Make sure textarea (and checkbox) defaultValue is properly cloned 13092 div.innerHTML = "<textarea>x</textarea>"; 13093 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 13094 13095 // Support: IE <=9 only 13096 // IE <=9 replaces <option> tags with their contents when inserted outside of 13097 // the select element. 13098 div.innerHTML = "<option></option>"; 13099 support.option = !!div.lastChild; 13100} )(); 13101 13102 13103// We have to close these tags to support XHTML (#13200) 13104var wrapMap = { 13105 13106 // XHTML parsers do not magically insert elements in the 13107 // same way that tag soup parsers do. So we cannot shorten 13108 // this by omitting <tbody> or other required elements. 13109 thead: [ 1, "<table>", "</table>" ], 13110 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 13111 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 13112 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 13113 13114 _default: [ 0, "", "" ] 13115}; 13116 13117wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 13118wrapMap.th = wrapMap.td; 13119 13120// Support: IE <=9 only 13121if ( !support.option ) { 13122 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 13123} 13124 13125 13126function getAll( context, tag ) { 13127 13128 // Support: IE <=9 - 11 only 13129 // Use typeof to avoid zero-argument method invocation on host objects (#15151) 13130 var ret; 13131 13132 if ( typeof context.getElementsByTagName !== "undefined" ) { 13133 ret = context.getElementsByTagName( tag || "*" ); 13134 13135 } else if ( typeof context.querySelectorAll !== "undefined" ) { 13136 ret = context.querySelectorAll( tag || "*" ); 13137 13138 } else { 13139 ret = []; 13140 } 13141 13142 if ( tag === undefined || tag && nodeName( context, tag ) ) { 13143 return jQuery.merge( [ context ], ret ); 13144 } 13145 13146 return ret; 13147} 13148 13149 13150// Mark scripts as having already been evaluated 13151function setGlobalEval( elems, refElements ) { 13152 var i = 0, 13153 l = elems.length; 13154 13155 for ( ; i < l; i++ ) { 13156 dataPriv.set( 13157 elems[ i ], 13158 "globalEval", 13159 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 13160 ); 13161 } 13162} 13163 13164 13165var rhtml = /<|&#?\w+;/; 13166 13167function buildFragment( elems, context, scripts, selection, ignored ) { 13168 var elem, tmp, tag, wrap, attached, j, 13169 fragment = context.createDocumentFragment(), 13170 nodes = [], 13171 i = 0, 13172 l = elems.length; 13173 13174 for ( ; i < l; i++ ) { 13175 elem = elems[ i ]; 13176 13177 if ( elem || elem === 0 ) { 13178 13179 // Add nodes directly 13180 if ( toType( elem ) === "object" ) { 13181 13182 // Support: Android <=4.0 only, PhantomJS 1 only 13183 // push.apply(_, arraylike) throws on ancient WebKit 13184 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 13185 13186 // Convert non-html into a text node 13187 } else if ( !rhtml.test( elem ) ) { 13188 nodes.push( context.createTextNode( elem ) ); 13189 13190 // Convert html into DOM nodes 13191 } else { 13192 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 13193 13194 // Deserialize a standard representation 13195 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 13196 wrap = wrapMap[ tag ] || wrapMap._default; 13197 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 13198 13199 // Descend through wrappers to the right content 13200 j = wrap[ 0 ]; 13201 while ( j-- ) { 13202 tmp = tmp.lastChild; 13203 } 13204 13205 // Support: Android <=4.0 only, PhantomJS 1 only 13206 // push.apply(_, arraylike) throws on ancient WebKit 13207 jQuery.merge( nodes, tmp.childNodes ); 13208 13209 // Remember the top-level container 13210 tmp = fragment.firstChild; 13211 13212 // Ensure the created nodes are orphaned (#12392) 13213 tmp.textContent = ""; 13214 } 13215 } 13216 } 13217 13218 // Remove wrapper from fragment 13219 fragment.textContent = ""; 13220 13221 i = 0; 13222 while ( ( elem = nodes[ i++ ] ) ) { 13223 13224 // Skip elements already in the context collection (trac-4087) 13225 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 13226 if ( ignored ) { 13227 ignored.push( elem ); 13228 } 13229 continue; 13230 } 13231 13232 attached = isAttached( elem ); 13233 13234 // Append to fragment 13235 tmp = getAll( fragment.appendChild( elem ), "script" ); 13236 13237 // Preserve script evaluation history 13238 if ( attached ) { 13239 setGlobalEval( tmp ); 13240 } 13241 13242 // Capture executables 13243 if ( scripts ) { 13244 j = 0; 13245 while ( ( elem = tmp[ j++ ] ) ) { 13246 if ( rscriptType.test( elem.type || "" ) ) { 13247 scripts.push( elem ); 13248 } 13249 } 13250 } 13251 } 13252 13253 return fragment; 13254} 13255 13256 13257var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 13258 13259function returnTrue() { 13260 return true; 13261} 13262 13263function returnFalse() { 13264 return false; 13265} 13266 13267// Support: IE <=9 - 11+ 13268// focus() and blur() are asynchronous, except when they are no-op. 13269// So expect focus to be synchronous when the element is already active, 13270// and blur to be synchronous when the element is not already active. 13271// (focus and blur are always synchronous in other supported browsers, 13272// this just defines when we can count on it). 13273function expectSync( elem, type ) { 13274 return ( elem === safeActiveElement() ) === ( type === "focus" ); 13275} 13276 13277// Support: IE <=9 only 13278// Accessing document.activeElement can throw unexpectedly 13279// https://bugs.jquery.com/ticket/13393 13280function safeActiveElement() { 13281 try { 13282 return document.activeElement; 13283 } catch ( err ) { } 13284} 13285 13286function on( elem, types, selector, data, fn, one ) { 13287 var origFn, type; 13288 13289 // Types can be a map of types/handlers 13290 if ( typeof types === "object" ) { 13291 13292 // ( types-Object, selector, data ) 13293 if ( typeof selector !== "string" ) { 13294 13295 // ( types-Object, data ) 13296 data = data || selector; 13297 selector = undefined; 13298 } 13299 for ( type in types ) { 13300 on( elem, type, selector, data, types[ type ], one ); 13301 } 13302 return elem; 13303 } 13304 13305 if ( data == null && fn == null ) { 13306 13307 // ( types, fn ) 13308 fn = selector; 13309 data = selector = undefined; 13310 } else if ( fn == null ) { 13311 if ( typeof selector === "string" ) { 13312 13313 // ( types, selector, fn ) 13314 fn = data; 13315 data = undefined; 13316 } else { 13317 13318 // ( types, data, fn ) 13319 fn = data; 13320 data = selector; 13321 selector = undefined; 13322 } 13323 } 13324 if ( fn === false ) { 13325 fn = returnFalse; 13326 } else if ( !fn ) { 13327 return elem; 13328 } 13329 13330 if ( one === 1 ) { 13331 origFn = fn; 13332 fn = function( event ) { 13333 13334 // Can use an empty set, since event contains the info 13335 jQuery().off( event ); 13336 return origFn.apply( this, arguments ); 13337 }; 13338 13339 // Use same guid so caller can remove using origFn 13340 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 13341 } 13342 return elem.each( function() { 13343 jQuery.event.add( this, types, fn, data, selector ); 13344 } ); 13345} 13346 13347/* 13348 * Helper functions for managing events -- not part of the public interface. 13349 * Props to Dean Edwards' addEvent library for many of the ideas. 13350 */ 13351jQuery.event = { 13352 13353 global: {}, 13354 13355 add: function( elem, types, handler, data, selector ) { 13356 13357 var handleObjIn, eventHandle, tmp, 13358 events, t, handleObj, 13359 special, handlers, type, namespaces, origType, 13360 elemData = dataPriv.get( elem ); 13361 13362 // Only attach events to objects that accept data 13363 if ( !acceptData( elem ) ) { 13364 return; 13365 } 13366 13367 // Caller can pass in an object of custom data in lieu of the handler 13368 if ( handler.handler ) { 13369 handleObjIn = handler; 13370 handler = handleObjIn.handler; 13371 selector = handleObjIn.selector; 13372 } 13373 13374 // Ensure that invalid selectors throw exceptions at attach time 13375 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 13376 if ( selector ) { 13377 jQuery.find.matchesSelector( documentElement, selector ); 13378 } 13379 13380 // Make sure that the handler has a unique ID, used to find/remove it later 13381 if ( !handler.guid ) { 13382 handler.guid = jQuery.guid++; 13383 } 13384 13385 // Init the element's event structure and main handler, if this is the first 13386 if ( !( events = elemData.events ) ) { 13387 events = elemData.events = Object.create( null ); 13388 } 13389 if ( !( eventHandle = elemData.handle ) ) { 13390 eventHandle = elemData.handle = function( e ) { 13391 13392 // Discard the second event of a jQuery.event.trigger() and 13393 // when an event is called after a page has unloaded 13394 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 13395 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 13396 }; 13397 } 13398 13399 // Handle multiple events separated by a space 13400 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 13401 t = types.length; 13402 while ( t-- ) { 13403 tmp = rtypenamespace.exec( types[ t ] ) || []; 13404 type = origType = tmp[ 1 ]; 13405 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 13406 13407 // There *must* be a type, no attaching namespace-only handlers 13408 if ( !type ) { 13409 continue; 13410 } 13411 13412 // If event changes its type, use the special event handlers for the changed type 13413 special = jQuery.event.special[ type ] || {}; 13414 13415 // If selector defined, determine special event api type, otherwise given type 13416 type = ( selector ? special.delegateType : special.bindType ) || type; 13417 13418 // Update special based on newly reset type 13419 special = jQuery.event.special[ type ] || {}; 13420 13421 // handleObj is passed to all event handlers 13422 handleObj = jQuery.extend( { 13423 type: type, 13424 origType: origType, 13425 data: data, 13426 handler: handler, 13427 guid: handler.guid, 13428 selector: selector, 13429 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 13430 namespace: namespaces.join( "." ) 13431 }, handleObjIn ); 13432 13433 // Init the event handler queue if we're the first 13434 if ( !( handlers = events[ type ] ) ) { 13435 handlers = events[ type ] = []; 13436 handlers.delegateCount = 0; 13437 13438 // Only use addEventListener if the special events handler returns false 13439 if ( !special.setup || 13440 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 13441 13442 if ( elem.addEventListener ) { 13443 elem.addEventListener( type, eventHandle ); 13444 } 13445 } 13446 } 13447 13448 if ( special.add ) { 13449 special.add.call( elem, handleObj ); 13450 13451 if ( !handleObj.handler.guid ) { 13452 handleObj.handler.guid = handler.guid; 13453 } 13454 } 13455 13456 // Add to the element's handler list, delegates in front 13457 if ( selector ) { 13458 handlers.splice( handlers.delegateCount++, 0, handleObj ); 13459 } else { 13460 handlers.push( handleObj ); 13461 } 13462 13463 // Keep track of which events have ever been used, for event optimization 13464 jQuery.event.global[ type ] = true; 13465 } 13466 13467 }, 13468 13469 // Detach an event or set of events from an element 13470 remove: function( elem, types, handler, selector, mappedTypes ) { 13471 13472 var j, origCount, tmp, 13473 events, t, handleObj, 13474 special, handlers, type, namespaces, origType, 13475 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 13476 13477 if ( !elemData || !( events = elemData.events ) ) { 13478 return; 13479 } 13480 13481 // Once for each type.namespace in types; type may be omitted 13482 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 13483 t = types.length; 13484 while ( t-- ) { 13485 tmp = rtypenamespace.exec( types[ t ] ) || []; 13486 type = origType = tmp[ 1 ]; 13487 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 13488 13489 // Unbind all events (on this namespace, if provided) for the element 13490 if ( !type ) { 13491 for ( type in events ) { 13492 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 13493 } 13494 continue; 13495 } 13496 13497 special = jQuery.event.special[ type ] || {}; 13498 type = ( selector ? special.delegateType : special.bindType ) || type; 13499 handlers = events[ type ] || []; 13500 tmp = tmp[ 2 ] && 13501 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 13502 13503 // Remove matching events 13504 origCount = j = handlers.length; 13505 while ( j-- ) { 13506 handleObj = handlers[ j ]; 13507 13508 if ( ( mappedTypes || origType === handleObj.origType ) && 13509 ( !handler || handler.guid === handleObj.guid ) && 13510 ( !tmp || tmp.test( handleObj.namespace ) ) && 13511 ( !selector || selector === handleObj.selector || 13512 selector === "**" && handleObj.selector ) ) { 13513 handlers.splice( j, 1 ); 13514 13515 if ( handleObj.selector ) { 13516 handlers.delegateCount--; 13517 } 13518 if ( special.remove ) { 13519 special.remove.call( elem, handleObj ); 13520 } 13521 } 13522 } 13523 13524 // Remove generic event handler if we removed something and no more handlers exist 13525 // (avoids potential for endless recursion during removal of special event handlers) 13526 if ( origCount && !handlers.length ) { 13527 if ( !special.teardown || 13528 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 13529 13530 jQuery.removeEvent( elem, type, elemData.handle ); 13531 } 13532 13533 delete events[ type ]; 13534 } 13535 } 13536 13537 // Remove data and the expando if it's no longer used 13538 if ( jQuery.isEmptyObject( events ) ) { 13539 dataPriv.remove( elem, "handle events" ); 13540 } 13541 }, 13542 13543 dispatch: function( nativeEvent ) { 13544 13545 var i, j, ret, matched, handleObj, handlerQueue, 13546 args = new Array( arguments.length ), 13547 13548 // Make a writable jQuery.Event from the native event object 13549 event = jQuery.event.fix( nativeEvent ), 13550 13551 handlers = ( 13552 dataPriv.get( this, "events" ) || Object.create( null ) 13553 )[ event.type ] || [], 13554 special = jQuery.event.special[ event.type ] || {}; 13555 13556 // Use the fix-ed jQuery.Event rather than the (read-only) native event 13557 args[ 0 ] = event; 13558 13559 for ( i = 1; i < arguments.length; i++ ) { 13560 args[ i ] = arguments[ i ]; 13561 } 13562 13563 event.delegateTarget = this; 13564 13565 // Call the preDispatch hook for the mapped type, and let it bail if desired 13566 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 13567 return; 13568 } 13569 13570 // Determine handlers 13571 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 13572 13573 // Run delegates first; they may want to stop propagation beneath us 13574 i = 0; 13575 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 13576 event.currentTarget = matched.elem; 13577 13578 j = 0; 13579 while ( ( handleObj = matched.handlers[ j++ ] ) && 13580 !event.isImmediatePropagationStopped() ) { 13581 13582 // If the event is namespaced, then each handler is only invoked if it is 13583 // specially universal or its namespaces are a superset of the event's. 13584 if ( !event.rnamespace || handleObj.namespace === false || 13585 event.rnamespace.test( handleObj.namespace ) ) { 13586 13587 event.handleObj = handleObj; 13588 event.data = handleObj.data; 13589 13590 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 13591 handleObj.handler ).apply( matched.elem, args ); 13592 13593 if ( ret !== undefined ) { 13594 if ( ( event.result = ret ) === false ) { 13595 event.preventDefault(); 13596 event.stopPropagation(); 13597 } 13598 } 13599 } 13600 } 13601 } 13602 13603 // Call the postDispatch hook for the mapped type 13604 if ( special.postDispatch ) { 13605 special.postDispatch.call( this, event ); 13606 } 13607 13608 return event.result; 13609 }, 13610 13611 handlers: function( event, handlers ) { 13612 var i, handleObj, sel, matchedHandlers, matchedSelectors, 13613 handlerQueue = [], 13614 delegateCount = handlers.delegateCount, 13615 cur = event.target; 13616 13617 // Find delegate handlers 13618 if ( delegateCount && 13619 13620 // Support: IE <=9 13621 // Black-hole SVG <use> instance trees (trac-13180) 13622 cur.nodeType && 13623 13624 // Support: Firefox <=42 13625 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 13626 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 13627 // Support: IE 11 only 13628 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 13629 !( event.type === "click" && event.button >= 1 ) ) { 13630 13631 for ( ; cur !== this; cur = cur.parentNode || this ) { 13632 13633 // Don't check non-elements (#13208) 13634 // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) 13635 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 13636 matchedHandlers = []; 13637 matchedSelectors = {}; 13638 for ( i = 0; i < delegateCount; i++ ) { 13639 handleObj = handlers[ i ]; 13640 13641 // Don't conflict with Object.prototype properties (#13203) 13642 sel = handleObj.selector + " "; 13643 13644 if ( matchedSelectors[ sel ] === undefined ) { 13645 matchedSelectors[ sel ] = handleObj.needsContext ? 13646 jQuery( sel, this ).index( cur ) > -1 : 13647 jQuery.find( sel, this, null, [ cur ] ).length; 13648 } 13649 if ( matchedSelectors[ sel ] ) { 13650 matchedHandlers.push( handleObj ); 13651 } 13652 } 13653 if ( matchedHandlers.length ) { 13654 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 13655 } 13656 } 13657 } 13658 } 13659 13660 // Add the remaining (directly-bound) handlers 13661 cur = this; 13662 if ( delegateCount < handlers.length ) { 13663 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 13664 } 13665 13666 return handlerQueue; 13667 }, 13668 13669 addProp: function( name, hook ) { 13670 Object.defineProperty( jQuery.Event.prototype, name, { 13671 enumerable: true, 13672 configurable: true, 13673 13674 get: isFunction( hook ) ? 13675 function() { 13676 if ( this.originalEvent ) { 13677 return hook( this.originalEvent ); 13678 } 13679 } : 13680 function() { 13681 if ( this.originalEvent ) { 13682 return this.originalEvent[ name ]; 13683 } 13684 }, 13685 13686 set: function( value ) { 13687 Object.defineProperty( this, name, { 13688 enumerable: true, 13689 configurable: true, 13690 writable: true, 13691 value: value 13692 } ); 13693 } 13694 } ); 13695 }, 13696 13697 fix: function( originalEvent ) { 13698 return originalEvent[ jQuery.expando ] ? 13699 originalEvent : 13700 new jQuery.Event( originalEvent ); 13701 }, 13702 13703 special: { 13704 load: { 13705 13706 // Prevent triggered image.load events from bubbling to window.load 13707 noBubble: true 13708 }, 13709 click: { 13710 13711 // Utilize native event to ensure correct state for checkable inputs 13712 setup: function( data ) { 13713 13714 // For mutual compressibility with _default, replace `this` access with a local var. 13715 // `|| data` is dead code meant only to preserve the variable through minification. 13716 var el = this || data; 13717 13718 // Claim the first handler 13719 if ( rcheckableType.test( el.type ) && 13720 el.click && nodeName( el, "input" ) ) { 13721 13722 // dataPriv.set( el, "click", ... ) 13723 leverageNative( el, "click", returnTrue ); 13724 } 13725 13726 // Return false to allow normal processing in the caller 13727 return false; 13728 }, 13729 trigger: function( data ) { 13730 13731 // For mutual compressibility with _default, replace `this` access with a local var. 13732 // `|| data` is dead code meant only to preserve the variable through minification. 13733 var el = this || data; 13734 13735 // Force setup before triggering a click 13736 if ( rcheckableType.test( el.type ) && 13737 el.click && nodeName( el, "input" ) ) { 13738 13739 leverageNative( el, "click" ); 13740 } 13741 13742 // Return non-false to allow normal event-path propagation 13743 return true; 13744 }, 13745 13746 // For cross-browser consistency, suppress native .click() on links 13747 // Also prevent it if we're currently inside a leveraged native-event stack 13748 _default: function( event ) { 13749 var target = event.target; 13750 return rcheckableType.test( target.type ) && 13751 target.click && nodeName( target, "input" ) && 13752 dataPriv.get( target, "click" ) || 13753 nodeName( target, "a" ); 13754 } 13755 }, 13756 13757 beforeunload: { 13758 postDispatch: function( event ) { 13759 13760 // Support: Firefox 20+ 13761 // Firefox doesn't alert if the returnValue field is not set. 13762 if ( event.result !== undefined && event.originalEvent ) { 13763 event.originalEvent.returnValue = event.result; 13764 } 13765 } 13766 } 13767 } 13768}; 13769 13770// Ensure the presence of an event listener that handles manually-triggered 13771// synthetic events by interrupting progress until reinvoked in response to 13772// *native* events that it fires directly, ensuring that state changes have 13773// already occurred before other listeners are invoked. 13774function leverageNative( el, type, expectSync ) { 13775 13776 // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add 13777 if ( !expectSync ) { 13778 if ( dataPriv.get( el, type ) === undefined ) { 13779 jQuery.event.add( el, type, returnTrue ); 13780 } 13781 return; 13782 } 13783 13784 // Register the controller as a special universal handler for all event namespaces 13785 dataPriv.set( el, type, false ); 13786 jQuery.event.add( el, type, { 13787 namespace: false, 13788 handler: function( event ) { 13789 var notAsync, result, 13790 saved = dataPriv.get( this, type ); 13791 13792 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 13793 13794 // Interrupt processing of the outer synthetic .trigger()ed event 13795 // Saved data should be false in such cases, but might be a leftover capture object 13796 // from an async native handler (gh-4350) 13797 if ( !saved.length ) { 13798 13799 // Store arguments for use when handling the inner native event 13800 // There will always be at least one argument (an event object), so this array 13801 // will not be confused with a leftover capture object. 13802 saved = slice.call( arguments ); 13803 dataPriv.set( this, type, saved ); 13804 13805 // Trigger the native event and capture its result 13806 // Support: IE <=9 - 11+ 13807 // focus() and blur() are asynchronous 13808 notAsync = expectSync( this, type ); 13809 this[ type ](); 13810 result = dataPriv.get( this, type ); 13811 if ( saved !== result || notAsync ) { 13812 dataPriv.set( this, type, false ); 13813 } else { 13814 result = {}; 13815 } 13816 if ( saved !== result ) { 13817 13818 // Cancel the outer synthetic event 13819 event.stopImmediatePropagation(); 13820 event.preventDefault(); 13821 13822 // Support: Chrome 86+ 13823 // In Chrome, if an element having a focusout handler is blurred by 13824 // clicking outside of it, it invokes the handler synchronously. If 13825 // that handler calls `.remove()` on the element, the data is cleared, 13826 // leaving `result` undefined. We need to guard against this. 13827 return result && result.value; 13828 } 13829 13830 // If this is an inner synthetic event for an event with a bubbling surrogate 13831 // (focus or blur), assume that the surrogate already propagated from triggering the 13832 // native event and prevent that from happening again here. 13833 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 13834 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 13835 // less bad than duplication. 13836 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 13837 event.stopPropagation(); 13838 } 13839 13840 // If this is a native event triggered above, everything is now in order 13841 // Fire an inner synthetic event with the original arguments 13842 } else if ( saved.length ) { 13843 13844 // ...and capture the result 13845 dataPriv.set( this, type, { 13846 value: jQuery.event.trigger( 13847 13848 // Support: IE <=9 - 11+ 13849 // Extend with the prototype to reset the above stopImmediatePropagation() 13850 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), 13851 saved.slice( 1 ), 13852 this 13853 ) 13854 } ); 13855 13856 // Abort handling of the native event 13857 event.stopImmediatePropagation(); 13858 } 13859 } 13860 } ); 13861} 13862 13863jQuery.removeEvent = function( elem, type, handle ) { 13864 13865 // This "if" is needed for plain objects 13866 if ( elem.removeEventListener ) { 13867 elem.removeEventListener( type, handle ); 13868 } 13869}; 13870 13871jQuery.Event = function( src, props ) { 13872 13873 // Allow instantiation without the 'new' keyword 13874 if ( !( this instanceof jQuery.Event ) ) { 13875 return new jQuery.Event( src, props ); 13876 } 13877 13878 // Event object 13879 if ( src && src.type ) { 13880 this.originalEvent = src; 13881 this.type = src.type; 13882 13883 // Events bubbling up the document may have been marked as prevented 13884 // by a handler lower down the tree; reflect the correct value. 13885 this.isDefaultPrevented = src.defaultPrevented || 13886 src.defaultPrevented === undefined && 13887 13888 // Support: Android <=2.3 only 13889 src.returnValue === false ? 13890 returnTrue : 13891 returnFalse; 13892 13893 // Create target properties 13894 // Support: Safari <=6 - 7 only 13895 // Target should not be a text node (#504, #13143) 13896 this.target = ( src.target && src.target.nodeType === 3 ) ? 13897 src.target.parentNode : 13898 src.target; 13899 13900 this.currentTarget = src.currentTarget; 13901 this.relatedTarget = src.relatedTarget; 13902 13903 // Event type 13904 } else { 13905 this.type = src; 13906 } 13907 13908 // Put explicitly provided properties onto the event object 13909 if ( props ) { 13910 jQuery.extend( this, props ); 13911 } 13912 13913 // Create a timestamp if incoming event doesn't have one 13914 this.timeStamp = src && src.timeStamp || Date.now(); 13915 13916 // Mark it as fixed 13917 this[ jQuery.expando ] = true; 13918}; 13919 13920// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 13921// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 13922jQuery.Event.prototype = { 13923 constructor: jQuery.Event, 13924 isDefaultPrevented: returnFalse, 13925 isPropagationStopped: returnFalse, 13926 isImmediatePropagationStopped: returnFalse, 13927 isSimulated: false, 13928 13929 preventDefault: function() { 13930 var e = this.originalEvent; 13931 13932 this.isDefaultPrevented = returnTrue; 13933 13934 if ( e && !this.isSimulated ) { 13935 e.preventDefault(); 13936 } 13937 }, 13938 stopPropagation: function() { 13939 var e = this.originalEvent; 13940 13941 this.isPropagationStopped = returnTrue; 13942 13943 if ( e && !this.isSimulated ) { 13944 e.stopPropagation(); 13945 } 13946 }, 13947 stopImmediatePropagation: function() { 13948 var e = this.originalEvent; 13949 13950 this.isImmediatePropagationStopped = returnTrue; 13951 13952 if ( e && !this.isSimulated ) { 13953 e.stopImmediatePropagation(); 13954 } 13955 13956 this.stopPropagation(); 13957 } 13958}; 13959 13960// Includes all common event props including KeyEvent and MouseEvent specific props 13961jQuery.each( { 13962 altKey: true, 13963 bubbles: true, 13964 cancelable: true, 13965 changedTouches: true, 13966 ctrlKey: true, 13967 detail: true, 13968 eventPhase: true, 13969 metaKey: true, 13970 pageX: true, 13971 pageY: true, 13972 shiftKey: true, 13973 view: true, 13974 "char": true, 13975 code: true, 13976 charCode: true, 13977 key: true, 13978 keyCode: true, 13979 button: true, 13980 buttons: true, 13981 clientX: true, 13982 clientY: true, 13983 offsetX: true, 13984 offsetY: true, 13985 pointerId: true, 13986 pointerType: true, 13987 screenX: true, 13988 screenY: true, 13989 targetTouches: true, 13990 toElement: true, 13991 touches: true, 13992 which: true 13993}, jQuery.event.addProp ); 13994 13995jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 13996 jQuery.event.special[ type ] = { 13997 13998 // Utilize native event if possible so blur/focus sequence is correct 13999 setup: function() { 14000 14001 // Claim the first handler 14002 // dataPriv.set( this, "focus", ... ) 14003 // dataPriv.set( this, "blur", ... ) 14004 leverageNative( this, type, expectSync ); 14005 14006 // Return false to allow normal processing in the caller 14007 return false; 14008 }, 14009 trigger: function() { 14010 14011 // Force setup before trigger 14012 leverageNative( this, type ); 14013 14014 // Return non-false to allow normal event-path propagation 14015 return true; 14016 }, 14017 14018 // Suppress native focus or blur as it's already being fired 14019 // in leverageNative. 14020 _default: function() { 14021 return true; 14022 }, 14023 14024 delegateType: delegateType 14025 }; 14026} ); 14027 14028// Create mouseenter/leave events using mouseover/out and event-time checks 14029// so that event delegation works in jQuery. 14030// Do the same for pointerenter/pointerleave and pointerover/pointerout 14031// 14032// Support: Safari 7 only 14033// Safari sends mouseenter too often; see: 14034// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 14035// for the description of the bug (it existed in older Chrome versions as well). 14036jQuery.each( { 14037 mouseenter: "mouseover", 14038 mouseleave: "mouseout", 14039 pointerenter: "pointerover", 14040 pointerleave: "pointerout" 14041}, function( orig, fix ) { 14042 jQuery.event.special[ orig ] = { 14043 delegateType: fix, 14044 bindType: fix, 14045 14046 handle: function( event ) { 14047 var ret, 14048 target = this, 14049 related = event.relatedTarget, 14050 handleObj = event.handleObj; 14051 14052 // For mouseenter/leave call the handler if related is outside the target. 14053 // NB: No relatedTarget if the mouse left/entered the browser window 14054 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 14055 event.type = handleObj.origType; 14056 ret = handleObj.handler.apply( this, arguments ); 14057 event.type = fix; 14058 } 14059 return ret; 14060 } 14061 }; 14062} ); 14063 14064jQuery.fn.extend( { 14065 14066 on: function( types, selector, data, fn ) { 14067 return on( this, types, selector, data, fn ); 14068 }, 14069 one: function( types, selector, data, fn ) { 14070 return on( this, types, selector, data, fn, 1 ); 14071 }, 14072 off: function( types, selector, fn ) { 14073 var handleObj, type; 14074 if ( types && types.preventDefault && types.handleObj ) { 14075 14076 // ( event ) dispatched jQuery.Event 14077 handleObj = types.handleObj; 14078 jQuery( types.delegateTarget ).off( 14079 handleObj.namespace ? 14080 handleObj.origType + "." + handleObj.namespace : 14081 handleObj.origType, 14082 handleObj.selector, 14083 handleObj.handler 14084 ); 14085 return this; 14086 } 14087 if ( typeof types === "object" ) { 14088 14089 // ( types-object [, selector] ) 14090 for ( type in types ) { 14091 this.off( type, selector, types[ type ] ); 14092 } 14093 return this; 14094 } 14095 if ( selector === false || typeof selector === "function" ) { 14096 14097 // ( types [, fn] ) 14098 fn = selector; 14099 selector = undefined; 14100 } 14101 if ( fn === false ) { 14102 fn = returnFalse; 14103 } 14104 return this.each( function() { 14105 jQuery.event.remove( this, types, fn, selector ); 14106 } ); 14107 } 14108} ); 14109 14110 14111var 14112 14113 // Support: IE <=10 - 11, Edge 12 - 13 only 14114 // In IE/Edge using regex groups here causes severe slowdowns. 14115 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 14116 rnoInnerhtml = /<script|<style|<link/i, 14117 14118 // checked="checked" or checked 14119 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 14120 rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; 14121 14122// Prefer a tbody over its parent table for containing new rows 14123function manipulationTarget( elem, content ) { 14124 if ( nodeName( elem, "table" ) && 14125 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 14126 14127 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 14128 } 14129 14130 return elem; 14131} 14132 14133// Replace/restore the type attribute of script elements for safe DOM manipulation 14134function disableScript( elem ) { 14135 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 14136 return elem; 14137} 14138function restoreScript( elem ) { 14139 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 14140 elem.type = elem.type.slice( 5 ); 14141 } else { 14142 elem.removeAttribute( "type" ); 14143 } 14144 14145 return elem; 14146} 14147 14148function cloneCopyEvent( src, dest ) { 14149 var i, l, type, pdataOld, udataOld, udataCur, events; 14150 14151 if ( dest.nodeType !== 1 ) { 14152 return; 14153 } 14154 14155 // 1. Copy private data: events, handlers, etc. 14156 if ( dataPriv.hasData( src ) ) { 14157 pdataOld = dataPriv.get( src ); 14158 events = pdataOld.events; 14159 14160 if ( events ) { 14161 dataPriv.remove( dest, "handle events" ); 14162 14163 for ( type in events ) { 14164 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 14165 jQuery.event.add( dest, type, events[ type ][ i ] ); 14166 } 14167 } 14168 } 14169 } 14170 14171 // 2. Copy user data 14172 if ( dataUser.hasData( src ) ) { 14173 udataOld = dataUser.access( src ); 14174 udataCur = jQuery.extend( {}, udataOld ); 14175 14176 dataUser.set( dest, udataCur ); 14177 } 14178} 14179 14180// Fix IE bugs, see support tests 14181function fixInput( src, dest ) { 14182 var nodeName = dest.nodeName.toLowerCase(); 14183 14184 // Fails to persist the checked state of a cloned checkbox or radio button. 14185 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 14186 dest.checked = src.checked; 14187 14188 // Fails to return the selected option to the default selected state when cloning options 14189 } else if ( nodeName === "input" || nodeName === "textarea" ) { 14190 dest.defaultValue = src.defaultValue; 14191 } 14192} 14193 14194function domManip( collection, args, callback, ignored ) { 14195 14196 // Flatten any nested arrays 14197 args = flat( args ); 14198 14199 var fragment, first, scripts, hasScripts, node, doc, 14200 i = 0, 14201 l = collection.length, 14202 iNoClone = l - 1, 14203 value = args[ 0 ], 14204 valueIsFunction = isFunction( value ); 14205 14206 // We can't cloneNode fragments that contain checked, in WebKit 14207 if ( valueIsFunction || 14208 ( l > 1 && typeof value === "string" && 14209 !support.checkClone && rchecked.test( value ) ) ) { 14210 return collection.each( function( index ) { 14211 var self = collection.eq( index ); 14212 if ( valueIsFunction ) { 14213 args[ 0 ] = value.call( this, index, self.html() ); 14214 } 14215 domManip( self, args, callback, ignored ); 14216 } ); 14217 } 14218 14219 if ( l ) { 14220 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 14221 first = fragment.firstChild; 14222 14223 if ( fragment.childNodes.length === 1 ) { 14224 fragment = first; 14225 } 14226 14227 // Require either new content or an interest in ignored elements to invoke the callback 14228 if ( first || ignored ) { 14229 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 14230 hasScripts = scripts.length; 14231 14232 // Use the original fragment for the last item 14233 // instead of the first because it can end up 14234 // being emptied incorrectly in certain situations (#8070). 14235 for ( ; i < l; i++ ) { 14236 node = fragment; 14237 14238 if ( i !== iNoClone ) { 14239 node = jQuery.clone( node, true, true ); 14240 14241 // Keep references to cloned scripts for later restoration 14242 if ( hasScripts ) { 14243 14244 // Support: Android <=4.0 only, PhantomJS 1 only 14245 // push.apply(_, arraylike) throws on ancient WebKit 14246 jQuery.merge( scripts, getAll( node, "script" ) ); 14247 } 14248 } 14249 14250 callback.call( collection[ i ], node, i ); 14251 } 14252 14253 if ( hasScripts ) { 14254 doc = scripts[ scripts.length - 1 ].ownerDocument; 14255 14256 // Reenable scripts 14257 jQuery.map( scripts, restoreScript ); 14258 14259 // Evaluate executable scripts on first document insertion 14260 for ( i = 0; i < hasScripts; i++ ) { 14261 node = scripts[ i ]; 14262 if ( rscriptType.test( node.type || "" ) && 14263 !dataPriv.access( node, "globalEval" ) && 14264 jQuery.contains( doc, node ) ) { 14265 14266 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 14267 14268 // Optional AJAX dependency, but won't run scripts if not present 14269 if ( jQuery._evalUrl && !node.noModule ) { 14270 jQuery._evalUrl( node.src, { 14271 nonce: node.nonce || node.getAttribute( "nonce" ) 14272 }, doc ); 14273 } 14274 } else { 14275 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 14276 } 14277 } 14278 } 14279 } 14280 } 14281 } 14282 14283 return collection; 14284} 14285 14286function remove( elem, selector, keepData ) { 14287 var node, 14288 nodes = selector ? jQuery.filter( selector, elem ) : elem, 14289 i = 0; 14290 14291 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 14292 if ( !keepData && node.nodeType === 1 ) { 14293 jQuery.cleanData( getAll( node ) ); 14294 } 14295 14296 if ( node.parentNode ) { 14297 if ( keepData && isAttached( node ) ) { 14298 setGlobalEval( getAll( node, "script" ) ); 14299 } 14300 node.parentNode.removeChild( node ); 14301 } 14302 } 14303 14304 return elem; 14305} 14306 14307jQuery.extend( { 14308 htmlPrefilter: function( html ) { 14309 return html; 14310 }, 14311 14312 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 14313 var i, l, srcElements, destElements, 14314 clone = elem.cloneNode( true ), 14315 inPage = isAttached( elem ); 14316 14317 // Fix IE cloning issues 14318 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 14319 !jQuery.isXMLDoc( elem ) ) { 14320 14321 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 14322 destElements = getAll( clone ); 14323 srcElements = getAll( elem ); 14324 14325 for ( i = 0, l = srcElements.length; i < l; i++ ) { 14326 fixInput( srcElements[ i ], destElements[ i ] ); 14327 } 14328 } 14329 14330 // Copy the events from the original to the clone 14331 if ( dataAndEvents ) { 14332 if ( deepDataAndEvents ) { 14333 srcElements = srcElements || getAll( elem ); 14334 destElements = destElements || getAll( clone ); 14335 14336 for ( i = 0, l = srcElements.length; i < l; i++ ) { 14337 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 14338 } 14339 } else { 14340 cloneCopyEvent( elem, clone ); 14341 } 14342 } 14343 14344 // Preserve script evaluation history 14345 destElements = getAll( clone, "script" ); 14346 if ( destElements.length > 0 ) { 14347 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 14348 } 14349 14350 // Return the cloned set 14351 return clone; 14352 }, 14353 14354 cleanData: function( elems ) { 14355 var data, elem, type, 14356 special = jQuery.event.special, 14357 i = 0; 14358 14359 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 14360 if ( acceptData( elem ) ) { 14361 if ( ( data = elem[ dataPriv.expando ] ) ) { 14362 if ( data.events ) { 14363 for ( type in data.events ) { 14364 if ( special[ type ] ) { 14365 jQuery.event.remove( elem, type ); 14366 14367 // This is a shortcut to avoid jQuery.event.remove's overhead 14368 } else { 14369 jQuery.removeEvent( elem, type, data.handle ); 14370 } 14371 } 14372 } 14373 14374 // Support: Chrome <=35 - 45+ 14375 // Assign undefined instead of using delete, see Data#remove 14376 elem[ dataPriv.expando ] = undefined; 14377 } 14378 if ( elem[ dataUser.expando ] ) { 14379 14380 // Support: Chrome <=35 - 45+ 14381 // Assign undefined instead of using delete, see Data#remove 14382 elem[ dataUser.expando ] = undefined; 14383 } 14384 } 14385 } 14386 } 14387} ); 14388 14389jQuery.fn.extend( { 14390 detach: function( selector ) { 14391 return remove( this, selector, true ); 14392 }, 14393 14394 remove: function( selector ) { 14395 return remove( this, selector ); 14396 }, 14397 14398 text: function( value ) { 14399 return access( this, function( value ) { 14400 return value === undefined ? 14401 jQuery.text( this ) : 14402 this.empty().each( function() { 14403 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 14404 this.textContent = value; 14405 } 14406 } ); 14407 }, null, value, arguments.length ); 14408 }, 14409 14410 append: function() { 14411 return domManip( this, arguments, function( elem ) { 14412 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 14413 var target = manipulationTarget( this, elem ); 14414 target.appendChild( elem ); 14415 } 14416 } ); 14417 }, 14418 14419 prepend: function() { 14420 return domManip( this, arguments, function( elem ) { 14421 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 14422 var target = manipulationTarget( this, elem ); 14423 target.insertBefore( elem, target.firstChild ); 14424 } 14425 } ); 14426 }, 14427 14428 before: function() { 14429 return domManip( this, arguments, function( elem ) { 14430 if ( this.parentNode ) { 14431 this.parentNode.insertBefore( elem, this ); 14432 } 14433 } ); 14434 }, 14435 14436 after: function() { 14437 return domManip( this, arguments, function( elem ) { 14438 if ( this.parentNode ) { 14439 this.parentNode.insertBefore( elem, this.nextSibling ); 14440 } 14441 } ); 14442 }, 14443 14444 empty: function() { 14445 var elem, 14446 i = 0; 14447 14448 for ( ; ( elem = this[ i ] ) != null; i++ ) { 14449 if ( elem.nodeType === 1 ) { 14450 14451 // Prevent memory leaks 14452 jQuery.cleanData( getAll( elem, false ) ); 14453 14454 // Remove any remaining nodes 14455 elem.textContent = ""; 14456 } 14457 } 14458 14459 return this; 14460 }, 14461 14462 clone: function( dataAndEvents, deepDataAndEvents ) { 14463 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 14464 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 14465 14466 return this.map( function() { 14467 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 14468 } ); 14469 }, 14470 14471 html: function( value ) { 14472 return access( this, function( value ) { 14473 var elem = this[ 0 ] || {}, 14474 i = 0, 14475 l = this.length; 14476 14477 if ( value === undefined && elem.nodeType === 1 ) { 14478 return elem.innerHTML; 14479 } 14480 14481 // See if we can take a shortcut and just use innerHTML 14482 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 14483 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 14484 14485 value = jQuery.htmlPrefilter( value ); 14486 14487 try { 14488 for ( ; i < l; i++ ) { 14489 elem = this[ i ] || {}; 14490 14491 // Remove element nodes and prevent memory leaks 14492 if ( elem.nodeType === 1 ) { 14493 jQuery.cleanData( getAll( elem, false ) ); 14494 elem.innerHTML = value; 14495 } 14496 } 14497 14498 elem = 0; 14499 14500 // If using innerHTML throws an exception, use the fallback method 14501 } catch ( e ) {} 14502 } 14503 14504 if ( elem ) { 14505 this.empty().append( value ); 14506 } 14507 }, null, value, arguments.length ); 14508 }, 14509 14510 replaceWith: function() { 14511 var ignored = []; 14512 14513 // Make the changes, replacing each non-ignored context element with the new content 14514 return domManip( this, arguments, function( elem ) { 14515 var parent = this.parentNode; 14516 14517 if ( jQuery.inArray( this, ignored ) < 0 ) { 14518 jQuery.cleanData( getAll( this ) ); 14519 if ( parent ) { 14520 parent.replaceChild( elem, this ); 14521 } 14522 } 14523 14524 // Force callback invocation 14525 }, ignored ); 14526 } 14527} ); 14528 14529jQuery.each( { 14530 appendTo: "append", 14531 prependTo: "prepend", 14532 insertBefore: "before", 14533 insertAfter: "after", 14534 replaceAll: "replaceWith" 14535}, function( name, original ) { 14536 jQuery.fn[ name ] = function( selector ) { 14537 var elems, 14538 ret = [], 14539 insert = jQuery( selector ), 14540 last = insert.length - 1, 14541 i = 0; 14542 14543 for ( ; i <= last; i++ ) { 14544 elems = i === last ? this : this.clone( true ); 14545 jQuery( insert[ i ] )[ original ]( elems ); 14546 14547 // Support: Android <=4.0 only, PhantomJS 1 only 14548 // .get() because push.apply(_, arraylike) throws on ancient WebKit 14549 push.apply( ret, elems.get() ); 14550 } 14551 14552 return this.pushStack( ret ); 14553 }; 14554} ); 14555var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 14556 14557var getStyles = function( elem ) { 14558 14559 // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 14560 // IE throws on elements created in popups 14561 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 14562 var view = elem.ownerDocument.defaultView; 14563 14564 if ( !view || !view.opener ) { 14565 view = window; 14566 } 14567 14568 return view.getComputedStyle( elem ); 14569 }; 14570 14571var swap = function( elem, options, callback ) { 14572 var ret, name, 14573 old = {}; 14574 14575 // Remember the old values, and insert the new ones 14576 for ( name in options ) { 14577 old[ name ] = elem.style[ name ]; 14578 elem.style[ name ] = options[ name ]; 14579 } 14580 14581 ret = callback.call( elem ); 14582 14583 // Revert the old values 14584 for ( name in options ) { 14585 elem.style[ name ] = old[ name ]; 14586 } 14587 14588 return ret; 14589}; 14590 14591 14592var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 14593 14594 14595 14596( function() { 14597 14598 // Executing both pixelPosition & boxSizingReliable tests require only one layout 14599 // so they're executed at the same time to save the second computation. 14600 function computeStyleTests() { 14601 14602 // This is a singleton, we need to execute it only once 14603 if ( !div ) { 14604 return; 14605 } 14606 14607 container.style.cssText = "position:absolute;left:-11111px;width:60px;" + 14608 "margin-top:1px;padding:0;border:0"; 14609 div.style.cssText = 14610 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 14611 "margin:auto;border:1px;padding:1px;" + 14612 "width:60%;top:1%"; 14613 documentElement.appendChild( container ).appendChild( div ); 14614 14615 var divStyle = window.getComputedStyle( div ); 14616 pixelPositionVal = divStyle.top !== "1%"; 14617 14618 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 14619 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 14620 14621 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 14622 // Some styles come back with percentage values, even though they shouldn't 14623 div.style.right = "60%"; 14624 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 14625 14626 // Support: IE 9 - 11 only 14627 // Detect misreporting of content dimensions for box-sizing:border-box elements 14628 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 14629 14630 // Support: IE 9 only 14631 // Detect overflow:scroll screwiness (gh-3699) 14632 // Support: Chrome <=64 14633 // Don't get tricked when zoom affects offsetWidth (gh-4029) 14634 div.style.position = "absolute"; 14635 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 14636 14637 documentElement.removeChild( container ); 14638 14639 // Nullify the div so it wouldn't be stored in the memory and 14640 // it will also be a sign that checks already performed 14641 div = null; 14642 } 14643 14644 function roundPixelMeasures( measure ) { 14645 return Math.round( parseFloat( measure ) ); 14646 } 14647 14648 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 14649 reliableTrDimensionsVal, reliableMarginLeftVal, 14650 container = document.createElement( "div" ), 14651 div = document.createElement( "div" ); 14652 14653 // Finish early in limited (non-browser) environments 14654 if ( !div.style ) { 14655 return; 14656 } 14657 14658 // Support: IE <=9 - 11 only 14659 // Style of cloned element affects source element cloned (#8908) 14660 div.style.backgroundClip = "content-box"; 14661 div.cloneNode( true ).style.backgroundClip = ""; 14662 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 14663 14664 jQuery.extend( support, { 14665 boxSizingReliable: function() { 14666 computeStyleTests(); 14667 return boxSizingReliableVal; 14668 }, 14669 pixelBoxStyles: function() { 14670 computeStyleTests(); 14671 return pixelBoxStylesVal; 14672 }, 14673 pixelPosition: function() { 14674 computeStyleTests(); 14675 return pixelPositionVal; 14676 }, 14677 reliableMarginLeft: function() { 14678 computeStyleTests(); 14679 return reliableMarginLeftVal; 14680 }, 14681 scrollboxSize: function() { 14682 computeStyleTests(); 14683 return scrollboxSizeVal; 14684 }, 14685 14686 // Support: IE 9 - 11+, Edge 15 - 18+ 14687 // IE/Edge misreport `getComputedStyle` of table rows with width/height 14688 // set in CSS while `offset*` properties report correct values. 14689 // Behavior in IE 9 is more subtle than in newer versions & it passes 14690 // some versions of this test; make sure not to make it pass there! 14691 // 14692 // Support: Firefox 70+ 14693 // Only Firefox includes border widths 14694 // in computed dimensions. (gh-4529) 14695 reliableTrDimensions: function() { 14696 var table, tr, trChild, trStyle; 14697 if ( reliableTrDimensionsVal == null ) { 14698 table = document.createElement( "table" ); 14699 tr = document.createElement( "tr" ); 14700 trChild = document.createElement( "div" ); 14701 14702 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 14703 tr.style.cssText = "border:1px solid"; 14704 14705 // Support: Chrome 86+ 14706 // Height set through cssText does not get applied. 14707 // Computed height then comes back as 0. 14708 tr.style.height = "1px"; 14709 trChild.style.height = "9px"; 14710 14711 // Support: Android 8 Chrome 86+ 14712 // In our bodyBackground.html iframe, 14713 // display for all div elements is set to "inline", 14714 // which causes a problem only in Android 8 Chrome 86. 14715 // Ensuring the div is display: block 14716 // gets around this issue. 14717 trChild.style.display = "block"; 14718 14719 documentElement 14720 .appendChild( table ) 14721 .appendChild( tr ) 14722 .appendChild( trChild ); 14723 14724 trStyle = window.getComputedStyle( tr ); 14725 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 14726 parseInt( trStyle.borderTopWidth, 10 ) + 14727 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 14728 14729 documentElement.removeChild( table ); 14730 } 14731 return reliableTrDimensionsVal; 14732 } 14733 } ); 14734} )(); 14735 14736 14737function curCSS( elem, name, computed ) { 14738 var width, minWidth, maxWidth, ret, 14739 14740 // Support: Firefox 51+ 14741 // Retrieving style before computed somehow 14742 // fixes an issue with getting wrong values 14743 // on detached elements 14744 style = elem.style; 14745 14746 computed = computed || getStyles( elem ); 14747 14748 // getPropertyValue is needed for: 14749 // .css('filter') (IE 9 only, #12537) 14750 // .css('--customProperty) (#3144) 14751 if ( computed ) { 14752 ret = computed.getPropertyValue( name ) || computed[ name ]; 14753 14754 if ( ret === "" && !isAttached( elem ) ) { 14755 ret = jQuery.style( elem, name ); 14756 } 14757 14758 // A tribute to the "awesome hack by Dean Edwards" 14759 // Android Browser returns percentage for some values, 14760 // but width seems to be reliably pixels. 14761 // This is against the CSSOM draft spec: 14762 // https://drafts.csswg.org/cssom/#resolved-values 14763 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 14764 14765 // Remember the original values 14766 width = style.width; 14767 minWidth = style.minWidth; 14768 maxWidth = style.maxWidth; 14769 14770 // Put in the new values to get a computed value out 14771 style.minWidth = style.maxWidth = style.width = ret; 14772 ret = computed.width; 14773 14774 // Revert the changed values 14775 style.width = width; 14776 style.minWidth = minWidth; 14777 style.maxWidth = maxWidth; 14778 } 14779 } 14780 14781 return ret !== undefined ? 14782 14783 // Support: IE <=9 - 11 only 14784 // IE returns zIndex value as an integer. 14785 ret + "" : 14786 ret; 14787} 14788 14789 14790function addGetHookIf( conditionFn, hookFn ) { 14791 14792 // Define the hook, we'll check on the first run if it's really needed. 14793 return { 14794 get: function() { 14795 if ( conditionFn() ) { 14796 14797 // Hook not needed (or it's not possible to use it due 14798 // to missing dependency), remove it. 14799 delete this.get; 14800 return; 14801 } 14802 14803 // Hook needed; redefine it so that the support test is not executed again. 14804 return ( this.get = hookFn ).apply( this, arguments ); 14805 } 14806 }; 14807} 14808 14809 14810var cssPrefixes = [ "Webkit", "Moz", "ms" ], 14811 emptyStyle = document.createElement( "div" ).style, 14812 vendorProps = {}; 14813 14814// Return a vendor-prefixed property or undefined 14815function vendorPropName( name ) { 14816 14817 // Check for vendor prefixed names 14818 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 14819 i = cssPrefixes.length; 14820 14821 while ( i-- ) { 14822 name = cssPrefixes[ i ] + capName; 14823 if ( name in emptyStyle ) { 14824 return name; 14825 } 14826 } 14827} 14828 14829// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 14830function finalPropName( name ) { 14831 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 14832 14833 if ( final ) { 14834 return final; 14835 } 14836 if ( name in emptyStyle ) { 14837 return name; 14838 } 14839 return vendorProps[ name ] = vendorPropName( name ) || name; 14840} 14841 14842 14843var 14844 14845 // Swappable if display is none or starts with table 14846 // except "table", "table-cell", or "table-caption" 14847 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 14848 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 14849 rcustomProp = /^--/, 14850 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 14851 cssNormalTransform = { 14852 letterSpacing: "0", 14853 fontWeight: "400" 14854 }; 14855 14856function setPositiveNumber( _elem, value, subtract ) { 14857 14858 // Any relative (+/-) values have already been 14859 // normalized at this point 14860 var matches = rcssNum.exec( value ); 14861 return matches ? 14862 14863 // Guard against undefined "subtract", e.g., when used as in cssHooks 14864 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 14865 value; 14866} 14867 14868function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 14869 var i = dimension === "width" ? 1 : 0, 14870 extra = 0, 14871 delta = 0; 14872 14873 // Adjustment may not be necessary 14874 if ( box === ( isBorderBox ? "border" : "content" ) ) { 14875 return 0; 14876 } 14877 14878 for ( ; i < 4; i += 2 ) { 14879 14880 // Both box models exclude margin 14881 if ( box === "margin" ) { 14882 delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 14883 } 14884 14885 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 14886 if ( !isBorderBox ) { 14887 14888 // Add padding 14889 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 14890 14891 // For "border" or "margin", add border 14892 if ( box !== "padding" ) { 14893 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 14894 14895 // But still keep track of it otherwise 14896 } else { 14897 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 14898 } 14899 14900 // If we get here with a border-box (content + padding + border), we're seeking "content" or 14901 // "padding" or "margin" 14902 } else { 14903 14904 // For "content", subtract padding 14905 if ( box === "content" ) { 14906 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 14907 } 14908 14909 // For "content" or "padding", subtract border 14910 if ( box !== "margin" ) { 14911 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 14912 } 14913 } 14914 } 14915 14916 // Account for positive content-box scroll gutter when requested by providing computedVal 14917 if ( !isBorderBox && computedVal >= 0 ) { 14918 14919 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 14920 // Assuming integer scroll gutter, subtract the rest and round down 14921 delta += Math.max( 0, Math.ceil( 14922 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 14923 computedVal - 14924 delta - 14925 extra - 14926 0.5 14927 14928 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 14929 // Use an explicit zero to avoid NaN (gh-3964) 14930 ) ) || 0; 14931 } 14932 14933 return delta; 14934} 14935 14936function getWidthOrHeight( elem, dimension, extra ) { 14937 14938 // Start with computed style 14939 var styles = getStyles( elem ), 14940 14941 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 14942 // Fake content-box until we know it's needed to know the true value. 14943 boxSizingNeeded = !support.boxSizingReliable() || extra, 14944 isBorderBox = boxSizingNeeded && 14945 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 14946 valueIsBorderBox = isBorderBox, 14947 14948 val = curCSS( elem, dimension, styles ), 14949 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 14950 14951 // Support: Firefox <=54 14952 // Return a confounding non-pixel value or feign ignorance, as appropriate. 14953 if ( rnumnonpx.test( val ) ) { 14954 if ( !extra ) { 14955 return val; 14956 } 14957 val = "auto"; 14958 } 14959 14960 14961 // Support: IE 9 - 11 only 14962 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 14963 // In those cases, the computed value can be trusted to be border-box. 14964 if ( ( !support.boxSizingReliable() && isBorderBox || 14965 14966 // Support: IE 10 - 11+, Edge 15 - 18+ 14967 // IE/Edge misreport `getComputedStyle` of table rows with width/height 14968 // set in CSS while `offset*` properties report correct values. 14969 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 14970 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 14971 14972 // Fall back to offsetWidth/offsetHeight when value is "auto" 14973 // This happens for inline elements with no explicit setting (gh-3571) 14974 val === "auto" || 14975 14976 // Support: Android <=4.1 - 4.3 only 14977 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 14978 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 14979 14980 // Make sure the element is visible & connected 14981 elem.getClientRects().length ) { 14982 14983 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 14984 14985 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 14986 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 14987 // retrieved value as a content box dimension. 14988 valueIsBorderBox = offsetProp in elem; 14989 if ( valueIsBorderBox ) { 14990 val = elem[ offsetProp ]; 14991 } 14992 } 14993 14994 // Normalize "" and auto 14995 val = parseFloat( val ) || 0; 14996 14997 // Adjust for the element's box model 14998 return ( val + 14999 boxModelAdjustment( 15000 elem, 15001 dimension, 15002 extra || ( isBorderBox ? "border" : "content" ), 15003 valueIsBorderBox, 15004 styles, 15005 15006 // Provide the current computed size to request scroll gutter calculation (gh-3589) 15007 val 15008 ) 15009 ) + "px"; 15010} 15011 15012jQuery.extend( { 15013 15014 // Add in style property hooks for overriding the default 15015 // behavior of getting and setting a style property 15016 cssHooks: { 15017 opacity: { 15018 get: function( elem, computed ) { 15019 if ( computed ) { 15020 15021 // We should always get a number back from opacity 15022 var ret = curCSS( elem, "opacity" ); 15023 return ret === "" ? "1" : ret; 15024 } 15025 } 15026 } 15027 }, 15028 15029 // Don't automatically add "px" to these possibly-unitless properties 15030 cssNumber: { 15031 "animationIterationCount": true, 15032 "columnCount": true, 15033 "fillOpacity": true, 15034 "flexGrow": true, 15035 "flexShrink": true, 15036 "fontWeight": true, 15037 "gridArea": true, 15038 "gridColumn": true, 15039 "gridColumnEnd": true, 15040 "gridColumnStart": true, 15041 "gridRow": true, 15042 "gridRowEnd": true, 15043 "gridRowStart": true, 15044 "lineHeight": true, 15045 "opacity": true, 15046 "order": true, 15047 "orphans": true, 15048 "widows": true, 15049 "zIndex": true, 15050 "zoom": true 15051 }, 15052 15053 // Add in properties whose names you wish to fix before 15054 // setting or getting the value 15055 cssProps: {}, 15056 15057 // Get and set the style property on a DOM Node 15058 style: function( elem, name, value, extra ) { 15059 15060 // Don't set styles on text and comment nodes 15061 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 15062 return; 15063 } 15064 15065 // Make sure that we're working with the right name 15066 var ret, type, hooks, 15067 origName = camelCase( name ), 15068 isCustomProp = rcustomProp.test( name ), 15069 style = elem.style; 15070 15071 // Make sure that we're working with the right name. We don't 15072 // want to query the value if it is a CSS custom property 15073 // since they are user-defined. 15074 if ( !isCustomProp ) { 15075 name = finalPropName( origName ); 15076 } 15077 15078 // Gets hook for the prefixed version, then unprefixed version 15079 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 15080 15081 // Check if we're setting a value 15082 if ( value !== undefined ) { 15083 type = typeof value; 15084 15085 // Convert "+=" or "-=" to relative numbers (#7345) 15086 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 15087 value = adjustCSS( elem, name, ret ); 15088 15089 // Fixes bug #9237 15090 type = "number"; 15091 } 15092 15093 // Make sure that null and NaN values aren't set (#7116) 15094 if ( value == null || value !== value ) { 15095 return; 15096 } 15097 15098 // If a number was passed in, add the unit (except for certain CSS properties) 15099 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 15100 // "px" to a few hardcoded values. 15101 if ( type === "number" && !isCustomProp ) { 15102 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 15103 } 15104 15105 // background-* props affect original clone's values 15106 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 15107 style[ name ] = "inherit"; 15108 } 15109 15110 // If a hook was provided, use that value, otherwise just set the specified value
vendor: 25,692 bytes, lines 15111-16107
15111 if ( !hooks || !( "set" in hooks ) || 15112 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 15113 15114 if ( isCustomProp ) { 15115 style.setProperty( name, value ); 15116 } else { 15117 style[ name ] = value; 15118 } 15119 } 15120 15121 } else { 15122 15123 // If a hook was provided get the non-computed value from there 15124 if ( hooks && "get" in hooks && 15125 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 15126 15127 return ret; 15128 } 15129 15130 // Otherwise just get the value from the style object 15131 return style[ name ]; 15132 } 15133 }, 15134 15135 css: function( elem, name, extra, styles ) { 15136 var val, num, hooks, 15137 origName = camelCase( name ), 15138 isCustomProp = rcustomProp.test( name ); 15139 15140 // Make sure that we're working with the right name. We don't 15141 // want to modify the value if it is a CSS custom property 15142 // since they are user-defined. 15143 if ( !isCustomProp ) { 15144 name = finalPropName( origName ); 15145 } 15146 15147 // Try prefixed name followed by the unprefixed name 15148 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 15149 15150 // If a hook was provided get the computed value from there 15151 if ( hooks && "get" in hooks ) { 15152 val = hooks.get( elem, true, extra ); 15153 } 15154 15155 // Otherwise, if a way to get the computed value exists, use that 15156 if ( val === undefined ) { 15157 val = curCSS( elem, name, styles ); 15158 } 15159 15160 // Convert "normal" to computed value 15161 if ( val === "normal" && name in cssNormalTransform ) { 15162 val = cssNormalTransform[ name ]; 15163 } 15164 15165 // Make numeric if forced or a qualifier was provided and val looks numeric 15166 if ( extra === "" || extra ) { 15167 num = parseFloat( val ); 15168 return extra === true || isFinite( num ) ? num || 0 : val; 15169 } 15170 15171 return val; 15172 } 15173} ); 15174 15175jQuery.each( [ "height", "width" ], function( _i, dimension ) { 15176 jQuery.cssHooks[ dimension ] = { 15177 get: function( elem, computed, extra ) { 15178 if ( computed ) { 15179 15180 // Certain elements can have dimension info if we invisibly show them 15181 // but it must have a current display style that would benefit 15182 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 15183 15184 // Support: Safari 8+ 15185 // Table columns in Safari have non-zero offsetWidth & zero 15186 // getBoundingClientRect().width unless display is changed. 15187 // Support: IE <=11 only 15188 // Running getBoundingClientRect on a disconnected node 15189 // in IE throws an error. 15190 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 15191 swap( elem, cssShow, function() { 15192 return getWidthOrHeight( elem, dimension, extra ); 15193 } ) : 15194 getWidthOrHeight( elem, dimension, extra ); 15195 } 15196 }, 15197 15198 set: function( elem, value, extra ) { 15199 var matches, 15200 styles = getStyles( elem ), 15201 15202 // Only read styles.position if the test has a chance to fail 15203 // to avoid forcing a reflow. 15204 scrollboxSizeBuggy = !support.scrollboxSize() && 15205 styles.position === "absolute", 15206 15207 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 15208 boxSizingNeeded = scrollboxSizeBuggy || extra, 15209 isBorderBox = boxSizingNeeded && 15210 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 15211 subtract = extra ? 15212 boxModelAdjustment( 15213 elem, 15214 dimension, 15215 extra, 15216 isBorderBox, 15217 styles 15218 ) : 15219 0; 15220 15221 // Account for unreliable border-box dimensions by comparing offset* to computed and 15222 // faking a content-box to get border and padding (gh-3699) 15223 if ( isBorderBox && scrollboxSizeBuggy ) { 15224 subtract -= Math.ceil( 15225 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 15226 parseFloat( styles[ dimension ] ) - 15227 boxModelAdjustment( elem, dimension, "border", false, styles ) - 15228 0.5 15229 ); 15230 } 15231 15232 // Convert to pixels if value adjustment is needed 15233 if ( subtract && ( matches = rcssNum.exec( value ) ) && 15234 ( matches[ 3 ] || "px" ) !== "px" ) { 15235 15236 elem.style[ dimension ] = value; 15237 value = jQuery.css( elem, dimension ); 15238 } 15239 15240 return setPositiveNumber( elem, value, subtract ); 15241 } 15242 }; 15243} ); 15244 15245jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 15246 function( elem, computed ) { 15247 if ( computed ) { 15248 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 15249 elem.getBoundingClientRect().left - 15250 swap( elem, { marginLeft: 0 }, function() { 15251 return elem.getBoundingClientRect().left; 15252 } ) 15253 ) + "px"; 15254 } 15255 } 15256); 15257 15258// These hooks are used by animate to expand properties 15259jQuery.each( { 15260 margin: "", 15261 padding: "", 15262 border: "Width" 15263}, function( prefix, suffix ) { 15264 jQuery.cssHooks[ prefix + suffix ] = { 15265 expand: function( value ) { 15266 var i = 0, 15267 expanded = {}, 15268 15269 // Assumes a single number if not a string 15270 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 15271 15272 for ( ; i < 4; i++ ) { 15273 expanded[ prefix + cssExpand[ i ] + suffix ] = 15274 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 15275 } 15276 15277 return expanded; 15278 } 15279 }; 15280 15281 if ( prefix !== "margin" ) { 15282 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 15283 } 15284} ); 15285 15286jQuery.fn.extend( { 15287 css: function( name, value ) { 15288 return access( this, function( elem, name, value ) { 15289 var styles, len, 15290 map = {}, 15291 i = 0; 15292 15293 if ( Array.isArray( name ) ) { 15294 styles = getStyles( elem ); 15295 len = name.length; 15296 15297 for ( ; i < len; i++ ) { 15298 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 15299 } 15300 15301 return map; 15302 } 15303 15304 return value !== undefined ? 15305 jQuery.style( elem, name, value ) : 15306 jQuery.css( elem, name ); 15307 }, name, value, arguments.length > 1 ); 15308 } 15309} ); 15310 15311 15312function Tween( elem, options, prop, end, easing ) { 15313 return new Tween.prototype.init( elem, options, prop, end, easing ); 15314} 15315jQuery.Tween = Tween; 15316 15317Tween.prototype = { 15318 constructor: Tween, 15319 init: function( elem, options, prop, end, easing, unit ) { 15320 this.elem = elem; 15321 this.prop = prop; 15322 this.easing = easing || jQuery.easing._default; 15323 this.options = options; 15324 this.start = this.now = this.cur(); 15325 this.end = end; 15326 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 15327 }, 15328 cur: function() { 15329 var hooks = Tween.propHooks[ this.prop ]; 15330 15331 return hooks && hooks.get ? 15332 hooks.get( this ) : 15333 Tween.propHooks._default.get( this ); 15334 }, 15335 run: function( percent ) { 15336 var eased, 15337 hooks = Tween.propHooks[ this.prop ]; 15338 15339 if ( this.options.duration ) { 15340 this.pos = eased = jQuery.easing[ this.easing ]( 15341 percent, this.options.duration * percent, 0, 1, this.options.duration 15342 ); 15343 } else { 15344 this.pos = eased = percent; 15345 } 15346 this.now = ( this.end - this.start ) * eased + this.start; 15347 15348 if ( this.options.step ) { 15349 this.options.step.call( this.elem, this.now, this ); 15350 } 15351 15352 if ( hooks && hooks.set ) { 15353 hooks.set( this ); 15354 } else { 15355 Tween.propHooks._default.set( this ); 15356 } 15357 return this; 15358 } 15359}; 15360 15361Tween.prototype.init.prototype = Tween.prototype; 15362 15363Tween.propHooks = { 15364 _default: { 15365 get: function( tween ) { 15366 var result; 15367 15368 // Use a property on the element directly when it is not a DOM element, 15369 // or when there is no matching style property that exists. 15370 if ( tween.elem.nodeType !== 1 || 15371 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 15372 return tween.elem[ tween.prop ]; 15373 } 15374 15375 // Passing an empty string as a 3rd parameter to .css will automatically 15376 // attempt a parseFloat and fallback to a string if the parse fails. 15377 // Simple values such as "10px" are parsed to Float; 15378 // complex values such as "rotate(1rad)" are returned as-is. 15379 result = jQuery.css( tween.elem, tween.prop, "" ); 15380 15381 // Empty strings, null, undefined and "auto" are converted to 0. 15382 return !result || result === "auto" ? 0 : result; 15383 }, 15384 set: function( tween ) { 15385 15386 // Use step hook for back compat. 15387 // Use cssHook if its there. 15388 // Use .style if available and use plain properties where available. 15389 if ( jQuery.fx.step[ tween.prop ] ) { 15390 jQuery.fx.step[ tween.prop ]( tween ); 15391 } else if ( tween.elem.nodeType === 1 && ( 15392 jQuery.cssHooks[ tween.prop ] || 15393 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 15394 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 15395 } else { 15396 tween.elem[ tween.prop ] = tween.now; 15397 } 15398 } 15399 } 15400}; 15401 15402// Support: IE <=9 only 15403// Panic based approach to setting things on disconnected nodes 15404Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 15405 set: function( tween ) { 15406 if ( tween.elem.nodeType && tween.elem.parentNode ) { 15407 tween.elem[ tween.prop ] = tween.now; 15408 } 15409 } 15410}; 15411 15412jQuery.easing = { 15413 linear: function( p ) { 15414 return p; 15415 }, 15416 swing: function( p ) { 15417 return 0.5 - Math.cos( p * Math.PI ) / 2; 15418 }, 15419 _default: "swing" 15420}; 15421 15422jQuery.fx = Tween.prototype.init; 15423 15424// Back compat <1.8 extension point 15425jQuery.fx.step = {}; 15426 15427 15428 15429 15430var 15431 fxNow, inProgress, 15432 rfxtypes = /^(?:toggle|show|hide)$/, 15433 rrun = /queueHooks$/; 15434 15435function schedule() { 15436 if ( inProgress ) { 15437 if ( document.hidden === false && window.requestAnimationFrame ) { 15438 window.requestAnimationFrame( schedule ); 15439 } else { 15440 window.setTimeout( schedule, jQuery.fx.interval ); 15441 } 15442 15443 jQuery.fx.tick(); 15444 } 15445} 15446 15447// Animations created synchronously will run synchronously 15448function createFxNow() { 15449 window.setTimeout( function() { 15450 fxNow = undefined; 15451 } ); 15452 return ( fxNow = Date.now() ); 15453} 15454 15455// Generate parameters to create a standard animation 15456function genFx( type, includeWidth ) { 15457 var which, 15458 i = 0, 15459 attrs = { height: type }; 15460 15461 // If we include width, step value is 1 to do all cssExpand values, 15462 // otherwise step value is 2 to skip over Left and Right 15463 includeWidth = includeWidth ? 1 : 0; 15464 for ( ; i < 4; i += 2 - includeWidth ) { 15465 which = cssExpand[ i ]; 15466 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 15467 } 15468 15469 if ( includeWidth ) { 15470 attrs.opacity = attrs.width = type; 15471 } 15472 15473 return attrs; 15474} 15475 15476function createTween( value, prop, animation ) { 15477 var tween, 15478 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 15479 index = 0, 15480 length = collection.length; 15481 for ( ; index < length; index++ ) { 15482 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 15483 15484 // We're done with this property 15485 return tween; 15486 } 15487 } 15488} 15489 15490function defaultPrefilter( elem, props, opts ) { 15491 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 15492 isBox = "width" in props || "height" in props, 15493 anim = this, 15494 orig = {}, 15495 style = elem.style, 15496 hidden = elem.nodeType && isHiddenWithinTree( elem ), 15497 dataShow = dataPriv.get( elem, "fxshow" ); 15498 15499 // Queue-skipping animations hijack the fx hooks 15500 if ( !opts.queue ) { 15501 hooks = jQuery._queueHooks( elem, "fx" ); 15502 if ( hooks.unqueued == null ) { 15503 hooks.unqueued = 0; 15504 oldfire = hooks.empty.fire; 15505 hooks.empty.fire = function() { 15506 if ( !hooks.unqueued ) { 15507 oldfire(); 15508 } 15509 }; 15510 } 15511 hooks.unqueued++; 15512 15513 anim.always( function() { 15514 15515 // Ensure the complete handler is called before this completes 15516 anim.always( function() { 15517 hooks.unqueued--; 15518 if ( !jQuery.queue( elem, "fx" ).length ) { 15519 hooks.empty.fire(); 15520 } 15521 } ); 15522 } ); 15523 } 15524 15525 // Detect show/hide animations 15526 for ( prop in props ) { 15527 value = props[ prop ]; 15528 if ( rfxtypes.test( value ) ) { 15529 delete props[ prop ]; 15530 toggle = toggle || value === "toggle"; 15531 if ( value === ( hidden ? "hide" : "show" ) ) { 15532 15533 // Pretend to be hidden if this is a "show" and 15534 // there is still data from a stopped show/hide 15535 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 15536 hidden = true; 15537 15538 // Ignore all other no-op show/hide data 15539 } else { 15540 continue; 15541 } 15542 } 15543 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 15544 } 15545 } 15546 15547 // Bail out if this is a no-op like .hide().hide() 15548 propTween = !jQuery.isEmptyObject( props ); 15549 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 15550 return; 15551 } 15552 15553 // Restrict "overflow" and "display" styles during box animations 15554 if ( isBox && elem.nodeType === 1 ) { 15555 15556 // Support: IE <=9 - 11, Edge 12 - 15 15557 // Record all 3 overflow attributes because IE does not infer the shorthand 15558 // from identically-valued overflowX and overflowY and Edge just mirrors 15559 // the overflowX value there. 15560 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 15561 15562 // Identify a display type, preferring old show/hide data over the CSS cascade 15563 restoreDisplay = dataShow && dataShow.display; 15564 if ( restoreDisplay == null ) { 15565 restoreDisplay = dataPriv.get( elem, "display" ); 15566 } 15567 display = jQuery.css( elem, "display" ); 15568 if ( display === "none" ) { 15569 if ( restoreDisplay ) { 15570 display = restoreDisplay; 15571 } else { 15572 15573 // Get nonempty value(s) by temporarily forcing visibility 15574 showHide( [ elem ], true ); 15575 restoreDisplay = elem.style.display || restoreDisplay; 15576 display = jQuery.css( elem, "display" ); 15577 showHide( [ elem ] ); 15578 } 15579 } 15580 15581 // Animate inline elements as inline-block 15582 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 15583 if ( jQuery.css( elem, "float" ) === "none" ) { 15584 15585 // Restore the original display value at the end of pure show/hide animations 15586 if ( !propTween ) { 15587 anim.done( function() { 15588 style.display = restoreDisplay; 15589 } ); 15590 if ( restoreDisplay == null ) { 15591 display = style.display; 15592 restoreDisplay = display === "none" ? "" : display; 15593 } 15594 } 15595 style.display = "inline-block"; 15596 } 15597 } 15598 } 15599 15600 if ( opts.overflow ) { 15601 style.overflow = "hidden"; 15602 anim.always( function() { 15603 style.overflow = opts.overflow[ 0 ]; 15604 style.overflowX = opts.overflow[ 1 ]; 15605 style.overflowY = opts.overflow[ 2 ]; 15606 } ); 15607 } 15608 15609 // Implement show/hide animations 15610 propTween = false; 15611 for ( prop in orig ) { 15612 15613 // General show/hide setup for this element animation 15614 if ( !propTween ) { 15615 if ( dataShow ) { 15616 if ( "hidden" in dataShow ) { 15617 hidden = dataShow.hidden; 15618 } 15619 } else { 15620 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 15621 } 15622 15623 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 15624 if ( toggle ) { 15625 dataShow.hidden = !hidden; 15626 } 15627 15628 // Show elements before animating them 15629 if ( hidden ) { 15630 showHide( [ elem ], true ); 15631 } 15632 15633 /* eslint-disable no-loop-func */ 15634 15635 anim.done( function() { 15636 15637 /* eslint-enable no-loop-func */ 15638 15639 // The final step of a "hide" animation is actually hiding the element 15640 if ( !hidden ) { 15641 showHide( [ elem ] ); 15642 } 15643 dataPriv.remove( elem, "fxshow" ); 15644 for ( prop in orig ) { 15645 jQuery.style( elem, prop, orig[ prop ] ); 15646 } 15647 } ); 15648 } 15649 15650 // Per-property setup 15651 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 15652 if ( !( prop in dataShow ) ) { 15653 dataShow[ prop ] = propTween.start; 15654 if ( hidden ) { 15655 propTween.end = propTween.start; 15656 propTween.start = 0; 15657 } 15658 } 15659 } 15660} 15661 15662function propFilter( props, specialEasing ) { 15663 var index, name, easing, value, hooks; 15664 15665 // camelCase, specialEasing and expand cssHook pass 15666 for ( index in props ) { 15667 name = camelCase( index ); 15668 easing = specialEasing[ name ]; 15669 value = props[ index ]; 15670 if ( Array.isArray( value ) ) { 15671 easing = value[ 1 ]; 15672 value = props[ index ] = value[ 0 ]; 15673 } 15674 15675 if ( index !== name ) { 15676 props[ name ] = value; 15677 delete props[ index ]; 15678 } 15679 15680 hooks = jQuery.cssHooks[ name ]; 15681 if ( hooks && "expand" in hooks ) { 15682 value = hooks.expand( value ); 15683 delete props[ name ]; 15684 15685 // Not quite $.extend, this won't overwrite existing keys. 15686 // Reusing 'index' because we have the correct "name" 15687 for ( index in value ) { 15688 if ( !( index in props ) ) { 15689 props[ index ] = value[ index ]; 15690 specialEasing[ index ] = easing; 15691 } 15692 } 15693 } else { 15694 specialEasing[ name ] = easing; 15695 } 15696 } 15697} 15698 15699function Animation( elem, properties, options ) { 15700 var result, 15701 stopped, 15702 index = 0, 15703 length = Animation.prefilters.length, 15704 deferred = jQuery.Deferred().always( function() { 15705 15706 // Don't match elem in the :animated selector 15707 delete tick.elem; 15708 } ), 15709 tick = function() { 15710 if ( stopped ) { 15711 return false; 15712 } 15713 var currentTime = fxNow || createFxNow(), 15714 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 15715 15716 // Support: Android 2.3 only 15717 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) 15718 temp = remaining / animation.duration || 0, 15719 percent = 1 - temp, 15720 index = 0, 15721 length = animation.tweens.length; 15722 15723 for ( ; index < length; index++ ) { 15724 animation.tweens[ index ].run( percent ); 15725 } 15726 15727 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 15728 15729 // If there's more to do, yield 15730 if ( percent < 1 && length ) { 15731 return remaining; 15732 } 15733 15734 // If this was an empty animation, synthesize a final progress notification 15735 if ( !length ) { 15736 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 15737 } 15738 15739 // Resolve the animation and report its conclusion 15740 deferred.resolveWith( elem, [ animation ] ); 15741 return false; 15742 }, 15743 animation = deferred.promise( { 15744 elem: elem, 15745 props: jQuery.extend( {}, properties ), 15746 opts: jQuery.extend( true, { 15747 specialEasing: {}, 15748 easing: jQuery.easing._default 15749 }, options ), 15750 originalProperties: properties, 15751 originalOptions: options, 15752 startTime: fxNow || createFxNow(), 15753 duration: options.duration, 15754 tweens: [], 15755 createTween: function( prop, end ) { 15756 var tween = jQuery.Tween( elem, animation.opts, prop, end, 15757 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 15758 animation.tweens.push( tween ); 15759 return tween; 15760 }, 15761 stop: function( gotoEnd ) { 15762 var index = 0, 15763 15764 // If we are going to the end, we want to run all the tweens 15765 // otherwise we skip this part 15766 length = gotoEnd ? animation.tweens.length : 0; 15767 if ( stopped ) { 15768 return this; 15769 } 15770 stopped = true; 15771 for ( ; index < length; index++ ) { 15772 animation.tweens[ index ].run( 1 ); 15773 } 15774 15775 // Resolve when we played the last frame; otherwise, reject 15776 if ( gotoEnd ) { 15777 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 15778 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 15779 } else { 15780 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 15781 } 15782 return this; 15783 } 15784 } ), 15785 props = animation.props; 15786 15787 propFilter( props, animation.opts.specialEasing ); 15788 15789 for ( ; index < length; index++ ) { 15790 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 15791 if ( result ) { 15792 if ( isFunction( result.stop ) ) { 15793 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 15794 result.stop.bind( result ); 15795 } 15796 return result; 15797 } 15798 } 15799 15800 jQuery.map( props, createTween, animation ); 15801 15802 if ( isFunction( animation.opts.start ) ) { 15803 animation.opts.start.call( elem, animation ); 15804 } 15805 15806 // Attach callbacks from options 15807 animation 15808 .progress( animation.opts.progress ) 15809 .done( animation.opts.done, animation.opts.complete ) 15810 .fail( animation.opts.fail ) 15811 .always( animation.opts.always ); 15812 15813 jQuery.fx.timer( 15814 jQuery.extend( tick, { 15815 elem: elem, 15816 anim: animation, 15817 queue: animation.opts.queue 15818 } ) 15819 ); 15820 15821 return animation; 15822} 15823 15824jQuery.Animation = jQuery.extend( Animation, { 15825 15826 tweeners: { 15827 "*": [ function( prop, value ) { 15828 var tween = this.createTween( prop, value ); 15829 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 15830 return tween; 15831 } ] 15832 }, 15833 15834 tweener: function( props, callback ) { 15835 if ( isFunction( props ) ) { 15836 callback = props; 15837 props = [ "*" ]; 15838 } else { 15839 props = props.match( rnothtmlwhite ); 15840 } 15841 15842 var prop, 15843 index = 0, 15844 length = props.length; 15845 15846 for ( ; index < length; index++ ) { 15847 prop = props[ index ]; 15848 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 15849 Animation.tweeners[ prop ].unshift( callback ); 15850 } 15851 }, 15852 15853 prefilters: [ defaultPrefilter ], 15854 15855 prefilter: function( callback, prepend ) { 15856 if ( prepend ) { 15857 Animation.prefilters.unshift( callback ); 15858 } else { 15859 Animation.prefilters.push( callback ); 15860 } 15861 } 15862} ); 15863 15864jQuery.speed = function( speed, easing, fn ) { 15865 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 15866 complete: fn || !fn && easing || 15867 isFunction( speed ) && speed, 15868 duration: speed, 15869 easing: fn && easing || easing && !isFunction( easing ) && easing 15870 }; 15871 15872 // Go to the end state if fx are off 15873 if ( jQuery.fx.off ) { 15874 opt.duration = 0; 15875 15876 } else { 15877 if ( typeof opt.duration !== "number" ) { 15878 if ( opt.duration in jQuery.fx.speeds ) { 15879 opt.duration = jQuery.fx.speeds[ opt.duration ]; 15880 15881 } else { 15882 opt.duration = jQuery.fx.speeds._default; 15883 } 15884 } 15885 } 15886 15887 // Normalize opt.queue - true/undefined/null -> "fx" 15888 if ( opt.queue == null || opt.queue === true ) { 15889 opt.queue = "fx"; 15890 } 15891 15892 // Queueing 15893 opt.old = opt.complete; 15894 15895 opt.complete = function() { 15896 if ( isFunction( opt.old ) ) { 15897 opt.old.call( this ); 15898 } 15899 15900 if ( opt.queue ) { 15901 jQuery.dequeue( this, opt.queue ); 15902 } 15903 }; 15904 15905 return opt; 15906}; 15907 15908jQuery.fn.extend( { 15909 fadeTo: function( speed, to, easing, callback ) { 15910 15911 // Show any hidden elements after setting opacity to 0 15912 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 15913 15914 // Animate to the value specified 15915 .end().animate( { opacity: to }, speed, easing, callback ); 15916 }, 15917 animate: function( prop, speed, easing, callback ) { 15918 var empty = jQuery.isEmptyObject( prop ), 15919 optall = jQuery.speed( speed, easing, callback ), 15920 doAnimation = function() { 15921 15922 // Operate on a copy of prop so per-property easing won't be lost 15923 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 15924 15925 // Empty animations, or finishing resolves immediately 15926 if ( empty || dataPriv.get( this, "finish" ) ) { 15927 anim.stop( true ); 15928 } 15929 }; 15930 15931 doAnimation.finish = doAnimation; 15932 15933 return empty || optall.queue === false ? 15934 this.each( doAnimation ) : 15935 this.queue( optall.queue, doAnimation ); 15936 }, 15937 stop: function( type, clearQueue, gotoEnd ) { 15938 var stopQueue = function( hooks ) { 15939 var stop = hooks.stop; 15940 delete hooks.stop; 15941 stop( gotoEnd ); 15942 }; 15943 15944 if ( typeof type !== "string" ) { 15945 gotoEnd = clearQueue; 15946 clearQueue = type; 15947 type = undefined; 15948 } 15949 if ( clearQueue ) { 15950 this.queue( type || "fx", [] ); 15951 } 15952 15953 return this.each( function() { 15954 var dequeue = true, 15955 index = type != null && type + "queueHooks", 15956 timers = jQuery.timers, 15957 data = dataPriv.get( this ); 15958 15959 if ( index ) { 15960 if ( data[ index ] && data[ index ].stop ) { 15961 stopQueue( data[ index ] ); 15962 } 15963 } else { 15964 for ( index in data ) { 15965 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 15966 stopQueue( data[ index ] ); 15967 } 15968 } 15969 } 15970 15971 for ( index = timers.length; index--; ) { 15972 if ( timers[ index ].elem === this && 15973 ( type == null || timers[ index ].queue === type ) ) { 15974 15975 timers[ index ].anim.stop( gotoEnd ); 15976 dequeue = false; 15977 timers.splice( index, 1 ); 15978 } 15979 } 15980 15981 // Start the next in the queue if the last step wasn't forced. 15982 // Timers currently will call their complete callbacks, which 15983 // will dequeue but only if they were gotoEnd. 15984 if ( dequeue || !gotoEnd ) { 15985 jQuery.dequeue( this, type ); 15986 } 15987 } ); 15988 }, 15989 finish: function( type ) { 15990 if ( type !== false ) { 15991 type = type || "fx"; 15992 } 15993 return this.each( function() { 15994 var index, 15995 data = dataPriv.get( this ), 15996 queue = data[ type + "queue" ], 15997 hooks = data[ type + "queueHooks" ], 15998 timers = jQuery.timers, 15999 length = queue ? queue.length : 0; 16000 16001 // Enable finishing flag on private data 16002 data.finish = true; 16003 16004 // Empty the queue first 16005 jQuery.queue( this, type, [] ); 16006 16007 if ( hooks && hooks.stop ) { 16008 hooks.stop.call( this, true ); 16009 } 16010 16011 // Look for any active animations, and finish them 16012 for ( index = timers.length; index--; ) { 16013 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 16014 timers[ index ].anim.stop( true ); 16015 timers.splice( index, 1 ); 16016 } 16017 } 16018 16019 // Look for any animations in the old queue and finish them 16020 for ( index = 0; index < length; index++ ) { 16021 if ( queue[ index ] && queue[ index ].finish ) { 16022 queue[ index ].finish.call( this ); 16023 } 16024 } 16025 16026 // Turn off finishing flag 16027 delete data.finish; 16028 } ); 16029 } 16030} ); 16031 16032jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 16033 var cssFn = jQuery.fn[ name ]; 16034 jQuery.fn[ name ] = function( speed, easing, callback ) { 16035 return speed == null || typeof speed === "boolean" ? 16036 cssFn.apply( this, arguments ) : 16037 this.animate( genFx( name, true ), speed, easing, callback ); 16038 }; 16039} ); 16040 16041// Generate shortcuts for custom animations 16042jQuery.each( { 16043 slideDown: genFx( "show" ), 16044 slideUp: genFx( "hide" ), 16045 slideToggle: genFx( "toggle" ), 16046 fadeIn: { opacity: "show" }, 16047 fadeOut: { opacity: "hide" }, 16048 fadeToggle: { opacity: "toggle" } 16049}, function( name, props ) { 16050 jQuery.fn[ name ] = function( speed, easing, callback ) { 16051 return this.animate( props, speed, easing, callback ); 16052 }; 16053} ); 16054 16055jQuery.timers = []; 16056jQuery.fx.tick = function() { 16057 var timer, 16058 i = 0, 16059 timers = jQuery.timers; 16060 16061 fxNow = Date.now(); 16062 16063 for ( ; i < timers.length; i++ ) { 16064 timer = timers[ i ]; 16065 16066 // Run the timer and safely remove it when done (allowing for external removal) 16067 if ( !timer() && timers[ i ] === timer ) { 16068 timers.splice( i--, 1 ); 16069 } 16070 } 16071 16072 if ( !timers.length ) { 16073 jQuery.fx.stop(); 16074 } 16075 fxNow = undefined; 16076}; 16077 16078jQuery.fx.timer = function( timer ) { 16079 jQuery.timers.push( timer ); 16080 jQuery.fx.start(); 16081}; 16082 16083jQuery.fx.interval = 13; 16084jQuery.fx.start = function() { 16085 if ( inProgress ) { 16086 return; 16087 } 16088 16089 inProgress = true; 16090 schedule(); 16091}; 16092 16093jQuery.fx.stop = function() { 16094 inProgress = null; 16095}; 16096 16097jQuery.fx.speeds = { 16098 slow: 600, 16099 fast: 200, 16100 16101 // Default speed 16102 _default: 400 16103}; 16104 16105 16106// Based off of the plugin by Clint Helfers, with permission. 16107// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
vendor: 21,001 bytes, lines 16108-16976
16108jQuery.fn.delay = function( time, type ) { 16109 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 16110 type = type || "fx"; 16111 16112 return this.queue( type, function( next, hooks ) { 16113 var timeout = window.setTimeout( next, time ); 16114 hooks.stop = function() { 16115 window.clearTimeout( timeout ); 16116 }; 16117 } ); 16118}; 16119 16120 16121( function() { 16122 var input = document.createElement( "input" ), 16123 select = document.createElement( "select" ), 16124 opt = select.appendChild( document.createElement( "option" ) ); 16125 16126 input.type = "checkbox"; 16127 16128 // Support: Android <=4.3 only 16129 // Default value for a checkbox should be "on" 16130 support.checkOn = input.value !== ""; 16131 16132 // Support: IE <=11 only 16133 // Must access selectedIndex to make default options select 16134 support.optSelected = opt.selected; 16135 16136 // Support: IE <=11 only 16137 // An input loses its value after becoming a radio 16138 input = document.createElement( "input" ); 16139 input.value = "t"; 16140 input.type = "radio"; 16141 support.radioValue = input.value === "t"; 16142} )(); 16143 16144 16145var boolHook, 16146 attrHandle = jQuery.expr.attrHandle; 16147 16148jQuery.fn.extend( { 16149 attr: function( name, value ) { 16150 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 16151 }, 16152 16153 removeAttr: function( name ) { 16154 return this.each( function() { 16155 jQuery.removeAttr( this, name ); 16156 } ); 16157 } 16158} ); 16159 16160jQuery.extend( { 16161 attr: function( elem, name, value ) { 16162 var ret, hooks, 16163 nType = elem.nodeType; 16164 16165 // Don't get/set attributes on text, comment and attribute nodes 16166 if ( nType === 3 || nType === 8 || nType === 2 ) { 16167 return; 16168 } 16169 16170 // Fallback to prop when attributes are not supported 16171 if ( typeof elem.getAttribute === "undefined" ) { 16172 return jQuery.prop( elem, name, value ); 16173 } 16174 16175 // Attribute hooks are determined by the lowercase version 16176 // Grab necessary hook if one is defined 16177 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 16178 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 16179 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 16180 } 16181 16182 if ( value !== undefined ) { 16183 if ( value === null ) { 16184 jQuery.removeAttr( elem, name ); 16185 return; 16186 } 16187 16188 if ( hooks && "set" in hooks && 16189 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 16190 return ret; 16191 } 16192 16193 elem.setAttribute( name, value + "" ); 16194 return value; 16195 } 16196 16197 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 16198 return ret; 16199 } 16200 16201 ret = jQuery.find.attr( elem, name ); 16202 16203 // Non-existent attributes return null, we normalize to undefined 16204 return ret == null ? undefined : ret; 16205 }, 16206 16207 attrHooks: { 16208 type: { 16209 set: function( elem, value ) { 16210 if ( !support.radioValue && value === "radio" && 16211 nodeName( elem, "input" ) ) { 16212 var val = elem.value; 16213 elem.setAttribute( "type", value ); 16214 if ( val ) { 16215 elem.value = val; 16216 } 16217 return value; 16218 } 16219 } 16220 } 16221 }, 16222 16223 removeAttr: function( elem, value ) { 16224 var name, 16225 i = 0, 16226 16227 // Attribute names can contain non-HTML whitespace characters 16228 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 16229 attrNames = value && value.match( rnothtmlwhite ); 16230 16231 if ( attrNames && elem.nodeType === 1 ) { 16232 while ( ( name = attrNames[ i++ ] ) ) { 16233 elem.removeAttribute( name ); 16234 } 16235 } 16236 } 16237} ); 16238 16239// Hooks for boolean attributes 16240boolHook = { 16241 set: function( elem, value, name ) { 16242 if ( value === false ) { 16243 16244 // Remove boolean attributes when set to false 16245 jQuery.removeAttr( elem, name ); 16246 } else { 16247 elem.setAttribute( name, name ); 16248 } 16249 return name; 16250 } 16251}; 16252 16253jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 16254 var getter = attrHandle[ name ] || jQuery.find.attr; 16255 16256 attrHandle[ name ] = function( elem, name, isXML ) { 16257 var ret, handle, 16258 lowercaseName = name.toLowerCase(); 16259 16260 if ( !isXML ) { 16261 16262 // Avoid an infinite loop by temporarily removing this function from the getter 16263 handle = attrHandle[ lowercaseName ]; 16264 attrHandle[ lowercaseName ] = ret; 16265 ret = getter( elem, name, isXML ) != null ? 16266 lowercaseName : 16267 null; 16268 attrHandle[ lowercaseName ] = handle; 16269 } 16270 return ret; 16271 }; 16272} ); 16273 16274 16275 16276 16277var rfocusable = /^(?:input|select|textarea|button)$/i, 16278 rclickable = /^(?:a|area)$/i; 16279 16280jQuery.fn.extend( { 16281 prop: function( name, value ) { 16282 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 16283 }, 16284 16285 removeProp: function( name ) { 16286 return this.each( function() { 16287 delete this[ jQuery.propFix[ name ] || name ]; 16288 } ); 16289 } 16290} ); 16291 16292jQuery.extend( { 16293 prop: function( elem, name, value ) { 16294 var ret, hooks, 16295 nType = elem.nodeType; 16296 16297 // Don't get/set properties on text, comment and attribute nodes 16298 if ( nType === 3 || nType === 8 || nType === 2 ) { 16299 return; 16300 } 16301 16302 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 16303 16304 // Fix name and attach hooks 16305 name = jQuery.propFix[ name ] || name; 16306 hooks = jQuery.propHooks[ name ]; 16307 } 16308 16309 if ( value !== undefined ) { 16310 if ( hooks && "set" in hooks && 16311 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 16312 return ret; 16313 } 16314 16315 return ( elem[ name ] = value ); 16316 } 16317 16318 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 16319 return ret; 16320 } 16321 16322 return elem[ name ]; 16323 }, 16324 16325 propHooks: { 16326 tabIndex: { 16327 get: function( elem ) { 16328 16329 // Support: IE <=9 - 11 only 16330 // elem.tabIndex doesn't always return the 16331 // correct value when it hasn't been explicitly set 16332 // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ 16333 // Use proper attribute retrieval(#12072) 16334 var tabindex = jQuery.find.attr( elem, "tabindex" ); 16335 16336 if ( tabindex ) { 16337 return parseInt( tabindex, 10 ); 16338 } 16339 16340 if ( 16341 rfocusable.test( elem.nodeName ) || 16342 rclickable.test( elem.nodeName ) && 16343 elem.href 16344 ) { 16345 return 0; 16346 } 16347 16348 return -1; 16349 } 16350 } 16351 }, 16352 16353 propFix: { 16354 "for": "htmlFor", 16355 "class": "className" 16356 } 16357} ); 16358 16359// Support: IE <=11 only 16360// Accessing the selectedIndex property 16361// forces the browser to respect setting selected 16362// on the option 16363// The getter ensures a default option is selected 16364// when in an optgroup 16365// eslint rule "no-unused-expressions" is disabled for this code 16366// since it considers such accessions noop 16367if ( !support.optSelected ) { 16368 jQuery.propHooks.selected = { 16369 get: function( elem ) { 16370 16371 /* eslint no-unused-expressions: "off" */ 16372 16373 var parent = elem.parentNode; 16374 if ( parent && parent.parentNode ) { 16375 parent.parentNode.selectedIndex; 16376 } 16377 return null; 16378 }, 16379 set: function( elem ) { 16380 16381 /* eslint no-unused-expressions: "off" */ 16382 16383 var parent = elem.parentNode; 16384 if ( parent ) { 16385 parent.selectedIndex; 16386 16387 if ( parent.parentNode ) { 16388 parent.parentNode.selectedIndex; 16389 } 16390 } 16391 } 16392 }; 16393} 16394 16395jQuery.each( [ 16396 "tabIndex", 16397 "readOnly", 16398 "maxLength", 16399 "cellSpacing", 16400 "cellPadding", 16401 "rowSpan", 16402 "colSpan", 16403 "useMap", 16404 "frameBorder", 16405 "contentEditable" 16406], function() { 16407 jQuery.propFix[ this.toLowerCase() ] = this; 16408} ); 16409 16410 16411 16412 16413 // Strip and collapse whitespace according to HTML spec 16414 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 16415 function stripAndCollapse( value ) { 16416 var tokens = value.match( rnothtmlwhite ) || []; 16417 return tokens.join( " " ); 16418 } 16419 16420 16421function getClass( elem ) { 16422 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 16423} 16424 16425function classesToArray( value ) { 16426 if ( Array.isArray( value ) ) { 16427 return value; 16428 } 16429 if ( typeof value === "string" ) { 16430 return value.match( rnothtmlwhite ) || []; 16431 } 16432 return []; 16433} 16434 16435jQuery.fn.extend( { 16436 addClass: function( value ) { 16437 var classes, elem, cur, curValue, clazz, j, finalValue, 16438 i = 0; 16439 16440 if ( isFunction( value ) ) { 16441 return this.each( function( j ) { 16442 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 16443 } ); 16444 } 16445 16446 classes = classesToArray( value ); 16447 16448 if ( classes.length ) { 16449 while ( ( elem = this[ i++ ] ) ) { 16450 curValue = getClass( elem ); 16451 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 16452 16453 if ( cur ) { 16454 j = 0; 16455 while ( ( clazz = classes[ j++ ] ) ) { 16456 if ( cur.indexOf( " " + clazz + " " ) < 0 ) { 16457 cur += clazz + " "; 16458 } 16459 } 16460 16461 // Only assign if different to avoid unneeded rendering. 16462 finalValue = stripAndCollapse( cur ); 16463 if ( curValue !== finalValue ) { 16464 elem.setAttribute( "class", finalValue ); 16465 } 16466 } 16467 } 16468 } 16469 16470 return this; 16471 }, 16472 16473 removeClass: function( value ) { 16474 var classes, elem, cur, curValue, clazz, j, finalValue, 16475 i = 0; 16476 16477 if ( isFunction( value ) ) { 16478 return this.each( function( j ) { 16479 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 16480 } ); 16481 } 16482 16483 if ( !arguments.length ) { 16484 return this.attr( "class", "" ); 16485 } 16486 16487 classes = classesToArray( value ); 16488 16489 if ( classes.length ) { 16490 while ( ( elem = this[ i++ ] ) ) { 16491 curValue = getClass( elem ); 16492 16493 // This expression is here for better compressibility (see addClass) 16494 cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 16495 16496 if ( cur ) { 16497 j = 0; 16498 while ( ( clazz = classes[ j++ ] ) ) { 16499 16500 // Remove *all* instances 16501 while ( cur.indexOf( " " + clazz + " " ) > -1 ) { 16502 cur = cur.replace( " " + clazz + " ", " " ); 16503 } 16504 } 16505 16506 // Only assign if different to avoid unneeded rendering. 16507 finalValue = stripAndCollapse( cur ); 16508 if ( curValue !== finalValue ) { 16509 elem.setAttribute( "class", finalValue ); 16510 } 16511 } 16512 } 16513 } 16514 16515 return this; 16516 }, 16517 16518 toggleClass: function( value, stateVal ) { 16519 var type = typeof value, 16520 isValidValue = type === "string" || Array.isArray( value ); 16521 16522 if ( typeof stateVal === "boolean" && isValidValue ) { 16523 return stateVal ? this.addClass( value ) : this.removeClass( value ); 16524 } 16525 16526 if ( isFunction( value ) ) { 16527 return this.each( function( i ) { 16528 jQuery( this ).toggleClass( 16529 value.call( this, i, getClass( this ), stateVal ), 16530 stateVal 16531 ); 16532 } ); 16533 } 16534 16535 return this.each( function() { 16536 var className, i, self, classNames; 16537 16538 if ( isValidValue ) { 16539 16540 // Toggle individual class names 16541 i = 0; 16542 self = jQuery( this ); 16543 classNames = classesToArray( value ); 16544 16545 while ( ( className = classNames[ i++ ] ) ) { 16546 16547 // Check each className given, space separated list 16548 if ( self.hasClass( className ) ) { 16549 self.removeClass( className ); 16550 } else { 16551 self.addClass( className ); 16552 } 16553 } 16554 16555 // Toggle whole class name 16556 } else if ( value === undefined || type === "boolean" ) { 16557 className = getClass( this ); 16558 if ( className ) { 16559 16560 // Store className if set 16561 dataPriv.set( this, "__className__", className ); 16562 } 16563 16564 // If the element has a class name or if we're passed `false`, 16565 // then remove the whole classname (if there was one, the above saved it). 16566 // Otherwise bring back whatever was previously saved (if anything), 16567 // falling back to the empty string if nothing was stored. 16568 if ( this.setAttribute ) { 16569 this.setAttribute( "class", 16570 className || value === false ? 16571 "" : 16572 dataPriv.get( this, "__className__" ) || "" 16573 ); 16574 } 16575 } 16576 } ); 16577 }, 16578 16579 hasClass: function( selector ) { 16580 var className, elem, 16581 i = 0; 16582 16583 className = " " + selector + " "; 16584 while ( ( elem = this[ i++ ] ) ) { 16585 if ( elem.nodeType === 1 && 16586 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 16587 return true; 16588 } 16589 } 16590 16591 return false; 16592 } 16593} ); 16594 16595 16596 16597 16598var rreturn = /\r/g; 16599 16600jQuery.fn.extend( { 16601 val: function( value ) { 16602 var hooks, ret, valueIsFunction, 16603 elem = this[ 0 ]; 16604 16605 if ( !arguments.length ) { 16606 if ( elem ) { 16607 hooks = jQuery.valHooks[ elem.type ] || 16608 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 16609 16610 if ( hooks && 16611 "get" in hooks && 16612 ( ret = hooks.get( elem, "value" ) ) !== undefined 16613 ) { 16614 return ret; 16615 } 16616 16617 ret = elem.value; 16618 16619 // Handle most common string cases 16620 if ( typeof ret === "string" ) { 16621 return ret.replace( rreturn, "" ); 16622 } 16623 16624 // Handle cases where value is null/undef or number 16625 return ret == null ? "" : ret; 16626 } 16627 16628 return; 16629 } 16630 16631 valueIsFunction = isFunction( value ); 16632 16633 return this.each( function( i ) { 16634 var val; 16635 16636 if ( this.nodeType !== 1 ) { 16637 return; 16638 } 16639 16640 if ( valueIsFunction ) { 16641 val = value.call( this, i, jQuery( this ).val() ); 16642 } else { 16643 val = value; 16644 } 16645 16646 // Treat null/undefined as ""; convert numbers to string 16647 if ( val == null ) { 16648 val = ""; 16649 16650 } else if ( typeof val === "number" ) { 16651 val += ""; 16652 16653 } else if ( Array.isArray( val ) ) { 16654 val = jQuery.map( val, function( value ) { 16655 return value == null ? "" : value + ""; 16656 } ); 16657 } 16658 16659 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 16660 16661 // If set returns undefined, fall back to normal setting 16662 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 16663 this.value = val; 16664 } 16665 } ); 16666 } 16667} ); 16668 16669jQuery.extend( { 16670 valHooks: { 16671 option: { 16672 get: function( elem ) { 16673 16674 var val = jQuery.find.attr( elem, "value" ); 16675 return val != null ? 16676 val : 16677 16678 // Support: IE <=10 - 11 only 16679 // option.text throws exceptions (#14686, #14858) 16680 // Strip and collapse whitespace 16681 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 16682 stripAndCollapse( jQuery.text( elem ) ); 16683 } 16684 }, 16685 select: { 16686 get: function( elem ) { 16687 var value, option, i, 16688 options = elem.options, 16689 index = elem.selectedIndex, 16690 one = elem.type === "select-one", 16691 values = one ? null : [], 16692 max = one ? index + 1 : options.length; 16693 16694 if ( index < 0 ) { 16695 i = max; 16696 16697 } else { 16698 i = one ? index : 0; 16699 } 16700 16701 // Loop through all the selected options 16702 for ( ; i < max; i++ ) { 16703 option = options[ i ]; 16704 16705 // Support: IE <=9 only 16706 // IE8-9 doesn't update selected after form reset (#2551) 16707 if ( ( option.selected || i === index ) && 16708 16709 // Don't return options that are disabled or in a disabled optgroup 16710 !option.disabled && 16711 ( !option.parentNode.disabled || 16712 !nodeName( option.parentNode, "optgroup" ) ) ) { 16713 16714 // Get the specific value for the option 16715 value = jQuery( option ).val(); 16716 16717 // We don't need an array for one selects 16718 if ( one ) { 16719 return value; 16720 } 16721 16722 // Multi-Selects return an array 16723 values.push( value ); 16724 } 16725 } 16726 16727 return values; 16728 }, 16729 16730 set: function( elem, value ) { 16731 var optionSet, option, 16732 options = elem.options, 16733 values = jQuery.makeArray( value ), 16734 i = options.length; 16735 16736 while ( i-- ) { 16737 option = options[ i ]; 16738 16739 /* eslint-disable no-cond-assign */ 16740 16741 if ( option.selected = 16742 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 16743 ) { 16744 optionSet = true; 16745 } 16746 16747 /* eslint-enable no-cond-assign */ 16748 } 16749 16750 // Force browsers to behave consistently when non-matching value is set 16751 if ( !optionSet ) { 16752 elem.selectedIndex = -1; 16753 } 16754 return values; 16755 } 16756 } 16757 } 16758} ); 16759 16760// Radios and checkboxes getter/setter 16761jQuery.each( [ "radio", "checkbox" ], function() { 16762 jQuery.valHooks[ this ] = { 16763 set: function( elem, value ) { 16764 if ( Array.isArray( value ) ) { 16765 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 16766 } 16767 } 16768 }; 16769 if ( !support.checkOn ) { 16770 jQuery.valHooks[ this ].get = function( elem ) { 16771 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 16772 }; 16773 } 16774} ); 16775 16776 16777 16778 16779// Return jQuery for attributes-only inclusion 16780 16781 16782support.focusin = "onfocusin" in window; 16783 16784 16785var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 16786 stopPropagationCallback = function( e ) { 16787 e.stopPropagation(); 16788 }; 16789 16790jQuery.extend( jQuery.event, { 16791 16792 trigger: function( event, data, elem, onlyHandlers ) { 16793 16794 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 16795 eventPath = [ elem || document ], 16796 type = hasOwn.call( event, "type" ) ? event.type : event, 16797 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 16798 16799 cur = lastElement = tmp = elem = elem || document; 16800 16801 // Don't do events on text and comment nodes 16802 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 16803 return; 16804 } 16805 16806 // focus/blur morphs to focusin/out; ensure we're not firing them right now 16807 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 16808 return; 16809 } 16810 16811 if ( type.indexOf( "." ) > -1 ) { 16812 16813 // Namespaced trigger; create a regexp to match event type in handle() 16814 namespaces = type.split( "." ); 16815 type = namespaces.shift(); 16816 namespaces.sort(); 16817 } 16818 ontype = type.indexOf( ":" ) < 0 && "on" + type; 16819 16820 // Caller can pass in a jQuery.Event object, Object, or just an event type string 16821 event = event[ jQuery.expando ] ? 16822 event : 16823 new jQuery.Event( type, typeof event === "object" && event ); 16824 16825 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 16826 event.isTrigger = onlyHandlers ? 2 : 3; 16827 event.namespace = namespaces.join( "." ); 16828 event.rnamespace = event.namespace ? 16829 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 16830 null; 16831 16832 // Clean up the event in case it is being reused 16833 event.result = undefined; 16834 if ( !event.target ) { 16835 event.target = elem; 16836 } 16837 16838 // Clone any incoming data and prepend the event, creating the handler arg list 16839 data = data == null ? 16840 [ event ] : 16841 jQuery.makeArray( data, [ event ] ); 16842 16843 // Allow special events to draw outside the lines 16844 special = jQuery.event.special[ type ] || {}; 16845 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 16846 return; 16847 } 16848 16849 // Determine event propagation path in advance, per W3C events spec (#9951) 16850 // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) 16851 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 16852 16853 bubbleType = special.delegateType || type; 16854 if ( !rfocusMorph.test( bubbleType + type ) ) { 16855 cur = cur.parentNode; 16856 } 16857 for ( ; cur; cur = cur.parentNode ) { 16858 eventPath.push( cur ); 16859 tmp = cur; 16860 } 16861 16862 // Only add window if we got to document (e.g., not plain obj or detached DOM) 16863 if ( tmp === ( elem.ownerDocument || document ) ) { 16864 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 16865 } 16866 } 16867 16868 // Fire handlers on the event path 16869 i = 0; 16870 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 16871 lastElement = cur; 16872 event.type = i > 1 ? 16873 bubbleType : 16874 special.bindType || type; 16875 16876 // jQuery handler 16877 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 16878 dataPriv.get( cur, "handle" ); 16879 if ( handle ) { 16880 handle.apply( cur, data ); 16881 } 16882 16883 // Native handler 16884 handle = ontype && cur[ ontype ]; 16885 if ( handle && handle.apply && acceptData( cur ) ) { 16886 event.result = handle.apply( cur, data ); 16887 if ( event.result === false ) { 16888 event.preventDefault(); 16889 } 16890 } 16891 } 16892 event.type = type; 16893 16894 // If nobody prevented the default action, do it now 16895 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 16896 16897 if ( ( !special._default || 16898 special._default.apply( eventPath.pop(), data ) === false ) && 16899 acceptData( elem ) ) { 16900 16901 // Call a native DOM method on the target with the same name as the event. 16902 // Don't do default actions on window, that's where global variables be (#6170) 16903 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 16904 16905 // Don't re-trigger an onFOO event when we call its FOO() method 16906 tmp = elem[ ontype ]; 16907 16908 if ( tmp ) { 16909 elem[ ontype ] = null; 16910 } 16911 16912 // Prevent re-triggering of the same event, since we already bubbled it above 16913 jQuery.event.triggered = type; 16914 16915 if ( event.isPropagationStopped() ) { 16916 lastElement.addEventListener( type, stopPropagationCallback ); 16917 } 16918 16919 elem[ type ](); 16920 16921 if ( event.isPropagationStopped() ) { 16922 lastElement.removeEventListener( type, stopPropagationCallback ); 16923 } 16924 16925 jQuery.event.triggered = undefined; 16926 16927 if ( tmp ) { 16928 elem[ ontype ] = tmp; 16929 } 16930 } 16931 } 16932 } 16933 16934 return event.result; 16935 }, 16936 16937 // Piggyback on a donor event to simulate a different one 16938 // Used only for `focus(in | out)` events 16939 simulate: function( type, elem, event ) { 16940 var e = jQuery.extend( 16941 new jQuery.Event(), 16942 event, 16943 { 16944 type: type, 16945 isSimulated: true 16946 } 16947 ); 16948 16949 jQuery.event.trigger( e, null, elem ); 16950 } 16951 16952} ); 16953 16954jQuery.fn.extend( { 16955 16956 trigger: function( type, data ) { 16957 return this.each( function() { 16958 jQuery.event.trigger( type, data, this ); 16959 } ); 16960 }, 16961 triggerHandler: function( type, data ) { 16962 var elem = this[ 0 ]; 16963 if ( elem ) { 16964 return jQuery.event.trigger( type, data, elem, true ); 16965 } 16966 } 16967} ); 16968 16969 16970// Support: Firefox <=44 16971// Firefox doesn't have focus(in | out) events 16972// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 16973// 16974// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 16975// focus(in | out) events fire after focus & blur events, 16976// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
vendor: 53,617 bytes, lines 16977-19002
16977// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 16978if ( !support.focusin ) { 16979 jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 16980 16981 // Attach a single capturing handler on the document while someone wants focusin/focusout 16982 var handler = function( event ) { 16983 jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 16984 }; 16985 16986 jQuery.event.special[ fix ] = { 16987 setup: function() { 16988 16989 // Handle: regular nodes (via `this.ownerDocument`), window 16990 // (via `this.document`) & document (via `this`). 16991 var doc = this.ownerDocument || this.document || this, 16992 attaches = dataPriv.access( doc, fix ); 16993 16994 if ( !attaches ) { 16995 doc.addEventListener( orig, handler, true ); 16996 } 16997 dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 16998 }, 16999 teardown: function() { 17000 var doc = this.ownerDocument || this.document || this, 17001 attaches = dataPriv.access( doc, fix ) - 1; 17002 17003 if ( !attaches ) { 17004 doc.removeEventListener( orig, handler, true ); 17005 dataPriv.remove( doc, fix ); 17006 17007 } else { 17008 dataPriv.access( doc, fix, attaches ); 17009 } 17010 } 17011 }; 17012 } ); 17013} 17014var location = window.location; 17015 17016var nonce = { guid: Date.now() }; 17017 17018var rquery = ( /\?/ ); 17019 17020 17021 17022// Cross-browser xml parsing 17023jQuery.parseXML = function( data ) { 17024 var xml, parserErrorElem; 17025 if ( !data || typeof data !== "string" ) { 17026 return null; 17027 } 17028 17029 // Support: IE 9 - 11 only 17030 // IE throws on parseFromString with invalid input. 17031 try { 17032 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 17033 } catch ( e ) {} 17034 17035 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 17036 if ( !xml || parserErrorElem ) { 17037 jQuery.error( "Invalid XML: " + ( 17038 parserErrorElem ? 17039 jQuery.map( parserErrorElem.childNodes, function( el ) { 17040 return el.textContent; 17041 } ).join( "\n" ) : 17042 data 17043 ) ); 17044 } 17045 return xml; 17046}; 17047 17048 17049var 17050 rbracket = /\[\]$/, 17051 rCRLF = /\r?\n/g, 17052 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 17053 rsubmittable = /^(?:input|select|textarea|keygen)/i; 17054 17055function buildParams( prefix, obj, traditional, add ) { 17056 var name; 17057 17058 if ( Array.isArray( obj ) ) { 17059 17060 // Serialize array item. 17061 jQuery.each( obj, function( i, v ) { 17062 if ( traditional || rbracket.test( prefix ) ) { 17063 17064 // Treat each array item as a scalar. 17065 add( prefix, v ); 17066 17067 } else { 17068 17069 // Item is non-scalar (array or object), encode its numeric index. 17070 buildParams( 17071 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 17072 v, 17073 traditional, 17074 add 17075 ); 17076 } 17077 } ); 17078 17079 } else if ( !traditional && toType( obj ) === "object" ) { 17080 17081 // Serialize object item. 17082 for ( name in obj ) { 17083 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 17084 } 17085 17086 } else { 17087 17088 // Serialize scalar item. 17089 add( prefix, obj ); 17090 } 17091} 17092 17093// Serialize an array of form elements or a set of 17094// key/values into a query string 17095jQuery.param = function( a, traditional ) { 17096 var prefix, 17097 s = [], 17098 add = function( key, valueOrFunction ) { 17099 17100 // If value is a function, invoke it and use its return value 17101 var value = isFunction( valueOrFunction ) ? 17102 valueOrFunction() : 17103 valueOrFunction; 17104 17105 s[ s.length ] = encodeURIComponent( key ) + "=" + 17106 encodeURIComponent( value == null ? "" : value ); 17107 }; 17108 17109 if ( a == null ) { 17110 return ""; 17111 } 17112 17113 // If an array was passed in, assume that it is an array of form elements. 17114 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 17115 17116 // Serialize the form elements 17117 jQuery.each( a, function() { 17118 add( this.name, this.value ); 17119 } ); 17120 17121 } else { 17122 17123 // If traditional, encode the "old" way (the way 1.3.2 or older 17124 // did it), otherwise encode params recursively. 17125 for ( prefix in a ) { 17126 buildParams( prefix, a[ prefix ], traditional, add ); 17127 } 17128 } 17129 17130 // Return the resulting serialization 17131 return s.join( "&" ); 17132}; 17133 17134jQuery.fn.extend( { 17135 serialize: function() { 17136 return jQuery.param( this.serializeArray() ); 17137 }, 17138 serializeArray: function() { 17139 return this.map( function() { 17140 17141 // Can add propHook for "elements" to filter or add form elements 17142 var elements = jQuery.prop( this, "elements" ); 17143 return elements ? jQuery.makeArray( elements ) : this; 17144 } ).filter( function() { 17145 var type = this.type; 17146 17147 // Use .is( ":disabled" ) so that fieldset[disabled] works 17148 return this.name && !jQuery( this ).is( ":disabled" ) && 17149 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 17150 ( this.checked || !rcheckableType.test( type ) ); 17151 } ).map( function( _i, elem ) { 17152 var val = jQuery( this ).val(); 17153 17154 if ( val == null ) { 17155 return null; 17156 } 17157 17158 if ( Array.isArray( val ) ) { 17159 return jQuery.map( val, function( val ) { 17160 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 17161 } ); 17162 } 17163 17164 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 17165 } ).get(); 17166 } 17167} ); 17168 17169 17170var 17171 r20 = /%20/g, 17172 rhash = /#.*$/, 17173 rantiCache = /([?&])_=[^&]*/, 17174 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 17175 17176 // #7653, #8125, #8152: local protocol detection 17177 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 17178 rnoContent = /^(?:GET|HEAD)$/, 17179 rprotocol = /^\/\//, 17180 17181 /* Prefilters 17182 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 17183 * 2) These are called: 17184 * - BEFORE asking for a transport 17185 * - AFTER param serialization (s.data is a string if s.processData is true) 17186 * 3) key is the dataType 17187 * 4) the catchall symbol "*" can be used 17188 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 17189 */ 17190 prefilters = {}, 17191 17192 /* Transports bindings 17193 * 1) key is the dataType 17194 * 2) the catchall symbol "*" can be used 17195 * 3) selection will start with transport dataType and THEN go to "*" if needed 17196 */ 17197 transports = {}, 17198 17199 // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression 17200 allTypes = "*/".concat( "*" ), 17201 17202 // Anchor tag for parsing the document origin 17203 originAnchor = document.createElement( "a" ); 17204 17205originAnchor.href = location.href; 17206 17207// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 17208function addToPrefiltersOrTransports( structure ) { 17209 17210 // dataTypeExpression is optional and defaults to "*" 17211 return function( dataTypeExpression, func ) { 17212 17213 if ( typeof dataTypeExpression !== "string" ) { 17214 func = dataTypeExpression; 17215 dataTypeExpression = "*"; 17216 } 17217 17218 var dataType, 17219 i = 0, 17220 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 17221 17222 if ( isFunction( func ) ) { 17223 17224 // For each dataType in the dataTypeExpression 17225 while ( ( dataType = dataTypes[ i++ ] ) ) { 17226 17227 // Prepend if requested 17228 if ( dataType[ 0 ] === "+" ) { 17229 dataType = dataType.slice( 1 ) || "*"; 17230 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 17231 17232 // Otherwise append 17233 } else { 17234 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 17235 } 17236 } 17237 } 17238 }; 17239} 17240 17241// Base inspection function for prefilters and transports 17242function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 17243 17244 var inspected = {}, 17245 seekingTransport = ( structure === transports ); 17246 17247 function inspect( dataType ) { 17248 var selected; 17249 inspected[ dataType ] = true; 17250 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 17251 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 17252 if ( typeof dataTypeOrTransport === "string" && 17253 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 17254 17255 options.dataTypes.unshift( dataTypeOrTransport ); 17256 inspect( dataTypeOrTransport ); 17257 return false; 17258 } else if ( seekingTransport ) { 17259 return !( selected = dataTypeOrTransport ); 17260 } 17261 } ); 17262 return selected; 17263 } 17264 17265 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 17266} 17267 17268// A special extend for ajax options 17269// that takes "flat" options (not to be deep extended) 17270// Fixes #9887 17271function ajaxExtend( target, src ) { 17272 var key, deep, 17273 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 17274 17275 for ( key in src ) { 17276 if ( src[ key ] !== undefined ) { 17277 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 17278 } 17279 } 17280 if ( deep ) { 17281 jQuery.extend( true, target, deep ); 17282 } 17283 17284 return target; 17285} 17286 17287/* Handles responses to an ajax request: 17288 * - finds the right dataType (mediates between content-type and expected dataType) 17289 * - returns the corresponding response 17290 */ 17291function ajaxHandleResponses( s, jqXHR, responses ) { 17292 17293 var ct, type, finalDataType, firstDataType, 17294 contents = s.contents, 17295 dataTypes = s.dataTypes; 17296 17297 // Remove auto dataType and get content-type in the process 17298 while ( dataTypes[ 0 ] === "*" ) { 17299 dataTypes.shift(); 17300 if ( ct === undefined ) { 17301 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 17302 } 17303 } 17304 17305 // Check if we're dealing with a known content-type 17306 if ( ct ) { 17307 for ( type in contents ) { 17308 if ( contents[ type ] && contents[ type ].test( ct ) ) { 17309 dataTypes.unshift( type ); 17310 break; 17311 } 17312 } 17313 } 17314 17315 // Check to see if we have a response for the expected dataType 17316 if ( dataTypes[ 0 ] in responses ) { 17317 finalDataType = dataTypes[ 0 ]; 17318 } else { 17319 17320 // Try convertible dataTypes 17321 for ( type in responses ) { 17322 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 17323 finalDataType = type; 17324 break; 17325 } 17326 if ( !firstDataType ) { 17327 firstDataType = type; 17328 } 17329 } 17330 17331 // Or just use first one 17332 finalDataType = finalDataType || firstDataType; 17333 } 17334 17335 // If we found a dataType 17336 // We add the dataType to the list if needed 17337 // and return the corresponding response 17338 if ( finalDataType ) { 17339 if ( finalDataType !== dataTypes[ 0 ] ) { 17340 dataTypes.unshift( finalDataType ); 17341 } 17342 return responses[ finalDataType ]; 17343 } 17344} 17345 17346/* Chain conversions given the request and the original response 17347 * Also sets the responseXXX fields on the jqXHR instance 17348 */ 17349function ajaxConvert( s, response, jqXHR, isSuccess ) { 17350 var conv2, current, conv, tmp, prev, 17351 converters = {}, 17352 17353 // Work with a copy of dataTypes in case we need to modify it for conversion 17354 dataTypes = s.dataTypes.slice(); 17355 17356 // Create converters map with lowercased keys 17357 if ( dataTypes[ 1 ] ) { 17358 for ( conv in s.converters ) { 17359 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 17360 } 17361 } 17362 17363 current = dataTypes.shift(); 17364 17365 // Convert to each sequential dataType 17366 while ( current ) { 17367 17368 if ( s.responseFields[ current ] ) { 17369 jqXHR[ s.responseFields[ current ] ] = response; 17370 } 17371 17372 // Apply the dataFilter if provided 17373 if ( !prev && isSuccess && s.dataFilter ) { 17374 response = s.dataFilter( response, s.dataType ); 17375 } 17376 17377 prev = current; 17378 current = dataTypes.shift(); 17379 17380 if ( current ) { 17381 17382 // There's only work to do if current dataType is non-auto 17383 if ( current === "*" ) { 17384 17385 current = prev; 17386 17387 // Convert response if prev dataType is non-auto and differs from current 17388 } else if ( prev !== "*" && prev !== current ) { 17389 17390 // Seek a direct converter 17391 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 17392 17393 // If none found, seek a pair 17394 if ( !conv ) { 17395 for ( conv2 in converters ) { 17396 17397 // If conv2 outputs current 17398 tmp = conv2.split( " " ); 17399 if ( tmp[ 1 ] === current ) { 17400 17401 // If prev can be converted to accepted input 17402 conv = converters[ prev + " " + tmp[ 0 ] ] || 17403 converters[ "* " + tmp[ 0 ] ]; 17404 if ( conv ) { 17405 17406 // Condense equivalence converters 17407 if ( conv === true ) { 17408 conv = converters[ conv2 ]; 17409 17410 // Otherwise, insert the intermediate dataType 17411 } else if ( converters[ conv2 ] !== true ) { 17412 current = tmp[ 0 ]; 17413 dataTypes.unshift( tmp[ 1 ] ); 17414 } 17415 break; 17416 } 17417 } 17418 } 17419 } 17420 17421 // Apply converter (if not an equivalence) 17422 if ( conv !== true ) { 17423 17424 // Unless errors are allowed to bubble, catch and return them 17425 if ( conv && s.throws ) { 17426 response = conv( response ); 17427 } else { 17428 try { 17429 response = conv( response ); 17430 } catch ( e ) { 17431 return { 17432 state: "parsererror", 17433 error: conv ? e : "No conversion from " + prev + " to " + current 17434 }; 17435 } 17436 } 17437 } 17438 } 17439 } 17440 } 17441 17442 return { state: "success", data: response }; 17443} 17444 17445jQuery.extend( { 17446 17447 // Counter for holding the number of active queries 17448 active: 0, 17449 17450 // Last-Modified header cache for next request 17451 lastModified: {}, 17452 etag: {}, 17453 17454 ajaxSettings: { 17455 url: location.href, 17456 type: "GET", 17457 isLocal: rlocalProtocol.test( location.protocol ), 17458 global: true, 17459 processData: true, 17460 async: true, 17461 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 17462 17463 /* 17464 timeout: 0, 17465 data: null, 17466 dataType: null, 17467 username: null, 17468 password: null, 17469 cache: null, 17470 throws: false, 17471 traditional: false, 17472 headers: {}, 17473 */ 17474 17475 accepts: { 17476 "*": allTypes, 17477 text: "text/plain", 17478 html: "text/html", 17479 xml: "application/xml, text/xml", 17480 json: "application/json, text/javascript" 17481 }, 17482 17483 contents: { 17484 xml: /\bxml\b/, 17485 html: /\bhtml/, 17486 json: /\bjson\b/ 17487 }, 17488 17489 responseFields: { 17490 xml: "responseXML", 17491 text: "responseText", 17492 json: "responseJSON" 17493 }, 17494 17495 // Data converters 17496 // Keys separate source (or catchall "*") and destination types with a single space 17497 converters: { 17498 17499 // Convert anything to text 17500 "* text": String, 17501 17502 // Text to html (true = no transformation) 17503 "text html": true, 17504 17505 // Evaluate text as a json expression 17506 "text json": JSON.parse, 17507 17508 // Parse text as xml 17509 "text xml": jQuery.parseXML 17510 }, 17511 17512 // For options that shouldn't be deep extended: 17513 // you can add your own custom options here if 17514 // and when you create one that shouldn't be 17515 // deep extended (see ajaxExtend) 17516 flatOptions: { 17517 url: true, 17518 context: true 17519 } 17520 }, 17521 17522 // Creates a full fledged settings object into target 17523 // with both ajaxSettings and settings fields. 17524 // If target is omitted, writes into ajaxSettings. 17525 ajaxSetup: function( target, settings ) { 17526 return settings ? 17527 17528 // Building a settings object 17529 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 17530 17531 // Extending ajaxSettings 17532 ajaxExtend( jQuery.ajaxSettings, target ); 17533 }, 17534 17535 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 17536 ajaxTransport: addToPrefiltersOrTransports( transports ), 17537 17538 // Main method 17539 ajax: function( url, options ) { 17540 17541 // If url is an object, simulate pre-1.5 signature 17542 if ( typeof url === "object" ) { 17543 options = url; 17544 url = undefined; 17545 } 17546 17547 // Force options to be an object 17548 options = options || {}; 17549 17550 var transport, 17551 17552 // URL without anti-cache param 17553 cacheURL, 17554 17555 // Response headers 17556 responseHeadersString, 17557 responseHeaders, 17558 17559 // timeout handle 17560 timeoutTimer, 17561 17562 // Url cleanup var 17563 urlAnchor, 17564 17565 // Request state (becomes false upon send and true upon completion) 17566 completed, 17567 17568 // To know if global events are to be dispatched 17569 fireGlobals, 17570 17571 // Loop variable 17572 i, 17573 17574 // uncached part of the url 17575 uncached, 17576 17577 // Create the final options object 17578 s = jQuery.ajaxSetup( {}, options ), 17579 17580 // Callbacks context 17581 callbackContext = s.context || s, 17582 17583 // Context for global events is callbackContext if it is a DOM node or jQuery collection 17584 globalEventContext = s.context && 17585 ( callbackContext.nodeType || callbackContext.jquery ) ? 17586 jQuery( callbackContext ) : 17587 jQuery.event, 17588 17589 // Deferreds 17590 deferred = jQuery.Deferred(), 17591 completeDeferred = jQuery.Callbacks( "once memory" ), 17592 17593 // Status-dependent callbacks 17594 statusCode = s.statusCode || {}, 17595 17596 // Headers (they are sent all at once) 17597 requestHeaders = {}, 17598 requestHeadersNames = {}, 17599 17600 // Default abort message 17601 strAbort = "canceled", 17602 17603 // Fake xhr 17604 jqXHR = { 17605 readyState: 0, 17606 17607 // Builds headers hashtable if needed 17608 getResponseHeader: function( key ) { 17609 var match; 17610 if ( completed ) { 17611 if ( !responseHeaders ) { 17612 responseHeaders = {}; 17613 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 17614 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 17615 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 17616 .concat( match[ 2 ] ); 17617 } 17618 } 17619 match = responseHeaders[ key.toLowerCase() + " " ]; 17620 } 17621 return match == null ? null : match.join( ", " ); 17622 }, 17623 17624 // Raw string 17625 getAllResponseHeaders: function() { 17626 return completed ? responseHeadersString : null; 17627 }, 17628 17629 // Caches the header 17630 setRequestHeader: function( name, value ) { 17631 if ( completed == null ) { 17632 name = requestHeadersNames[ name.toLowerCase() ] = 17633 requestHeadersNames[ name.toLowerCase() ] || name; 17634 requestHeaders[ name ] = value; 17635 } 17636 return this; 17637 }, 17638 17639 // Overrides response content-type header 17640 overrideMimeType: function( type ) { 17641 if ( completed == null ) { 17642 s.mimeType = type; 17643 } 17644 return this; 17645 }, 17646 17647 // Status-dependent callbacks 17648 statusCode: function( map ) { 17649 var code; 17650 if ( map ) { 17651 if ( completed ) { 17652 17653 // Execute the appropriate callbacks 17654 jqXHR.always( map[ jqXHR.status ] ); 17655 } else { 17656 17657 // Lazy-add the new callbacks in a way that preserves old ones 17658 for ( code in map ) { 17659 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 17660 } 17661 } 17662 } 17663 return this; 17664 }, 17665 17666 // Cancel the request 17667 abort: function( statusText ) { 17668 var finalText = statusText || strAbort; 17669 if ( transport ) { 17670 transport.abort( finalText ); 17671 } 17672 done( 0, finalText ); 17673 return this; 17674 } 17675 }; 17676 17677 // Attach deferreds 17678 deferred.promise( jqXHR ); 17679 17680 // Add protocol if not provided (prefilters might expect it) 17681 // Handle falsy url in the settings object (#10093: consistency with old signature) 17682 // We also use the url parameter if available 17683 s.url = ( ( url || s.url || location.href ) + "" ) 17684 .replace( rprotocol, location.protocol + "//" ); 17685 17686 // Alias method option to type as per ticket #12004 17687 s.type = options.method || options.type || s.method || s.type; 17688 17689 // Extract dataTypes list 17690 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 17691 17692 // A cross-domain request is in order when the origin doesn't match the current origin. 17693 if ( s.crossDomain == null ) { 17694 urlAnchor = document.createElement( "a" ); 17695 17696 // Support: IE <=8 - 11, Edge 12 - 15 17697 // IE throws exception on accessing the href property if url is malformed, 17698 // e.g. http://example.com:80x/ 17699 try { 17700 urlAnchor.href = s.url; 17701 17702 // Support: IE <=8 - 11 only 17703 // Anchor's host property isn't correctly set when s.url is relative 17704 urlAnchor.href = urlAnchor.href; 17705 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 17706 urlAnchor.protocol + "//" + urlAnchor.host; 17707 } catch ( e ) { 17708 17709 // If there is an error parsing the URL, assume it is crossDomain, 17710 // it can be rejected by the transport if it is invalid 17711 s.crossDomain = true; 17712 } 17713 } 17714 17715 // Convert data if not already a string 17716 if ( s.data && s.processData && typeof s.data !== "string" ) { 17717 s.data = jQuery.param( s.data, s.traditional ); 17718 } 17719 17720 // Apply prefilters 17721 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 17722 17723 // If request was aborted inside a prefilter, stop there 17724 if ( completed ) { 17725 return jqXHR; 17726 } 17727 17728 // We can fire global events as of now if asked to 17729 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) 17730 fireGlobals = jQuery.event && s.global; 17731 17732 // Watch for a new set of requests 17733 if ( fireGlobals && jQuery.active++ === 0 ) { 17734 jQuery.event.trigger( "ajaxStart" ); 17735 } 17736 17737 // Uppercase the type 17738 s.type = s.type.toUpperCase(); 17739 17740 // Determine if request has content 17741 s.hasContent = !rnoContent.test( s.type ); 17742 17743 // Save the URL in case we're toying with the If-Modified-Since 17744 // and/or If-None-Match header later on 17745 // Remove hash to simplify url manipulation 17746 cacheURL = s.url.replace( rhash, "" ); 17747 17748 // More options handling for requests with no content 17749 if ( !s.hasContent ) { 17750 17751 // Remember the hash so we can put it back 17752 uncached = s.url.slice( cacheURL.length ); 17753 17754 // If data is available and should be processed, append data to url 17755 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 17756 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 17757 17758 // #9682: remove data so that it's not used in an eventual retry 17759 delete s.data; 17760 } 17761 17762 // Add or update anti-cache param if needed 17763 if ( s.cache === false ) { 17764 cacheURL = cacheURL.replace( rantiCache, "$1" ); 17765 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 17766 uncached; 17767 } 17768 17769 // Put hash and anti-cache on the URL that will be requested (gh-1732) 17770 s.url = cacheURL + uncached; 17771 17772 // Change '%20' to '+' if this is encoded form body content (gh-2658) 17773 } else if ( s.data && s.processData && 17774 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 17775 s.data = s.data.replace( r20, "+" ); 17776 } 17777 17778 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 17779 if ( s.ifModified ) { 17780 if ( jQuery.lastModified[ cacheURL ] ) { 17781 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 17782 } 17783 if ( jQuery.etag[ cacheURL ] ) { 17784 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 17785 } 17786 } 17787 17788 // Set the correct header, if data is being sent 17789 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 17790 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 17791 } 17792 17793 // Set the Accepts header for the server, depending on the dataType 17794 jqXHR.setRequestHeader( 17795 "Accept", 17796 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 17797 s.accepts[ s.dataTypes[ 0 ] ] + 17798 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 17799 s.accepts[ "*" ] 17800 ); 17801 17802 // Check for headers option 17803 for ( i in s.headers ) { 17804 jqXHR.setRequestHeader( i, s.headers[ i ] ); 17805 } 17806 17807 // Allow custom headers/mimetypes and early abort 17808 if ( s.beforeSend && 17809 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 17810 17811 // Abort if not done already and return 17812 return jqXHR.abort(); 17813 } 17814 17815 // Aborting is no longer a cancellation 17816 strAbort = "abort"; 17817 17818 // Install callbacks on deferreds 17819 completeDeferred.add( s.complete ); 17820 jqXHR.done( s.success ); 17821 jqXHR.fail( s.error ); 17822 17823 // Get transport 17824 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 17825 17826 // If no transport, we auto-abort 17827 if ( !transport ) { 17828 done( -1, "No Transport" ); 17829 } else { 17830 jqXHR.readyState = 1; 17831 17832 // Send global event 17833 if ( fireGlobals ) { 17834 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 17835 } 17836 17837 // If request was aborted inside ajaxSend, stop there 17838 if ( completed ) { 17839 return jqXHR; 17840 } 17841 17842 // Timeout 17843 if ( s.async && s.timeout > 0 ) { 17844 timeoutTimer = window.setTimeout( function() { 17845 jqXHR.abort( "timeout" ); 17846 }, s.timeout ); 17847 } 17848 17849 try { 17850 completed = false; 17851 transport.send( requestHeaders, done ); 17852 } catch ( e ) { 17853 17854 // Rethrow post-completion exceptions 17855 if ( completed ) { 17856 throw e; 17857 } 17858 17859 // Propagate others as results 17860 done( -1, e ); 17861 } 17862 } 17863 17864 // Callback for when everything is done 17865 function done( status, nativeStatusText, responses, headers ) { 17866 var isSuccess, success, error, response, modified, 17867 statusText = nativeStatusText; 17868 17869 // Ignore repeat invocations 17870 if ( completed ) { 17871 return; 17872 } 17873 17874 completed = true; 17875 17876 // Clear timeout if it exists 17877 if ( timeoutTimer ) { 17878 window.clearTimeout( timeoutTimer ); 17879 } 17880 17881 // Dereference transport for early garbage collection 17882 // (no matter how long the jqXHR object will be used) 17883 transport = undefined; 17884 17885 // Cache response headers 17886 responseHeadersString = headers || ""; 17887 17888 // Set readyState 17889 jqXHR.readyState = status > 0 ? 4 : 0; 17890 17891 // Determine if successful 17892 isSuccess = status >= 200 && status < 300 || status === 304; 17893 17894 // Get response data 17895 if ( responses ) { 17896 response = ajaxHandleResponses( s, jqXHR, responses ); 17897 } 17898 17899 // Use a noop converter for missing script but not if jsonp 17900 if ( !isSuccess && 17901 jQuery.inArray( "script", s.dataTypes ) > -1 && 17902 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 17903 s.converters[ "text script" ] = function() {}; 17904 } 17905 17906 // Convert no matter what (that way responseXXX fields are always set) 17907 response = ajaxConvert( s, response, jqXHR, isSuccess ); 17908 17909 // If successful, handle type chaining 17910 if ( isSuccess ) { 17911 17912 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 17913 if ( s.ifModified ) { 17914 modified = jqXHR.getResponseHeader( "Last-Modified" ); 17915 if ( modified ) { 17916 jQuery.lastModified[ cacheURL ] = modified; 17917 } 17918 modified = jqXHR.getResponseHeader( "etag" ); 17919 if ( modified ) { 17920 jQuery.etag[ cacheURL ] = modified; 17921 } 17922 } 17923 17924 // if no content 17925 if ( status === 204 || s.type === "HEAD" ) { 17926 statusText = "nocontent"; 17927 17928 // if not modified 17929 } else if ( status === 304 ) { 17930 statusText = "notmodified"; 17931 17932 // If we have data, let's convert it 17933 } else { 17934 statusText = response.state; 17935 success = response.data; 17936 error = response.error; 17937 isSuccess = !error; 17938 } 17939 } else { 17940 17941 // Extract error from statusText and normalize for non-aborts 17942 error = statusText; 17943 if ( status || !statusText ) { 17944 statusText = "error"; 17945 if ( status < 0 ) { 17946 status = 0; 17947 } 17948 } 17949 } 17950 17951 // Set data for the fake xhr object 17952 jqXHR.status = status; 17953 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 17954 17955 // Success/Error 17956 if ( isSuccess ) { 17957 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 17958 } else { 17959 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 17960 } 17961 17962 // Status-dependent callbacks 17963 jqXHR.statusCode( statusCode ); 17964 statusCode = undefined; 17965 17966 if ( fireGlobals ) { 17967 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 17968 [ jqXHR, s, isSuccess ? success : error ] ); 17969 } 17970 17971 // Complete 17972 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 17973 17974 if ( fireGlobals ) { 17975 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 17976 17977 // Handle the global AJAX counter 17978 if ( !( --jQuery.active ) ) { 17979 jQuery.event.trigger( "ajaxStop" ); 17980 } 17981 } 17982 } 17983 17984 return jqXHR; 17985 }, 17986 17987 getJSON: function( url, data, callback ) { 17988 return jQuery.get( url, data, callback, "json" ); 17989 }, 17990 17991 getScript: function( url, callback ) { 17992 return jQuery.get( url, undefined, callback, "script" ); 17993 } 17994} ); 17995 17996jQuery.each( [ "get", "post" ], function( _i, method ) { 17997 jQuery[ method ] = function( url, data, callback, type ) { 17998 17999 // Shift arguments if data argument was omitted 18000 if ( isFunction( data ) ) { 18001 type = type || callback; 18002 callback = data; 18003 data = undefined; 18004 } 18005 18006 // The url can be an options object (which then must have .url) 18007 return jQuery.ajax( jQuery.extend( { 18008 url: url, 18009 type: method, 18010 dataType: type, 18011 data: data, 18012 success: callback 18013 }, jQuery.isPlainObject( url ) && url ) ); 18014 }; 18015} ); 18016 18017jQuery.ajaxPrefilter( function( s ) { 18018 var i; 18019 for ( i in s.headers ) { 18020 if ( i.toLowerCase() === "content-type" ) { 18021 s.contentType = s.headers[ i ] || ""; 18022 } 18023 } 18024} ); 18025 18026 18027jQuery._evalUrl = function( url, options, doc ) { 18028 return jQuery.ajax( { 18029 url: url, 18030 18031 // Make this explicit, since user can override this through ajaxSetup (#11264) 18032 type: "GET", 18033 dataType: "script", 18034 cache: true, 18035 async: false, 18036 global: false, 18037 18038 // Only evaluate the response if it is successful (gh-4126) 18039 // dataFilter is not invoked for failure responses, so using it instead 18040 // of the default converter is kludgy but it works. 18041 converters: { 18042 "text script": function() {} 18043 }, 18044 dataFilter: function( response ) { 18045 jQuery.globalEval( response, options, doc ); 18046 } 18047 } ); 18048}; 18049 18050 18051jQuery.fn.extend( { 18052 wrapAll: function( html ) { 18053 var wrap; 18054 18055 if ( this[ 0 ] ) { 18056 if ( isFunction( html ) ) { 18057 html = html.call( this[ 0 ] ); 18058 } 18059 18060 // The elements to wrap the target around 18061 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 18062 18063 if ( this[ 0 ].parentNode ) { 18064 wrap.insertBefore( this[ 0 ] ); 18065 } 18066 18067 wrap.map( function() { 18068 var elem = this; 18069 18070 while ( elem.firstElementChild ) { 18071 elem = elem.firstElementChild; 18072 } 18073 18074 return elem; 18075 } ).append( this ); 18076 } 18077 18078 return this; 18079 }, 18080 18081 wrapInner: function( html ) { 18082 if ( isFunction( html ) ) { 18083 return this.each( function( i ) { 18084 jQuery( this ).wrapInner( html.call( this, i ) ); 18085 } ); 18086 } 18087 18088 return this.each( function() { 18089 var self = jQuery( this ), 18090 contents = self.contents(); 18091 18092 if ( contents.length ) { 18093 contents.wrapAll( html ); 18094 18095 } else { 18096 self.append( html ); 18097 } 18098 } ); 18099 }, 18100 18101 wrap: function( html ) { 18102 var htmlIsFunction = isFunction( html ); 18103 18104 return this.each( function( i ) { 18105 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 18106 } ); 18107 }, 18108 18109 unwrap: function( selector ) { 18110 this.parent( selector ).not( "body" ).each( function() { 18111 jQuery( this ).replaceWith( this.childNodes ); 18112 } ); 18113 return this; 18114 } 18115} ); 18116 18117 18118jQuery.expr.pseudos.hidden = function( elem ) { 18119 return !jQuery.expr.pseudos.visible( elem ); 18120}; 18121jQuery.expr.pseudos.visible = function( elem ) { 18122 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 18123}; 18124 18125 18126 18127 18128jQuery.ajaxSettings.xhr = function() { 18129 try { 18130 return new window.XMLHttpRequest(); 18131 } catch ( e ) {} 18132}; 18133 18134var xhrSuccessStatus = { 18135 18136 // File protocol always yields status code 0, assume 200 18137 0: 200, 18138 18139 // Support: IE <=9 only 18140 // #1450: sometimes IE returns 1223 when it should be 204 18141 1223: 204 18142 }, 18143 xhrSupported = jQuery.ajaxSettings.xhr(); 18144 18145support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 18146support.ajax = xhrSupported = !!xhrSupported; 18147 18148jQuery.ajaxTransport( function( options ) { 18149 var callback, errorCallback; 18150 18151 // Cross domain only allowed if supported through XMLHttpRequest 18152 if ( support.cors || xhrSupported && !options.crossDomain ) { 18153 return { 18154 send: function( headers, complete ) { 18155 var i, 18156 xhr = options.xhr(); 18157 18158 xhr.open( 18159 options.type, 18160 options.url, 18161 options.async, 18162 options.username, 18163 options.password 18164 ); 18165 18166 // Apply custom fields if provided 18167 if ( options.xhrFields ) { 18168 for ( i in options.xhrFields ) { 18169 xhr[ i ] = options.xhrFields[ i ]; 18170 } 18171 } 18172 18173 // Override mime type if needed 18174 if ( options.mimeType && xhr.overrideMimeType ) { 18175 xhr.overrideMimeType( options.mimeType ); 18176 } 18177 18178 // X-Requested-With header 18179 // For cross-domain requests, seeing as conditions for a preflight are 18180 // akin to a jigsaw puzzle, we simply never set it to be sure. 18181 // (it can always be set on a per-request basis or even using ajaxSetup) 18182 // For same-domain requests, won't change header if already provided. 18183 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 18184 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 18185 } 18186 18187 // Set headers 18188 for ( i in headers ) { 18189 xhr.setRequestHeader( i, headers[ i ] ); 18190 } 18191 18192 // Callback 18193 callback = function( type ) { 18194 return function() { 18195 if ( callback ) { 18196 callback = errorCallback = xhr.onload = 18197 xhr.onerror = xhr.onabort = xhr.ontimeout = 18198 xhr.onreadystatechange = null; 18199 18200 if ( type === "abort" ) { 18201 xhr.abort(); 18202 } else if ( type === "error" ) { 18203 18204 // Support: IE <=9 only 18205 // On a manual native abort, IE9 throws 18206 // errors on any property access that is not readyState 18207 if ( typeof xhr.status !== "number" ) { 18208 complete( 0, "error" ); 18209 } else { 18210 complete( 18211 18212 // File: protocol always yields status 0; see #8605, #14207 18213 xhr.status, 18214 xhr.statusText 18215 ); 18216 } 18217 } else { 18218 complete( 18219 xhrSuccessStatus[ xhr.status ] || xhr.status, 18220 xhr.statusText, 18221 18222 // Support: IE <=9 only 18223 // IE9 has no XHR2 but throws on binary (trac-11426) 18224 // For XHR2 non-text, let the caller handle it (gh-2498) 18225 ( xhr.responseType || "text" ) !== "text" || 18226 typeof xhr.responseText !== "string" ? 18227 { binary: xhr.response } : 18228 { text: xhr.responseText }, 18229 xhr.getAllResponseHeaders() 18230 ); 18231 } 18232 } 18233 }; 18234 }; 18235 18236 // Listen to events 18237 xhr.onload = callback(); 18238 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 18239 18240 // Support: IE 9 only 18241 // Use onreadystatechange to replace onabort 18242 // to handle uncaught aborts 18243 if ( xhr.onabort !== undefined ) { 18244 xhr.onabort = errorCallback; 18245 } else { 18246 xhr.onreadystatechange = function() { 18247 18248 // Check readyState before timeout as it changes 18249 if ( xhr.readyState === 4 ) { 18250 18251 // Allow onerror to be called first, 18252 // but that will not handle a native abort 18253 // Also, save errorCallback to a variable 18254 // as xhr.onerror cannot be accessed 18255 window.setTimeout( function() { 18256 if ( callback ) { 18257 errorCallback(); 18258 } 18259 } ); 18260 } 18261 }; 18262 } 18263 18264 // Create the abort callback 18265 callback = callback( "abort" ); 18266 18267 try { 18268 18269 // Do send the request (this may raise an exception) 18270 xhr.send( options.hasContent && options.data || null ); 18271 } catch ( e ) { 18272 18273 // #14683: Only rethrow if this hasn't been notified as an error yet 18274 if ( callback ) { 18275 throw e; 18276 } 18277 } 18278 }, 18279 18280 abort: function() { 18281 if ( callback ) { 18282 callback(); 18283 } 18284 } 18285 }; 18286 } 18287} ); 18288 18289 18290 18291 18292// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 18293jQuery.ajaxPrefilter( function( s ) { 18294 if ( s.crossDomain ) { 18295 s.contents.script = false; 18296 } 18297} ); 18298 18299// Install script dataType 18300jQuery.ajaxSetup( { 18301 accepts: { 18302 script: "text/javascript, application/javascript, " + 18303 "application/ecmascript, application/x-ecmascript" 18304 }, 18305 contents: { 18306 script: /\b(?:java|ecma)script\b/ 18307 }, 18308 converters: { 18309 "text script": function( text ) { 18310 jQuery.globalEval( text ); 18311 return text; 18312 } 18313 } 18314} ); 18315 18316// Handle cache's special case and crossDomain 18317jQuery.ajaxPrefilter( "script", function( s ) { 18318 if ( s.cache === undefined ) { 18319 s.cache = false; 18320 } 18321 if ( s.crossDomain ) { 18322 s.type = "GET"; 18323 } 18324} ); 18325 18326// Bind script tag hack transport 18327jQuery.ajaxTransport( "script", function( s ) { 18328 18329 // This transport only deals with cross domain or forced-by-attrs requests 18330 if ( s.crossDomain || s.scriptAttrs ) { 18331 var script, callback; 18332 return { 18333 send: function( _, complete ) { 18334 script = jQuery( "<script>" ) 18335 .attr( s.scriptAttrs || {} ) 18336 .prop( { charset: s.scriptCharset, src: s.url } ) 18337 .on( "load error", callback = function( evt ) { 18338 script.remove(); 18339 callback = null; 18340 if ( evt ) { 18341 complete( evt.type === "error" ? 404 : 200, evt.type ); 18342 } 18343 } ); 18344 18345 // Use native DOM manipulation to avoid our domManip AJAX trickery 18346 document.head.appendChild( script[ 0 ] ); 18347 }, 18348 abort: function() { 18349 if ( callback ) { 18350 callback(); 18351 } 18352 } 18353 }; 18354 } 18355} ); 18356 18357 18358 18359 18360var oldCallbacks = [], 18361 rjsonp = /(=)\?(?=&|$)|\?\?/; 18362 18363// Default jsonp settings 18364jQuery.ajaxSetup( { 18365 jsonp: "callback", 18366 jsonpCallback: function() { 18367 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 18368 this[ callback ] = true; 18369 return callback; 18370 } 18371} ); 18372 18373// Detect, normalize options and install callbacks for jsonp requests 18374jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 18375 18376 var callbackName, overwritten, responseContainer, 18377 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 18378 "url" : 18379 typeof s.data === "string" && 18380 ( s.contentType || "" ) 18381 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 18382 rjsonp.test( s.data ) && "data" 18383 ); 18384 18385 // Handle iff the expected data type is "jsonp" or we have a parameter to set 18386 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 18387 18388 // Get callback name, remembering preexisting value associated with it 18389 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 18390 s.jsonpCallback() : 18391 s.jsonpCallback; 18392 18393 // Insert callback into url or form data 18394 if ( jsonProp ) { 18395 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 18396 } else if ( s.jsonp !== false ) { 18397 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 18398 } 18399 18400 // Use data converter to retrieve json after script execution 18401 s.converters[ "script json" ] = function() { 18402 if ( !responseContainer ) { 18403 jQuery.error( callbackName + " was not called" ); 18404 } 18405 return responseContainer[ 0 ]; 18406 }; 18407 18408 // Force json dataType 18409 s.dataTypes[ 0 ] = "json"; 18410 18411 // Install callback 18412 overwritten = window[ callbackName ]; 18413 window[ callbackName ] = function() { 18414 responseContainer = arguments; 18415 }; 18416 18417 // Clean-up function (fires after converters) 18418 jqXHR.always( function() { 18419 18420 // If previous value didn't exist - remove it 18421 if ( overwritten === undefined ) { 18422 jQuery( window ).removeProp( callbackName ); 18423 18424 // Otherwise restore preexisting value 18425 } else { 18426 window[ callbackName ] = overwritten; 18427 } 18428 18429 // Save back as free 18430 if ( s[ callbackName ] ) { 18431 18432 // Make sure that re-using the options doesn't screw things around 18433 s.jsonpCallback = originalSettings.jsonpCallback; 18434 18435 // Save the callback name for future use 18436 oldCallbacks.push( callbackName ); 18437 } 18438 18439 // Call if it was a function and we have a response 18440 if ( responseContainer && isFunction( overwritten ) ) { 18441 overwritten( responseContainer[ 0 ] ); 18442 } 18443 18444 responseContainer = overwritten = undefined; 18445 } ); 18446 18447 // Delegate to script 18448 return "script"; 18449 } 18450} ); 18451 18452 18453 18454 18455// Support: Safari 8 only 18456// In Safari 8 documents created via document.implementation.createHTMLDocument 18457// collapse sibling forms: the second one becomes a child of the first one. 18458// Because of that, this security measure has to be disabled in Safari 8. 18459// https://bugs.webkit.org/show_bug.cgi?id=137337 18460support.createHTMLDocument = ( function() { 18461 var body = document.implementation.createHTMLDocument( "" ).body; 18462 body.innerHTML = "<form></form><form></form>"; 18463 return body.childNodes.length === 2; 18464} )(); 18465 18466 18467// Argument "data" should be string of html 18468// context (optional): If specified, the fragment will be created in this context, 18469// defaults to document 18470// keepScripts (optional): If true, will include scripts passed in the html string 18471jQuery.parseHTML = function( data, context, keepScripts ) { 18472 if ( typeof data !== "string" ) { 18473 return []; 18474 } 18475 if ( typeof context === "boolean" ) { 18476 keepScripts = context; 18477 context = false; 18478 } 18479 18480 var base, parsed, scripts; 18481 18482 if ( !context ) { 18483 18484 // Stop scripts or inline event handlers from being executed immediately 18485 // by using document.implementation 18486 if ( support.createHTMLDocument ) { 18487 context = document.implementation.createHTMLDocument( "" ); 18488 18489 // Set the base href for the created document 18490 // so any parsed elements with URLs 18491 // are based on the document's URL (gh-2965) 18492 base = context.createElement( "base" ); 18493 base.href = document.location.href; 18494 context.head.appendChild( base ); 18495 } else { 18496 context = document; 18497 } 18498 } 18499 18500 parsed = rsingleTag.exec( data ); 18501 scripts = !keepScripts && []; 18502 18503 // Single tag 18504 if ( parsed ) { 18505 return [ context.createElement( parsed[ 1 ] ) ]; 18506 } 18507 18508 parsed = buildFragment( [ data ], context, scripts ); 18509 18510 if ( scripts && scripts.length ) { 18511 jQuery( scripts ).remove(); 18512 } 18513 18514 return jQuery.merge( [], parsed.childNodes ); 18515}; 18516 18517 18518/** 18519 * Load a url into a page 18520 */ 18521jQuery.fn.load = function( url, params, callback ) { 18522 var selector, type, response, 18523 self = this, 18524 off = url.indexOf( " " ); 18525 18526 if ( off > -1 ) { 18527 selector = stripAndCollapse( url.slice( off ) ); 18528 url = url.slice( 0, off ); 18529 } 18530 18531 // If it's a function 18532 if ( isFunction( params ) ) { 18533 18534 // We assume that it's the callback 18535 callback = params; 18536 params = undefined; 18537 18538 // Otherwise, build a param string 18539 } else if ( params && typeof params === "object" ) { 18540 type = "POST"; 18541 } 18542 18543 // If we have elements to modify, make the request 18544 if ( self.length > 0 ) { 18545 jQuery.ajax( { 18546 url: url, 18547 18548 // If "type" variable is undefined, then "GET" method will be used. 18549 // Make value of this field explicit since 18550 // user can override it through ajaxSetup method 18551 type: type || "GET", 18552 dataType: "html", 18553 data: params 18554 } ).done( function( responseText ) { 18555 18556 // Save response for use in complete callback 18557 response = arguments; 18558 18559 self.html( selector ? 18560 18561 // If a selector was specified, locate the right elements in a dummy div 18562 // Exclude scripts to avoid IE 'Permission Denied' errors 18563 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 18564 18565 // Otherwise use the full result 18566 responseText ); 18567 18568 // If the request succeeds, this function gets "data", "status", "jqXHR" 18569 // but they are ignored because response was set above. 18570 // If it fails, this function gets "jqXHR", "status", "error" 18571 } ).always( callback && function( jqXHR, status ) { 18572 self.each( function() { 18573 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 18574 } ); 18575 } ); 18576 } 18577 18578 return this; 18579}; 18580 18581 18582 18583 18584jQuery.expr.pseudos.animated = function( elem ) { 18585 return jQuery.grep( jQuery.timers, function( fn ) { 18586 return elem === fn.elem; 18587 } ).length; 18588}; 18589 18590 18591 18592 18593jQuery.offset = { 18594 setOffset: function( elem, options, i ) { 18595 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 18596 position = jQuery.css( elem, "position" ), 18597 curElem = jQuery( elem ), 18598 props = {}; 18599 18600 // Set position first, in-case top/left are set even on static elem 18601 if ( position === "static" ) { 18602 elem.style.position = "relative"; 18603 } 18604 18605 curOffset = curElem.offset(); 18606 curCSSTop = jQuery.css( elem, "top" ); 18607 curCSSLeft = jQuery.css( elem, "left" ); 18608 calculatePosition = ( position === "absolute" || position === "fixed" ) && 18609 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 18610 18611 // Need to be able to calculate position if either 18612 // top or left is auto and position is either absolute or fixed 18613 if ( calculatePosition ) { 18614 curPosition = curElem.position(); 18615 curTop = curPosition.top; 18616 curLeft = curPosition.left; 18617 18618 } else { 18619 curTop = parseFloat( curCSSTop ) || 0; 18620 curLeft = parseFloat( curCSSLeft ) || 0; 18621 } 18622 18623 if ( isFunction( options ) ) { 18624 18625 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 18626 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 18627 } 18628 18629 if ( options.top != null ) { 18630 props.top = ( options.top - curOffset.top ) + curTop; 18631 } 18632 if ( options.left != null ) { 18633 props.left = ( options.left - curOffset.left ) + curLeft; 18634 } 18635 18636 if ( "using" in options ) { 18637 options.using.call( elem, props ); 18638 18639 } else { 18640 curElem.css( props ); 18641 } 18642 } 18643}; 18644 18645jQuery.fn.extend( { 18646 18647 // offset() relates an element's border box to the document origin 18648 offset: function( options ) { 18649 18650 // Preserve chaining for setter 18651 if ( arguments.length ) { 18652 return options === undefined ? 18653 this : 18654 this.each( function( i ) { 18655 jQuery.offset.setOffset( this, options, i ); 18656 } ); 18657 } 18658 18659 var rect, win, 18660 elem = this[ 0 ]; 18661 18662 if ( !elem ) { 18663 return; 18664 } 18665 18666 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 18667 // Support: IE <=11 only 18668 // Running getBoundingClientRect on a 18669 // disconnected node in IE throws an error 18670 if ( !elem.getClientRects().length ) { 18671 return { top: 0, left: 0 }; 18672 } 18673 18674 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 18675 rect = elem.getBoundingClientRect(); 18676 win = elem.ownerDocument.defaultView; 18677 return { 18678 top: rect.top + win.pageYOffset, 18679 left: rect.left + win.pageXOffset 18680 }; 18681 }, 18682 18683 // position() relates an element's margin box to its offset parent's padding box 18684 // This corresponds to the behavior of CSS absolute positioning 18685 position: function() { 18686 if ( !this[ 0 ] ) { 18687 return; 18688 } 18689 18690 var offsetParent, offset, doc, 18691 elem = this[ 0 ], 18692 parentOffset = { top: 0, left: 0 }; 18693 18694 // position:fixed elements are offset from the viewport, which itself always has zero offset 18695 if ( jQuery.css( elem, "position" ) === "fixed" ) { 18696 18697 // Assume position:fixed implies availability of getBoundingClientRect 18698 offset = elem.getBoundingClientRect(); 18699 18700 } else { 18701 offset = this.offset(); 18702 18703 // Account for the *real* offset parent, which can be the document or its root element 18704 // when a statically positioned element is identified 18705 doc = elem.ownerDocument; 18706 offsetParent = elem.offsetParent || doc.documentElement; 18707 while ( offsetParent && 18708 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 18709 jQuery.css( offsetParent, "position" ) === "static" ) { 18710 18711 offsetParent = offsetParent.parentNode; 18712 } 18713 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 18714 18715 // Incorporate borders into its offset, since they are outside its content origin 18716 parentOffset = jQuery( offsetParent ).offset(); 18717 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 18718 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 18719 } 18720 } 18721 18722 // Subtract parent offsets and element margins 18723 return { 18724 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 18725 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 18726 }; 18727 }, 18728 18729 // This method will return documentElement in the following cases: 18730 // 1) For the element inside the iframe without offsetParent, this method will return 18731 // documentElement of the parent window 18732 // 2) For the hidden or detached element 18733 // 3) For body or html element, i.e. in case of the html node - it will return itself 18734 // 18735 // but those exceptions were never presented as a real life use-cases 18736 // and might be considered as more preferable results. 18737 // 18738 // This logic, however, is not guaranteed and can change at any point in the future 18739 offsetParent: function() { 18740 return this.map( function() { 18741 var offsetParent = this.offsetParent; 18742 18743 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 18744 offsetParent = offsetParent.offsetParent; 18745 } 18746 18747 return offsetParent || documentElement; 18748 } ); 18749 } 18750} ); 18751 18752// Create scrollLeft and scrollTop methods 18753jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 18754 var top = "pageYOffset" === prop; 18755 18756 jQuery.fn[ method ] = function( val ) { 18757 return access( this, function( elem, method, val ) { 18758 18759 // Coalesce documents and windows 18760 var win; 18761 if ( isWindow( elem ) ) { 18762 win = elem; 18763 } else if ( elem.nodeType === 9 ) { 18764 win = elem.defaultView; 18765 } 18766 18767 if ( val === undefined ) { 18768 return win ? win[ prop ] : elem[ method ]; 18769 } 18770 18771 if ( win ) { 18772 win.scrollTo( 18773 !top ? val : win.pageXOffset, 18774 top ? val : win.pageYOffset 18775 ); 18776 18777 } else { 18778 elem[ method ] = val; 18779 } 18780 }, method, val, arguments.length ); 18781 }; 18782} ); 18783 18784// Support: Safari <=7 - 9.1, Chrome <=37 - 49 18785// Add the top/left cssHooks using jQuery.fn.position 18786// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 18787// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 18788// getComputedStyle returns percent when specified for top/left/bottom/right; 18789// rather than make the css module depend on the offset module, just check for it here 18790jQuery.each( [ "top", "left" ], function( _i, prop ) { 18791 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 18792 function( elem, computed ) { 18793 if ( computed ) { 18794 computed = curCSS( elem, prop ); 18795 18796 // If curCSS returns percentage, fallback to offset 18797 return rnumnonpx.test( computed ) ? 18798 jQuery( elem ).position()[ prop ] + "px" : 18799 computed; 18800 } 18801 } 18802 ); 18803} ); 18804 18805 18806// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 18807jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 18808 jQuery.each( { 18809 padding: "inner" + name, 18810 content: type, 18811 "": "outer" + name 18812 }, function( defaultExtra, funcName ) { 18813 18814 // Margin is only for outerHeight, outerWidth 18815 jQuery.fn[ funcName ] = function( margin, value ) { 18816 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 18817 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 18818 18819 return access( this, function( elem, type, value ) { 18820 var doc; 18821 18822 if ( isWindow( elem ) ) { 18823 18824 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 18825 return funcName.indexOf( "outer" ) === 0 ? 18826 elem[ "inner" + name ] : 18827 elem.document.documentElement[ "client" + name ]; 18828 } 18829 18830 // Get document width or height 18831 if ( elem.nodeType === 9 ) { 18832 doc = elem.documentElement; 18833 18834 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 18835 // whichever is greatest 18836 return Math.max( 18837 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 18838 elem.body[ "offset" + name ], doc[ "offset" + name ], 18839 doc[ "client" + name ] 18840 ); 18841 } 18842 18843 return value === undefined ? 18844 18845 // Get width or height on the element, requesting but not forcing parseFloat 18846 jQuery.css( elem, type, extra ) : 18847 18848 // Set width or height on the element 18849 jQuery.style( elem, type, value, extra ); 18850 }, type, chainable ? margin : undefined, chainable ); 18851 }; 18852 } ); 18853} ); 18854 18855 18856jQuery.each( [ 18857 "ajaxStart", 18858 "ajaxStop", 18859 "ajaxComplete", 18860 "ajaxError", 18861 "ajaxSuccess", 18862 "ajaxSend" 18863], function( _i, type ) { 18864 jQuery.fn[ type ] = function( fn ) { 18865 return this.on( type, fn ); 18866 }; 18867} ); 18868 18869 18870 18871 18872jQuery.fn.extend( { 18873 18874 bind: function( types, data, fn ) { 18875 return this.on( types, null, data, fn ); 18876 }, 18877 unbind: function( types, fn ) { 18878 return this.off( types, null, fn ); 18879 }, 18880 18881 delegate: function( selector, types, data, fn ) { 18882 return this.on( types, selector, data, fn ); 18883 }, 18884 undelegate: function( selector, types, fn ) { 18885 18886 // ( namespace ) or ( selector, types [, fn] ) 18887 return arguments.length === 1 ? 18888 this.off( selector, "**" ) : 18889 this.off( types, selector || "**", fn ); 18890 }, 18891 18892 hover: function( fnOver, fnOut ) { 18893 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 18894 } 18895} ); 18896 18897jQuery.each( 18898 ( "blur focus focusin focusout resize scroll click dblclick " + 18899 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 18900 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 18901 function( _i, name ) { 18902 18903 // Handle event binding 18904 jQuery.fn[ name ] = function( data, fn ) { 18905 return arguments.length > 0 ? 18906 this.on( name, null, data, fn ) : 18907 this.trigger( name ); 18908 }; 18909 } 18910); 18911 18912 18913 18914 18915// Support: Android <=4.0 only 18916// Make sure we trim BOM and NBSP 18917var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 18918 18919// Bind a function to a context, optionally partially applying any 18920// arguments. 18921// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 18922// However, it is not slated for removal any time soon 18923jQuery.proxy = function( fn, context ) { 18924 var tmp, args, proxy; 18925 18926 if ( typeof context === "string" ) { 18927 tmp = fn[ context ]; 18928 context = fn; 18929 fn = tmp; 18930 } 18931 18932 // Quick check to determine if target is callable, in the spec 18933 // this throws a TypeError, but we will just return undefined. 18934 if ( !isFunction( fn ) ) { 18935 return undefined; 18936 } 18937 18938 // Simulated bind 18939 args = slice.call( arguments, 2 ); 18940 proxy = function() { 18941 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 18942 }; 18943 18944 // Set the guid of unique handler to the same of original handler, so it can be removed 18945 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 18946 18947 return proxy; 18948}; 18949 18950jQuery.holdReady = function( hold ) { 18951 if ( hold ) { 18952 jQuery.readyWait++; 18953 } else { 18954 jQuery.ready( true ); 18955 } 18956}; 18957jQuery.isArray = Array.isArray; 18958jQuery.parseJSON = JSON.parse; 18959jQuery.nodeName = nodeName; 18960jQuery.isFunction = isFunction; 18961jQuery.isWindow = isWindow; 18962jQuery.camelCase = camelCase; 18963jQuery.type = toType; 18964 18965jQuery.now = Date.now; 18966 18967jQuery.isNumeric = function( obj ) { 18968 18969 // As of jQuery 3.0, isNumeric is limited to 18970 // strings and numbers (primitives or objects) 18971 // that can be coerced to finite numbers (gh-2662) 18972 var type = jQuery.type( obj ); 18973 return ( type === "number" || type === "string" ) && 18974 18975 // parseFloat NaNs numeric-cast false positives ("") 18976 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 18977 // subtraction forces infinities to NaN 18978 !isNaN( obj - parseFloat( obj ) ); 18979}; 18980 18981jQuery.trim = function( text ) { 18982 return text == null ? 18983 "" : 18984 ( text + "" ).replace( rtrim, "" ); 18985}; 18986 18987 18988 18989// Register as a named AMD module, since jQuery can be concatenated with other 18990// files that may use define, but not via a proper concatenation script that 18991// understands anonymous AMD modules. A named AMD is safest and most robust 18992// way to register. Lowercase jquery is used because AMD module names are 18993// derived from file names, and jQuery is normally delivered in a lowercase 18994// file name. Do this after creating the global so that if an AMD module wants 18995// to call noConflict to hide this version of jQuery, it will work. 18996 18997// Note that for maximum portability, libraries that are not jQuery should 18998// declare themselves as anonymous modules, and avoid setting a global if an 18999// AMD loader is present. jQuery is a special case. For more information, see 19000// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 19001 19002if ( t
19002rue ) { 19003 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() { 19004 return jQuery; 19005 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 19006 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 19007} 19008 19009 19010 19011 19012var 19013 19014 // Map over jQuery in case of overwrite 19015 _jQuery = window.jQuery, 19016 19017 // Map over the $ in case of overwrite 19018 _$ = window.$; 19019 19020jQuery.noConflict = function( deep ) { 19021 if ( window.$ === jQuery ) { 19022 window.$ = _$; 19023 } 19024 19025 if ( deep && window.jQuery === jQuery ) { 19026 window.jQuery = _jQuery; 19027 } 19028 19029 return jQuery; 19030}; 19031 19032// Expose jQuery and $ identifiers, even in AMD 19033// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 19034// and CommonJS for browser emulators (#13566) 19035if ( typeof noGlobal === "undefined" ) { 19036 window.jQuery = window.$ = jQuery; 19037} 19038 19039 19040 19041 19042return jQuery; 19043} ); 19044 19045 19046/***/ }), 19047 19048/***/ 4697: 19049/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 19050 19051//! moment.js locale configuration 19052//! locale : German (Switzerland) [de-ch] 19053//! author : sschueller : https://github.com/sschueller 19054 19055;(function (global, factory) { 19056 true ? factory(__webpack_require__(5093)) : 19057 0 19058}(this, (function (moment) { 'use strict'; 19059 19060 //! moment.js locale configuration 19061 19062 function processRelativeTime(number, withoutSuffix, key, isFuture) { 19063 var format = { 19064 m: ['eine Minute', 'einer Minute'], 19065 h: ['eine Stunde', 'einer Stunde'], 19066 d: ['ein Tag', 'einem Tag'], 19067 dd: [number + ' Tage', number + ' Tagen'], 19068 w: ['eine Woche', 'einer Woche'], 19069 M: ['ein Monat', 'einem Monat'], 19070 MM: [number + ' Monate', number + ' Monaten'], 19071 y: ['ein Jahr', 'einem Jahr'], 19072 yy: [number + ' Jahre', number + ' Jahren'], 19073 }; 19074 return withoutSuffix ? format[key][0] : format[key][1]; 19075 } 19076 19077 var deCh = moment.defineLocale('de-ch', { 19078 months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( 19079 '_' 19080 ), 19081 monthsShort: 19082 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 19083 monthsParseExact: true, 19084 weekdays: 19085 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( 19086 '_' 19087 ), 19088 weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 19089 weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 19090 weekdaysParseExact: true, 19091 longDateFormat: { 19092 LT: 'HH:mm', 19093 LTS: 'HH:mm:ss', 19094 L: 'DD.MM.YYYY', 19095 LL: 'D. MMMM YYYY', 19096 LLL: 'D. MMMM YYYY HH:mm', 19097 LLLL: 'dddd, D. MMMM YYYY HH:mm', 19098 }, 19099 calendar: { 19100 sameDay: '[heute um] LT [Uhr]', 19101 sameElse: 'L', 19102 nextDay: '[morgen um] LT [Uhr]', 19103 nextWeek: 'dddd [um] LT [Uhr]', 19104 lastDay: '[gestern um] LT [Uhr]', 19105 lastWeek: '[letzten] dddd [um] LT [Uhr]', 19106 }, 19107 relativeTime: { 19108 future: 'in %s', 19109 past: 'vor %s', 19110 s: 'ein paar Sekunden', 19111 ss: '%d Sekunden', 19112 m: processRelativeTime, 19113 mm: '%d Minuten', 19114 h: processRelativeTime, 19115 hh: '%d Stunden', 19116 d: processRelativeTime, 19117 dd: processRelativeTime, 19118 w: processRelativeTime, 19119 ww: '%d Wochen', 19120 M: processRelativeTime, 19121 MM: processRelativeTime, 19122 y: processRelativeTime, 19123 yy: processRelativeTime, 19124 }, 19125 dayOfMonthOrdinalParse: /\d{1,2}\./, 19126 ordinal: '%d.', 19127 week: { 19128 dow: 1, // Monday is the first day of the week. 19129 doy: 4, // The week that contains Jan 4th is the first week of the year. 19130 }, 19131 }); 19132 19133 return deCh; 19134 19135}))); 19136 19137 19138/***/ }), 19139 19140/***/ 4903: 19141/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 19142 19143//! moment.js locale configuration 19144//! locale : Bambara [bm] 19145//! author : Estelle Comment : https://github.com/estellecomment 19146 19147;(function (global, factory) { 19148 true ? factory(__webpack_require__(5093)) : 19149 0 19150}(this, (function (moment) { 'use strict'; 19151 19152 //! moment.js locale configuration 19153 19154 var bm = moment.defineLocale('bm', { 19155 months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉkalo_ZuwÉnkalo_Zuluyekalo_Utikalo_SÉtanburukalo_ÉkutÉburukalo_Nowanburukalo_Desanburukalo'.split( 19156 '_' 19157 ), 19158 monthsShort: 'Zan_Few_Mar_Awi_MÉ_Zuw_Zul_Uti_SÉt_Éku_Now_Des'.split('_'), 19159 weekdays: 'Kari_NtÉnÉn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), 19160 weekdaysShort: 'Kar_NtÉ_Tar_Ara_Ala_Jum_Sib'.split('_'), 19161 weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), 19162 longDateFormat: { 19163 LT: 'HH:mm', 19164 LTS: 'HH:mm:ss', 19165 L: 'DD/MM/YYYY', 19166 LL: 'MMMM [tile] D [san] YYYY', 19167 LLL: 'MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm', 19168 LLLL: 'dddd MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm', 19169 }, 19170 calendar: { 19171 sameDay: '[Bi lÉrÉ] LT', 19172 nextDay: '[Sini lÉrÉ] LT', 19173 nextWeek: 'dddd [don lÉrÉ] LT', 19174 lastDay: '[Kunu lÉrÉ] LT', 19175 lastWeek: 'dddd [tÉmÉnen lÉrÉ] LT', 19176 sameElse: 'L', 19177 }, 19178 relativeTime: { 19179 future: '%s kÉnÉ', 19180 past: 'a bÉ %s bÉ', 19181 s: 'sanga dama dama', 19182 ss: 'sekondi %d', 19183 m: 'miniti kelen', 19184 mm: 'miniti %d', 19185 h: 'lÉrÉ kelen', 19186 hh: 'lÉrÉ %d', 19187 d: 'tile kelen', 19188 dd: 'tile %d', 19189 M: 'kalo kelen', 19190 MM: 'kalo %d', 19191 y: 'san kelen', 19192 yy: 'san %d', 19193 }, 19194 week: { 19195 dow: 1, // Monday is the first day of the week. 19196 doy: 4, // The week that contains Jan 4th is the first week of the year. 19197 }, 19198 }); 19199 19200 return bm; 19201 19202}))); 19203 19204 19205/***/ }), 19206 19207/***/ 5050: 19208/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 19209 19210//! moment.js locale configuration 19211//! locale : Gujarati [gu] 19212//! author : Kaushik Thanki : https://github.com/Kaushik1987 19213 19214;(function (global, factory) { 19215 true ? factory(__webpack_require__(5093)) : 19216 0 19217}(this, (function (moment) { 'use strict'; 19218 19219 //! moment.js locale configuration 19220 19221 var symbolMap = { 19222 1: 'à«§', 19223 2: '૨', 19224 3: 'à«©', 19225 4: '૪', 19226 5: 'à««', 19227 6: '૬', 19228 7: 'à«', 19229 8: 'à«®', 19230 9: '૯', 19231 0: '૦', 19232 }, 19233 numberMap = { 19234 'à«§': '1', 19235 '૨': '2', 19236 'à«©': '3', 19237 '૪': '4', 19238 'à««': '5', 19239 '૬': '6', 19240 'à«': '7', 19241 'à«®': '8', 19242 '૯': '9', 19243 '૦': '0', 19244 }; 19245 19246 var gu = moment.defineLocale('gu', { 19247 months: 'àªàª¾àª¨à«àª¯à«àªàª°à«_ફà«àª¬à«àª°à«àªàª°à«_મારà«àª_àªàªªà«àª°àª¿àª²_મà«_àªà«àª¨_àªà«àª²àª¾àª_àªàªàª¸à«àª_સપà«àªà«àª®à«àª¬àª°_àªàªà«àªà«àª¬àª°_નવà«àª®à«àª¬àª°_ડિસà«àª®à«àª¬àª°'.split( 19248 '_' 19249 ), 19250 monthsShort:
19251 'àªàª¾àª¨à«àª¯à«._ફà«àª¬à«àª°à«._મારà«àª_àªàªªà«àª°àª¿._મà«_àªà«àª¨_àªà«àª²àª¾._àªàª._સપà«àªà«._àªàªà«àªà«._નવà«._ડિસà«.'.split( 19252 '_' 19253 ), 19254 monthsParseExact: true, 19255 weekdays: 'રવિવાર_સà«àª®àªµàª¾àª°_મàªàªàª³àªµàª¾àª°_બà«àª§à«àªµàª¾àª°_àªà«àª°à«àªµàª¾àª°_શà«àªà«àª°àªµàª¾àª°_શનિવાર'.split( 19256 '_' 19257 ), 19258 weekdaysShort: 'રવિ_સà«àª®_મàªàªàª³_બà«àª§à«_àªà«àª°à«_શà«àªà«àª°_શનિ'.split('_'), 19259 weekdaysMin: 'ર_સà«_મàª_બà«_àªà«_શà«_શ'.split('_'), 19260 longDateFormat: { 19261 LT: 'A h:mm વાàªà«àª¯à«', 19262 LTS: 'A h:mm:ss વાàªà«àª¯à«', 19263 L: 'DD/MM/YYYY', 19264 LL: 'D MMMM YYYY', 19265 LLL: 'D MMMM YYYY, A h:mm વાàªà«àª¯à«', 19266 LLLL: 'dddd, D MMMM YYYY, A h:mm વાàªà«àª¯à«', 19267 }, 19268 calendar: { 19269 sameDay: '[àªàª] LT', 19270 nextDay: '[àªàª¾àª²à«] LT', 19271 nextWeek: 'dddd, LT', 19272 lastDay: '[àªàªàªàª¾àª²à«] LT', 19273 lastWeek: '[પાàªàª²àª¾] dddd, LT', 19274 sameElse: 'L', 19275 }, 19276 relativeTime: { 19277 future: '%s મા', 19278 past: '%s પહà«àª²àª¾', 19279 s: 'ઠમà«àª પળà«', 19280 ss: '%d સà«àªàªàª¡', 19281 m: 'àªàª મિનિàª', 19282 mm: '%d મિનિàª', 19283 h: 'àªàª àªàª²àª¾àª', 19284 hh: '%d àªàª²àª¾àª', 19285 d: 'àªàª દિવસ', 19286 dd: '%d દિવસ', 19287 M: 'àªàª મહિનà«', 19288 MM: '%d મહિનà«', 19289 y: 'àªàª વરà«àª·', 19290 yy: '%d વરà«àª·', 19291 }, 19292 preparse: function (string) { 19293 return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { 19294 return numberMap[match]; 19295 }); 19296 }, 19297 postformat: function (string) { 19298 return string.replace(/\d/g, function (match) { 19299 return symbolMap[match]; 19300 }); 19301 }, 19302 // Gujarati notation for meridiems are quite fuzzy in practice. While there exists 19303 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. 19304 meridiemParse: /રાત|બપà«àª°|સવાર|સાàªàª/, 19305 meridiemHour: function (hour, meridiem) { 19306 if (hour === 12) { 19307 hour = 0; 19308 } 19309 if (meridiem === 'રાત') { 19310 return hour < 4 ? hour : hour + 12; 19311 } else if (meridiem === 'સવાર') { 19312 return hour; 19313 } else if (meridiem === 'બપà«àª°') { 19314 return hour >= 10 ? hour : hour + 12; 19315 } else if (meridiem === 'સાàªàª') { 19316 return hour + 12; 19317 } 19318 }, 19319 meridiem: function (hour, minute, isLower) { 19320 if (hour < 4) { 19321 return 'રાત'; 19322 } else if (hour < 10) { 19323 return 'સવાર'; 19324 } else if (hour < 17) { 19325 return 'બપà«àª°'; 19326 } else if (hour < 20) { 19327 return 'સાàªàª'; 19328 } else { 19329 return 'રાત'; 19330 } 19331 }, 19332 week: { 19333 dow: 0, // Sunday is the first day of the week. 19334 doy: 6, // The week that contains Jan 6th is the first week of the year. 19335 }, 19336 }); 19337 19338 return gu; 19339 19340}))); 19341 19342 19343/***/ }), 19344 19345/***/ 5093: 19346/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 19347 19348/* module decorator */ module = __webpack_require__.nmd(module); 19349//! moment.js 19350//! version : 2.30.1 19351//! authors : Tim Wood, Iskren Chernev, Moment.js contributors 19352//! license : MIT 19353//! momentjs.com 19354 19355;(function (global, factory) { 19356 true ? module.exports = factory() : 19357 0 19358}(this, (function () { 'use strict'; 19359 19360 var hookCallback; 19361 19362 function hooks() { 19363 return hookCallback.apply(null, arguments); 19364 } 19365 19366 // This is done to register the method called with moment() 19367 // without creating circular dependencies. 19368 function setHookCallback(callback) { 19369 hookCallback = callback; 19370 } 19371 19372 function isArray(input) { 19373 return ( 19374 input instanceof Array || 19375 Object.prototype.toString.call(input) === '[object Array]' 19376 ); 19377 } 19378 19379 function isObject(input) { 19380 // IE8 will treat undefined and null as object if it wasn't for 19381 // input != null 19382 return ( 19383 input != null && 19384 Object.prototype.toString.call(input) === '[object Object]' 19385 ); 19386 } 19387 19388 function hasOwnProp(a, b) { 19389 return Object.prototype.hasOwnProperty.call(a, b); 19390 } 19391 19392 function isObjectEmpty(obj) { 19393 if (Object.getOwnPropertyNames) { 19394 return Object.getOwnPropertyNames(obj).length === 0; 19395 } else { 19396 var k; 19397 for (k in obj) { 19398 if (hasOwnProp(obj, k)) { 19399 return false;
vendor: 5,904 bytes, lines 19400-19618
19400 } 19401 } 19402 return true; 19403 } 19404 } 19405 19406 function isUndefined(input) { 19407 return input === void 0; 19408 } 19409 19410 function isNumber(input) { 19411 return ( 19412 typeof input === 'number' || 19413 Object.prototype.toString.call(input) === '[object Number]' 19414 ); 19415 } 19416 19417 function isDate(input) { 19418 return ( 19419 input instanceof Date || 19420 Object.prototype.toString.call(input) === '[object Date]' 19421 ); 19422 } 19423 19424 function map(arr, fn) { 19425 var res = [], 19426 i, 19427 arrLen = arr.length; 19428 for (i = 0; i < arrLen; ++i) { 19429 res.push(fn(arr[i], i)); 19430 } 19431 return res; 19432 } 19433 19434 function extend(a, b) { 19435 for (var i in b) { 19436 if (hasOwnProp(b, i)) { 19437 a[i] = b[i]; 19438 } 19439 } 19440 19441 if (hasOwnProp(b, 'toString')) { 19442 a.toString = b.toString; 19443 } 19444 19445 if (hasOwnProp(b, 'valueOf')) { 19446 a.valueOf = b.valueOf; 19447 } 19448 19449 return a; 19450 } 19451 19452 function createUTC(input, format, locale, strict) { 19453 return createLocalOrUTC(input, format, locale, strict, true).utc(); 19454 } 19455 19456 function defaultParsingFlags() { 19457 // We need to deep clone this object. 19458 return { 19459 empty: false, 19460 unusedTokens: [], 19461 unusedInput: [], 19462 overflow: -2, 19463 charsLeftOver: 0, 19464 nullInput: false, 19465 invalidEra: null, 19466 invalidMonth: null, 19467 invalidFormat: false, 19468 userInvalidated: false, 19469 iso: false, 19470 parsedDateParts: [], 19471 era: null, 19472 meridiem: null, 19473 rfc2822: false, 19474 weekdayMismatch: false, 19475 }; 19476 } 19477 19478 function getParsingFlags(m) { 19479 if (m._pf == null) { 19480 m._pf = defaultParsingFlags(); 19481 } 19482 return m._pf; 19483 } 19484 19485 var some; 19486 if (Array.prototype.some) { 19487 some = Array.prototype.some; 19488 } else { 19489 some = function (fun) { 19490 var t = Object(this), 19491 len = t.length >>> 0, 19492 i; 19493 19494 for (i = 0; i < len; i++) { 19495 if (i in t && fun.call(this, t[i], i, t)) { 19496 return true; 19497 } 19498 } 19499 19500 return false; 19501 }; 19502 } 19503 19504 function isValid(m) { 19505 var flags = null, 19506 parsedParts = false, 19507 isNowValid = m._d && !isNaN(m._d.getTime()); 19508 if (isNowValid) { 19509 flags = getParsingFlags(m); 19510 parsedParts = some.call(flags.parsedDateParts, function (i) { 19511 return i != null; 19512 }); 19513 isNowValid = 19514 flags.overflow < 0 && 19515 !flags.empty && 19516 !flags.invalidEra && 19517 !flags.invalidMonth && 19518 !flags.invalidWeekday && 19519 !flags.weekdayMismatch && 19520 !flags.nullInput && 19521 !flags.invalidFormat && 19522 !flags.userInvalidated && 19523 (!flags.meridiem || (flags.meridiem && parsedParts)); 19524 if (m._strict) { 19525 isNowValid = 19526 isNowValid && 19527 flags.charsLeftOver === 0 && 19528 flags.unusedTokens.length === 0 && 19529 flags.bigHour === undefined; 19530 } 19531 } 19532 if (Object.isFrozen == null || !Object.isFrozen(m)) { 19533 m._isValid = isNowValid; 19534 } else { 19535 return isNowValid; 19536 } 19537 return m._isValid; 19538 } 19539 19540 function createInvalid(flags) { 19541 var m = createUTC(NaN); 19542 if (flags != null) { 19543 extend(getParsingFlags(m), flags); 19544 } else { 19545 getParsingFlags(m).userInvalidated = true; 19546 } 19547 19548 return m; 19549 } 19550 19551 // Plugins that add properties should also add the key here (null value), 19552 // so we can properly clone ourselves. 19553 var momentProperties = (hooks.momentProperties = []), 19554 updateInProgress = false; 19555 19556 function copyConfig(to, from) { 19557 var i, 19558 prop, 19559 val, 19560 momentPropertiesLen = momentProperties.length; 19561 19562 if (!isUndefined(from._isAMomentObject)) { 19563 to._isAMomentObject = from._isAMomentObject; 19564 } 19565 if (!isUndefined(from._i)) { 19566 to._i = from._i; 19567 } 19568 if (!isUndefined(from._f)) { 19569 to._f = from._f; 19570 } 19571 if (!isUndefined(from._l)) { 19572 to._l = from._l; 19573 } 19574 if (!isUndefined(from._strict)) { 19575 to._strict = from._strict; 19576 } 19577 if (!isUndefined(from._tzm)) { 19578 to._tzm = from._tzm; 19579 } 19580 if (!isUndefined(from._isUTC)) { 19581 to._isUTC = from._isUTC; 19582 } 19583 if (!isUndefined(from._offset)) { 19584 to._offset = from._offset; 19585 } 19586 if (!isUndefined(from._pf)) { 19587 to._pf = getParsingFlags(from); 19588 } 19589 if (!isUndefined(from._locale)) { 19590 to._locale = from._locale; 19591 } 19592 19593 if (momentPropertiesLen > 0) { 19594 for (i = 0; i < momentPropertiesLen; i++) { 19595 prop = momentProperties[i]; 19596 val = from[prop]; 19597 if (!isUndefined(val)) { 19598 to[prop] = val; 19599 } 19600 } 19601 } 19602 19603 return to; 19604 } 19605 19606 // Moment prototype object 19607 function Moment(config) { 19608 copyConfig(this, config); 19609 this._d = new Date(config._d != null ? config._d.getTime() : NaN); 19610 if (!this.isValid()) { 19611 this._d = new Date(NaN); 19612 } 19613 // Prevent infinite loop in case updateOffset creates new moment 19614 // objects. 19615 if (updateInProgress === false) { 19616 updateInProgress = true; 19617 hooks.updateOffset(this); 19618 updateInProgress = false;
vendor: 5,578 bytes, lines 19619-19802
19619 } 19620 } 19621 19622 function isMoment(obj) { 19623 return ( 19624 obj instanceof Moment || (obj != null && obj._isAMomentObject != null) 19625 ); 19626 } 19627 19628 function warn(msg) { 19629 if ( 19630 hooks.suppressDeprecationWarnings === false && 19631 typeof console !== 'undefined' && 19632 console.warn 19633 ) { 19634 console.warn('Deprecation warning: ' + msg); 19635 } 19636 } 19637 19638 function deprecate(msg, fn) { 19639 var firstTime = true; 19640 19641 return extend(function () { 19642 if (hooks.deprecationHandler != null) { 19643 hooks.deprecationHandler(null, msg); 19644 } 19645 if (firstTime) { 19646 var args = [], 19647 arg, 19648 i, 19649 key, 19650 argLen = arguments.length; 19651 for (i = 0; i < argLen; i++) { 19652 arg = ''; 19653 if (typeof arguments[i] === 'object') { 19654 arg += '\n[' + i + '] '; 19655 for (key in arguments[0]) { 19656 if (hasOwnProp(arguments[0], key)) { 19657 arg += key + ': ' + arguments[0][key] + ', '; 19658 } 19659 } 19660 arg = arg.slice(0, -2); // Remove trailing comma and space 19661 } else { 19662 arg = arguments[i]; 19663 } 19664 args.push(arg); 19665 } 19666 warn( 19667 msg + 19668 '\nArguments: ' + 19669 Array.prototype.slice.call(args).join('') + 19670 '\n' + 19671 new Error().stack 19672 ); 19673 firstTime = false; 19674 } 19675 return fn.apply(this, arguments); 19676 }, fn); 19677 } 19678 19679 var deprecations = {}; 19680 19681 function deprecateSimple(name, msg) { 19682 if (hooks.deprecationHandler != null) { 19683 hooks.deprecationHandler(name, msg); 19684 } 19685 if (!deprecations[name]) { 19686 warn(msg); 19687 deprecations[name] = true; 19688 } 19689 } 19690 19691 hooks.suppressDeprecationWarnings = false; 19692 hooks.deprecationHandler = null; 19693 19694 function isFunction(input) { 19695 return ( 19696 (typeof Function !== 'undefined' && input instanceof Function) || 19697 Object.prototype.toString.call(input) === '[object Function]' 19698 ); 19699 } 19700 19701 function set(config) { 19702 var prop, i; 19703 for (i in config) { 19704 if (hasOwnProp(config, i)) { 19705 prop = config[i]; 19706 if (isFunction(prop)) { 19707 this[i] = prop; 19708 } else { 19709 this['_' + i] = prop; 19710 } 19711 } 19712 } 19713 this._config = config; 19714 // Lenient ordinal parsing accepts just a number in addition to 19715 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. 19716 // TODO: Remove "ordinalParse" fallback in next major release. 19717 this._dayOfMonthOrdinalParseLenient = new RegExp( 19718 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + 19719 '|' + 19720 /\d{1,2}/.source 19721 ); 19722 } 19723 19724 function mergeConfigs(parentConfig, childConfig) { 19725 var res = extend({}, parentConfig), 19726 prop; 19727 for (prop in childConfig) { 19728 if (hasOwnProp(childConfig, prop)) { 19729 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 19730 res[prop] = {}; 19731 extend(res[prop], parentConfig[prop]); 19732 extend(res[prop], childConfig[prop]); 19733 } else if (childConfig[prop] != null) { 19734 res[prop] = childConfig[prop]; 19735 } else { 19736 delete res[prop]; 19737 } 19738 } 19739 } 19740 for (prop in parentConfig) { 19741 if ( 19742 hasOwnProp(parentConfig, prop) && 19743 !hasOwnProp(childConfig, prop) && 19744 isObject(parentConfig[prop]) 19745 ) { 19746 // make sure changes to properties don't modify parent config 19747 res[prop] = extend({}, res[prop]); 19748 } 19749 } 19750 return res; 19751 } 19752 19753 function Locale(config) { 19754 if (config != null) { 19755 this.set(config); 19756 } 19757 } 19758 19759 var keys; 19760 19761 if (Object.keys) { 19762 keys = Object.keys; 19763 } else { 19764 keys = function (obj) { 19765 var i, 19766 res = []; 19767 for (i in obj) { 19768 if (hasOwnProp(obj, i)) { 19769 res.push(i); 19770 } 19771 } 19772 return res; 19773 }; 19774 } 19775 19776 var defaultCalendar = { 19777 sameDay: '[Today at] LT', 19778 nextDay: '[Tomorrow at] LT', 19779 nextWeek: 'dddd [at] LT', 19780 lastDay: '[Yesterday at] LT', 19781 lastWeek: '[Last] dddd [at] LT', 19782 sameElse: 'L', 19783 }; 19784 19785 function calendar(key, mom, now) { 19786 var output = this._calendar[key] || this._calendar['sameElse']; 19787 return isFunction(output) ? output.call(mom, now) : output; 19788 } 19789 19790 function zeroFill(number, targetLength, forceSign) { 19791 var absNumber = '' + Math.abs(number), 19792 zerosToFill = targetLength - absNumber.length, 19793 sign = number >= 0; 19794 return ( 19795 (sign ? (forceSign ? '+' : '') : '-') + 19796 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + 19797 absNumber 19798 ); 19799 } 19800 19801 var formattingTokens = 19802
vendor: 5,181 bytes, lines 19802-19980
19802 /(\[[^\[]*\])|(\\)?([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, 19803 localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, 19804 formatFunctions = {}, 19805 formatTokenFunctions = {}; 19806 19807 // token: 'M' 19808 // padded: ['MM', 2] 19809 // ordinal: 'Mo' 19810 // callback: function () { this.month() + 1 } 19811 function addFormatToken(token, padded, ordinal, callback) { 19812 var func = callback; 19813 if (typeof callback === 'string') { 19814 func = function () { 19815 return this[callback](); 19816 }; 19817 } 19818 if (token) { 19819 formatTokenFunctions[token] = func; 19820 } 19821 if (padded) { 19822 formatTokenFunctions[padded[0]] = function () { 19823 return zeroFill(func.apply(this, arguments), padded[1], padded[2]); 19824 }; 19825 } 19826 if (ordinal) { 19827 formatTokenFunctions[ordinal] = function () { 19828 return this.localeData().ordinal( 19829 func.apply(this, arguments), 19830 token 19831 ); 19832 }; 19833 } 19834 } 19835 19836 function removeFormattingTokens(input) { 19837 if (input.match(/\[[\s\S]/)) { 19838 return input.replace(/^\[|\]$/g, ''); 19839 } 19840 return input.replace(/\\/g, ''); 19841 } 19842 19843 function makeFormatFunction(format) { 19844 var array = format.match(formattingTokens), 19845 i, 19846 length; 19847 19848 for (i = 0, length = array.length; i < length; i++) { 19849 if (formatTokenFunctions[array[i]]) { 19850 array[i] = formatTokenFunctions[array[i]]; 19851 } else { 19852 array[i] = removeFormattingTokens(array[i]); 19853 } 19854 } 19855 19856 return function (mom) { 19857 var output = '', 19858 i; 19859 for (i = 0; i < length; i++) { 19860 output += isFunction(array[i]) 19861 ? array[i].call(mom, format) 19862 : array[i]; 19863 } 19864 return output; 19865 }; 19866 } 19867 19868 // format date using native date object 19869 function formatMoment(m, format) { 19870 if (!m.isValid()) { 19871 return m.localeData().invalidDate(); 19872 } 19873 19874 format = expandFormat(format, m.localeData()); 19875 formatFunctions[format] = 19876 formatFunctions[format] || makeFormatFunction(format); 19877 19878 return formatFunctions[format](m); 19879 } 19880 19881 function expandFormat(format, locale) { 19882 var i = 5; 19883 19884 function replaceLongDateFormatTokens(input) { 19885 return locale.longDateFormat(input) || input; 19886 } 19887 19888 localFormattingTokens.lastIndex = 0; 19889 while (i >= 0 && localFormattingTokens.test(format)) { 19890 format = format.replace( 19891 localFormattingTokens, 19892 replaceLongDateFormatTokens 19893 ); 19894 localFormattingTokens.lastIndex = 0; 19895 i -= 1; 19896 } 19897 19898 return format; 19899 } 19900 19901 var defaultLongDateFormat = { 19902 LTS: 'h:mm:ss A', 19903 LT: 'h:mm A', 19904 L: 'MM/DD/YYYY', 19905 LL: 'MMMM D, YYYY', 19906 LLL: 'MMMM D, YYYY h:mm A', 19907 LLLL: 'dddd, MMMM D, YYYY h:mm A', 19908 }; 19909 19910 function longDateFormat(key) { 19911 var format = this._longDateFormat[key], 19912 formatUpper = this._longDateFormat[key.toUpperCase()]; 19913 19914 if (format || !formatUpper) { 19915 return format; 19916 } 19917 19918 this._longDateFormat[key] = formatUpper 19919 .match(formattingTokens) 19920 .map(function (tok) { 19921 if ( 19922 tok === 'MMMM' || 19923 tok === 'MM' || 19924 tok === 'DD' || 19925 tok === 'dddd' 19926 ) { 19927 return tok.slice(1); 19928 } 19929 return tok; 19930 }) 19931 .join(''); 19932 19933 return this._longDateFormat[key]; 19934 } 19935 19936 var defaultInvalidDate = 'Invalid date'; 19937 19938 function invalidDate() { 19939 return this._invalidDate; 19940 } 19941 19942 var defaultOrdinal = '%d', 19943 defaultDayOfMonthOrdinalParse = /\d{1,2}/; 19944 19945 function ordinal(number) { 19946 return this._ordinal.replace('%d', number); 19947 } 19948 19949 var defaultRelativeTime = { 19950 future: 'in %s', 19951 past: '%s ago', 19952 s: 'a few seconds', 19953 ss: '%d seconds', 19954 m: 'a minute', 19955 mm: '%d minutes', 19956 h: 'an hour', 19957 hh: '%d hours', 19958 d: 'a day', 19959 dd: '%d days', 19960 w: 'a week', 19961 ww: '%d weeks', 19962 M: 'a month', 19963 MM: '%d months', 19964 y: 'a year', 19965 yy: '%d years', 19966 }; 19967 19968 function relativeTime(number, withoutSuffix, string, isFuture) { 19969 var output = this._relativeTime[string]; 19970 return isFunction(output) 19971 ? output(number, withoutSuffix, string, isFuture) 19972 : output.replace(/%d/i, number); 19973 } 19974 19975 function pastFuture(diff, output) { 19976 var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 19977 return isFunction(format) ? format(output) : format.replace(/%s/i, output); 19978 } 19979 19980 var aliases = {
vendor: 18,098 bytes, lines 19980-20576
19980 19981 D: 'date', 19982 dates: 'date', 19983 date: 'date', 19984 d: 'day', 19985 days: 'day', 19986 day: 'day', 19987 e: 'weekday', 19988 weekdays: 'weekday', 19989 weekday: 'weekday', 19990 E: 'isoWeekday', 19991 isoweekdays: 'isoWeekday', 19992 isoweekday: 'isoWeekday', 19993 DDD: 'dayOfYear', 19994 dayofyears: 'dayOfYear', 19995 dayofyear: 'dayOfYear', 19996 h: 'hour', 19997 hours: 'hour', 19998 hour: 'hour', 19999 ms: 'millisecond', 20000 milliseconds: 'millisecond', 20001 millisecond: 'millisecond', 20002 m: 'minute', 20003 minutes: 'minute', 20004 minute: 'minute', 20005 M: 'month', 20006 months: 'month', 20007 month: 'month', 20008 Q: 'quarter', 20009 quarters: 'quarter', 20010 quarter: 'quarter', 20011 s: 'second', 20012 seconds: 'second', 20013 second: 'second', 20014 gg: 'weekYear', 20015 weekyears: 'weekYear', 20016 weekyear: 'weekYear', 20017 GG: 'isoWeekYear', 20018 isoweekyears: 'isoWeekYear', 20019 isoweekyear: 'isoWeekYear', 20020 w: 'week', 20021 weeks: 'week', 20022 week: 'week', 20023 W: 'isoWeek', 20024 isoweeks: 'isoWeek', 20025 isoweek: 'isoWeek', 20026 y: 'year', 20027 years: 'year', 20028 year: 'year', 20029 }; 20030 20031 function normalizeUnits(units) { 20032 return typeof units === 'string' 20033 ? aliases[units] || aliases[units.toLowerCase()] 20034 : undefined; 20035 } 20036 20037 function normalizeObjectUnits(inputObject) { 20038 var normalizedInput = {}, 20039 normalizedProp, 20040 prop; 20041 20042 for (prop in inputObject) { 20043 if (hasOwnProp(inputObject, prop)) { 20044 normalizedProp = normalizeUnits(prop); 20045 if (normalizedProp) { 20046 normalizedInput[normalizedProp] = inputObject[prop]; 20047 } 20048 } 20049 } 20050 20051 return normalizedInput; 20052 } 20053 20054 var priorities = { 20055 date: 9, 20056 day: 11, 20057 weekday: 11, 20058 isoWeekday: 11, 20059 dayOfYear: 4, 20060 hour: 13, 20061 millisecond: 16, 20062 minute: 14, 20063 month: 8, 20064 quarter: 7, 20065 second: 15, 20066 weekYear: 1, 20067 isoWeekYear: 1, 20068 week: 5, 20069 isoWeek: 5, 20070 year: 1, 20071 }; 20072 20073 function getPrioritizedUnits(unitsObj) { 20074 var units = [], 20075 u; 20076 for (u in unitsObj) { 20077 if (hasOwnProp(unitsObj, u)) { 20078 units.push({ unit: u, priority: priorities[u] }); 20079 } 20080 } 20081 units.sort(function (a, b) { 20082 return a.priority - b.priority; 20083 }); 20084 return units; 20085 } 20086 20087 var match1 = /\d/, // 0 - 9 20088 match2 = /\d\d/, // 00 - 99 20089 match3 = /\d{3}/, // 000 - 999 20090 match4 = /\d{4}/, // 0000 - 9999 20091 match6 = /[+-]?\d{6}/, // -999999 - 999999 20092 match1to2 = /\d\d?/, // 0 - 99 20093 match3to4 = /\d\d\d\d?/, // 999 - 9999 20094 match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999 20095 match1to3 = /\d{1,3}/, // 0 - 999 20096 match1to4 = /\d{1,4}/, // 0 - 9999 20097 match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999 20098 matchUnsigned = /\d+/, // 0 - inf 20099 matchSigned = /[+-]?\d+/, // -inf - inf 20100 matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z 20101 matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z 20102 matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123 20103 // any word (or two) characters or numbers including two/three word month in arabic. 20104 // includes scottish gaelic two word and hyphenated months 20105 matchWord = 20106 /[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, 20107 match1to2NoLeadingZero = /^[1-9]\d?/, // 1-99 20108 match1to2HasZero = /^([1-9]\d|\d)/, // 0-99 20109 regexes; 20110 20111 regexes = {}; 20112 20113 function addRegexToken(token, regex, strictRegex) { 20114 regexes[token] = isFunction(regex) 20115 ? regex 20116 : function (isStrict, localeData) { 20117 return isStrict && strictRegex ? strictRegex : regex; 20118 }; 20119 } 20120 20121 function getParseRegexForToken(token, config) { 20122 if (!hasOwnProp(regexes, token)) { 20123 return new RegExp(unescapeFormat(token)); 20124 } 20125 20126 return regexes[token](config._strict, config._locale); 20127 } 20128 20129 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript 20130 function unescapeFormat(s) { 20131 return regexEscape( 20132 s 20133 .replace('\\', '') 20134 .replace( 20135 /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, 20136 function (matched, p1, p2, p3, p4) { 20137 return p1 || p2 || p3 || p4; 20138 } 20139 ) 20140 ); 20141 } 20142 20143 function regexEscape(s) { 20144 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 20145 } 20146 20147 function absFloor(number) { 20148 if (number < 0) { 20149 // -0 -> 0 20150 return Math.ceil(number) || 0; 20151 } else { 20152 return Math.floor(number); 20153 } 20154 } 20155 20156 function toInt(argumentForCoercion) { 20157 var coercedNumber = +argumentForCoercion, 20158 value = 0; 20159 20160 if (coercedNumber !== 0 && isFinite(coercedNumber)) { 20161 value = absFloor(coercedNumber); 20162 } 20163 20164 return value; 20165 } 20166 20167 var tokens = {}; 20168 20169 function addParseToken(token, callback) { 20170 var i, 20171 func = callback, 20172 tokenLen; 20173 if (typeof token === 'string') { 20174 token = [token]; 20175 } 20176 if (isNumber(callback)) { 20177 func = function (input, array) { 20178 array[callback] = toInt(input); 20179 }; 20180 } 20181 tokenLen = token.length; 20182 for (i = 0; i < tokenLen; i++) { 20183 tokens[token[i]] = func; 20184 } 20185 } 20186 20187 function addWeekParseToken(token, callback) { 20188 addParseToken(token, function (input, array, config, token) { 20189 config._w = config._w || {}; 20190 callback(input, config._w, config, token); 20191 }); 20192 } 20193 20194 function addTimeToArrayFromToken(token, input, config) { 20195 if (input != null && hasOwnProp(tokens, token)) { 20196 tokens[token](input, config._a, config, token); 20197 } 20198 } 20199 20200 function isLeapYear(year) { 20201 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; 20202 } 20203 20204 var YEAR = 0, 20205 MONTH = 1, 20206 DATE = 2, 20207 HOUR = 3, 20208 MINUTE = 4, 20209 SECOND = 5, 20210 MILLISECOND = 6, 20211 WEEK = 7, 20212 WEEKDAY = 8; 20213 20214 // FORMATTING 20215 20216 addFormatToken('Y', 0, 0, function () { 20217 var y = this.year(); 20218 return y <= 9999 ? zeroFill(y, 4) : '+' + y; 20219 }); 20220 20221 addFormatToken(0, ['YY', 2], 0, function () { 20222 return this.year() % 100; 20223 }); 20224 20225 addFormatToken(0, ['YYYY', 4], 0, 'year'); 20226 addFormatToken(0, ['YYYYY', 5], 0, 'year'); 20227 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); 20228 20229 // PARSING 20230 20231 addRegexToken('Y', matchSigned); 20232 addRegexToken('YY', match1to2, match2); 20233 addRegexToken('YYYY', match1to4, match4); 20234 addRegexToken('YYYYY', match1to6, match6); 20235 addRegexToken('YYYYYY', match1to6, match6); 20236 20237 addParseToken(['YYYYY', 'YYYYYY'], YEAR); 20238 addParseToken('YYYY', function (input, array) { 20239 array[YEAR] = 20240 input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); 20241 }); 20242 addParseToken('YY', function (input, array) { 20243 array[YEAR] = hooks.parseTwoDigitYear(input); 20244 }); 20245 addParseToken('Y', function (input, array) { 20246 array[YEAR] = parseInt(input, 10); 20247 }); 20248 20249 // HELPERS 20250 20251 function daysInYear(year) { 20252 return isLeapYear(year) ? 366 : 365; 20253 } 20254 20255 // HOOKS 20256 20257 hooks.parseTwoDigitYear = function (input) { 20258 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); 20259 }; 20260 20261 // MOMENTS 20262 20263 var getSetYear = makeGetSet('FullYear', true); 20264 20265 function getIsLeapYear() { 20266 return isLeapYear(this.year()); 20267 } 20268 20269 function makeGetSet(unit, keepTime) { 20270 return function (value) { 20271 if (value != null) { 20272 set$1(this, unit, value); 20273 hooks.updateOffset(this, keepTime); 20274 return this; 20275 } else { 20276 return get(this, unit); 20277 } 20278 }; 20279 } 20280 20281 function get(mom, unit) { 20282 if (!mom.isValid()) { 20283 return NaN; 20284 } 20285 20286 var d = mom._d, 20287 isUTC = mom._isUTC; 20288 20289 switch (unit) { 20290 case 'Milliseconds': 20291 return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds(); 20292 case 'Seconds': 20293 return isUTC ? d.getUTCSeconds() : d.getSeconds(); 20294 case 'Minutes': 20295 return isUTC ? d.getUTCMinutes() : d.getMinutes(); 20296 case 'Hours': 20297 return isUTC ? d.getUTCHours() : d.getHours(); 20298 case 'Date': 20299 return isUTC ? d.getUTCDate() : d.getDate(); 20300 case 'Day': 20301 return isUTC ? d.getUTCDay() : d.getDay(); 20302 case 'Month': 20303 return isUTC ? d.getUTCMonth() : d.getMonth(); 20304 case 'FullYear': 20305 return isUTC ? d.getUTCFullYear() : d.getFullYear(); 20306 default: 20307 return NaN; // Just in case 20308 } 20309 } 20310 20311 function set$1(mom, unit, value) { 20312 var d, isUTC, year, month, date; 20313 20314 if (!mom.isValid() || isNaN(value)) { 20315 return; 20316 } 20317 20318 d = mom._d; 20319 isUTC = mom._isUTC; 20320 20321 switch (unit) { 20322 case 'Milliseconds': 20323 return void (isUTC 20324 ? d.setUTCMilliseconds(value) 20325 : d.setMilliseconds(value)); 20326 case 'Seconds': 20327 return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value)); 20328 case 'Minutes': 20329 return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value)); 20330 case 'Hours': 20331 return void (isUTC ? d.setUTCHours(value) : d.setHours(value)); 20332 case 'Date': 20333 return void (isUTC ? d.setUTCDate(value) : d.setDate(value)); 20334 // case 'Day': // Not real 20335 // return void (isUTC ? d.setUTCDay(value) : d.setDay(value)); 20336 // case 'Month': // Not used because we need to pass two variables 20337 // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value)); 20338 case 'FullYear': 20339 break; // See below ... 20340 default: 20341 return; // Just in case 20342 } 20343 20344 year = value; 20345 month = mom.month(); 20346 date = mom.date(); 20347 date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date; 20348 void (isUTC 20349 ? d.setUTCFullYear(year, month, date) 20350 : d.setFullYear(year, month, date)); 20351 } 20352 20353 // MOMENTS 20354 20355 function stringGet(units) { 20356 units = normalizeUnits(units); 20357 if (isFunction(this[units])) { 20358 return this[units](); 20359 } 20360 return this; 20361 } 20362 20363 function stringSet(units, value) { 20364 if (typeof units === 'object') { 20365 units = normalizeObjectUnits(units); 20366 var prioritized = getPrioritizedUnits(units), 20367 i, 20368 prioritizedLen = prioritized.length; 20369 for (i = 0; i < prioritizedLen; i++) { 20370 this[prioritized[i].unit](units[prioritized[i].unit]); 20371 } 20372 } else { 20373 units = normalizeUnits(units); 20374 if (isFunction(this[units])) { 20375 return this[units](value); 20376 } 20377 } 20378 return this; 20379 } 20380 20381 function mod(n, x) { 20382 return ((n % x) + x) % x; 20383 } 20384 20385 var indexOf; 20386 20387 if (Array.prototype.indexOf) { 20388 indexOf = Array.prototype.indexOf; 20389 } else { 20390 indexOf = function (o) { 20391 // I know 20392 var i; 20393 for (i = 0; i < this.length; ++i) { 20394 if (this[i] === o) { 20395 return i; 20396 } 20397 } 20398 return -1; 20399 }; 20400 } 20401 20402 function daysInMonth(year, month) { 20403 if (isNaN(year) || isNaN(month)) { 20404 return NaN; 20405 } 20406 var modMonth = mod(month, 12); 20407 year += (month - modMonth) / 12; 20408 return modMonth === 1 20409 ? isLeapYear(year) 20410 ? 29 20411 : 28 20412 : 31 - ((modMonth % 7) % 2); 20413 } 20414 20415 // FORMATTING 20416 20417 addFormatToken('M', ['MM', 2], 'Mo', function () { 20418 return this.month() + 1; 20419 }); 20420 20421 addFormatToken('MMM', 0, 0, function (format) { 20422 return this.localeData().monthsShort(this, format); 20423 }); 20424 20425 addFormatToken('MMMM', 0, 0, function (format) { 20426 return this.localeData().months(this, format); 20427 }); 20428 20429 // PARSING 20430 20431 addRegexToken('M', match1to2, match1to2NoLeadingZero); 20432 addRegexToken('MM', match1to2, match2); 20433 addRegexToken('MMM', function (isStrict, locale) { 20434 return locale.monthsShortRegex(isStrict); 20435 }); 20436 addRegexToken('MMMM', function (isStrict, locale) { 20437 return locale.monthsRegex(isStrict); 20438 }); 20439 20440 addParseToken(['M', 'MM'], function (input, array) { 20441 array[MONTH] = toInt(input) - 1; 20442 }); 20443 20444 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { 20445 var month = config._locale.monthsParse(input, token, config._strict); 20446 // if we didn't find a month name, mark the date as invalid. 20447 if (month != null) { 20448 array[MONTH] = month; 20449 } else { 20450 getParsingFlags(config).invalidMonth = input; 20451 } 20452 }); 20453 20454 // LOCALES 20455 20456 var defaultLocaleMonths = 20457 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 20458 '_' 20459 ), 20460 defaultLocaleMonthsShort = 20461 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 20462 MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, 20463 defaultMonthsShortRegex = matchWord, 20464 defaultMonthsRegex = matchWord; 20465 20466 function localeMonths(m, format) { 20467 if (!m) { 20468 return isArray(this._months) 20469 ? this._months 20470 : this._months['standalone']; 20471 } 20472 return isArray(this._months) 20473 ? this._months[m.month()] 20474 : this._months[ 20475 (this._months.isFormat || MONTHS_IN_FORMAT).test(format) 20476 ? 'format' 20477 : 'standalone' 20478 ][m.month()]; 20479 } 20480 20481 function localeMonthsShort(m, format) { 20482 if (!m) { 20483 return isArray(this._monthsShort) 20484 ? this._monthsShort 20485 : this._monthsShort['standalone']; 20486 } 20487 return isArray(this._monthsShort) 20488 ? this._monthsShort[m.month()] 20489 : this._monthsShort[ 20490 MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone' 20491 ][m.month()]; 20492 } 20493 20494 function handleStrictParse(monthName, format, strict) { 20495 var i, 20496 ii, 20497 mom, 20498 llc = monthName.toLocaleLowerCase(); 20499 if (!this._monthsParse) { 20500 // this is not used 20501 this._monthsParse = []; 20502 this._longMonthsParse = []; 20503 this._shortMonthsParse = []; 20504 for (i = 0; i < 12; ++i) { 20505 mom = createUTC([2000, i]); 20506 this._shortMonthsParse[i] = this.monthsShort( 20507 mom, 20508 '' 20509 ).toLocaleLowerCase(); 20510 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); 20511 } 20512 } 20513 20514 if (strict) { 20515 if (format === 'MMM') { 20516 ii = indexOf.call(this._shortMonthsParse, llc); 20517 return ii !== -1 ? ii : null; 20518 } else { 20519 ii = indexOf.call(this._longMonthsParse, llc); 20520 return ii !== -1 ? ii : null; 20521 } 20522 } else { 20523 if (format === 'MMM') { 20524 ii = indexOf.call(this._shortMonthsParse, llc); 20525 if (ii !== -1) { 20526 return ii; 20527 } 20528 ii = indexOf.call(this._longMonthsParse, llc); 20529 return ii !== -1 ? ii : null; 20530 } else { 20531 ii = indexOf.call(this._longMonthsParse, llc); 20532 if (ii !== -1) { 20533 return ii; 20534 } 20535 ii = indexOf.call(this._shortMonthsParse, llc); 20536 return ii !== -1 ? ii : null; 20537 } 20538 } 20539 } 20540 20541 function localeMonthsParse(monthName, format, strict) { 20542 var i, mom, regex; 20543 20544 if (this._monthsParseExact) { 20545 return handleStrictParse.call(this, monthName, format, strict); 20546 } 20547 20548 if (!this._monthsParse) { 20549 this._monthsParse = []; 20550 this._longMonthsParse = []; 20551 this._shortMonthsParse = []; 20552 } 20553 20554 // TODO: add sorting 20555 // Sorting makes sure if one month (or abbr) is a prefix of another 20556 // see sorting in computeMonthsParse 20557 for (i = 0; i < 12; i++) { 20558 // make the regex if we don't have it already 20559 mom = createUTC([2000, i]); 20560 if (strict && !this._longMonthsParse[i]) { 20561 this._longMonthsParse[i] = new RegExp( 20562 '^' + this.months(mom, '').replace('.', '') + '$', 20563 'i' 20564 ); 20565 this._shortMonthsParse[i] = new RegExp( 20566 '^' + this.monthsShort(mom, '').replace('.', '') + '$', 20567 'i' 20568 ); 20569 } 20570 if (!strict && !this._monthsParse[i]) { 20571 regex = 20572 '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); 20573 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); 20574 } 20575 // test the regex 20576 if (
vendor: 5,127 bytes, lines 20577-20742
20577 strict && 20578 format === 'MMMM' && 20579 this._longMonthsParse[i].test(monthName) 20580 ) { 20581 return i; 20582 } else if ( 20583 strict && 20584 format === 'MMM' && 20585 this._shortMonthsParse[i].test(monthName) 20586 ) { 20587 return i; 20588 } else if (!strict && this._monthsParse[i].test(monthName)) { 20589 return i; 20590 } 20591 } 20592 } 20593 20594 // MOMENTS 20595 20596 function setMonth(mom, value) { 20597 if (!mom.isValid()) { 20598 // No op 20599 return mom; 20600 } 20601 20602 if (typeof value === 'string') { 20603 if (/^\d+$/.test(value)) { 20604 value = toInt(value); 20605 } else { 20606 value = mom.localeData().monthsParse(value); 20607 // TODO: Another silent failure? 20608 if (!isNumber(value)) { 20609 return mom; 20610 } 20611 } 20612 } 20613 20614 var month = value, 20615 date = mom.date(); 20616 20617 date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month)); 20618 void (mom._isUTC 20619 ? mom._d.setUTCMonth(month, date) 20620 : mom._d.setMonth(month, date)); 20621 return mom; 20622 } 20623 20624 function getSetMonth(value) { 20625 if (value != null) { 20626 setMonth(this, value); 20627 hooks.updateOffset(this, true); 20628 return this; 20629 } else { 20630 return get(this, 'Month'); 20631 } 20632 } 20633 20634 function getDaysInMonth() { 20635 return daysInMonth(this.year(), this.month()); 20636 } 20637 20638 function monthsShortRegex(isStrict) { 20639 if (this._monthsParseExact) { 20640 if (!hasOwnProp(this, '_monthsRegex')) { 20641 computeMonthsParse.call(this); 20642 } 20643 if (isStrict) { 20644 return this._monthsShortStrictRegex; 20645 } else { 20646 return this._monthsShortRegex; 20647 } 20648 } else { 20649 if (!hasOwnProp(this, '_monthsShortRegex')) { 20650 this._monthsShortRegex = defaultMonthsShortRegex; 20651 } 20652 return this._monthsShortStrictRegex && isStrict 20653 ? this._monthsShortStrictRegex 20654 : this._monthsShortRegex; 20655 } 20656 } 20657 20658 function monthsRegex(isStrict) { 20659 if (this._monthsParseExact) { 20660 if (!hasOwnProp(this, '_monthsRegex')) { 20661 computeMonthsParse.call(this); 20662 } 20663 if (isStrict) { 20664 return this._monthsStrictRegex; 20665 } else { 20666 return this._monthsRegex; 20667 } 20668 } else { 20669 if (!hasOwnProp(this, '_monthsRegex')) { 20670 this._monthsRegex = defaultMonthsRegex; 20671 } 20672 return this._monthsStrictRegex && isStrict 20673 ? this._monthsStrictRegex 20674 : this._monthsRegex; 20675 } 20676 } 20677 20678 function computeMonthsParse() { 20679 function cmpLenRev(a, b) { 20680 return b.length - a.length; 20681 } 20682 20683 var shortPieces = [], 20684 longPieces = [], 20685 mixedPieces = [], 20686 i, 20687 mom, 20688 shortP, 20689 longP; 20690 for (i = 0; i < 12; i++) { 20691 // make the regex if we don't have it already 20692 mom = createUTC([2000, i]); 20693 shortP = regexEscape(this.monthsShort(mom, '')); 20694 longP = regexEscape(this.months(mom, '')); 20695 shortPieces.push(shortP); 20696 longPieces.push(longP); 20697 mixedPieces.push(longP); 20698 mixedPieces.push(shortP); 20699 } 20700 // Sorting makes sure if one month (or abbr) is a prefix of another it 20701 // will match the longer piece. 20702 shortPieces.sort(cmpLenRev); 20703 longPieces.sort(cmpLenRev); 20704 mixedPieces.sort(cmpLenRev); 20705 20706 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 20707 this._monthsShortRegex = this._monthsRegex; 20708 this._monthsStrictRegex = new RegExp( 20709 '^(' + longPieces.join('|') + ')', 20710 'i' 20711 ); 20712 this._monthsShortStrictRegex = new RegExp( 20713 '^(' + shortPieces.join('|') + ')', 20714 'i' 20715 ); 20716 } 20717 20718 function createDate(y, m, d, h, M, s, ms) { 20719 // can't just apply() to create a date: 20720 // https://stackoverflow.com/q/181348 20721 var date; 20722 // the date constructor remaps years 0-99 to 1900-1999 20723 if (y < 100 && y >= 0) { 20724 // preserve leap years using a full 400 year cycle, then reset 20725 date = new Date(y + 400, m, d, h, M, s, ms); 20726 if (isFinite(date.getFullYear())) { 20727 date.setFullYear(y); 20728 } 20729 } else { 20730 date = new Date(y, m, d, h, M, s, ms); 20731 } 20732 20733 return date; 20734 } 20735 20736 function createUTCDate(y) { 20737 var date, args; 20738 // the Date.UTC function remaps years 0-99 to 1900-1999 20739 if (y < 100 && y >= 0) { 20740 args = Array.prototype.slice.call(arguments); 20741 // preserve leap years using a full 400 year cycle, then reset 20742 args[0] = y + 400;
vendor: 11,578 bytes, lines 20743-21104
20743 date = new Date(Date.UTC.apply(null, args)); 20744 if (isFinite(date.getUTCFullYear())) { 20745 date.setUTCFullYear(y); 20746 } 20747 } else { 20748 date = new Date(Date.UTC.apply(null, arguments)); 20749 } 20750 20751 return date; 20752 } 20753 20754 // start-of-first-week - start-of-year 20755 function firstWeekOffset(year, dow, doy) { 20756 var // first-week day -- which january is always in the first week (4 for iso, 1 for other) 20757 fwd = 7 + dow - doy, 20758 // first-week day local weekday -- which local weekday is fwd 20759 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; 20760 20761 return -fwdlw + fwd - 1; 20762 } 20763 20764 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday 20765 function dayOfYearFromWeeks(year, week, weekday, dow, doy) { 20766 var localWeekday = (7 + weekday - dow) % 7, 20767 weekOffset = firstWeekOffset(year, dow, doy), 20768 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, 20769 resYear, 20770 resDayOfYear; 20771 20772 if (dayOfYear <= 0) { 20773 resYear = year - 1; 20774 resDayOfYear = daysInYear(resYear) + dayOfYear; 20775 } else if (dayOfYear > daysInYear(year)) { 20776 resYear = year + 1; 20777 resDayOfYear = dayOfYear - daysInYear(year); 20778 } else { 20779 resYear = year; 20780 resDayOfYear = dayOfYear; 20781 } 20782 20783 return { 20784 year: resYear, 20785 dayOfYear: resDayOfYear, 20786 }; 20787 } 20788 20789 function weekOfYear(mom, dow, doy) { 20790 var weekOffset = firstWeekOffset(mom.year(), dow, doy), 20791 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, 20792 resWeek, 20793 resYear; 20794 20795 if (week < 1) { 20796 resYear = mom.year() - 1; 20797 resWeek = week + weeksInYear(resYear, dow, doy); 20798 } else if (week > weeksInYear(mom.year(), dow, doy)) { 20799 resWeek = week - weeksInYear(mom.year(), dow, doy); 20800 resYear = mom.year() + 1; 20801 } else { 20802 resYear = mom.year(); 20803 resWeek = week; 20804 } 20805 20806 return { 20807 week: resWeek, 20808 year: resYear, 20809 }; 20810 } 20811 20812 function weeksInYear(year, dow, doy) { 20813 var weekOffset = firstWeekOffset(year, dow, doy), 20814 weekOffsetNext = firstWeekOffset(year + 1, dow, doy); 20815 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; 20816 } 20817 20818 // FORMATTING 20819 20820 addFormatToken('w', ['ww', 2], 'wo', 'week'); 20821 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); 20822 20823 // PARSING 20824 20825 addRegexToken('w', match1to2, match1to2NoLeadingZero); 20826 addRegexToken('ww', match1to2, match2); 20827 addRegexToken('W', match1to2, match1to2NoLeadingZero); 20828 addRegexToken('WW', match1to2, match2); 20829 20830 addWeekParseToken( 20831 ['w', 'ww', 'W', 'WW'], 20832 function (input, week, config, token) { 20833 week[token.substr(0, 1)] = toInt(input); 20834 } 20835 ); 20836 20837 // HELPERS 20838 20839 // LOCALES 20840 20841 function localeWeek(mom) { 20842 return weekOfYear(mom, this._week.dow, this._week.doy).week; 20843 } 20844 20845 var defaultLocaleWeek = { 20846 dow: 0, // Sunday is the first day of the week. 20847 doy: 6, // The week that contains Jan 6th is the first week of the year. 20848 }; 20849 20850 function localeFirstDayOfWeek() { 20851 return this._week.dow; 20852 } 20853 20854 function localeFirstDayOfYear() { 20855 return this._week.doy; 20856 } 20857 20858 // MOMENTS 20859 20860 function getSetWeek(input) { 20861 var week = this.localeData().week(this); 20862 return input == null ? week : this.add((input - week) * 7, 'd'); 20863 } 20864 20865 function getSetISOWeek(input) { 20866 var week = weekOfYear(this, 1, 4).week; 20867 return input == null ? week : this.add((input - week) * 7, 'd'); 20868 } 20869 20870 // FORMATTING 20871 20872 addFormatToken('d', 0, 'do', 'day'); 20873 20874 addFormatToken('dd', 0, 0, function (format) { 20875 return this.localeData().weekdaysMin(this, format); 20876 }); 20877 20878 addFormatToken('ddd', 0, 0, function (format) { 20879 return this.localeData().weekdaysShort(this, format); 20880 }); 20881 20882 addFormatToken('dddd', 0, 0, function (format) { 20883 return this.localeData().weekdays(this, format); 20884 }); 20885 20886 addFormatToken('e', 0, 0, 'weekday'); 20887 addFormatToken('E', 0, 0, 'isoWeekday'); 20888 20889 // PARSING 20890 20891 addRegexToken('d', match1to2); 20892 addRegexToken('e', match1to2); 20893 addRegexToken('E', match1to2); 20894 addRegexToken('dd', function (isStrict, locale) { 20895 return locale.weekdaysMinRegex(isStrict); 20896 }); 20897 addRegexToken('ddd', function (isStrict, locale) { 20898 return locale.weekdaysShortRegex(isStrict); 20899 }); 20900 addRegexToken('dddd', function (isStrict, locale) { 20901 return locale.weekdaysRegex(isStrict); 20902 }); 20903 20904 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { 20905 var weekday = config._locale.weekdaysParse(input, token, config._strict); 20906 // if we didn't get a weekday name, mark the date as invalid 20907 if (weekday != null) { 20908 week.d = weekday; 20909 } else { 20910 getParsingFlags(config).invalidWeekday = input; 20911 } 20912 }); 20913 20914 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { 20915 week[token] = toInt(input); 20916 }); 20917 20918 // HELPERS 20919 20920 function parseWeekday(input, locale) { 20921 if (typeof input !== 'string') { 20922 return input; 20923 } 20924 20925 if (!isNaN(input)) { 20926 return parseInt(input, 10); 20927 } 20928 20929 input = locale.weekdaysParse(input); 20930 if (typeof input === 'number') { 20931 return input; 20932 } 20933 20934 return null; 20935 } 20936 20937 function parseIsoWeekday(input, locale) { 20938 if (typeof input === 'string') { 20939 return locale.weekdaysParse(input) % 7 || 7; 20940 } 20941 return isNaN(input) ? null : input; 20942 } 20943 20944 // LOCALES 20945 function shiftWeekdays(ws, n) { 20946 return ws.slice(n, 7).concat(ws.slice(0, n)); 20947 } 20948 20949 var defaultLocaleWeekdays = 20950 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 20951 defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 20952 defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 20953 defaultWeekdaysRegex = matchWord, 20954 defaultWeekdaysShortRegex = matchWord, 20955 defaultWeekdaysMinRegex = matchWord; 20956 20957 function localeWeekdays(m, format) { 20958 var weekdays = isArray(this._weekdays) 20959 ? this._weekdays 20960 : this._weekdays[ 20961 m && m !== true && this._weekdays.isFormat.test(format) 20962 ? 'format' 20963 : 'standalone' 20964 ]; 20965 return m === true 20966 ? shiftWeekdays(weekdays, this._week.dow) 20967 : m 20968 ? weekdays[m.day()] 20969 : weekdays; 20970 } 20971 20972 function localeWeekdaysShort(m) { 20973 return m === true 20974 ? shiftWeekdays(this._weekdaysShort, this._week.dow) 20975 : m 20976 ? this._weekdaysShort[m.day()] 20977 : this._weekdaysShort; 20978 } 20979 20980 function localeWeekdaysMin(m) { 20981 return m === true 20982 ? shiftWeekdays(this._weekdaysMin, this._week.dow) 20983 : m 20984 ? this._weekdaysMin[m.day()] 20985 : this._weekdaysMin; 20986 } 20987 20988 function handleStrictParse$1(weekdayName, format, strict) { 20989 var i, 20990 ii, 20991 mom, 20992 llc = weekdayName.toLocaleLowerCase(); 20993 if (!this._weekdaysParse) { 20994 this._weekdaysParse = []; 20995 this._shortWeekdaysParse = []; 20996 this._minWeekdaysParse = []; 20997 20998 for (i = 0; i < 7; ++i) { 20999 mom = createUTC([2000, 1]).day(i); 21000 this._minWeekdaysParse[i] = this.weekdaysMin( 21001 mom, 21002 '' 21003 ).toLocaleLowerCase(); 21004 this._shortWeekdaysParse[i] = this.weekdaysShort( 21005 mom, 21006 '' 21007 ).toLocaleLowerCase(); 21008 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); 21009 } 21010 } 21011 21012 if (strict) { 21013 if (format === 'dddd') { 21014 ii = indexOf.call(this._weekdaysParse, llc); 21015 return ii !== -1 ? ii : null; 21016 } else if (format === 'ddd') { 21017 ii = indexOf.call(this._shortWeekdaysParse, llc); 21018 return ii !== -1 ? ii : null; 21019 } else { 21020 ii = indexOf.call(this._minWeekdaysParse, llc); 21021 return ii !== -1 ? ii : null; 21022 } 21023 } else { 21024 if (format === 'dddd') { 21025 ii = indexOf.call(this._weekdaysParse, llc); 21026 if (ii !== -1) { 21027 return ii; 21028 } 21029 ii = indexOf.call(this._shortWeekdaysParse, llc); 21030 if (ii !== -1) { 21031 return ii; 21032 } 21033 ii = indexOf.call(this._minWeekdaysParse, llc); 21034 return ii !== -1 ? ii : null; 21035 } else if (format === 'ddd') { 21036 ii = indexOf.call(this._shortWeekdaysParse, llc); 21037 if (ii !== -1) { 21038 return ii; 21039 } 21040 ii = indexOf.call(this._weekdaysParse, llc); 21041 if (ii !== -1) { 21042 return ii; 21043 } 21044 ii = indexOf.call(this._minWeekdaysParse, llc); 21045 return ii !== -1 ? ii : null; 21046 } else { 21047 ii = indexOf.call(this._minWeekdaysParse, llc); 21048 if (ii !== -1) { 21049 return ii; 21050 } 21051 ii = indexOf.call(this._weekdaysParse, llc); 21052 if (ii !== -1) { 21053 return ii; 21054 } 21055 ii = indexOf.call(this._shortWeekdaysParse, llc); 21056 return ii !== -1 ? ii : null; 21057 } 21058 } 21059 } 21060 21061 function localeWeekdaysParse(weekdayName, format, strict) { 21062 var i, mom, regex; 21063 21064 if (this._weekdaysParseExact) { 21065 return handleStrictParse$1.call(this, weekdayName, format, strict); 21066 } 21067 21068 if (!this._weekdaysParse) { 21069 this._weekdaysParse = []; 21070 this._minWeekdaysParse = []; 21071 this._shortWeekdaysParse = []; 21072 this._fullWeekdaysParse = []; 21073 } 21074 21075 for (i = 0; i < 7; i++) { 21076 // make the regex if we don't have it already 21077 21078 mom = createUTC([2000, 1]).day(i); 21079 if (strict && !this._fullWeekdaysParse[i]) { 21080 this._fullWeekdaysParse[i] = new RegExp( 21081 '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 21082 'i' 21083 ); 21084 this._shortWeekdaysParse[i] = new RegExp( 21085 '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 21086 'i' 21087 ); 21088 this._minWeekdaysParse[i] = new RegExp( 21089 '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 21090 'i' 21091 ); 21092 } 21093 if (!this._weekdaysParse[i]) { 21094 regex = 21095 '^' + 21096 this.weekdays(mom, '') + 21097 '|^' + 21098 this.weekdaysShort(mom, '') + 21099 '|^' + 21100 this.weekdaysMin(mom, ''); 21101 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); 21102 } 21103 // test the regex 21104 if (
vendor: 9,327 bytes, lines 21105-21397
21105 strict && 21106 format === 'dddd' && 21107 this._fullWeekdaysParse[i].test(weekdayName) 21108 ) { 21109 return i; 21110 } else if ( 21111 strict && 21112 format === 'ddd' && 21113 this._shortWeekdaysParse[i].test(weekdayName) 21114 ) { 21115 return i; 21116 } else if ( 21117 strict && 21118 format === 'dd' && 21119 this._minWeekdaysParse[i].test(weekdayName) 21120 ) { 21121 return i; 21122 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { 21123 return i; 21124 } 21125 } 21126 } 21127 21128 // MOMENTS 21129 21130 function getSetDayOfWeek(input) { 21131 if (!this.isValid()) { 21132 return input != null ? this : NaN; 21133 } 21134 21135 var day = get(this, 'Day'); 21136 if (input != null) { 21137 input = parseWeekday(input, this.localeData()); 21138 return this.add(input - day, 'd'); 21139 } else { 21140 return day; 21141 } 21142 } 21143 21144 function getSetLocaleDayOfWeek(input) { 21145 if (!this.isValid()) { 21146 return input != null ? this : NaN; 21147 } 21148 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; 21149 return input == null ? weekday : this.add(input - weekday, 'd'); 21150 } 21151 21152 function getSetISODayOfWeek(input) { 21153 if (!this.isValid()) { 21154 return input != null ? this : NaN; 21155 } 21156 21157 // behaves the same as moment#day except 21158 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) 21159 // as a setter, sunday should belong to the previous week. 21160 21161 if (input != null) { 21162 var weekday = parseIsoWeekday(input, this.localeData()); 21163 return this.day(this.day() % 7 ? weekday : weekday - 7); 21164 } else { 21165 return this.day() || 7; 21166 } 21167 } 21168 21169 function weekdaysRegex(isStrict) { 21170 if (this._weekdaysParseExact) { 21171 if (!hasOwnProp(this, '_weekdaysRegex')) { 21172 computeWeekdaysParse.call(this); 21173 } 21174 if (isStrict) { 21175 return this._weekdaysStrictRegex; 21176 } else { 21177 return this._weekdaysRegex; 21178 } 21179 } else { 21180 if (!hasOwnProp(this, '_weekdaysRegex')) { 21181 this._weekdaysRegex = defaultWeekdaysRegex; 21182 } 21183 return this._weekdaysStrictRegex && isStrict 21184 ? this._weekdaysStrictRegex 21185 : this._weekdaysRegex; 21186 } 21187 } 21188 21189 function weekdaysShortRegex(isStrict) { 21190 if (this._weekdaysParseExact) { 21191 if (!hasOwnProp(this, '_weekdaysRegex')) { 21192 computeWeekdaysParse.call(this); 21193 } 21194 if (isStrict) { 21195 return this._weekdaysShortStrictRegex; 21196 } else { 21197 return this._weekdaysShortRegex; 21198 } 21199 } else { 21200 if (!hasOwnProp(this, '_weekdaysShortRegex')) { 21201 this._weekdaysShortRegex = defaultWeekdaysShortRegex; 21202 } 21203 return this._weekdaysShortStrictRegex && isStrict 21204 ? this._weekdaysShortStrictRegex 21205 : this._weekdaysShortRegex; 21206 } 21207 } 21208 21209 function weekdaysMinRegex(isStrict) { 21210 if (this._weekdaysParseExact) { 21211 if (!hasOwnProp(this, '_weekdaysRegex')) { 21212 computeWeekdaysParse.call(this); 21213 } 21214 if (isStrict) { 21215 return this._weekdaysMinStrictRegex; 21216 } else { 21217 return this._weekdaysMinRegex; 21218 } 21219 } else { 21220 if (!hasOwnProp(this, '_weekdaysMinRegex')) { 21221 this._weekdaysMinRegex = defaultWeekdaysMinRegex; 21222 } 21223 return this._weekdaysMinStrictRegex && isStrict 21224 ? this._weekdaysMinStrictRegex 21225 : this._weekdaysMinRegex; 21226 } 21227 } 21228 21229 function computeWeekdaysParse() { 21230 function cmpLenRev(a, b) { 21231 return b.length - a.length; 21232 } 21233 21234 var minPieces = [], 21235 shortPieces = [], 21236 longPieces = [], 21237 mixedPieces = [], 21238 i, 21239 mom, 21240 minp, 21241 shortp, 21242 longp; 21243 for (i = 0; i < 7; i++) { 21244 // make the regex if we don't have it already 21245 mom = createUTC([2000, 1]).day(i); 21246 minp = regexEscape(this.weekdaysMin(mom, '')); 21247 shortp = regexEscape(this.weekdaysShort(mom, '')); 21248 longp = regexEscape(this.weekdays(mom, '')); 21249 minPieces.push(minp); 21250 shortPieces.push(shortp); 21251 longPieces.push(longp); 21252 mixedPieces.push(minp); 21253 mixedPieces.push(shortp); 21254 mixedPieces.push(longp); 21255 } 21256 // Sorting makes sure if one weekday (or abbr) is a prefix of another it 21257 // will match the longer piece. 21258 minPieces.sort(cmpLenRev); 21259 shortPieces.sort(cmpLenRev); 21260 longPieces.sort(cmpLenRev); 21261 mixedPieces.sort(cmpLenRev); 21262 21263 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 21264 this._weekdaysShortRegex = this._weekdaysRegex; 21265 this._weekdaysMinRegex = this._weekdaysRegex; 21266 21267 this._weekdaysStrictRegex = new RegExp( 21268 '^(' + longPieces.join('|') + ')', 21269 'i' 21270 ); 21271 this._weekdaysShortStrictRegex = new RegExp( 21272 '^(' + shortPieces.join('|') + ')', 21273 'i' 21274 ); 21275 this._weekdaysMinStrictRegex = new RegExp( 21276 '^(' + minPieces.join('|') + ')', 21277 'i' 21278 ); 21279 } 21280 21281 // FORMATTING 21282 21283 function hFormat() { 21284 return this.hours() % 12 || 12; 21285 } 21286 21287 function kFormat() { 21288 return this.hours() || 24; 21289 } 21290 21291 addFormatToken('H', ['HH', 2], 0, 'hour'); 21292 addFormatToken('h', ['hh', 2], 0, hFormat); 21293 addFormatToken('k', ['kk', 2], 0, kFormat); 21294 21295 addFormatToken('hmm', 0, 0, function () { 21296 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); 21297 }); 21298 21299 addFormatToken('hmmss', 0, 0, function () { 21300 return ( 21301 '' + 21302 hFormat.apply(this) + 21303 zeroFill(this.minutes(), 2) + 21304 zeroFill(this.seconds(), 2) 21305 ); 21306 }); 21307 21308 addFormatToken('Hmm', 0, 0, function () { 21309 return '' + this.hours() + zeroFill(this.minutes(), 2); 21310 }); 21311 21312 addFormatToken('Hmmss', 0, 0, function () { 21313 return ( 21314 '' + 21315 this.hours() + 21316 zeroFill(this.minutes(), 2) + 21317 zeroFill(this.seconds(), 2) 21318 ); 21319 }); 21320 21321 function meridiem(token, lowercase) { 21322 addFormatToken(token, 0, 0, function () { 21323 return this.localeData().meridiem( 21324 this.hours(), 21325 this.minutes(), 21326 lowercase 21327 ); 21328 }); 21329 } 21330 21331 meridiem('a', true); 21332 meridiem('A', false); 21333 21334 // PARSING 21335 21336 function matchMeridiem(isStrict, locale) { 21337 return locale._meridiemParse; 21338 } 21339 21340 addRegexToken('a', matchMeridiem); 21341 addRegexToken('A', matchMeridiem); 21342 addRegexToken('H', match1to2, match1to2HasZero); 21343 addRegexToken('h', match1to2, match1to2NoLeadingZero); 21344 addRegexToken('k', match1to2, match1to2NoLeadingZero); 21345 addRegexToken('HH', match1to2, match2); 21346 addRegexToken('hh', match1to2, match2); 21347 addRegexToken('kk', match1to2, match2); 21348 21349 addRegexToken('hmm', match3to4); 21350 addRegexToken('hmmss', match5to6); 21351 addRegexToken('Hmm', match3to4); 21352 addRegexToken('Hmmss', match5to6); 21353 21354 addParseToken(['H', 'HH'], HOUR); 21355 addParseToken(['k', 'kk'], function (input, array, config) { 21356 var kInput = toInt(input); 21357 array[HOUR] = kInput === 24 ? 0 : kInput; 21358 }); 21359 addParseToken(['a', 'A'], function (input, array, config) { 21360 config._isPm = config._locale.isPM(input); 21361 config._meridiem = input; 21362 }); 21363 addParseToken(['h', 'hh'], function (input, array, config) { 21364 array[HOUR] = toInt(input); 21365 getParsingFlags(config).bigHour = true; 21366 }); 21367 addParseToken('hmm', function (input, array, config) { 21368 var pos = input.length - 2; 21369 array[HOUR] = toInt(input.substr(0, pos)); 21370 array[MINUTE] = toInt(input.substr(pos)); 21371 getParsingFlags(config).bigHour = true; 21372 }); 21373 addParseToken('hmmss', function (input, array, config) { 21374 var pos1 = input.length - 4, 21375 pos2 = input.length - 2; 21376 array[HOUR] = toInt(input.substr(0, pos1)); 21377 array[MINUTE] = toInt(input.substr(pos1, 2)); 21378 array[SECOND] = toInt(input.substr(pos2)); 21379 getParsingFlags(config).bigHour = true; 21380 }); 21381 addParseToken('Hmm', function (input, array, config) { 21382 var pos = input.length - 2; 21383 array[HOUR] = toInt(input.substr(0, pos)); 21384 array[MINUTE] = toInt(input.substr(pos)); 21385 }); 21386 addParseToken('Hmmss', function (input, array, config) { 21387 var pos1 = input.length - 4, 21388 pos2 = input.length - 2; 21389 array[HOUR] = toInt(input.substr(0, pos1)); 21390 array[MINUTE] = toInt(input.substr(pos1, 2)); 21391 array[SECOND] = toInt(input.substr(pos2)); 21392 }); 21393 21394 // LOCALES 21395 21396 function localeIsPM(input) { 21397 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing str
vendor: 7,804 bytes, lines 21397-21616
21397ings like arrays 21398 // Using charAt should be more compatible. 21399 return (input + '').toLowerCase().charAt(0) === 'p'; 21400 } 21401 21402 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i, 21403 // Setting the hour should keep the time, because the user explicitly 21404 // specified which hour they want. So trying to maintain the same hour (in 21405 // a new timezone) makes sense. Adding/subtracting hours does not follow 21406 // this rule. 21407 getSetHour = makeGetSet('Hours', true); 21408 21409 function localeMeridiem(hours, minutes, isLower) { 21410 if (hours > 11) { 21411 return isLower ? 'pm' : 'PM'; 21412 } else { 21413 return isLower ? 'am' : 'AM'; 21414 } 21415 } 21416 21417 var baseConfig = { 21418 calendar: defaultCalendar, 21419 longDateFormat: defaultLongDateFormat, 21420 invalidDate: defaultInvalidDate, 21421 ordinal: defaultOrdinal, 21422 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, 21423 relativeTime: defaultRelativeTime, 21424 21425 months: defaultLocaleMonths, 21426 monthsShort: defaultLocaleMonthsShort, 21427 21428 week: defaultLocaleWeek, 21429 21430 weekdays: defaultLocaleWeekdays, 21431 weekdaysMin: defaultLocaleWeekdaysMin, 21432 weekdaysShort: defaultLocaleWeekdaysShort, 21433 21434 meridiemParse: defaultLocaleMeridiemParse, 21435 }; 21436 21437 // internal storage for locale config files 21438 var locales = {}, 21439 localeFamilies = {}, 21440 globalLocale; 21441 21442 function commonPrefix(arr1, arr2) { 21443 var i, 21444 minl = Math.min(arr1.length, arr2.length); 21445 for (i = 0; i < minl; i += 1) { 21446 if (arr1[i] !== arr2[i]) { 21447 return i; 21448 } 21449 } 21450 return minl; 21451 } 21452 21453 function normalizeLocale(key) { 21454 return key ? key.toLowerCase().replace('_', '-') : key; 21455 } 21456 21457 // pick the locale from the array 21458 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each 21459 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root 21460 function chooseLocale(names) { 21461 var i = 0, 21462 j, 21463 next, 21464 locale, 21465 split; 21466 21467 while (i < names.length) { 21468 split = normalizeLocale(names[i]).split('-'); 21469 j = split.length; 21470 next = normalizeLocale(names[i + 1]); 21471 next = next ? next.split('-') : null; 21472 while (j > 0) { 21473 locale = loadLocale(split.slice(0, j).join('-')); 21474 if (locale) { 21475 return locale; 21476 } 21477 if ( 21478 next && 21479 next.length >= j && 21480 commonPrefix(split, next) >= j - 1 21481 ) { 21482 //the next array item is better than a shallower substring of this one 21483 break; 21484 } 21485 j--; 21486 } 21487 i++; 21488 } 21489 return globalLocale; 21490 } 21491 21492 function isLocaleNameSane(name) { 21493 // Prevent names that look like filesystem paths, i.e contain '/' or '\' 21494 // Ensure name is available and function returns boolean 21495 return !!(name && name.match('^[^/\\\\]*$')); 21496 } 21497 21498 function loadLocale(name) { 21499 var oldLocale = null, 21500 aliasedRequire; 21501 // TODO: Find a better way to register and load all the locales in Node 21502 if ( 21503 locales[name] === undefined && 21504 "object" !== 'undefined' && 21505 module && 21506 module.exports && 21507 isLocaleNameSane(name) 21508 ) { 21509 try { 21510 oldLocale = globalLocale._abbr; 21511 aliasedRequire = undefined; 21512 __webpack_require__(5358)("./" + name); 21513 getSetGlobalLocale(oldLocale); 21514 } catch (e) { 21515 // mark as not found to avoid repeating expensive file require call causing high CPU 21516 // when trying to find en-US, en_US, en-us for every format call 21517 locales[name] = null; // null means not found 21518 } 21519 } 21520 return locales[name]; 21521 } 21522 21523 // This function will load locale and then set the global locale. If 21524 // no arguments are passed in, it will simply return the current global 21525 // locale key. 21526 function getSetGlobalLocale(key, values) { 21527 var data; 21528 if (key) { 21529 if (isUndefined(values)) { 21530 data = getLocale(key); 21531 } else { 21532 data = defineLocale(key, values); 21533 } 21534 21535 if (data) { 21536 // moment.duration._locale = moment._locale = data; 21537 globalLocale = data; 21538 } else { 21539 if (typeof console !== 'undefined' && console.warn) { 21540 //warn user if arguments are passed but the locale could not be set 21541 console.warn( 21542 'Locale ' + key + ' not found. Did you forget to load it?' 21543 ); 21544 } 21545 } 21546 } 21547 21548 return globalLocale._abbr; 21549 } 21550 21551 function defineLocale(name, config) { 21552 if (config !== null) { 21553 var locale, 21554 parentConfig = baseConfig; 21555 config.abbr = name; 21556 if (locales[name] != null) { 21557 deprecateSimple( 21558 'defineLocaleOverride', 21559 'use moment.updateLocale(localeName, config) to change ' + 21560 'an existing locale. moment.defineLocale(localeName, ' + 21561 'config) should only be used for creating a new locale ' + 21562 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.' 21563 ); 21564 parentConfig = locales[name]._config; 21565 } else if (config.parentLocale != null) { 21566 if (locales[config.parentLocale] != null) { 21567 parentConfig = locales[config.parentLocale]._config; 21568 } else { 21569 locale = loadLocale(config.parentLocale); 21570 if (locale != null) { 21571 parentConfig = locale._config; 21572 } else { 21573 if (!localeFamilies[config.parentLocale]) { 21574 localeFamilies[config.parentLocale] = []; 21575 } 21576 localeFamilies[config.parentLocale].push({ 21577 name: name, 21578 config: config, 21579 }); 21580 return null; 21581 } 21582 } 21583 } 21584 locales[name] = new Locale(mergeConfigs(parentConfig, config)); 21585 21586 if (localeFamilies[name]) { 21587 localeFamilies[name].forEach(function (x) { 21588 defineLocale(x.name, x.config); 21589 }); 21590 } 21591 21592 // backwards compat for now: also set the locale 21593 // make sure we set the locale AFTER all child locales have been 21594 // created, so we won't end up with the child locale set. 21595 getSetGlobalLocale(name); 21596 21597 return locales[name]; 21598 } else { 21599 // useful for testing 21600 delete locales[name]; 21601 return null; 21602 } 21603 } 21604 21605 function updateLocale(name, config) { 21606 if (config != null) { 21607 var locale, 21608 tmpLocale, 21609 parentConfig = baseConfig; 21610 21611 if (locales[name] != null && locales[name].parentLocale != null) { 21612 // Update existing child locale in-place to avoid memory-leaks 21613 locales[name].set(mergeConfigs(locales[name]._config, config)); 21614 } else { 21615 // MERGE 21616 tmpLocale = loadLocale(name);
vendor: 12,148 bytes, lines 21616-21984
21616 21617 if (tmpLocale != null) { 21618 parentConfig = tmpLocale._config; 21619 } 21620 config = mergeConfigs(parentConfig, config); 21621 if (tmpLocale == null) { 21622 // updateLocale is called for creating a new locale 21623 // Set abbr so it will have a name (getters return 21624 // undefined otherwise). 21625 config.abbr = name; 21626 } 21627 locale = new Locale(config); 21628 locale.parentLocale = locales[name]; 21629 locales[name] = locale; 21630 } 21631 21632 // backwards compat for now: also set the locale 21633 getSetGlobalLocale(name); 21634 } else { 21635 // pass null for config to unupdate, useful for tests 21636 if (locales[name] != null) { 21637 if (locales[name].parentLocale != null) { 21638 locales[name] = locales[name].parentLocale; 21639 if (name === getSetGlobalLocale()) { 21640 getSetGlobalLocale(name); 21641 } 21642 } else if (locales[name] != null) { 21643 delete locales[name]; 21644 } 21645 } 21646 } 21647 return locales[name]; 21648 } 21649 21650 // returns locale data 21651 function getLocale(key) { 21652 var locale; 21653 21654 if (key && key._locale && key._locale._abbr) { 21655 key = key._locale._abbr; 21656 } 21657 21658 if (!key) { 21659 return globalLocale; 21660 } 21661 21662 if (!isArray(key)) { 21663 //short-circuit everything else 21664 locale = loadLocale(key); 21665 if (locale) { 21666 return locale; 21667 } 21668 key = [key]; 21669 } 21670 21671 return chooseLocale(key); 21672 } 21673 21674 function listLocales() { 21675 return keys(locales); 21676 } 21677 21678 function checkOverflow(m) { 21679 var overflow, 21680 a = m._a; 21681 21682 if (a && getParsingFlags(m).overflow === -2) { 21683 overflow = 21684 a[MONTH] < 0 || a[MONTH] > 11 21685 ? MONTH 21686 : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) 21687 ? DATE 21688 : a[HOUR] < 0 || 21689 a[HOUR] > 24 || 21690 (a[HOUR] === 24 && 21691 (a[MINUTE] !== 0 || 21692 a[SECOND] !== 0 || 21693 a[MILLISECOND] !== 0)) 21694 ? HOUR 21695 : a[MINUTE] < 0 || a[MINUTE] > 59 21696 ? MINUTE 21697 : a[SECOND] < 0 || a[SECOND] > 59 21698 ? SECOND 21699 : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 21700 ? MILLISECOND 21701 : -1; 21702 21703 if ( 21704 getParsingFlags(m)._overflowDayOfYear && 21705 (overflow < YEAR || overflow > DATE) 21706 ) { 21707 overflow = DATE; 21708 } 21709 if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 21710 overflow = WEEK; 21711 } 21712 if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 21713 overflow = WEEKDAY; 21714 } 21715 21716 getParsingFlags(m).overflow = overflow; 21717 } 21718 21719 return m; 21720 } 21721 21722 // iso 8601 regex 21723 // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) 21724 var extendedIsoRegex = 21725 /^\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)?)?$/, 21726 basicIsoRegex = 21727 /^\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)?)?$/, 21728 tzRegex = /Z|[+-]\d\d(?::?\d\d)?/, 21729 isoDates = [ 21730 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], 21731 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], 21732 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], 21733 ['GGGG-[W]WW', /\d{4}-W\d\d/, false], 21734 ['YYYY-DDD', /\d{4}-\d{3}/], 21735 ['YYYY-MM', /\d{4}-\d\d/, false], 21736 ['YYYYYYMMDD', /[+-]\d{10}/], 21737 ['YYYYMMDD', /\d{8}/], 21738 ['GGGG[W]WWE', /\d{4}W\d{3}/], 21739 ['GGGG[W]WW', /\d{4}W\d{2}/, false], 21740 ['YYYYDDD', /\d{7}/], 21741 ['YYYYMM', /\d{6}/, false], 21742 ['YYYY', /\d{4}/, false], 21743 ], 21744 // iso time formats and regexes 21745 isoTimes = [ 21746 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], 21747 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], 21748 ['HH:mm:ss', /\d\d:\d\d:\d\d/], 21749 ['HH:mm', /\d\d:\d\d/], 21750 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], 21751 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], 21752 ['HHmmss', /\d\d\d\d\d\d/], 21753 ['HHmm', /\d\d\d\d/], 21754 ['HH', /\d\d/], 21755 ], 21756 aspNetJsonRegex = /^\/?Date\((-?\d+)/i, 21757 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 21758 rfc2822 = 21759 /^(?:(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}))$/, 21760 obsOffsets = { 21761 UT: 0, 21762 GMT: 0, 21763 EDT: -4 * 60, 21764 EST: -5 * 60, 21765 CDT: -5 * 60, 21766 CST: -6 * 60, 21767 MDT: -6 * 60, 21768 MST: -7 * 60, 21769 PDT: -7 * 60, 21770 PST: -8 * 60, 21771 }; 21772 21773 // date from iso format 21774 function configFromISO(config) { 21775 var i, 21776 l, 21777 string = config._i, 21778 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), 21779 allowTime, 21780 dateFormat, 21781 timeFormat, 21782 tzFormat, 21783 isoDatesLen = isoDates.length, 21784 isoTimesLen = isoTimes.length; 21785 21786 if (match) { 21787 getParsingFlags(config).iso = true; 21788 for (i = 0, l = isoDatesLen; i < l; i++) { 21789 if (isoDates[i][1].exec(match[1])) { 21790 dateFormat = isoDates[i][0]; 21791 allowTime = isoDates[i][2] !== false; 21792 break; 21793 } 21794 } 21795 if (dateFormat == null) { 21796 config._isValid = false; 21797 return; 21798 } 21799 if (match[3]) { 21800 for (i = 0, l = isoTimesLen; i < l; i++) { 21801 if (isoTimes[i][1].exec(match[3])) { 21802 // match[2] should be 'T' or space 21803 timeFormat = (match[2] || ' ') + isoTimes[i][0]; 21804 break; 21805 } 21806 } 21807 if (timeFormat == null) { 21808 config._isValid = false; 21809 return; 21810 } 21811 } 21812 if (!allowTime && timeFormat != null) { 21813 config._isValid = false; 21814 return; 21815 } 21816 if (match[4]) { 21817 if (tzRegex.exec(match[4])) { 21818 tzFormat = 'Z'; 21819 } else { 21820 config._isValid = false; 21821 return; 21822 } 21823 } 21824 config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); 21825 configFromStringAndFormat(config); 21826 } else { 21827 config._isValid = false; 21828 } 21829 } 21830 21831 function extractFromRFC2822Strings( 21832 yearStr, 21833 monthStr, 21834 dayStr, 21835 hourStr, 21836 minuteStr, 21837 secondStr 21838 ) { 21839 var result = [ 21840 untruncateYear(yearStr), 21841 defaultLocaleMonthsShort.indexOf(monthStr), 21842 parseInt(dayStr, 10), 21843 parseInt(hourStr, 10), 21844 parseInt(minuteStr, 10), 21845 ]; 21846 21847 if (secondStr) { 21848 result.push(parseInt(secondStr, 10)); 21849 } 21850 21851 return result; 21852 } 21853 21854 function untruncateYear(yearStr) { 21855 var year = parseInt(yearStr, 10); 21856 if (year <= 49) { 21857 return 2000 + year; 21858 } else if (year <= 999) { 21859 return 1900 + year; 21860 } 21861 return year; 21862 } 21863 21864 function preprocessRFC2822(s) { 21865 // Remove comments and folding whitespace and replace multiple-spaces with a single space 21866 return s 21867 .replace(/\([^()]*\)|[\n\t]/g, ' ') 21868 .replace(/(\s\s+)/g, ' ') 21869 .replace(/^\s\s*/, '') 21870 .replace(/\s\s*$/, ''); 21871 } 21872 21873 function checkWeekday(weekdayStr, parsedInput, config) { 21874 if (weekdayStr) { 21875 // TODO: Replace the vanilla JS Date object with an independent day-of-week check. 21876 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), 21877 weekdayActual = new Date( 21878 parsedInput[0], 21879 parsedInput[1], 21880 parsedInput[2] 21881 ).getDay(); 21882 if (weekdayProvided !== weekdayActual) { 21883 getParsingFlags(config).weekdayMismatch = true; 21884 config._isValid = false; 21885 return false; 21886 } 21887 } 21888 return true; 21889 } 21890 21891 function calculateOffset(obsOffset, militaryOffset, numOffset) { 21892 if (obsOffset) { 21893 return obsOffsets[obsOffset]; 21894 } else if (militaryOffset) { 21895 // the only allowed military tz is Z 21896 return 0; 21897 } else { 21898 var hm = parseInt(numOffset, 10), 21899 m = hm % 100, 21900 h = (hm - m) / 100; 21901 return h * 60 + m; 21902 } 21903 } 21904 21905 // date and time from ref 2822 format 21906 function configFromRFC2822(config) { 21907 var match = rfc2822.exec(preprocessRFC2822(config._i)), 21908 parsedArray; 21909 if (match) { 21910 parsedArray = extractFromRFC2822Strings( 21911 match[4], 21912 match[3], 21913 match[2], 21914 match[5], 21915 match[6], 21916 match[7] 21917 ); 21918 if (!checkWeekday(match[1], parsedArray, config)) { 21919 return; 21920 } 21921 21922 config._a = parsedArray; 21923 config._tzm = calculateOffset(match[8], match[9], match[10]); 21924 21925 config._d = createUTCDate.apply(null, config._a); 21926 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 21927 21928 getParsingFlags(config).rfc2822 = true; 21929 } else { 21930 config._isValid = false; 21931 } 21932 } 21933 21934 // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict 21935 function configFromString(config) { 21936 var matched = aspNetJsonRegex.exec(config._i); 21937 if (matched !== null) { 21938 config._d = new Date(+matched[1]); 21939 return; 21940 } 21941 21942 configFromISO(config); 21943 if (config._isValid === false) { 21944 delete config._isValid; 21945 } else { 21946 return; 21947 } 21948 21949 configFromRFC2822(config); 21950 if (config._isValid === false) { 21951 delete config._isValid; 21952 } else { 21953 return; 21954 } 21955 21956 if (config._strict) { 21957 config._isValid = false; 21958 } else { 21959 // Final attempt, use Input Fallback 21960 hooks.createFromInputFallback(config); 21961 } 21962 } 21963 21964 hooks.createFromInputFallback = deprecate( 21965 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 21966 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 21967 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', 21968 function (config) { 21969 config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); 21970 } 21971 ); 21972 21973 // Pick the first defined of two or three arguments. 21974 function defaults(a, b, c) { 21975 if (a != null) { 21976 return a; 21977 } 21978 if (b != null) { 21979 return b; 21980 } 21981 return c; 21982 } 21983 21984 function currentDateArray(config
vendor: 17,694 bytes, lines 21984-22545
21984) { 21985 // hooks is actually the exported moment object 21986 var nowValue = new Date(hooks.now()); 21987 if (config._useUTC) { 21988 return [ 21989 nowValue.getUTCFullYear(), 21990 nowValue.getUTCMonth(), 21991 nowValue.getUTCDate(), 21992 ]; 21993 } 21994 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; 21995 } 21996 21997 // convert an array to a date. 21998 // the array should mirror the parameters below 21999 // note: all values past the year are optional and will default to the lowest possible value. 22000 // [year, month, day , hour, minute, second, millisecond] 22001 function configFromArray(config) { 22002 var i, 22003 date, 22004 input = [], 22005 currentDate, 22006 expectedWeekday, 22007 yearToUse; 22008 22009 if (config._d) { 22010 return; 22011 } 22012 22013 currentDate = currentDateArray(config); 22014 22015 //compute day of the year from weeks and weekdays 22016 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { 22017 dayOfYearFromWeekInfo(config); 22018 } 22019 22020 //if the day of the year is set, figure out what it is 22021 if (config._dayOfYear != null) { 22022 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); 22023 22024 if ( 22025 config._dayOfYear > daysInYear(yearToUse) || 22026 config._dayOfYear === 0 22027 ) { 22028 getParsingFlags(config)._overflowDayOfYear = true; 22029 } 22030 22031 date = createUTCDate(yearToUse, 0, config._dayOfYear); 22032 config._a[MONTH] = date.getUTCMonth(); 22033 config._a[DATE] = date.getUTCDate(); 22034 } 22035 22036 // Default to current date. 22037 // * if no year, month, day of month are given, default to today 22038 // * if day of month is given, default month and year 22039 // * if month is given, default only year 22040 // * if year is given, don't default anything 22041 for (i = 0; i < 3 && config._a[i] == null; ++i) { 22042 config._a[i] = input[i] = currentDate[i]; 22043 } 22044 22045 // Zero out whatever was not defaulted, including time 22046 for (; i < 7; i++) { 22047 config._a[i] = input[i] = 22048 config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i]; 22049 } 22050 22051 // Check for 24:00:00.000 22052 if ( 22053 config._a[HOUR] === 24 && 22054 config._a[MINUTE] === 0 && 22055 config._a[SECOND] === 0 && 22056 config._a[MILLISECOND] === 0 22057 ) { 22058 config._nextDay = true; 22059 config._a[HOUR] = 0; 22060 } 22061 22062 config._d = (config._useUTC ? createUTCDate : createDate).apply( 22063 null, 22064 input 22065 ); 22066 expectedWeekday = config._useUTC 22067 ? config._d.getUTCDay() 22068 : config._d.getDay(); 22069 22070 // Apply timezone offset from input. The actual utcOffset can be changed 22071 // with parseZone. 22072 if (config._tzm != null) { 22073 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 22074 } 22075 22076 if (config._nextDay) { 22077 config._a[HOUR] = 24; 22078 } 22079 22080 // check for mismatching day of week 22081 if ( 22082 config._w && 22083 typeof config._w.d !== 'undefined' && 22084 config._w.d !== expectedWeekday 22085 ) { 22086 getParsingFlags(config).weekdayMismatch = true; 22087 } 22088 } 22089 22090 function dayOfYearFromWeekInfo(config) { 22091 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek; 22092 22093 w = config._w; 22094 if (w.GG != null || w.W != null || w.E != null) { 22095 dow = 1; 22096 doy = 4; 22097 22098 // TODO: We need to take the current isoWeekYear, but that depends on 22099 // how we interpret now (local, utc, fixed offset). So create 22100 // a now version of current config (take local/utc/offset flags, and 22101 // create now). 22102 weekYear = defaults( 22103 w.GG, 22104 config._a[YEAR], 22105 weekOfYear(createLocal(), 1, 4).year 22106 ); 22107 week = defaults(w.W, 1); 22108 weekday = defaults(w.E, 1); 22109 if (weekday < 1 || weekday > 7) { 22110 weekdayOverflow = true; 22111 } 22112 } else { 22113 dow = config._locale._week.dow; 22114 doy = config._locale._week.doy; 22115 22116 curWeek = weekOfYear(createLocal(), dow, doy); 22117 22118 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); 22119 22120 // Default to current week. 22121 week = defaults(w.w, curWeek.week); 22122 22123 if (w.d != null) { 22124 // weekday -- low day numbers are considered next week 22125 weekday = w.d; 22126 if (weekday < 0 || weekday > 6) { 22127 weekdayOverflow = true; 22128 } 22129 } else if (w.e != null) { 22130 // local weekday -- counting starts from beginning of week 22131 weekday = w.e + dow; 22132 if (w.e < 0 || w.e > 6) { 22133 weekdayOverflow = true; 22134 } 22135 } else { 22136 // default to beginning of week 22137 weekday = dow; 22138 } 22139 } 22140 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { 22141 getParsingFlags(config)._overflowWeeks = true; 22142 } else if (weekdayOverflow != null) { 22143 getParsingFlags(config)._overflowWeekday = true; 22144 } else { 22145 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); 22146 config._a[YEAR] = temp.year; 22147 config._dayOfYear = temp.dayOfYear; 22148 } 22149 } 22150 22151 // constant that refers to the ISO standard 22152 hooks.ISO_8601 = function () {}; 22153 22154 // constant that refers to the RFC 2822 form 22155 hooks.RFC_2822 = function () {}; 22156 22157 // date from string and format string 22158 function configFromStringAndFormat(config) { 22159 // TODO: Move this to another part of the creation flow to prevent circular deps 22160 if (config._f === hooks.ISO_8601) { 22161 configFromISO(config); 22162 return; 22163 } 22164 if (config._f === hooks.RFC_2822) { 22165 configFromRFC2822(config); 22166 return; 22167 } 22168 config._a = []; 22169 getParsingFlags(config).empty = true; 22170 22171 // This array is used to make a Date, either with `new Date` or `Date.UTC` 22172 var string = '' + config._i, 22173 i, 22174 parsedInput, 22175 tokens, 22176 token, 22177 skipped, 22178 stringLength = string.length, 22179 totalParsedInputLength = 0, 22180 era, 22181 tokenLen; 22182 22183 tokens = 22184 expandFormat(config._f, config._locale).match(formattingTokens) || []; 22185 tokenLen = tokens.length; 22186 for (i = 0; i < tokenLen; i++) { 22187 token = tokens[i]; 22188 parsedInput = (string.match(getParseRegexForToken(token, config)) || 22189 [])[0]; 22190 if (parsedInput) { 22191 skipped = string.substr(0, string.indexOf(parsedInput)); 22192 if (skipped.length > 0) { 22193 getParsingFlags(config).unusedInput.push(skipped); 22194 } 22195 string = string.slice( 22196 string.indexOf(parsedInput) + parsedInput.length 22197 ); 22198 totalParsedInputLength += parsedInput.length; 22199 } 22200 // don't parse if it's not a known token 22201 if (formatTokenFunctions[token]) { 22202 if (parsedInput) { 22203 getParsingFlags(config).empty = false; 22204 } else { 22205 getParsingFlags(config).unusedTokens.push(token); 22206 } 22207 addTimeToArrayFromToken(token, parsedInput, config); 22208 } else if (config._strict && !parsedInput) { 22209 getParsingFlags(config).unusedTokens.push(token); 22210 } 22211 } 22212 22213 // add remaining unparsed input length to the string 22214 getParsingFlags(config).charsLeftOver = 22215 stringLength - totalParsedInputLength; 22216 if (string.length > 0) { 22217 getParsingFlags(config).unusedInput.push(string); 22218 } 22219 22220 // clear _12h flag if hour is <= 12 22221 if ( 22222 config._a[HOUR] <= 12 && 22223 getParsingFlags(config).bigHour === true && 22224 config._a[HOUR] > 0 22225 ) { 22226 getParsingFlags(config).bigHour = undefined; 22227 } 22228 22229 getParsingFlags(config).parsedDateParts = config._a.slice(0); 22230 getParsingFlags(config).meridiem = config._meridiem; 22231 // handle meridiem 22232 config._a[HOUR] = meridiemFixWrap( 22233 config._locale, 22234 config._a[HOUR], 22235 config._meridiem 22236 ); 22237 22238 // handle era 22239 era = getParsingFlags(config).era; 22240 if (era !== null) { 22241 config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]); 22242 } 22243 22244 configFromArray(config); 22245 checkOverflow(config); 22246 } 22247 22248 function meridiemFixWrap(locale, hour, meridiem) { 22249 var isPm; 22250 22251 if (meridiem == null) { 22252 // nothing to do 22253 return hour; 22254 } 22255 if (locale.meridiemHour != null) { 22256 return locale.meridiemHour(hour, meridiem); 22257 } else if (locale.isPM != null) { 22258 // Fallback 22259 isPm = locale.isPM(meridiem); 22260 if (isPm && hour < 12) { 22261 hour += 12; 22262 } 22263 if (!isPm && hour === 12) { 22264 hour = 0; 22265 } 22266 return hour; 22267 } else { 22268 // this is not supposed to happen 22269 return hour; 22270 } 22271 } 22272 22273 // date from string and array of format strings 22274 function configFromStringAndArray(config) { 22275 var tempConfig, 22276 bestMoment, 22277 scoreToBeat, 22278 i, 22279 currentScore, 22280 validFormatFound, 22281 bestFormatIsValid = false, 22282 configfLen = config._f.length; 22283 22284 if (configfLen === 0) { 22285 getParsingFlags(config).invalidFormat = true; 22286 config._d = new Date(NaN); 22287 return; 22288 } 22289 22290 for (i = 0; i < configfLen; i++) { 22291 currentScore = 0; 22292 validFormatFound = false; 22293 tempConfig = copyConfig({}, config); 22294 if (config._useUTC != null) { 22295 tempConfig._useUTC = config._useUTC; 22296 } 22297 tempConfig._f = config._f[i]; 22298 configFromStringAndFormat(tempConfig); 22299 22300 if (isValid(tempConfig)) { 22301 validFormatFound = true; 22302 } 22303 22304 // if there is any input that was not parsed add a penalty for that format 22305 currentScore += getParsingFlags(tempConfig).charsLeftOver; 22306 22307 //or tokens 22308 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; 22309 22310 getParsingFlags(tempConfig).score = currentScore; 22311 22312 if (!bestFormatIsValid) { 22313 if ( 22314 scoreToBeat == null || 22315 currentScore < scoreToBeat || 22316 validFormatFound 22317 ) { 22318 scoreToBeat = currentScore; 22319 bestMoment = tempConfig; 22320 if (validFormatFound) { 22321 bestFormatIsValid = true; 22322 } 22323 } 22324 } else { 22325 if (currentScore < scoreToBeat) { 22326 scoreToBeat = currentScore; 22327 bestMoment = tempConfig; 22328 } 22329 } 22330 } 22331 22332 extend(config, bestMoment || tempConfig); 22333 } 22334 22335 function configFromObject(config) { 22336 if (config._d) { 22337 return; 22338 } 22339 22340 var i = normalizeObjectUnits(config._i), 22341 dayOrDate = i.day === undefined ? i.date : i.day; 22342 config._a = map( 22343 [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], 22344 function (obj) { 22345 return obj && parseInt(obj, 10); 22346 } 22347 ); 22348 22349 configFromArray(config); 22350 } 22351 22352 function createFromConfig(config) { 22353 var res = new Moment(checkOverflow(prepareConfig(config))); 22354 if (res._nextDay) { 22355 // Adding is smart enough around DST 22356 res.add(1, 'd'); 22357 res._nextDay = undefined; 22358 } 22359 22360 return res; 22361 } 22362 22363 function prepareConfig(config) { 22364 var input = config._i, 22365 format = config._f; 22366 22367 config._locale = config._locale || getLocale(config._l); 22368 22369 if (input === null || (format === undefined && input === '')) { 22370 return createInvalid({ nullInput: true }); 22371 } 22372 22373 if (typeof input === 'string') { 22374 config._i = input = config._locale.preparse(input); 22375 } 22376 22377 if (isMoment(input)) { 22378 return new Moment(checkOverflow(input)); 22379 } else if (isDate(input)) { 22380 config._d = input; 22381 } else if (isArray(format)) { 22382 configFromStringAndArray(config); 22383 } else if (format) { 22384 configFromStringAndFormat(config); 22385 } else { 22386 configFromInput(config); 22387 } 22388 22389 if (!isValid(config)) { 22390 config._d = null; 22391 } 22392 22393 return config; 22394 } 22395 22396 function configFromInput(config) { 22397 var input = config._i; 22398 if (isUndefined(input)) { 22399 config._d = new Date(hooks.now()); 22400 } else if (isDate(input)) { 22401 config._d = new Date(input.valueOf()); 22402 } else if (typeof input === 'string') { 22403 configFromString(config); 22404 } else if (isArray(input)) { 22405 config._a = map(input.slice(0), function (obj) { 22406 return parseInt(obj, 10); 22407 }); 22408 configFromArray(config); 22409 } else if (isObject(input)) { 22410 configFromObject(config); 22411 } else if (isNumber(input)) { 22412 // from milliseconds 22413 config._d = new Date(input); 22414 } else { 22415 hooks.createFromInputFallback(config); 22416 } 22417 } 22418 22419 function createLocalOrUTC(input, format, locale, strict, isUTC) { 22420 var c = {}; 22421 22422 if (format === true || format === false) { 22423 strict = format; 22424 format = undefined; 22425 } 22426 22427 if (locale === true || locale === false) { 22428 strict = locale; 22429 locale = undefined; 22430 } 22431 22432 if ( 22433 (isObject(input) && isObjectEmpty(input)) || 22434 (isArray(input) && input.length === 0) 22435 ) { 22436 input = undefined; 22437 } 22438 // object construction must be done this way. 22439 // https://github.com/moment/moment/issues/1423 22440 c._isAMomentObject = true; 22441 c._useUTC = c._isUTC = isUTC; 22442 c._l = locale; 22443 c._i = input; 22444 c._f = format; 22445 c._strict = strict; 22446 22447 return createFromConfig(c); 22448 } 22449 22450 function createLocal(input, format, locale, strict) { 22451 return createLocalOrUTC(input, format, locale, strict, false); 22452 } 22453 22454 var prototypeMin = deprecate( 22455 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', 22456 function () { 22457 var other = createLocal.apply(null, arguments); 22458 if (this.isValid() && other.isValid()) { 22459 return other < this ? this : other; 22460 } else { 22461 return createInvalid(); 22462 } 22463 } 22464 ), 22465 prototypeMax = deprecate( 22466 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', 22467 function () { 22468 var other = createLocal.apply(null, arguments); 22469 if (this.isValid() && other.isValid()) { 22470 return other > this ? this : other; 22471 } else { 22472 return createInvalid(); 22473 } 22474 } 22475 ); 22476 22477 // Pick a moment m from moments so that m[fn](other) is true for all 22478 // other. This relies on the function fn to be transitive. 22479 // 22480 // moments should either be an array of moment objects or an array, whose 22481 // first element is an array of moment objects. 22482 function pickBy(fn, moments) { 22483 var res, i; 22484 if (moments.length === 1 && isArray(moments[0])) { 22485 moments = moments[0]; 22486 } 22487 if (!moments.length) { 22488 return createLocal(); 22489 } 22490 res = moments[0]; 22491 for (i = 1; i < moments.length; ++i) { 22492 if (!moments[i].isValid() || moments[i][fn](res)) { 22493 res = moments[i]; 22494 } 22495 } 22496 return res; 22497 } 22498 22499 // TODO: Use [].sort instead? 22500 function min() { 22501 var args = [].slice.call(arguments, 0); 22502 22503 return pickBy('isBefore', args); 22504 } 22505 22506 function max() { 22507 var args = [].slice.call(arguments, 0); 22508 22509 return pickBy('isAfter', args); 22510 } 22511 22512 var now = function () { 22513 return Date.now ? Date.now() : +new Date(); 22514 }; 22515 22516 var ordering = [ 22517 'year', 22518 'quarter', 22519 'month', 22520 'week', 22521 'day', 22522 'hour', 22523 'minute', 22524 'second', 22525 'millisecond', 22526 ]; 22527 22528 function isDurationValid(m) { 22529 var key, 22530 unitHasDecimal = false, 22531 i, 22532 orderLen = ordering.length; 22533 for (key in m) { 22534 if ( 22535 hasOwnProp(m, key) && 22536 !( 22537 indexOf.call(ordering, key) !== -1 && 22538 (m[key] == null || !isNaN(m[key])) 22539 ) 22540 ) { 22541 return false; 22542 } 22543 } 22544 22545 for (i = 0; i < orderLen
vendor: 10,251 bytes, lines 22545-22870
22545; ++i) { 22546 if (m[ordering[i]]) { 22547 if (unitHasDecimal) { 22548 return false; // only allow non-integers for smallest unit 22549 } 22550 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { 22551 unitHasDecimal = true; 22552 } 22553 } 22554 } 22555 22556 return true; 22557 } 22558 22559 function isValid$1() { 22560 return this._isValid; 22561 } 22562 22563 function createInvalid$1() { 22564 return createDuration(NaN); 22565 } 22566 22567 function Duration(duration) { 22568 var normalizedInput = normalizeObjectUnits(duration), 22569 years = normalizedInput.year || 0, 22570 quarters = normalizedInput.quarter || 0, 22571 months = normalizedInput.month || 0, 22572 weeks = normalizedInput.week || normalizedInput.isoWeek || 0, 22573 days = normalizedInput.day || 0, 22574 hours = normalizedInput.hour || 0, 22575 minutes = normalizedInput.minute || 0, 22576 seconds = normalizedInput.second || 0, 22577 milliseconds = normalizedInput.millisecond || 0; 22578 22579 this._isValid = isDurationValid(normalizedInput); 22580 22581 // representation for dateAddRemove 22582 this._milliseconds = 22583 +milliseconds + 22584 seconds * 1e3 + // 1000 22585 minutes * 6e4 + // 1000 * 60 22586 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 22587 // Because of dateAddRemove treats 24 hours as different from a 22588 // day when working around DST, we need to store them separately 22589 this._days = +days + weeks * 7; 22590 // It is impossible to translate months into days without knowing 22591 // which months you are are talking about, so we have to store 22592 // it separately. 22593 this._months = +months + quarters * 3 + years * 12; 22594 22595 this._data = {}; 22596 22597 this._locale = getLocale(); 22598 22599 this._bubble(); 22600 } 22601 22602 function isDuration(obj) { 22603 return obj instanceof Duration; 22604 } 22605 22606 function absRound(number) { 22607 if (number < 0) { 22608 return Math.round(-1 * number) * -1; 22609 } else { 22610 return Math.round(number); 22611 } 22612 } 22613 22614 // compare two arrays, return the number of differences 22615 function compareArrays(array1, array2, dontConvert) { 22616 var len = Math.min(array1.length, array2.length), 22617 lengthDiff = Math.abs(array1.length - array2.length), 22618 diffs = 0, 22619 i; 22620 for (i = 0; i < len; i++) { 22621 if ( 22622 (dontConvert && array1[i] !== array2[i]) || 22623 (!dontConvert && toInt(array1[i]) !== toInt(array2[i])) 22624 ) { 22625 diffs++; 22626 } 22627 } 22628 return diffs + lengthDiff; 22629 } 22630 22631 // FORMATTING 22632 22633 function offset(token, separator) { 22634 addFormatToken(token, 0, 0, function () { 22635 var offset = this.utcOffset(), 22636 sign = '+'; 22637 if (offset < 0) { 22638 offset = -offset; 22639 sign = '-'; 22640 } 22641 return ( 22642 sign + 22643 zeroFill(~~(offset / 60), 2) + 22644 separator + 22645 zeroFill(~~offset % 60, 2) 22646 ); 22647 }); 22648 } 22649 22650 offset('Z', ':'); 22651 offset('ZZ', ''); 22652 22653 // PARSING 22654 22655 addRegexToken('Z', matchShortOffset); 22656 addRegexToken('ZZ', matchShortOffset); 22657 addParseToken(['Z', 'ZZ'], function (input, array, config) { 22658 config._useUTC = true; 22659 config._tzm = offsetFromString(matchShortOffset, input); 22660 }); 22661 22662 // HELPERS 22663 22664 // timezone chunker 22665 // '+10:00' > ['10', '00'] 22666 // '-1530' > ['-15', '30'] 22667 var chunkOffset = /([\+\-]|\d\d)/gi; 22668 22669 function offsetFromString(matcher, string) { 22670 var matches = (string || '').match(matcher), 22671 chunk, 22672 parts, 22673 minutes; 22674 22675 if (matches === null) { 22676 return null; 22677 } 22678 22679 chunk = matches[matches.length - 1] || []; 22680 parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; 22681 minutes = +(parts[1] * 60) + toInt(parts[2]); 22682 22683 return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes; 22684 } 22685 22686 // Return a moment from input, that is local/utc/zone equivalent to model. 22687 function cloneWithOffset(input, model) { 22688 var res, diff; 22689 if (model._isUTC) { 22690 res = model.clone(); 22691 diff = 22692 (isMoment(input) || isDate(input) 22693 ? input.valueOf() 22694 : createLocal(input).valueOf()) - res.valueOf(); 22695 // Use low-level api, because this fn is low-level api. 22696 res._d.setTime(res._d.valueOf() + diff); 22697 hooks.updateOffset(res, false); 22698 return res; 22699 } else { 22700 return createLocal(input).local(); 22701 } 22702 } 22703 22704 function getDateOffset(m) { 22705 // On Firefox.24 Date#getTimezoneOffset returns a floating point. 22706 // https://github.com/moment/moment/pull/1871 22707 return -Math.round(m._d.getTimezoneOffset()); 22708 } 22709 22710 // HOOKS 22711 22712 // This function will be called whenever a moment is mutated. 22713 // It is intended to keep the offset in sync with the timezone. 22714 hooks.updateOffset = function () {}; 22715 22716 // MOMENTS 22717 22718 // keepLocalTime = true means only change the timezone, without 22719 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> 22720 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset 22721 // +0200, so we adjust the time as needed, to be valid. 22722 // 22723 // Keeping the time actually adds/subtracts (one hour) 22724 // from the actual represented time. That is why we call updateOffset 22725 // a second time. In case it wants us to change the offset again 22726 // _changeInProgress == true case, then we have to adjust, because 22727 // there is no such time in the given timezone. 22728 function getSetOffset(input, keepLocalTime, keepMinutes) { 22729 var offset = this._offset || 0, 22730 localAdjust; 22731 if (!this.isValid()) { 22732 return input != null ? this : NaN; 22733 } 22734 if (input != null) { 22735 if (typeof input === 'string') { 22736 input = offsetFromString(matchShortOffset, input); 22737 if (input === null) { 22738 return this; 22739 } 22740 } else if (Math.abs(input) < 16 && !keepMinutes) { 22741 input = input * 60; 22742 } 22743 if (!this._isUTC && keepLocalTime) { 22744 localAdjust = getDateOffset(this); 22745 } 22746 this._offset = input; 22747 this._isUTC = true; 22748 if (localAdjust != null) { 22749 this.add(localAdjust, 'm'); 22750 } 22751 if (offset !== input) { 22752 if (!keepLocalTime || this._changeInProgress) { 22753 addSubtract( 22754 this, 22755 createDuration(input - offset, 'm'), 22756 1, 22757 false 22758 ); 22759 } else if (!this._changeInProgress) { 22760 this._changeInProgress = true; 22761 hooks.updateOffset(this, true); 22762 this._changeInProgress = null; 22763 } 22764 } 22765 return this; 22766 } else { 22767 return this._isUTC ? offset : getDateOffset(this); 22768 } 22769 } 22770 22771 function getSetZone(input, keepLocalTime) { 22772 if (input != null) { 22773 if (typeof input !== 'string') { 22774 input = -input; 22775 } 22776 22777 this.utcOffset(input, keepLocalTime); 22778 22779 return this; 22780 } else { 22781 return -this.utcOffset(); 22782 } 22783 } 22784 22785 function setOffsetToUTC(keepLocalTime) { 22786 return this.utcOffset(0, keepLocalTime); 22787 } 22788 22789 function setOffsetToLocal(keepLocalTime) { 22790 if (this._isUTC) { 22791 this.utcOffset(0, keepLocalTime); 22792 this._isUTC = false; 22793 22794 if (keepLocalTime) { 22795 this.subtract(getDateOffset(this), 'm'); 22796 } 22797 } 22798 return this; 22799 } 22800 22801 function setOffsetToParsedOffset() { 22802 if (this._tzm != null) { 22803 this.utcOffset(this._tzm, false, true); 22804 } else if (typeof this._i === 'string') { 22805 var tZone = offsetFromString(matchOffset, this._i); 22806 if (tZone != null) { 22807 this.utcOffset(tZone); 22808 } else { 22809 this.utcOffset(0, true); 22810 } 22811 } 22812 return this; 22813 } 22814 22815 function hasAlignedHourOffset(input) { 22816 if (!this.isValid()) { 22817 return false; 22818 } 22819 input = input ? createLocal(input).utcOffset() : 0; 22820 22821 return (this.utcOffset() - input) % 60 === 0; 22822 } 22823 22824 function isDaylightSavingTime() { 22825 return ( 22826 this.utcOffset() > this.clone().month(0).utcOffset() || 22827 this.utcOffset() > this.clone().month(5).utcOffset() 22828 ); 22829 } 22830 22831 function isDaylightSavingTimeShifted() { 22832 if (!isUndefined(this._isDSTShifted)) { 22833 return this._isDSTShifted; 22834 } 22835 22836 var c = {}, 22837 other; 22838 22839 copyConfig(c, this); 22840 c = prepareConfig(c); 22841 22842 if (c._a) { 22843 other = c._isUTC ? createUTC(c._a) : createLocal(c._a); 22844 this._isDSTShifted = 22845 this.isValid() && compareArrays(c._a, other.toArray()) > 0; 22846 } else { 22847 this._isDSTShifted = false; 22848 } 22849 22850 return this._isDSTShifted; 22851 } 22852 22853 function isLocal() { 22854 return this.isValid() ? !this._isUTC : false; 22855 } 22856 22857 function isUtcOffset() { 22858 return this.isValid() ? this._isUTC : false; 22859 } 22860 22861 function isUtc() { 22862 return this.isValid() ? this._isUTC && this._offset === 0 : false; 22863 } 22864 22865 // ASP.NET json date format regex 22866 var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, 22867 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html 22868 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere 22869 // and further modified to allow for strings containing both week and day 22870 isoRegex =
vendor: 9,081 bytes, lines 22870-23160
22870 22871 /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; 22872 22873 function createDuration(input, key) { 22874 var duration = input, 22875 // matching against regexp is expensive, do it on demand 22876 match = null, 22877 sign, 22878 ret, 22879 diffRes; 22880 22881 if (isDuration(input)) { 22882 duration = { 22883 ms: input._milliseconds, 22884 d: input._days, 22885 M: input._months, 22886 }; 22887 } else if (isNumber(input) || !isNaN(+input)) { 22888 duration = {}; 22889 if (key) { 22890 duration[key] = +input; 22891 } else { 22892 duration.milliseconds = +input; 22893 } 22894 } else if ((match = aspNetRegex.exec(input))) { 22895 sign = match[1] === '-' ? -1 : 1; 22896 duration = { 22897 y: 0, 22898 d: toInt(match[DATE]) * sign, 22899 h: toInt(match[HOUR]) * sign, 22900 m: toInt(match[MINUTE]) * sign, 22901 s: toInt(match[SECOND]) * sign, 22902 ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match 22903 }; 22904 } else if ((match = isoRegex.exec(input))) { 22905 sign = match[1] === '-' ? -1 : 1; 22906 duration = { 22907 y: parseIso(match[2], sign), 22908 M: parseIso(match[3], sign), 22909 w: parseIso(match[4], sign), 22910 d: parseIso(match[5], sign), 22911 h: parseIso(match[6], sign), 22912 m: parseIso(match[7], sign), 22913 s: parseIso(match[8], sign), 22914 }; 22915 } else if (duration == null) { 22916 // checks for null or undefined 22917 duration = {}; 22918 } else if ( 22919 typeof duration === 'object' && 22920 ('from' in duration || 'to' in duration) 22921 ) { 22922 diffRes = momentsDifference( 22923 createLocal(duration.from), 22924 createLocal(duration.to) 22925 ); 22926 22927 duration = {}; 22928 duration.ms = diffRes.milliseconds; 22929 duration.M = diffRes.months; 22930 } 22931 22932 ret = new Duration(duration); 22933 22934 if (isDuration(input) && hasOwnProp(input, '_locale')) { 22935 ret._locale = input._locale; 22936 } 22937 22938 if (isDuration(input) && hasOwnProp(input, '_isValid')) { 22939 ret._isValid = input._isValid; 22940 } 22941 22942 return ret; 22943 } 22944 22945 createDuration.fn = Duration.prototype; 22946 createDuration.invalid = createInvalid$1; 22947 22948 function parseIso(inp, sign) { 22949 // We'd normally use ~~inp for this, but unfortunately it also 22950 // converts floats to ints. 22951 // inp may be undefined, so careful calling replace on it. 22952 var res = inp && parseFloat(inp.replace(',', '.')); 22953 // apply sign while we're at it 22954 return (isNaN(res) ? 0 : res) * sign; 22955 } 22956 22957 function positiveMomentsDifference(base, other) { 22958 var res = {}; 22959 22960 res.months = 22961 other.month() - base.month() + (other.year() - base.year()) * 12; 22962 if (base.clone().add(res.months, 'M').isAfter(other)) { 22963 --res.months; 22964 } 22965 22966 res.milliseconds = +other - +base.clone().add(res.months, 'M'); 22967 22968 return res; 22969 } 22970 22971 function momentsDifference(base, other) { 22972 var res; 22973 if (!(base.isValid() && other.isValid())) { 22974 return { milliseconds: 0, months: 0 }; 22975 } 22976 22977 other = cloneWithOffset(other, base); 22978 if (base.isBefore(other)) { 22979 res = positiveMomentsDifference(base, other); 22980 } else { 22981 res = positiveMomentsDifference(other, base); 22982 res.milliseconds = -res.milliseconds; 22983 res.months = -res.months; 22984 } 22985 22986 return res; 22987 } 22988 22989 // TODO: remove 'name' arg after deprecation is removed 22990 function createAdder(direction, name) { 22991 return function (val, period) { 22992 var dur, tmp; 22993 //invert the arguments, but complain about it 22994 if (period !== null && !isNaN(+period)) { 22995 deprecateSimple( 22996 name, 22997 'moment().' + 22998 name + 22999 '(period, number) is deprecated. Please use moment().' + 23000 name + 23001 '(number, period). ' + 23002 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.' 23003 ); 23004 tmp = val; 23005 val = period; 23006 period = tmp; 23007 } 23008 23009 dur = createDuration(val, period); 23010 addSubtract(this, dur, direction); 23011 return this; 23012 }; 23013 } 23014 23015 function addSubtract(mom, duration, isAdding, updateOffset) { 23016 var milliseconds = duration._milliseconds, 23017 days = absRound(duration._days), 23018 months = absRound(duration._months); 23019 23020 if (!mom.isValid()) { 23021 // No op 23022 return; 23023 } 23024 23025 updateOffset = updateOffset == null ? true : updateOffset; 23026 23027 if (months) { 23028 setMonth(mom, get(mom, 'Month') + months * isAdding); 23029 } 23030 if (days) { 23031 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); 23032 } 23033 if (milliseconds) { 23034 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); 23035 } 23036 if (updateOffset) { 23037 hooks.updateOffset(mom, days || months); 23038 } 23039 } 23040 23041 var add = createAdder(1, 'add'), 23042 subtract = createAdder(-1, 'subtract'); 23043 23044 function isString(input) { 23045 return typeof input === 'string' || input instanceof String; 23046 } 23047 23048 // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined 23049 function isMomentInput(input) { 23050 return ( 23051 isMoment(input) || 23052 isDate(input) || 23053 isString(input) || 23054 isNumber(input) || 23055 isNumberOrStringArray(input) || 23056 isMomentInputObject(input) || 23057 input === null || 23058 input === undefined 23059 ); 23060 } 23061 23062 function isMomentInputObject(input) { 23063 var objectTest = isObject(input) && !isObjectEmpty(input), 23064 propertyTest = false, 23065 properties = [ 23066 'years', 23067 'year', 23068 'y', 23069 'months', 23070 'month', 23071 'M', 23072 'days', 23073 'day', 23074 'd', 23075 'dates', 23076 'date', 23077 'D', 23078 'hours', 23079 'hour', 23080 'h', 23081 'minutes', 23082 'minute', 23083 'm', 23084 'seconds', 23085 'second', 23086 's', 23087 'milliseconds', 23088 'millisecond', 23089 'ms', 23090 ], 23091 i, 23092 property, 23093 propertyLen = properties.length; 23094 23095 for (i = 0; i < propertyLen; i += 1) { 23096 property = properties[i]; 23097 propertyTest = propertyTest || hasOwnProp(input, property); 23098 } 23099 23100 return objectTest && propertyTest; 23101 } 23102 23103 function isNumberOrStringArray(input) { 23104 var arrayTest = isArray(input), 23105 dataTypeTest = false; 23106 if (arrayTest) { 23107 dataTypeTest = 23108 input.filter(function (item) { 23109 return !isNumber(item) && isString(input); 23110 }).length === 0; 23111 } 23112 return arrayTest && dataTypeTest; 23113 } 23114 23115 function isCalendarSpec(input) { 23116 var objectTest = isObject(input) && !isObjectEmpty(input), 23117 propertyTest = false, 23118 properties = [ 23119 'sameDay', 23120 'nextDay', 23121 'lastDay', 23122 'nextWeek', 23123 'lastWeek', 23124 'sameElse', 23125 ], 23126 i, 23127 property; 23128 23129 for (i = 0; i < properties.length; i += 1) { 23130 property = properties[i]; 23131 propertyTest = propertyTest || hasOwnProp(input, property); 23132 } 23133 23134 return objectTest && propertyTest; 23135 } 23136 23137 function getCalendarFormat(myMoment, now) { 23138 var diff = myMoment.diff(now, 'days', true); 23139 return diff < -6 23140 ? 'sameElse' 23141 : diff < -1 23142 ? 'lastWeek' 23143 : diff < 0 23144 ? 'lastDay' 23145 : diff < 1 23146 ? 'sameDay' 23147 : diff < 2 23148 ? 'nextDay' 23149 : diff < 7 23150 ? 'nextWeek' 23151 : 'sameElse'; 23152 } 23153 23154 function calendar$1(time, formats) { 23155 // Support for single parameter, formats only overload to the calendar function 23156 if (arguments.length === 1) { 23157 if (!arguments[0]) { 23158 time = undefined; 23159 formats = undefined; 23160 } else
vendor: 17,627 bytes, lines 23160-23718
23160 if (isMomentInput(arguments[0])) { 23161 time = arguments[0]; 23162 formats = undefined; 23163 } else if (isCalendarSpec(arguments[0])) { 23164 formats = arguments[0]; 23165 time = undefined; 23166 } 23167 } 23168 // We want to compare the start of today, vs this. 23169 // Getting start-of-today depends on whether we're local/utc/offset or not. 23170 var now = time || createLocal(), 23171 sod = cloneWithOffset(now, this).startOf('day'), 23172 format = hooks.calendarFormat(this, sod) || 'sameElse', 23173 output = 23174 formats && 23175 (isFunction(formats[format]) 23176 ? formats[format].call(this, now) 23177 : formats[format]); 23178 23179 return this.format( 23180 output || this.localeData().calendar(format, this, createLocal(now)) 23181 ); 23182 } 23183 23184 function clone() { 23185 return new Moment(this); 23186 } 23187 23188 function isAfter(input, units) { 23189 var localInput = isMoment(input) ? input : createLocal(input); 23190 if (!(this.isValid() && localInput.isValid())) { 23191 return false; 23192 } 23193 units = normalizeUnits(units) || 'millisecond'; 23194 if (units === 'millisecond') { 23195 return this.valueOf() > localInput.valueOf(); 23196 } else { 23197 return localInput.valueOf() < this.clone().startOf(units).valueOf(); 23198 } 23199 } 23200 23201 function isBefore(input, units) { 23202 var localInput = isMoment(input) ? input : createLocal(input); 23203 if (!(this.isValid() && localInput.isValid())) { 23204 return false; 23205 } 23206 units = normalizeUnits(units) || 'millisecond'; 23207 if (units === 'millisecond') { 23208 return this.valueOf() < localInput.valueOf(); 23209 } else { 23210 return this.clone().endOf(units).valueOf() < localInput.valueOf(); 23211 } 23212 } 23213 23214 function isBetween(from, to, units, inclusivity) { 23215 var localFrom = isMoment(from) ? from : createLocal(from), 23216 localTo = isMoment(to) ? to : createLocal(to); 23217 if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { 23218 return false; 23219 } 23220 inclusivity = inclusivity || '()'; 23221 return ( 23222 (inclusivity[0] === '(' 23223 ? this.isAfter(localFrom, units) 23224 : !this.isBefore(localFrom, units)) && 23225 (inclusivity[1] === ')' 23226 ? this.isBefore(localTo, units) 23227 : !this.isAfter(localTo, units)) 23228 ); 23229 } 23230 23231 function isSame(input, units) { 23232 var localInput = isMoment(input) ? input : createLocal(input), 23233 inputMs; 23234 if (!(this.isValid() && localInput.isValid())) { 23235 return false; 23236 } 23237 units = normalizeUnits(units) || 'millisecond'; 23238 if (units === 'millisecond') { 23239 return this.valueOf() === localInput.valueOf(); 23240 } else { 23241 inputMs = localInput.valueOf(); 23242 return ( 23243 this.clone().startOf(units).valueOf() <= inputMs && 23244 inputMs <= this.clone().endOf(units).valueOf() 23245 ); 23246 } 23247 } 23248 23249 function isSameOrAfter(input, units) { 23250 return this.isSame(input, units) || this.isAfter(input, units); 23251 } 23252 23253 function isSameOrBefore(input, units) { 23254 return this.isSame(input, units) || this.isBefore(input, units); 23255 } 23256 23257 function diff(input, units, asFloat) { 23258 var that, zoneDelta, output; 23259 23260 if (!this.isValid()) { 23261 return NaN; 23262 } 23263 23264 that = cloneWithOffset(input, this); 23265 23266 if (!that.isValid()) { 23267 return NaN; 23268 } 23269 23270 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; 23271 23272 units = normalizeUnits(units); 23273 23274 switch (units) { 23275 case 'year': 23276 output = monthDiff(this, that) / 12; 23277 break; 23278 case 'month': 23279 output = monthDiff(this, that); 23280 break; 23281 case 'quarter': 23282 output = monthDiff(this, that) / 3; 23283 break; 23284 case 'second': 23285 output = (this - that) / 1e3; 23286 break; // 1000 23287 case 'minute': 23288 output = (this - that) / 6e4; 23289 break; // 1000 * 60 23290 case 'hour': 23291 output = (this - that) / 36e5; 23292 break; // 1000 * 60 * 60 23293 case 'day': 23294 output = (this - that - zoneDelta) / 864e5; 23295 break; // 1000 * 60 * 60 * 24, negate dst 23296 case 'week': 23297 output = (this - that - zoneDelta) / 6048e5; 23298 break; // 1000 * 60 * 60 * 24 * 7, negate dst 23299 default: 23300 output = this - that; 23301 } 23302 23303 return asFloat ? output : absFloor(output); 23304 } 23305 23306 function monthDiff(a, b) { 23307 if (a.date() < b.date()) { 23308 // end-of-month calculations work correct when the start month has more 23309 // days than the end month. 23310 return -monthDiff(b, a); 23311 } 23312 // difference in months 23313 var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()), 23314 // b is in (anchor - 1 month, anchor + 1 month) 23315 anchor = a.clone().add(wholeMonthDiff, 'months'), 23316 anchor2, 23317 adjust; 23318 23319 if (b - anchor < 0) { 23320 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); 23321 // linear across the month 23322 adjust = (b - anchor) / (anchor - anchor2); 23323 } else { 23324 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); 23325 // linear across the month 23326 adjust = (b - anchor) / (anchor2 - anchor); 23327 } 23328 23329 //check for negative zero, return zero if negative zero 23330 return -(wholeMonthDiff + adjust) || 0; 23331 } 23332 23333 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; 23334 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; 23335 23336 function toString() { 23337 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); 23338 } 23339 23340 function toISOString(keepOffset) { 23341 if (!this.isValid()) { 23342 return null; 23343 } 23344 var utc = keepOffset !== true, 23345 m = utc ? this.clone().utc() : this; 23346 if (m.year() < 0 || m.year() > 9999) { 23347 return formatMoment( 23348 m, 23349 utc 23350 ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' 23351 : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ' 23352 ); 23353 } 23354 if (isFunction(Date.prototype.toISOString)) { 23355 // native implementation is ~50x faster, use it when we can 23356 if (utc) { 23357 return this.toDate().toISOString(); 23358 } else { 23359 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000) 23360 .toISOString() 23361 .replace('Z', formatMoment(m, 'Z')); 23362 } 23363 } 23364 return formatMoment( 23365 m, 23366 utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ' 23367 ); 23368 } 23369 23370 /** 23371 * Return a human readable representation of a moment that can 23372 * also be evaluated to get a new moment which is the same 23373 * 23374 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects 23375 */ 23376 function inspect() { 23377 if (!this.isValid()) { 23378 return 'moment.invalid(/* ' + this._i + ' */)'; 23379 } 23380 var func = 'moment', 23381 zone = '', 23382 prefix, 23383 year, 23384 datetime, 23385 suffix; 23386 if (!this.isLocal()) { 23387 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; 23388 zone = 'Z'; 23389 } 23390 prefix = '[' + func + '("]'; 23391 year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY'; 23392 datetime = '-MM-DD[T]HH:mm:ss.SSS'; 23393 suffix = zone + '[")]'; 23394 23395 return this.format(prefix + year + datetime + suffix); 23396 } 23397 23398 function format(inputString) { 23399 if (!inputString) { 23400 inputString = this.isUtc() 23401 ? hooks.defaultFormatUtc 23402 : hooks.defaultFormat; 23403 } 23404 var output = formatMoment(this, inputString); 23405 return this.localeData().postformat(output); 23406 } 23407 23408 function from(time, withoutSuffix) { 23409 if ( 23410 this.isValid() && 23411 ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) 23412 ) { 23413 return createDuration({ to: this, from: time }) 23414 .locale(this.locale()) 23415 .humanize(!withoutSuffix); 23416 } else { 23417 return this.localeData().invalidDate(); 23418 } 23419 } 23420 23421 function fromNow(withoutSuffix) { 23422 return this.from(createLocal(), withoutSuffix); 23423 } 23424 23425 function to(time, withoutSuffix) { 23426 if ( 23427 this.isValid() && 23428 ((isMoment(time) && time.isValid()) || createLocal(time).isValid()) 23429 ) { 23430 return createDuration({ from: this, to: time }) 23431 .locale(this.locale()) 23432 .humanize(!withoutSuffix); 23433 } else { 23434 return this.localeData().invalidDate(); 23435 } 23436 } 23437 23438 function toNow(withoutSuffix) { 23439 return this.to(createLocal(), withoutSuffix); 23440 } 23441 23442 // If passed a locale key, it will set the locale for this 23443 // instance. Otherwise, it will return the locale configuration 23444 // variables for this instance. 23445 function locale(key) { 23446 var newLocaleData; 23447 23448 if (key === undefined) { 23449 return this._locale._abbr; 23450 } else { 23451 newLocaleData = getLocale(key); 23452 if (newLocaleData != null) { 23453 this._locale = newLocaleData; 23454 } 23455 return this; 23456 } 23457 } 23458 23459 var lang = deprecate( 23460 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 23461 function (key) { 23462 if (key === undefined) { 23463 return this.localeData(); 23464 } else { 23465 return this.locale(key); 23466 } 23467 } 23468 ); 23469 23470 function localeData() { 23471 return this._locale; 23472 } 23473 23474 var MS_PER_SECOND = 1000, 23475 MS_PER_MINUTE = 60 * MS_PER_SECOND, 23476 MS_PER_HOUR = 60 * MS_PER_MINUTE, 23477 MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; 23478 23479 // actual modulo - handles negative numbers (for dates before 1970): 23480 function mod$1(dividend, divisor) { 23481 return ((dividend % divisor) + divisor) % divisor; 23482 } 23483 23484 function localStartOfDate(y, m, d) { 23485 // the date constructor remaps years 0-99 to 1900-1999 23486 if (y < 100 && y >= 0) { 23487 // preserve leap years using a full 400 year cycle, then reset 23488 return new Date(y + 400, m, d) - MS_PER_400_YEARS; 23489 } else { 23490 return new Date(y, m, d).valueOf(); 23491 } 23492 } 23493 23494 function utcStartOfDate(y, m, d) { 23495 // Date.UTC remaps years 0-99 to 1900-1999 23496 if (y < 100 && y >= 0) { 23497 // preserve leap years using a full 400 year cycle, then reset 23498 return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; 23499 } else { 23500 return Date.UTC(y, m, d); 23501 } 23502 } 23503 23504 function startOf(units) { 23505 var time, startOfDate; 23506 units = normalizeUnits(units); 23507 if (units === undefined || units === 'millisecond' || !this.isValid()) { 23508 return this; 23509 } 23510 23511 startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 23512 23513 switch (units) { 23514 case 'year': 23515 time = startOfDate(this.year(), 0, 1); 23516 break; 23517 case 'quarter': 23518 time = startOfDate( 23519 this.year(), 23520 this.month() - (this.month() % 3), 23521 1 23522 ); 23523 break; 23524 case 'month': 23525 time = startOfDate(this.year(), this.month(), 1); 23526 break; 23527 case 'week': 23528 time = startOfDate( 23529 this.year(), 23530 this.month(), 23531 this.date() - this.weekday() 23532 ); 23533 break; 23534 case 'isoWeek': 23535 time = startOfDate( 23536 this.year(), 23537 this.month(), 23538 this.date() - (this.isoWeekday() - 1) 23539 ); 23540 break; 23541 case 'day': 23542 case 'date': 23543 time = startOfDate(this.year(), this.month(), this.date()); 23544 break; 23545 case 'hour': 23546 time = this._d.valueOf(); 23547 time -= mod$1( 23548 time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), 23549 MS_PER_HOUR 23550 ); 23551 break; 23552 case 'minute': 23553 time = this._d.valueOf(); 23554 time -= mod$1(time, MS_PER_MINUTE); 23555 break; 23556 case 'second': 23557 time = this._d.valueOf(); 23558 time -= mod$1(time, MS_PER_SECOND); 23559 break; 23560 } 23561 23562 this._d.setTime(time); 23563 hooks.updateOffset(this, true); 23564 return this; 23565 } 23566 23567 function endOf(units) { 23568 var time, startOfDate; 23569 units = normalizeUnits(units); 23570 if (units === undefined || units === 'millisecond' || !this.isValid()) { 23571 return this; 23572 } 23573 23574 startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 23575 23576 switch (units) { 23577 case 'year': 23578 time = startOfDate(this.year() + 1, 0, 1) - 1; 23579 break; 23580 case 'quarter': 23581 time = 23582 startOfDate( 23583 this.year(), 23584 this.month() - (this.month() % 3) + 3, 23585 1 23586 ) - 1; 23587 break; 23588 case 'month': 23589 time = startOfDate(this.year(), this.month() + 1, 1) - 1; 23590 break; 23591 case 'week': 23592 time = 23593 startOfDate( 23594 this.year(), 23595 this.month(), 23596 this.date() - this.weekday() + 7 23597 ) - 1; 23598 break; 23599 case 'isoWeek': 23600 time = 23601 startOfDate( 23602 this.year(), 23603 this.month(), 23604 this.date() - (this.isoWeekday() - 1) + 7 23605 ) - 1; 23606 break; 23607 case 'day': 23608 case 'date': 23609 time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; 23610 break; 23611 case 'hour': 23612 time = this._d.valueOf(); 23613 time += 23614 MS_PER_HOUR - 23615 mod$1( 23616 time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), 23617 MS_PER_HOUR 23618 ) - 23619 1; 23620 break; 23621 case 'minute': 23622 time = this._d.valueOf(); 23623 time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; 23624 break; 23625 case 'second': 23626 time = this._d.valueOf(); 23627 time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; 23628 break; 23629 } 23630 23631 this._d.setTime(time); 23632 hooks.updateOffset(this, true); 23633 return this; 23634 } 23635 23636 function valueOf() { 23637 return this._d.valueOf() - (this._offset || 0) * 60000; 23638 } 23639 23640 function unix() { 23641 return Math.floor(this.valueOf() / 1000); 23642 } 23643 23644 function toDate() { 23645 return new Date(this.valueOf()); 23646 } 23647 23648 function toArray() { 23649 var m = this; 23650 return [ 23651 m.year(), 23652 m.month(), 23653 m.date(), 23654 m.hour(), 23655 m.minute(), 23656 m.second(), 23657 m.millisecond(), 23658 ]; 23659 } 23660 23661 function toObject() { 23662 var m = this; 23663 return { 23664 years: m.year(), 23665 months: m.month(), 23666 date: m.date(), 23667 hours: m.hours(), 23668 minutes: m.minutes(), 23669 seconds: m.seconds(), 23670 milliseconds: m.milliseconds(), 23671 }; 23672 } 23673 23674 function toJSON() { 23675 // new Date(NaN).toJSON() === null 23676 return this.isValid() ? this.toISOString() : null; 23677 } 23678 23679 function isValid$2() { 23680 return isValid(this); 23681 } 23682 23683 function parsingFlags() { 23684 return extend({}, getParsingFlags(this)); 23685 } 23686 23687 function invalidAt() { 23688 return getParsingFlags(this).overflow; 23689 } 23690 23691 function creationData() { 23692 return { 23693 input: this._i, 23694 format: this._f, 23695 locale: this._locale, 23696 isUTC: this._isUTC, 23697 strict: this._strict, 23698 }; 23699 } 23700 23701 addFormatToken('N', 0, 0, 'eraAbbr'); 23702 addFormatToken('NN', 0, 0, 'eraAbbr'); 23703 addFormatToken('NNN', 0, 0, 'eraAbbr'); 23704 addFormatToken('NNNN', 0, 0, 'eraName'); 23705 addFormatToken('NNNNN', 0, 0, 'eraNarrow'); 23706 23707 addFormatToken('y', ['y', 1], 'yo', 'eraYear'); 23708 addFormatToken('y', ['yy', 2], 0, 'eraYear'); 23709 addFormatToken('y', ['yyy', 3], 0, 'eraYear'); 23710 addFormatToken('y', ['yyyy', 4], 0, 'eraYear'); 23711 23712 addRegexToken('N', matchEraAbbr); 23713 addRegexToken('NN', matchEraAbbr); 23714 addRegexToken('NNN', matchEraAbbr); 23715 addRegexToken('NNNN', matchEraName); 23716 addRegexToken('NNNNN', matchEraNarrow); 23717 23718 addParseToken(
vendor: 5,275 bytes, lines 23718-23896
23718 23719 ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], 23720 function (input, array, config, token) { 23721 var era = config._locale.erasParse(input, token, config._strict); 23722 if (era) { 23723 getParsingFlags(config).era = era; 23724 } else { 23725 getParsingFlags(config).invalidEra = input; 23726 } 23727 } 23728 ); 23729 23730 addRegexToken('y', matchUnsigned); 23731 addRegexToken('yy', matchUnsigned); 23732 addRegexToken('yyy', matchUnsigned); 23733 addRegexToken('yyyy', matchUnsigned); 23734 addRegexToken('yo', matchEraYearOrdinal); 23735 23736 addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR); 23737 addParseToken(['yo'], function (input, array, config, token) { 23738 var match; 23739 if (config._locale._eraYearOrdinalRegex) { 23740 match = input.match(config._locale._eraYearOrdinalRegex); 23741 } 23742 23743 if (config._locale.eraYearOrdinalParse) { 23744 array[YEAR] = config._locale.eraYearOrdinalParse(input, match); 23745 } else { 23746 array[YEAR] = parseInt(input, 10); 23747 } 23748 }); 23749 23750 function localeEras(m, format) { 23751 var i, 23752 l, 23753 date, 23754 eras = this._eras || getLocale('en')._eras; 23755 for (i = 0, l = eras.length; i < l; ++i) { 23756 switch (typeof eras[i].since) { 23757 case 'string': 23758 // truncate time 23759 date = hooks(eras[i].since).startOf('day'); 23760 eras[i].since = date.valueOf(); 23761 break; 23762 } 23763 23764 switch (typeof eras[i].until) { 23765 case 'undefined': 23766 eras[i].until = +Infinity; 23767 break; 23768 case 'string': 23769 // truncate time 23770 date = hooks(eras[i].until).startOf('day').valueOf(); 23771 eras[i].until = date.valueOf(); 23772 break; 23773 } 23774 } 23775 return eras; 23776 } 23777 23778 function localeErasParse(eraName, format, strict) { 23779 var i, 23780 l, 23781 eras = this.eras(), 23782 name, 23783 abbr, 23784 narrow; 23785 eraName = eraName.toUpperCase(); 23786 23787 for (i = 0, l = eras.length; i < l; ++i) { 23788 name = eras[i].name.toUpperCase(); 23789 abbr = eras[i].abbr.toUpperCase(); 23790 narrow = eras[i].narrow.toUpperCase(); 23791 23792 if (strict) { 23793 switch (format) { 23794 case 'N': 23795 case 'NN': 23796 case 'NNN': 23797 if (abbr === eraName) { 23798 return eras[i]; 23799 } 23800 break; 23801 23802 case 'NNNN': 23803 if (name === eraName) { 23804 return eras[i]; 23805 } 23806 break; 23807 23808 case 'NNNNN': 23809 if (narrow === eraName) { 23810 return eras[i]; 23811 } 23812 break; 23813 } 23814 } else if ([name, abbr, narrow].indexOf(eraName) >= 0) { 23815 return eras[i]; 23816 } 23817 } 23818 } 23819 23820 function localeErasConvertYear(era, year) { 23821 var dir = era.since <= era.until ? +1 : -1; 23822 if (year === undefined) { 23823 return hooks(era.since).year(); 23824 } else { 23825 return hooks(era.since).year() + (year - era.offset) * dir; 23826 } 23827 } 23828 23829 function getEraName() { 23830 var i, 23831 l, 23832 val, 23833 eras = this.localeData().eras(); 23834 for (i = 0, l = eras.length; i < l; ++i) { 23835 // truncate time 23836 val = this.clone().startOf('day').valueOf(); 23837 23838 if (eras[i].since <= val && val <= eras[i].until) { 23839 return eras[i].name; 23840 } 23841 if (eras[i].until <= val && val <= eras[i].since) { 23842 return eras[i].name; 23843 } 23844 } 23845 23846 return ''; 23847 } 23848 23849 function getEraNarrow() { 23850 var i, 23851 l, 23852 val, 23853 eras = this.localeData().eras(); 23854 for (i = 0, l = eras.length; i < l; ++i) { 23855 // truncate time 23856 val = this.clone().startOf('day').valueOf(); 23857 23858 if (eras[i].since <= val && val <= eras[i].until) { 23859 return eras[i].narrow; 23860 } 23861 if (eras[i].until <= val && val <= eras[i].since) { 23862 return eras[i].narrow; 23863 } 23864 } 23865 23866 return ''; 23867 } 23868 23869 function getEraAbbr() { 23870 var i, 23871 l, 23872 val, 23873 eras = this.localeData().eras(); 23874 for (i = 0, l = eras.length; i < l; ++i) { 23875 // truncate time 23876 val = this.clone().startOf('day').valueOf(); 23877 23878 if (eras[i].since <= val && val <= eras[i].until) { 23879 return eras[i].abbr; 23880 } 23881 if (eras[i].until <= val && val <= eras[i].since) { 23882 return eras[i].abbr; 23883 } 23884 } 23885 23886 return ''; 23887 } 23888 23889 function getEraYear() { 23890 var i, 23891 l, 23892 dir, 23893 val, 23894 eras = this.localeData().eras(); 23895 for (i = 0, l = eras.length; i < l; ++i) { 23896 dir = eras[i].since <= eras[i].until ? +
vendor: 9,818 bytes, lines 23896-24255
238961 : -1; 23897 23898 // truncate time 23899 val = this.clone().startOf('day').valueOf(); 23900 23901 if ( 23902 (eras[i].since <= val && val <= eras[i].until) || 23903 (eras[i].until <= val && val <= eras[i].since) 23904 ) { 23905 return ( 23906 (this.year() - hooks(eras[i].since).year()) * dir + 23907 eras[i].offset 23908 ); 23909 } 23910 } 23911 23912 return this.year(); 23913 } 23914 23915 function erasNameRegex(isStrict) { 23916 if (!hasOwnProp(this, '_erasNameRegex')) { 23917 computeErasParse.call(this); 23918 } 23919 return isStrict ? this._erasNameRegex : this._erasRegex; 23920 } 23921 23922 function erasAbbrRegex(isStrict) { 23923 if (!hasOwnProp(this, '_erasAbbrRegex')) { 23924 computeErasParse.call(this); 23925 } 23926 return isStrict ? this._erasAbbrRegex : this._erasRegex; 23927 } 23928 23929 function erasNarrowRegex(isStrict) { 23930 if (!hasOwnProp(this, '_erasNarrowRegex')) { 23931 computeErasParse.call(this); 23932 } 23933 return isStrict ? this._erasNarrowRegex : this._erasRegex; 23934 } 23935 23936 function matchEraAbbr(isStrict, locale) { 23937 return locale.erasAbbrRegex(isStrict); 23938 } 23939 23940 function matchEraName(isStrict, locale) { 23941 return locale.erasNameRegex(isStrict); 23942 } 23943 23944 function matchEraNarrow(isStrict, locale) { 23945 return locale.erasNarrowRegex(isStrict); 23946 } 23947 23948 function matchEraYearOrdinal(isStrict, locale) { 23949 return locale._eraYearOrdinalRegex || matchUnsigned; 23950 } 23951 23952 function computeErasParse() { 23953 var abbrPieces = [], 23954 namePieces = [], 23955 narrowPieces = [], 23956 mixedPieces = [], 23957 i, 23958 l, 23959 erasName, 23960 erasAbbr, 23961 erasNarrow, 23962 eras = this.eras(); 23963 23964 for (i = 0, l = eras.length; i < l; ++i) { 23965 erasName = regexEscape(eras[i].name); 23966 erasAbbr = regexEscape(eras[i].abbr); 23967 erasNarrow = regexEscape(eras[i].narrow); 23968 23969 namePieces.push(erasName); 23970 abbrPieces.push(erasAbbr); 23971 narrowPieces.push(erasNarrow); 23972 mixedPieces.push(erasName); 23973 mixedPieces.push(erasAbbr); 23974 mixedPieces.push(erasNarrow); 23975 } 23976 23977 this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 23978 this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i'); 23979 this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i'); 23980 this._erasNarrowRegex = new RegExp( 23981 '^(' + narrowPieces.join('|') + ')', 23982 'i' 23983 ); 23984 } 23985 23986 // FORMATTING 23987 23988 addFormatToken(0, ['gg', 2], 0, function () { 23989 return this.weekYear() % 100; 23990 }); 23991 23992 addFormatToken(0, ['GG', 2], 0, function () { 23993 return this.isoWeekYear() % 100; 23994 }); 23995 23996 function addWeekYearFormatToken(token, getter) { 23997 addFormatToken(0, [token, token.length], 0, getter); 23998 } 23999 24000 addWeekYearFormatToken('gggg', 'weekYear'); 24001 addWeekYearFormatToken('ggggg', 'weekYear'); 24002 addWeekYearFormatToken('GGGG', 'isoWeekYear'); 24003 addWeekYearFormatToken('GGGGG', 'isoWeekYear'); 24004 24005 // ALIASES 24006 24007 // PARSING 24008 24009 addRegexToken('G', matchSigned); 24010 addRegexToken('g', matchSigned); 24011 addRegexToken('GG', match1to2, match2); 24012 addRegexToken('gg', match1to2, match2); 24013 addRegexToken('GGGG', match1to4, match4); 24014 addRegexToken('gggg', match1to4, match4); 24015 addRegexToken('GGGGG', match1to6, match6); 24016 addRegexToken('ggggg', match1to6, match6); 24017 24018 addWeekParseToken( 24019 ['gggg', 'ggggg', 'GGGG', 'GGGGG'], 24020 function (input, week, config, token) { 24021 week[token.substr(0, 2)] = toInt(input); 24022 } 24023 ); 24024 24025 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { 24026 week[token] = hooks.parseTwoDigitYear(input); 24027 }); 24028 24029 // MOMENTS 24030 24031 function getSetWeekYear(input) { 24032 return getSetWeekYearHelper.call( 24033 this, 24034 input, 24035 this.week(), 24036 this.weekday() + this.localeData()._week.dow, 24037 this.localeData()._week.dow, 24038 this.localeData()._week.doy 24039 ); 24040 } 24041 24042 function getSetISOWeekYear(input) { 24043 return getSetWeekYearHelper.call( 24044 this, 24045 input, 24046 this.isoWeek(), 24047 this.isoWeekday(), 24048 1, 24049 4 24050 ); 24051 } 24052 24053 function getISOWeeksInYear() { 24054 return weeksInYear(this.year(), 1, 4); 24055 } 24056 24057 function getISOWeeksInISOWeekYear() { 24058 return weeksInYear(this.isoWeekYear(), 1, 4); 24059 } 24060 24061 function getWeeksInYear() { 24062 var weekInfo = this.localeData()._week; 24063 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); 24064 } 24065 24066 function getWeeksInWeekYear() { 24067 var weekInfo = this.localeData()._week; 24068 return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy); 24069 } 24070 24071 function getSetWeekYearHelper(input, week, weekday, dow, doy) { 24072 var weeksTarget; 24073 if (input == null) { 24074 return weekOfYear(this, dow, doy).year; 24075 } else { 24076 weeksTarget = weeksInYear(input, dow, doy); 24077 if (week > weeksTarget) { 24078 week = weeksTarget; 24079 } 24080 return setWeekAll.call(this, input, week, weekday, dow, doy); 24081 } 24082 } 24083 24084 function setWeekAll(weekYear, week, weekday, dow, doy) { 24085 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), 24086 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); 24087 24088 this.year(date.getUTCFullYear()); 24089 this.month(date.getUTCMonth()); 24090 this.date(date.getUTCDate()); 24091 return this; 24092 } 24093 24094 // FORMATTING 24095 24096 addFormatToken('Q', 0, 'Qo', 'quarter'); 24097 24098 // PARSING 24099 24100 addRegexToken('Q', match1); 24101 addParseToken('Q', function (input, array) { 24102 array[MONTH] = (toInt(input) - 1) * 3; 24103 }); 24104 24105 // MOMENTS 24106 24107 function getSetQuarter(input) { 24108 return input == null 24109 ? Math.ceil((this.month() + 1) / 3) 24110 : this.month((input - 1) * 3 + (this.month() % 3)); 24111 } 24112 24113 // FORMATTING 24114 24115 addFormatToken('D', ['DD', 2], 'Do', 'date'); 24116 24117 // PARSING 24118 24119 addRegexToken('D', match1to2, match1to2NoLeadingZero); 24120 addRegexToken('DD', match1to2, match2); 24121 addRegexToken('Do', function (isStrict, locale) { 24122 // TODO: Remove "ordinalParse" fallback in next major release. 24123 return isStrict 24124 ? locale._dayOfMonthOrdinalParse || locale._ordinalParse 24125 : locale._dayOfMonthOrdinalParseLenient; 24126 }); 24127 24128 addParseToken(['D', 'DD'], DATE); 24129 addParseToken('Do', function (input, array) { 24130 array[DATE] = toInt(input.match(match1to2)[0]); 24131 }); 24132 24133 // MOMENTS 24134 24135 var getSetDayOfMonth = makeGetSet('Date', true); 24136 24137 // FORMATTING 24138 24139 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 24140 24141 // PARSING 24142 24143 addRegexToken('DDD', match1to3); 24144 addRegexToken('DDDD', match3); 24145 addParseToken(['DDD', 'DDDD'], function (input, array, config) { 24146 config._dayOfYear = toInt(input); 24147 }); 24148 24149 // HELPERS 24150 24151 // MOMENTS 24152 24153 function getSetDayOfYear(input) { 24154 var dayOfYear = 24155 Math.round( 24156 (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5 24157 ) + 1; 24158 return input == null ? dayOfYear : this.add(input - dayOfYear, 'd'); 24159 } 24160 24161 // FORMATTING 24162 24163 addFormatToken('m', ['mm', 2], 0, 'minute'); 24164 24165 // PARSING 24166 24167 addRegexToken('m', match1to2, match1to2HasZero); 24168 addRegexToken('mm', match1to2, match2); 24169 addParseToken(['m', 'mm'], MINUTE); 24170 24171 // MOMENTS 24172 24173 var getSetMinute = makeGetSet('Minutes', false); 24174 24175 // FORMATTING 24176 24177 addFormatToken('s', ['ss', 2], 0, 'second'); 24178 24179 // PARSING 24180 24181 addRegexToken('s', match1to2, match1to2HasZero); 24182 addRegexToken('ss', match1to2, match2); 24183 addParseToken(['s', 'ss'], SECOND); 24184 24185 // MOMENTS 24186 24187 var getSetSecond = makeGetSet('Seconds', false); 24188 24189 // FORMATTING 24190 24191 addFormatToken('S', 0, 0, function () { 24192 return ~~(this.millisecond() / 100); 24193 }); 24194 24195 addFormatToken(0, ['SS', 2], 0, function () { 24196 return ~~(this.millisecond() / 10); 24197 }); 24198 24199 addFormatToken(0, ['SSS', 3], 0, 'millisecond'); 24200 addFormatToken(0, ['SSSS', 4], 0, function () { 24201 return this.millisecond() * 10; 24202 }); 24203 addFormatToken(0, ['SSSSS', 5], 0, function () { 24204 return this.millisecond() * 100; 24205 }); 24206 addFormatToken(0, ['SSSSSS', 6], 0, function () { 24207 return this.millisecond() * 1000; 24208 }); 24209 addFormatToken(0, ['SSSSSSS', 7], 0, function () { 24210 return this.millisecond() * 10000; 24211 }); 24212 addFormatToken(0, ['SSSSSSSS', 8], 0, function () { 24213 return this.millisecond() * 100000; 24214 }); 24215 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { 24216 return this.millisecond() * 1000000; 24217 }); 24218 24219 // PARSING 24220 24221 addRegexToken('S', match1to3, match1); 24222 addRegexToken('SS', match1to3, match2); 24223 addRegexToken('SSS', match1to3, match3); 24224 24225 var token, getSetMillisecond; 24226 for (token = 'SSSS'; token.length <= 9; token += 'S') { 24227 addRegexToken(token, matchUnsigned); 24228 } 24229 24230 function parseMs(input, array) { 24231 array[MILLISECOND] = toInt(('0.' + input) * 1000); 24232 } 24233 24234 for (token = 'S'; token.length <= 9; token += 'S') { 24235 addParseToken(token, parseMs); 24236 } 24237 24238 getSetMillisecond = makeGetSet('Milliseconds', false); 24239 24240 // FORMATTING 24241 24242 addFormatToken('z', 0, 0, 'zoneAbbr'); 24243 addFormatToken('zz', 0, 0, 'zoneName'); 24244 24245 // MOMENTS 24246 24247 function getZoneAbbr() { 24248 return this._isUTC ? 'UTC' : ''; 24249 } 24250 24251 function getZoneName() { 24252 return this._isUTC ? 'Coordinated Universal Time' : ''; 24253 } 24254 24255 var proto
vendor: 8,352 bytes, lines 24255-24526
24255 = Moment.prototype; 24256 24257 proto.add = add; 24258 proto.calendar = calendar$1; 24259 proto.clone = clone; 24260 proto.diff = diff; 24261 proto.endOf = endOf; 24262 proto.format = format; 24263 proto.from = from; 24264 proto.fromNow = fromNow; 24265 proto.to = to; 24266 proto.toNow = toNow; 24267 proto.get = stringGet; 24268 proto.invalidAt = invalidAt; 24269 proto.isAfter = isAfter; 24270 proto.isBefore = isBefore; 24271 proto.isBetween = isBetween; 24272 proto.isSame = isSame; 24273 proto.isSameOrAfter = isSameOrAfter; 24274 proto.isSameOrBefore = isSameOrBefore; 24275 proto.isValid = isValid$2; 24276 proto.lang = lang; 24277 proto.locale = locale; 24278 proto.localeData = localeData; 24279 proto.max = prototypeMax; 24280 proto.min = prototypeMin; 24281 proto.parsingFlags = parsingFlags; 24282 proto.set = stringSet; 24283 proto.startOf = startOf; 24284 proto.subtract = subtract; 24285 proto.toArray = toArray; 24286 proto.toObject = toObject; 24287 proto.toDate = toDate; 24288 proto.toISOString = toISOString; 24289 proto.inspect = inspect; 24290 if (typeof Symbol !== 'undefined' && Symbol.for != null) { 24291 proto[Symbol.for('nodejs.util.inspect.custom')] = function () { 24292 return 'Moment<' + this.format() + '>'; 24293 }; 24294 } 24295 proto.toJSON = toJSON; 24296 proto.toString = toString; 24297 proto.unix = unix; 24298 proto.valueOf = valueOf; 24299 proto.creationData = creationData; 24300 proto.eraName = getEraName; 24301 proto.eraNarrow = getEraNarrow; 24302 proto.eraAbbr = getEraAbbr; 24303 proto.eraYear = getEraYear; 24304 proto.year = getSetYear; 24305 proto.isLeapYear = getIsLeapYear; 24306 proto.weekYear = getSetWeekYear; 24307 proto.isoWeekYear = getSetISOWeekYear; 24308 proto.quarter = proto.quarters = getSetQuarter; 24309 proto.month = getSetMonth; 24310 proto.daysInMonth = getDaysInMonth; 24311 proto.week = proto.weeks = getSetWeek; 24312 proto.isoWeek = proto.isoWeeks = getSetISOWeek; 24313 proto.weeksInYear = getWeeksInYear; 24314 proto.weeksInWeekYear = getWeeksInWeekYear; 24315 proto.isoWeeksInYear = getISOWeeksInYear; 24316 proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear; 24317 proto.date = getSetDayOfMonth; 24318 proto.day = proto.days = getSetDayOfWeek; 24319 proto.weekday = getSetLocaleDayOfWeek; 24320 proto.isoWeekday = getSetISODayOfWeek; 24321 proto.dayOfYear = getSetDayOfYear; 24322 proto.hour = proto.hours = getSetHour; 24323 proto.minute = proto.minutes = getSetMinute; 24324 proto.second = proto.seconds = getSetSecond; 24325 proto.millisecond = proto.milliseconds = getSetMillisecond; 24326 proto.utcOffset = getSetOffset; 24327 proto.utc = setOffsetToUTC; 24328 proto.local = setOffsetToLocal; 24329 proto.parseZone = setOffsetToParsedOffset; 24330 proto.hasAlignedHourOffset = hasAlignedHourOffset; 24331 proto.isDST = isDaylightSavingTime; 24332 proto.isLocal = isLocal; 24333 proto.isUtcOffset = isUtcOffset; 24334 proto.isUtc = isUtc; 24335 proto.isUTC = isUtc; 24336 proto.zoneAbbr = getZoneAbbr; 24337 proto.zoneName = getZoneName; 24338 proto.dates = deprecate( 24339 'dates accessor is deprecated. Use date instead.', 24340 getSetDayOfMonth 24341 ); 24342 proto.months = deprecate( 24343 'months accessor is deprecated. Use month instead', 24344 getSetMonth 24345 ); 24346 proto.years = deprecate( 24347 'years accessor is deprecated. Use year instead', 24348 getSetYear 24349 ); 24350 proto.zone = deprecate( 24351 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', 24352 getSetZone 24353 ); 24354 proto.isDSTShifted = deprecate( 24355 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', 24356 isDaylightSavingTimeShifted 24357 ); 24358 24359 function createUnix(input) { 24360 return createLocal(input * 1000); 24361 } 24362 24363 function createInZone() { 24364 return createLocal.apply(null, arguments).parseZone(); 24365 } 24366 24367 function preParsePostFormat(string) { 24368 return string; 24369 } 24370 24371 var proto$1 = Locale.prototype; 24372 24373 proto$1.calendar = calendar; 24374 proto$1.longDateFormat = longDateFormat; 24375 proto$1.invalidDate = invalidDate; 24376 proto$1.ordinal = ordinal; 24377 proto$1.preparse = preParsePostFormat; 24378 proto$1.postformat = preParsePostFormat; 24379 proto$1.relativeTime = relativeTime; 24380 proto$1.pastFuture = pastFuture; 24381 proto$1.set = set; 24382 proto$1.eras = localeEras; 24383 proto$1.erasParse = localeErasParse; 24384 proto$1.erasConvertYear = localeErasConvertYear; 24385 proto$1.erasAbbrRegex = erasAbbrRegex; 24386 proto$1.erasNameRegex = erasNameRegex; 24387 proto$1.erasNarrowRegex = erasNarrowRegex; 24388 24389 proto$1.months = localeMonths; 24390 proto$1.monthsShort = localeMonthsShort; 24391 proto$1.monthsParse = localeMonthsParse; 24392 proto$1.monthsRegex = monthsRegex; 24393 proto$1.monthsShortRegex = monthsShortRegex; 24394 proto$1.week = localeWeek; 24395 proto$1.firstDayOfYear = localeFirstDayOfYear; 24396 proto$1.firstDayOfWeek = localeFirstDayOfWeek; 24397 24398 proto$1.weekdays = localeWeekdays; 24399 proto$1.weekdaysMin = localeWeekdaysMin; 24400 proto$1.weekdaysShort = localeWeekdaysShort; 24401 proto$1.weekdaysParse = localeWeekdaysParse; 24402 24403 proto$1.weekdaysRegex = weekdaysRegex; 24404 proto$1.weekdaysShortRegex = weekdaysShortRegex; 24405 proto$1.weekdaysMinRegex = weekdaysMinRegex; 24406 24407 proto$1.isPM = localeIsPM; 24408 proto$1.meridiem = localeMeridiem; 24409 24410 function get$1(format, index, field, setter) { 24411 var locale = getLocale(), 24412 utc = createUTC().set(setter, index); 24413 return locale[field](utc, format); 24414 } 24415 24416 function listMonthsImpl(format, index, field) { 24417 if (isNumber(format)) { 24418 index = format; 24419 format = undefined; 24420 } 24421 24422 format = format || ''; 24423 24424 if (index != null) { 24425 return get$1(format, index, field, 'month'); 24426 } 24427 24428 var i, 24429 out = []; 24430 for (i = 0; i < 12; i++) { 24431 out[i] = get$1(format, i, field, 'month'); 24432 } 24433 return out; 24434 } 24435 24436 // () 24437 // (5) 24438 // (fmt, 5) 24439 // (fmt) 24440 // (true) 24441 // (true, 5) 24442 // (true, fmt, 5) 24443 // (true, fmt) 24444 function listWeekdaysImpl(localeSorted, format, index, field) { 24445 if (typeof localeSorted === 'boolean') { 24446 if (isNumber(format)) { 24447 index = format; 24448 format = undefined; 24449 } 24450 24451 format = format || ''; 24452 } else { 24453 format = localeSorted; 24454 index = format; 24455 localeSorted = false; 24456 24457 if (isNumber(format)) { 24458 index = format; 24459 format = undefined; 24460 } 24461 24462 format = format || ''; 24463 } 24464 24465 var locale = getLocale(), 24466 shift = localeSorted ? locale._week.dow : 0, 24467 i, 24468 out = []; 24469 24470 if (index != null) { 24471 return get$1(format, (index + shift) % 7, field, 'day'); 24472 } 24473 24474 for (i = 0; i < 7; i++) { 24475 out[i] = get$1(format, (i + shift) % 7, field, 'day'); 24476 } 24477 return out; 24478 } 24479 24480 function listMonths(format, index) { 24481 return listMonthsImpl(format, index, 'months'); 24482 } 24483 24484 function listMonthsShort(format, index) { 24485 return listMonthsImpl(format, index, 'monthsShort'); 24486 } 24487 24488 function listWeekdays(localeSorted, format, index) { 24489 return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); 24490 } 24491 24492 function listWeekdaysShort(localeSorted, format, index) { 24493 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); 24494 } 24495 24496 function listWeekdaysMin(localeSorted, format, index) { 24497 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); 24498 } 24499 24500 getSetGlobalLocale('en', { 24501 eras: [ 24502 { 24503 since: '0001-01-01', 24504 until: +Infinity, 24505 offset: 1, 24506 name: 'Anno Domini', 24507 narrow: 'AD', 24508 abbr: 'AD', 24509 }, 24510 { 24511 since: '0000-12-31', 24512 until: -Infinity, 24513 offset: 1, 24514 name: 'Before Christ', 24515 narrow: 'BC', 24516 abbr: 'BC', 24517 }, 24518 ], 24519 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 24520 ordinal: function (number) { 24521 var b = number % 10, 24522 output = 24523 toInt((number % 100) / 10) === 1 24524 ? 'th' 24525 : b === 1 24526
vendor: 21,432 bytes, lines 24526-25213
24526 ? 'st' 24527 : b === 2 24528 ? 'nd' 24529 : b === 3 24530 ? 'rd' 24531 : 'th'; 24532 return number + output; 24533 }, 24534 }); 24535 24536 // Side effect imports 24537 24538 hooks.lang = deprecate( 24539 'moment.lang is deprecated. Use moment.locale instead.', 24540 getSetGlobalLocale 24541 ); 24542 hooks.langData = deprecate( 24543 'moment.langData is deprecated. Use moment.localeData instead.', 24544 getLocale 24545 ); 24546 24547 var mathAbs = Math.abs; 24548 24549 function abs() { 24550 var data = this._data; 24551 24552 this._milliseconds = mathAbs(this._milliseconds); 24553 this._days = mathAbs(this._days); 24554 this._months = mathAbs(this._months); 24555 24556 data.milliseconds = mathAbs(data.milliseconds); 24557 data.seconds = mathAbs(data.seconds); 24558 data.minutes = mathAbs(data.minutes); 24559 data.hours = mathAbs(data.hours); 24560 data.months = mathAbs(data.months); 24561 data.years = mathAbs(data.years); 24562 24563 return this; 24564 } 24565 24566 function addSubtract$1(duration, input, value, direction) { 24567 var other = createDuration(input, value); 24568 24569 duration._milliseconds += direction * other._milliseconds; 24570 duration._days += direction * other._days; 24571 duration._months += direction * other._months; 24572 24573 return duration._bubble(); 24574 } 24575 24576 // supports only 2.0-style add(1, 's') or add(duration) 24577 function add$1(input, value) { 24578 return addSubtract$1(this, input, value, 1); 24579 } 24580 24581 // supports only 2.0-style subtract(1, 's') or subtract(duration) 24582 function subtract$1(input, value) { 24583 return addSubtract$1(this, input, value, -1); 24584 } 24585 24586 function absCeil(number) { 24587 if (number < 0) { 24588 return Math.floor(number); 24589 } else { 24590 return Math.ceil(number); 24591 } 24592 } 24593 24594 function bubble() { 24595 var milliseconds = this._milliseconds, 24596 days = this._days, 24597 months = this._months, 24598 data = this._data, 24599 seconds, 24600 minutes, 24601 hours, 24602 years, 24603 monthsFromDays; 24604 24605 // if we have a mix of positive and negative values, bubble down first 24606 // check: https://github.com/moment/moment/issues/2166 24607 if ( 24608 !( 24609 (milliseconds >= 0 && days >= 0 && months >= 0) || 24610 (milliseconds <= 0 && days <= 0 && months <= 0) 24611 ) 24612 ) { 24613 milliseconds += absCeil(monthsToDays(months) + days) * 864e5; 24614 days = 0; 24615 months = 0; 24616 } 24617 24618 // The following code bubbles up values, see the tests for 24619 // examples of what that means. 24620 data.milliseconds = milliseconds % 1000; 24621 24622 seconds = absFloor(milliseconds / 1000); 24623 data.seconds = seconds % 60; 24624 24625 minutes = absFloor(seconds / 60); 24626 data.minutes = minutes % 60; 24627 24628 hours = absFloor(minutes / 60); 24629 data.hours = hours % 24; 24630 24631 days += absFloor(hours / 24); 24632 24633 // convert days to months 24634 monthsFromDays = absFloor(daysToMonths(days)); 24635 months += monthsFromDays; 24636 days -= absCeil(monthsToDays(monthsFromDays)); 24637 24638 // 12 months -> 1 year 24639 years = absFloor(months / 12); 24640 months %= 12; 24641 24642 data.days = days; 24643 data.months = months; 24644 data.years = years; 24645 24646 return this; 24647 } 24648 24649 function daysToMonths(days) { 24650 // 400 years have 146097 days (taking into account leap year rules) 24651 // 400 years have 12 months === 4800 24652 return (days * 4800) / 146097; 24653 } 24654 24655 function monthsToDays(months) { 24656 // the reverse of daysToMonths 24657 return (months * 146097) / 4800; 24658 } 24659 24660 function as(units) { 24661 if (!this.isValid()) { 24662 return NaN; 24663 } 24664 var days, 24665 months, 24666 milliseconds = this._milliseconds; 24667 24668 units = normalizeUnits(units); 24669 24670 if (units === 'month' || units === 'quarter' || units === 'year') { 24671 days = this._days + milliseconds / 864e5; 24672 months = this._months + daysToMonths(days); 24673 switch (units) { 24674 case 'month': 24675 return months; 24676 case 'quarter': 24677 return months / 3; 24678 case 'year': 24679 return months / 12; 24680 } 24681 } else { 24682 // handle milliseconds separately because of floating point math errors (issue #1867) 24683 days = this._days + Math.round(monthsToDays(this._months)); 24684 switch (units) { 24685 case 'week': 24686 return days / 7 + milliseconds / 6048e5; 24687 case 'day': 24688 return days + milliseconds / 864e5; 24689 case 'hour': 24690 return days * 24 + milliseconds / 36e5; 24691 case 'minute': 24692 return days * 1440 + milliseconds / 6e4; 24693 case 'second': 24694 return days * 86400 + milliseconds / 1000; 24695 // Math.floor prevents floating point math errors here 24696 case 'millisecond': 24697 return Math.floor(days * 864e5) + milliseconds; 24698 default: 24699 throw new Error('Unknown unit ' + units); 24700 } 24701 } 24702 } 24703 24704 function makeAs(alias) { 24705 return function () { 24706 return this.as(alias); 24707 }; 24708 } 24709 24710 var asMilliseconds = makeAs('ms'), 24711 asSeconds = makeAs('s'), 24712 asMinutes = makeAs('m'), 24713 asHours = makeAs('h'), 24714 asDays = makeAs('d'), 24715 asWeeks = makeAs('w'), 24716 asMonths = makeAs('M'), 24717 asQuarters = makeAs('Q'), 24718 asYears = makeAs('y'), 24719 valueOf$1 = asMilliseconds; 24720 24721 function clone$1() { 24722 return createDuration(this); 24723 } 24724 24725 function get$2(units) { 24726 units = normalizeUnits(units); 24727 return this.isValid() ? this[units + 's']() : NaN; 24728 } 24729 24730 function makeGetter(name) { 24731 return function () { 24732 return this.isValid() ? this._data[name] : NaN; 24733 }; 24734 } 24735 24736 var milliseconds = makeGetter('milliseconds'), 24737 seconds = makeGetter('seconds'), 24738 minutes = makeGetter('minutes'), 24739 hours = makeGetter('hours'), 24740 days = makeGetter('days'), 24741 months = makeGetter('months'), 24742 years = makeGetter('years'); 24743 24744 function weeks() { 24745 return absFloor(this.days() / 7); 24746 } 24747 24748 var round = Math.round, 24749 thresholds = { 24750 ss: 44, // a few seconds to seconds 24751 s: 45, // seconds to minute 24752 m: 45, // minutes to hour 24753 h: 22, // hours to day 24754 d: 26, // days to month/week 24755 w: null, // weeks to month 24756 M: 11, // months to year 24757 }; 24758 24759 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize 24760 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { 24761 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); 24762 } 24763 24764 function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) { 24765 var duration = createDuration(posNegDuration).abs(), 24766 seconds = round(duration.as('s')), 24767 minutes = round(duration.as('m')), 24768 hours = round(duration.as('h')), 24769 days = round(duration.as('d')), 24770 months = round(duration.as('M')), 24771 weeks = round(duration.as('w')), 24772 years = round(duration.as('y')), 24773 a = 24774 (seconds <= thresholds.ss && ['s', seconds]) || 24775 (seconds < thresholds.s && ['ss', seconds]) || 24776 (minutes <= 1 && ['m']) || 24777 (minutes < thresholds.m && ['mm', minutes]) || 24778 (hours <= 1 && ['h']) || 24779 (hours < thresholds.h && ['hh', hours]) || 24780 (days <= 1 && ['d']) || 24781 (days < thresholds.d && ['dd', days]); 24782 24783 if (thresholds.w != null) { 24784 a = 24785 a || 24786 (weeks <= 1 && ['w']) || 24787 (weeks < thresholds.w && ['ww', weeks]); 24788 } 24789 a = a || 24790 (months <= 1 && ['M']) || 24791 (months < thresholds.M && ['MM', months]) || 24792 (years <= 1 && ['y']) || ['yy', years]; 24793 24794 a[2] = withoutSuffix; 24795 a[3] = +posNegDuration > 0; 24796 a[4] = locale; 24797 return substituteTimeAgo.apply(null, a); 24798 } 24799 24800 // This function allows you to set the rounding function for relative time strings 24801 function getSetRelativeTimeRounding(roundingFunction) { 24802 if (roundingFunction === undefined) { 24803 return round; 24804 } 24805 if (typeof roundingFunction === 'function') { 24806 round = roundingFunction; 24807 return true; 24808 } 24809 return false; 24810 } 24811 24812 // This function allows you to set a threshold for relative time strings 24813 function getSetRelativeTimeThreshold(threshold, limit) { 24814 if (thresholds[threshold] === undefined) { 24815 return false; 24816 } 24817 if (limit === undefined) { 24818 return thresholds[threshold]; 24819 } 24820 thresholds[threshold] = limit; 24821 if (threshold === 's') { 24822 thresholds.ss = limit - 1; 24823 } 24824 return true; 24825 } 24826 24827 function humanize(argWithSuffix, argThresholds) { 24828 if (!this.isValid()) { 24829 return this.localeData().invalidDate(); 24830 } 24831 24832 var withSuffix = false, 24833 th = thresholds, 24834 locale, 24835 output; 24836 24837 if (typeof argWithSuffix === 'object') { 24838 argThresholds = argWithSuffix; 24839 argWithSuffix = false; 24840 } 24841 if (typeof argWithSuffix === 'boolean') { 24842 withSuffix = argWithSuffix; 24843 } 24844 if (typeof argThresholds === 'object') { 24845 th = Object.assign({}, thresholds, argThresholds); 24846 if (argThresholds.s != null && argThresholds.ss == null) { 24847 th.ss = argThresholds.s - 1; 24848 } 24849 } 24850 24851 locale = this.localeData(); 24852 output = relativeTime$1(this, !withSuffix, th, locale); 24853 24854 if (withSuffix) { 24855 output = locale.pastFuture(+this, output); 24856 } 24857 24858 return locale.postformat(output); 24859 } 24860 24861 var abs$1 = Math.abs; 24862 24863 function sign(x) { 24864 return (x > 0) - (x < 0) || +x; 24865 } 24866 24867 function toISOString$1() { 24868 // for ISO strings we do not use the normal bubbling rules: 24869 // * milliseconds bubble up until they become hours 24870 // * days do not bubble at all 24871 // * months bubble up until they become years 24872 // This is because there is no context-free conversion between hours and days 24873 // (think of clock changes) 24874 // and also not between days and months (28-31 days per month) 24875 if (!this.isValid()) { 24876 return this.localeData().invalidDate(); 24877 } 24878 24879 var seconds = abs$1(this._milliseconds) / 1000, 24880 days = abs$1(this._days), 24881 months = abs$1(this._months), 24882 minutes, 24883 hours, 24884 years, 24885 s, 24886 total = this.asSeconds(), 24887 totalSign, 24888 ymSign, 24889 daysSign, 24890 hmsSign; 24891 24892 if (!total) { 24893 // this is the same as C#'s (Noda) and python (isodate)... 24894 // but not other JS (goog.date) 24895 return 'P0D'; 24896 } 24897 24898 // 3600 seconds -> 60 minutes -> 1 hour 24899 minutes = absFloor(seconds / 60); 24900 hours = absFloor(minutes / 60); 24901 seconds %= 60; 24902 minutes %= 60; 24903 24904 // 12 months -> 1 year 24905 years = absFloor(months / 12); 24906 months %= 12; 24907 24908 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js 24909 s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; 24910 24911 totalSign = total < 0 ? '-' : ''; 24912 ymSign = sign(this._months) !== sign(total) ? '-' : ''; 24913 daysSign = sign(this._days) !== sign(total) ? '-' : ''; 24914 hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; 24915 24916 return ( 24917 totalSign + 24918 'P' + 24919 (years ? ymSign + years + 'Y' : '') + 24920 (months ? ymSign + months + 'M' : '') + 24921 (days ? daysSign + days + 'D' : '') + 24922 (hours || minutes || seconds ? 'T' : '') + 24923 (hours ? hmsSign + hours + 'H' : '') + 24924 (minutes ? hmsSign + minutes + 'M' : '') + 24925 (seconds ? hmsSign + s + 'S' : '') 24926 ); 24927 } 24928 24929 var proto$2 = Duration.prototype; 24930 24931 proto$2.isValid = isValid$1; 24932 proto$2.abs = abs; 24933 proto$2.add = add$1; 24934 proto$2.subtract = subtract$1; 24935 proto$2.as = as; 24936 proto$2.asMilliseconds = asMilliseconds; 24937 proto$2.asSeconds = asSeconds; 24938 proto$2.asMinutes = asMinutes; 24939 proto$2.asHours = asHours; 24940 proto$2.asDays = asDays; 24941 proto$2.asWeeks = asWeeks; 24942 proto$2.asMonths = asMonths; 24943 proto$2.asQuarters = asQuarters; 24944 proto$2.asYears = asYears; 24945 proto$2.valueOf = valueOf$1; 24946 proto$2._bubble = bubble; 24947 proto$2.clone = clone$1; 24948 proto$2.get = get$2; 24949 proto$2.milliseconds = milliseconds; 24950 proto$2.seconds = seconds; 24951 proto$2.minutes = minutes; 24952 proto$2.hours = hours; 24953 proto$2.days = days; 24954 proto$2.weeks = weeks; 24955 proto$2.months = months; 24956 proto$2.years = years; 24957 proto$2.humanize = humanize; 24958 proto$2.toISOString = toISOString$1; 24959 proto$2.toString = toISOString$1; 24960 proto$2.toJSON = toISOString$1; 24961 proto$2.locale = locale; 24962 proto$2.localeData = localeData; 24963 24964 proto$2.toIsoString = deprecate( 24965 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', 24966 toISOString$1 24967 ); 24968 proto$2.lang = lang; 24969 24970 // FORMATTING 24971 24972 addFormatToken('X', 0, 0, 'unix'); 24973 addFormatToken('x', 0, 0, 'valueOf'); 24974 24975 // PARSING 24976 24977 addRegexToken('x', matchSigned); 24978 addRegexToken('X', matchTimestamp); 24979 addParseToken('X', function (input, array, config) { 24980 config._d = new Date(parseFloat(input) * 1000); 24981 }); 24982 addParseToken('x', function (input, array, config) { 24983 config._d = new Date(toInt(input)); 24984 }); 24985 24986 //! moment.js 24987 24988 hooks.version = '2.30.1'; 24989 24990 setHookCallback(createLocal); 24991 24992 hooks.fn = proto; 24993 hooks.min = min; 24994 hooks.max = max; 24995 hooks.now = now; 24996 hooks.utc = createUTC; 24997 hooks.unix = createUnix; 24998 hooks.months = listMonths; 24999 hooks.isDate = isDate; 25000 hooks.locale = getSetGlobalLocale; 25001 hooks.invalid = createInvalid; 25002 hooks.duration = createDuration; 25003 hooks.isMoment = isMoment; 25004 hooks.weekdays = listWeekdays; 25005 hooks.parseZone = createInZone; 25006 hooks.localeData = getLocale; 25007 hooks.isDuration = isDuration; 25008 hooks.monthsShort = listMonthsShort; 25009 hooks.weekdaysMin = listWeekdaysMin; 25010 hooks.defineLocale = defineLocale; 25011 hooks.updateLocale = updateLocale; 25012 hooks.locales = listLocales; 25013 hooks.weekdaysShort = listWeekdaysShort; 25014 hooks.normalizeUnits = normalizeUnits; 25015 hooks.relativeTimeRounding = getSetRelativeTimeRounding; 25016 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; 25017 hooks.calendarFormat = getCalendarFormat; 25018 hooks.prototype = proto; 25019 25020 // currently HTML5 input type only supports 24-hour formats 25021 hooks.HTML5_FMT = { 25022 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> 25023 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> 25024 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> 25025 DATE: 'YYYY-MM-DD', // <input type="date" /> 25026 TIME: 'HH:mm', // <input type="time" /> 25027 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> 25028 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> 25029 WEEK: 'GGGG-[W]WW', // <input type="week" /> 25030 MONTH: 'YYYY-MM', // <input type="month" /> 25031 }; 25032 25033 return hooks; 25034 25035}))); 25036 25037 25038/***/ }), 25039 25040/***/ 5096: 25041/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25042 25043//! moment.js locale configuration 25044//! locale : Turkish [tr] 25045//! authors : Erhan Gundogan : https://github.com/erhangundogan, 25046//! Burak YiÄit Kaya: https://github.com/BYK 25047 25048;(function (global, factory) { 25049 true ? factory(__webpack_require__(5093)) : 25050 0 25051}(this, (function (moment) { 'use strict'; 25052 25053 //! moment.js locale configuration 25054 25055 var suffixes = { 25056 1: "'inci", 25057 5: "'inci", 25058 8: "'inci", 25059 70: "'inci", 25060 80: "'inci", 25061 2: "'nci", 25062 7: "'nci", 25063 20: "'nci", 25064 50: "'nci", 25065 3: "'üncü", 25066 4: "'üncü", 25067 100: "'üncü", 25068 6: "'ncı", 25069 9: "'uncu", 25070 10: "'uncu", 25071 30: "'uncu", 25072 60: "'ıncı", 25073 90: "'ıncı", 25074 }; 25075 25076 var tr = moment.defineLocale('tr', { 25077 months: 'Ocak_Åubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄustos_Eylül_Ekim_Kasım_Aralık'.split( 25078 '_' 25079 ), 25080 monthsShort: 'Oca_Åub_Mar_Nis_May_Haz_Tem_AÄu_Eyl_Eki_Kas_Ara'.split('_'), 25081 weekdays: 'Pazar_Pazartesi_Salı_ÃarÅamba_PerÅembe_Cuma_Cumartesi'.split( 25082 '_' 25083 ), 25084 weekdaysShort: 'Paz_Pzt_Sal_Ãar_Per_Cum_Cmt'.split('_'), 25085 weekdaysMin: 'Pz_Pt_Sa_Ãa_Pe_Cu_Ct'.split('_'), 25086 meridiem: function (hours, minutes, isLower) { 25087 if (hours < 12) { 25088 return isLower ? 'öö' : 'ÃÃ'; 25089 } else { 25090 return isLower ? 'ös' : 'ÃS'; 25091 } 25092 }, 25093 meridiemParse: /öö|ÃÃ|ös|ÃS/, 25094 isPM: function (input) { 25095 return input === 'ös' || input === 'ÃS'; 25096 }, 25097 longDateFormat: { 25098 LT: 'HH:mm', 25099 LTS: 'HH:mm:ss', 25100 L: 'DD.MM.YYYY', 25101 LL: 'D MMMM YYYY', 25102 LLL: 'D MMMM YYYY HH:mm', 25103 LLLL: 'dddd, D MMMM YYYY HH:mm', 25104 }, 25105 calendar: { 25106 sameDay: '[bugün saat] LT', 25107 nextDay: '[yarın saat] LT', 25108 nextWeek: '[gelecek] dddd [saat] LT', 25109 lastDay: '[dün] LT', 25110 lastWeek: '[geçen] dddd [saat] LT', 25111 sameElse: 'L', 25112 }, 25113 relativeTime: { 25114 future: '%s sonra', 25115 past: '%s önce', 25116 s: 'birkaç saniye', 25117 ss: '%d saniye', 25118 m: 'bir dakika', 25119 mm: '%d dakika', 25120 h: 'bir saat', 25121 hh: '%d saat', 25122 d: 'bir gün', 25123 dd: '%d gün', 25124 w: 'bir hafta', 25125 ww: '%d hafta', 25126 M: 'bir ay', 25127 MM: '%d ay', 25128 y: 'bir yıl', 25129 yy: '%d yıl', 25130 }, 25131 ordinal: function (number, period) { 25132 switch (period) { 25133 case 'd': 25134 case 'D': 25135 case 'Do': 25136 case 'DD': 25137 return number; 25138 default: 25139 if (number === 0) { 25140 // special case for zero 25141 return number + "'ıncı"; 25142 } 25143 var a = number % 10, 25144 b = (number % 100) - a, 25145 c = number >= 100 ? 100 : null; 25146 return number + (suffixes[a] || suffixes[b] || suffixes[c]); 25147 } 25148 }, 25149 week: { 25150 dow: 1, // Monday is the first day of the week. 25151 doy: 7, // The week that contains Jan 7th is the first week of the year. 25152 }, 25153 }); 25154 25155 return tr; 25156 25157}))); 25158 25159 25160/***/ }), 25161 25162/***/ 5177: 25163/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25164 25165//! moment.js locale configuration 25166//! locale : Afrikaans [af] 25167//! author : Werner Mollentze : https://github.com/wernerm 25168 25169;(function (global, factory) { 25170 true ? factory(__webpack_require__(5093)) : 25171 0 25172}(this, (function (moment) { 'use strict'; 25173 25174 //! moment.js locale configuration 25175 25176 var af = moment.defineLocale('af', { 25177 months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split( 25178 '_' 25179 ), 25180 monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), 25181 weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split( 25182 '_' 25183 ), 25184 weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), 25185 weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), 25186 meridiemParse: /vm|nm/i, 25187 isPM: function (input) { 25188 return /^nm$/i.test(input); 25189 }, 25190 meridiem: function (hours, minutes, isLower) { 25191 if (hours < 12) { 25192 return isLower ? 'vm' : 'VM'; 25193 } else { 25194 return isLower ? 'nm' : 'NM'; 25195 } 25196 }, 25197 longDateFormat: { 25198 LT: 'HH:mm', 25199 LTS: 'HH:mm:ss', 25200 L: 'DD/MM/YYYY', 25201 LL: 'D MMMM YYYY', 25202 LLL: 'D MMMM YYYY HH:mm', 25203 LLLL: 'dddd, D MMMM YYYY HH:mm', 25204 }, 25205 calendar: { 25206 sameDay: '[Vandag om] LT', 25207 nextDay: '[Môre om] LT', 25208 nextWeek: 'dddd [om] LT', 25209 lastDay: '[Gister om] LT', 25210 lastWeek: '[Laas] dddd [om] LT', 25211 sameElse: 'L', 25212 }, 25213 relativeTime: {
25214 future: 'oor %s', 25215 past: '%s gelede', 25216 s: "'n paar sekondes", 25217 ss: '%d sekondes', 25218 m: "'n minuut", 25219 mm: '%d minute', 25220 h: "'n uur", 25221 hh: '%d ure', 25222 d: "'n dag", 25223 dd: '%d dae', 25224 M: "'n maand", 25225 MM: '%d maande', 25226 y: "'n jaar", 25227 yy: '%d jaar', 25228 }, 25229 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 25230 ordinal: function (number) { 25231 return ( 25232 number + 25233 (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') 25234 ); // Thanks to Joris Röling : https://github.com/jjupiter 25235 }, 25236 week: { 25237 dow: 1, // Maandag is die eerste dag van die week. 25238 doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar. 25239 }, 25240 }); 25241 25242 return af; 25243 25244}))); 25245 25246 25247/***/ }), 25248 25249/***/ 5358: 25250/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 25251 25252var map = { 25253 "./af": 5177, 25254 "./af.js": 5177, 25255 "./ar": 1509, 25256 "./ar-dz": 1488, 25257 "./ar-dz.js": 1488, 25258 "./ar-kw": 8676, 25259 "./ar-kw.js": 8676, 25260 "./ar-ly": 2353, 25261 "./ar-ly.js": 2353, 25262 "./ar-ma": 4496, 25263 "./ar-ma.js": 4496, 25264 "./ar-ps": 6947, 25265 "./ar-ps.js": 6947, 25266 "./ar-sa": 2682, 25267 "./ar-sa.js": 2682, 25268 "./ar-tn": 9756, 25269 "./ar-tn.js": 9756, 25270 "./ar.js": 1509, 25271 "./az": 5533, 25272 "./az.js": 5533, 25273 "./be": 8959, 25274 "./be.js": 8959, 25275 "./bg": 7777, 25276 "./bg.js": 7777, 25277 "./bm": 4903, 25278 "./bm.js": 4903, 25279 "./bn": 1290, 25280 "./bn-bd": 7357, 25281 "./bn-bd.js": 7357, 25282 "./bn.js": 1290, 25283 "./bo": 1545, 25284 "./bo.js": 1545, 25285 "./br": 1470, 25286 "./br.js": 1470, 25287 "./bs": 4429, 25288 "./bs.js": 4429, 25289 "./ca": 7306, 25290 "./ca.js": 7306, 25291 "./cs": 6464, 25292 "./cs.js": 6464, 25293 "./cv": 3635, 25294 "./cv.js": 3635, 25295 "./cy": 4226, 25296 "./cy.js": 4226, 25297 "./da": 3601, 25298 "./da.js": 3601, 25299 "./de": 7853, 25300 "./de-at": 6111, 25301 "./de-at.js": 6111, 25302 "./de-ch": 4697, 25303 "./de-ch.js": 4697, 25304 "./de.js": 7853, 25305 "./dv": 708, 25306 "./dv.js": 708, 25307 "./el": 4691, 25308 "./el.js": 4691, 25309 "./en-au": 3872, 25310 "./en-au.js": 3872, 25311 "./en-ca": 8298, 25312 "./en-ca.js": 8298, 25313 "./en-gb": 6195, 25314 "./en-gb.js": 6195, 25315 "./en-ie": 6584, 25316 "./en-ie.js": 6584, 25317 "./en-il": 5543, 25318 "./en-il.js": 5543, 25319 "./en-in": 9033, 25320 "./en-in.js": 9033, 25321 "./en-nz": 9402, 25322 "./en-nz.js": 9402, 25323 "./en-sg": 3004, 25324 "./en-sg.js": 3004, 25325 "./eo": 2934, 25326 "./eo.js": 2934, 25327 "./es": 7650, 25328 "./es-do": 838, 25329 "./es-do.js": 838, 25330 "./es-mx": 7730, 25331 "./es-mx.js": 7730, 25332 "./es-us": 6575, 25333 "./es-us.js": 6575, 25334 "./es.js": 7650, 25335 "./et": 3035, 25336 "./et.js": 3035, 25337 "./eu": 3508, 25338 "./eu.js": 3508, 25339 "./fa": 119, 25340 "./fa.js": 119, 25341 "./fi": 527, 25342 "./fi.js": 527, 25343 "./fil": 5995, 25344 "./fil.js": 5995, 25345 "./fo": 2477, 25346 "./fo.js": 2477, 25347 "./fr": 5498, 25348 "./fr-ca": 6435, 25349 "./fr-ca.js": 6435, 25350 "./fr-ch": 7892, 25351 "./fr-ch.js": 7892, 25352 "./fr.js": 5498, 25353 "./fy": 7071, 25354 "./fy.js": 7071, 25355 "./ga": 1734, 25356 "./ga.js": 1734, 25357 "./gd": 217, 25358 "./gd.js": 217, 25359 "./gl": 7329, 25360 "./gl.js": 7329, 25361 "./gom-deva": 2124, 25362 "./gom-deva.js": 2124, 25363 "./gom-latn": 3383, 25364 "./gom-latn.js": 3383, 25365 "./gu": 5050, 25366 "./gu.js": 5050, 25367 "./he": 1713, 25368 "./he.js": 1713, 25369 "./hi": 3861, 25370 "./hi.js": 3861, 25371 "./hr": 6308, 25372 "./hr.js": 6308, 25373 "./hu": 609, 25374 "./hu.js": 609, 25375 "./hy-am": 7160, 25376 "./hy-am.js": 7160, 25377 "./id": 4063, 25378 "./id.js": 4063, 25379 "./is": 9374, 25380 "./is.js": 9374, 25381 "./it": 8383, 25382 "./it-ch": 1827, 25383 "./it-ch.js": 1827, 25384 "./it.js": 8383, 25385 "./ja": 3827, 25386 "./ja.js": 3827, 25387 "./jv": 9722, 25388 "./jv.js": 9722, 25389 "./ka": 1794, 25390 "./ka.js": 1794, 25391 "./kk": 7088, 25392 "./kk.js": 7088, 25393 "./km": 6870, 25394 "./km.js": 6870, 25395 "./kn": 4451, 25396 "./kn.js": 4451, 25397 "./ko": 3164, 25398 "./ko.js": 3164, 25399 "./ku": 8174, 25400 "./ku-kmr": 6181, 25401 "./ku-kmr.js": 6181, 25402 "./ku.js": 8174, 25403 "./ky": 8474, 25404 "./ky.js": 8474, 25405 "./lb": 9680, 25406 "./lb.js": 9680, 25407 "./lo": 5867, 25408 "./lo.js": 5867, 25409 "./lt": 5766, 25410 "./lt.js": 5766, 25411 "./lv": 9532, 25412 "./lv.js": 9532, 25413 "./me": 8076, 25414 "./me.js": 8076, 25415 "./mi": 1848, 25416 "./mi.js": 1848, 25417 "./mk": 306, 25418 "./mk.js": 306, 25419 "./ml": 3739, 25420 "./ml.js": 3739, 25421 "./mn": 9053, 25422 "./mn.js": 9053, 25423 "./mr": 6169, 25424 "./mr.js": 6169, 25425 "./ms": 3386, 25426 "./ms-my": 2297, 25427 "./ms-my.js": 2297, 25428 "./ms.js": 3386, 25429 "./mt": 7075, 25430 "./mt.js": 7075, 25431 "./my": 2264, 25432 "./my.js": 2264, 25433 "./nb": 2274, 25434 "./nb.js": 2274, 25435 "./ne": 8235, 25436 "./ne.js": 8235, 25437 "./nl": 2572, 25438 "./nl-be": 3784, 25439 "./nl-be.js": 3784, 25440 "./nl.js": 2572, 25441 "./nn": 4566, 25442 "./nn.js": 4566, 25443 "./oc-lnc": 9330, 25444 "./oc-lnc.js": 9330, 25445 "./pa-in": 9849, 25446 "./pa-in.js": 9849, 25447 "./pl": 4418, 25448 "./pl.js": 4418, 25449 "./pt": 9834, 25450 "./pt-br": 8303, 25451 "./pt-br.js": 8303, 25452 "./pt.js": 9834, 25453 "./ro": 4457, 25454 "./ro.js": 4457, 25455 "./ru": 2271, 25456 "./ru.js": 2271, 25457 "./sd": 1221, 25458 "./sd.js": 1221, 25459 "./se": 3478, 25460 "./se.js": 3478, 25461 "./si": 7538, 25462 "./si.js": 7538, 25463 "./sk": 5784, 25464 "./sk.js": 5784, 25465 "./sl": 6637, 25466 "./sl.js": 6637, 25467 "./sq": 6794, 25468 "./sq.js": 6794, 25469 "./sr": 5719, 25470 "./sr-cyrl": 3322, 25471 "./sr-cyrl.js": 3322, 25472 "./sr.js": 5719, 25473 "./ss": 6000, 25474 "./ss.js": 6000, 25475 "./sv": 1011, 25476 "./sv.js": 1011, 25477 "./sw": 748, 25478 "./sw.js": 748, 25479 "./ta": 1025, 25480 "./ta.js": 1025, 25481 "./te": 1885, 25482 "./te.js": 1885, 25483 "./tet": 8861, 25484 "./tet.js": 8861, 25485 "./tg": 6571, 25486 "./tg.js": 6571, 25487 "./th": 5802, 25488 "./th.js": 5802, 25489 "./tk": 9527, 25490 "./tk.js": 9527, 25491 "./tl-ph": 9231, 25492 "./tl-ph.js": 9231, 25493 "./tlh": 1052, 25494 "./tlh.js": 1052,
25495 "./tr": 5096, 25496 "./tr.js": 5096, 25497 "./tzl": 9846, 25498 "./tzl.js": 9846, 25499 "./tzm": 1765, 25500 "./tzm-latn": 7711, 25501 "./tzm-latn.js": 7711, 25502 "./tzm.js": 1765, 25503 "./ug-cn": 8414, 25504 "./ug-cn.js": 8414, 25505 "./uk": 6618, 25506 "./uk.js": 6618, 25507 "./ur": 158, 25508 "./ur.js": 158, 25509 "./uz": 7609, 25510 "./uz-latn": 2475, 25511 "./uz-latn.js": 2475, 25512 "./uz.js": 7609, 25513 "./vi": 1135, 25514 "./vi.js": 1135, 25515 "./x-pseudo": 4051, 25516 "./x-pseudo.js": 4051, 25517 "./yo": 2218, 25518 "./yo.js": 2218, 25519 "./zh-cn": 2648, 25520 "./zh-cn.js": 2648, 25521 "./zh-hk": 1632, 25522 "./zh-hk.js": 1632, 25523 "./zh-mo": 1541, 25524 "./zh-mo.js": 1541, 25525 "./zh-tw": 304, 25526 "./zh-tw.js": 304 25527}; 25528 25529 25530function webpackContext(req) { 25531 var id = webpackContextResolve(req); 25532 return __webpack_require__(id); 25533} 25534function webpackContextResolve(req) { 25535 if(!__webpack_require__.o(map, req)) { 25536 var e = new Error("Cannot find module '" + req + "'"); 25537 e.code = 'MODULE_NOT_FOUND'; 25538 throw e; 25539 } 25540 return map[req]; 25541} 25542webpackContext.keys = function webpackContextKeys() { 25543 return Object.keys(map); 25544}; 25545webpackContext.resolve = webpackContextResolve; 25546module.exports = webpackContext; 25547webpackContext.id = 5358; 25548 25549/***/ }), 25550 25551/***/ 5498: 25552/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25553 25554//! moment.js locale configuration 25555//! locale : French [fr] 25556//! author : John Fischer : https://github.com/jfroffice 25557 25558;(function (global, factory) { 25559 true ? factory(__webpack_require__(5093)) : 25560 0 25561}(this, (function (moment) { 'use strict'; 25562 25563 //! moment.js locale configuration 25564 25565 var monthsStrictRegex = 25566 /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, 25567 monthsShortStrictRegex = 25568 /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, 25569 monthsRegex = 25570 /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, 25571 monthsParse = [ 25572 /^janv/i, 25573 /^févr/i, 25574 /^mars/i, 25575 /^avr/i, 25576 /^mai/i, 25577 /^juin/i, 25578 /^juil/i, 25579 /^août/i, 25580 /^sept/i, 25581 /^oct/i, 25582 /^nov/i, 25583 /^déc/i, 25584 ]; 25585 25586 var fr = moment.defineLocale('fr', { 25587 months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( 25588 '_' 25589 ), 25590 monthsShort: 25591 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( 25592 '_' 25593 ), 25594 monthsRegex: monthsRegex, 25595 monthsShortRegex: monthsRegex, 25596 monthsStrictRegex: monthsStrictRegex, 25597 monthsShortStrictRegex: monthsShortStrictRegex, 25598 monthsParse: monthsParse, 25599 longMonthsParse: monthsParse, 25600 shortMonthsParse: monthsParse, 25601 weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 25602 weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 25603 weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), 25604 weekdaysParseExact: true, 25605 longDateFormat: { 25606 LT: 'HH:mm', 25607 LTS: 'HH:mm:ss', 25608 L: 'DD/MM/YYYY', 25609 LL: 'D MMMM YYYY', 25610 LLL: 'D MMMM YYYY HH:mm', 25611 LLLL: 'dddd D MMMM YYYY HH:mm', 25612 }, 25613 calendar: { 25614 sameDay: '[Aujourdâhui à ] LT', 25615 nextDay: '[Demain à ] LT', 25616 nextWeek: 'dddd [à ] LT', 25617 lastDay: '[Hier à ] LT', 25618 lastWeek: 'dddd [dernier à ] LT', 25619 sameElse: 'L', 25620 }, 25621 relativeTime: { 25622 future: 'dans %s', 25623 past: 'il y a %s', 25624 s: 'quelques secondes', 25625 ss: '%d secondes', 25626 m: 'une minute', 25627 mm: '%d minutes', 25628 h: 'une heure', 25629 hh: '%d heures', 25630 d: 'un jour', 25631 dd: '%d jours', 25632 w: 'une semaine', 25633 ww: '%d semaines', 25634 M: 'un mois', 25635 MM: '%d mois', 25636 y: 'un an', 25637 yy: '%d ans', 25638 }, 25639 dayOfMonthOrdinalParse: /\d{1,2}(er|)/, 25640 ordinal: function (number, period) { 25641 switch (period) { 25642 // TODO: Return 'e' when day of month > 1. Move this case inside 25643 // block for masculine words below. 25644 // See https://github.com/moment/moment/issues/3375 25645 case 'D': 25646 return number + (number === 1 ? 'er' : ''); 25647 25648 // Words with masculine grammatical gender: mois, trimestre, jour 25649 default: 25650 case 'M': 25651 case 'Q': 25652 case 'DDD': 25653 case 'd': 25654 return number + (number === 1 ? 'er' : 'e'); 25655 25656 // Words with feminine grammatical gender: semaine 25657 case 'w': 25658 case 'W': 25659 return number + (number === 1 ? 're' : 'e'); 25660 } 25661 }, 25662 week: { 25663 dow: 1, // Monday is the first day of the week. 25664 doy: 4, // The week that contains Jan 4th is the first week of the year. 25665 }, 25666 }); 25667 25668 return fr;
25669 25670}))); 25671 25672 25673/***/ }), 25674 25675/***/ 5533: 25676/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25677 25678//! moment.js locale configuration 25679//! locale : Azerbaijani [az] 25680//! author : topchiyev : https://github.com/topchiyev 25681 25682;(function (global, factory) { 25683 true ? factory(__webpack_require__(5093)) : 25684 0 25685}(this, (function (moment) { 'use strict'; 25686 25687 //! moment.js locale configuration 25688 25689 var suffixes = { 25690 1: '-inci', 25691 5: '-inci', 25692 8: '-inci', 25693 70: '-inci', 25694 80: '-inci', 25695 2: '-nci', 25696 7: '-nci', 25697 20: '-nci', 25698 50: '-nci', 25699 3: '-üncü', 25700 4: '-üncü', 25701 100: '-üncü', 25702 6: '-ncı', 25703 9: '-uncu', 25704 10: '-uncu', 25705 30: '-uncu', 25706 60: '-ıncı', 25707 90: '-ıncı', 25708 }; 25709 25710 var az = moment.defineLocale('az', { 25711 months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split( 25712 '_' 25713 ), 25714 monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), 25715 weekdays: 25716 'Bazar_Bazar ertÉsi_ÃÉrÅÉnbÉ axÅamı_ÃÉrÅÉnbÉ_CümÉ axÅamı_CümÉ_ÅÉnbÉ'.split( 25717 '_' 25718 ), 25719 weekdaysShort: 'Baz_BzE_ÃAx_ÃÉr_CAx_Cüm_ÅÉn'.split('_'), 25720 weekdaysMin: 'Bz_BE_ÃA_ÃÉ_CA_Cü_ÅÉ'.split('_'), 25721 weekdaysParseExact: true, 25722 longDateFormat: { 25723 LT: 'HH:mm', 25724 LTS: 'HH:mm:ss', 25725 L: 'DD.MM.YYYY', 25726 LL: 'D MMMM YYYY', 25727 LLL: 'D MMMM YYYY HH:mm', 25728 LLLL: 'dddd, D MMMM YYYY HH:mm', 25729 }, 25730 calendar: { 25731 sameDay: '[bugün saat] LT', 25732 nextDay: '[sabah saat] LT', 25733 nextWeek: '[gÉlÉn hÉftÉ] dddd [saat] LT', 25734 lastDay: '[dünÉn] LT', 25735 lastWeek: '[keçÉn hÉftÉ] dddd [saat] LT', 25736 sameElse: 'L', 25737 }, 25738 relativeTime: { 25739 future: '%s sonra', 25740 past: '%s ÉvvÉl', 25741 s: 'bir neÃ§É saniyÉ', 25742 ss: '%d saniyÉ', 25743 m: 'bir dÉqiqÉ', 25744 mm: '%d dÉqiqÉ', 25745 h: 'bir saat', 25746 hh: '%d saat', 25747 d: 'bir gün', 25748 dd: '%d gün', 25749 M: 'bir ay', 25750 MM: '%d ay', 25751 y: 'bir il', 25752 yy: '%d il', 25753 }, 25754 meridiemParse: /gecÉ|sÉhÉr|gündüz|axÅam/, 25755 isPM: function (input) { 25756 return /^(gündüz|axÅam)$/.test(input); 25757 }, 25758 meridiem: function (hour, minute, isLower) { 25759 if (hour < 4) { 25760 return 'gecÉ'; 25761 } else if (hour < 12) { 25762 return 'sÉhÉr'; 25763 } else if (hour < 17) { 25764 return 'gündüz'; 25765 } else { 25766 return 'axÅam'; 25767 } 25768 }, 25769 dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, 25770 ordinal: function (number) { 25771 if (number === 0) { 25772 // special case for zero 25773 return number + '-ıncı'; 25774 } 25775 var a = number % 10, 25776 b = (number % 100) - a, 25777 c = number >= 100 ? 100 : null; 25778 return number + (suffixes[a] || suffixes[b] || suffixes[c]); 25779 }, 25780 week: { 25781 dow: 1, // Monday is the first day of the week. 25782 doy: 7, // The week that contains Jan 7th is the first week of the year. 25783 }, 25784 }); 25785 25786 return az; 25787 25788}))); 25789 25790 25791/***/ }), 25792 25793/***/ 5543: 25794/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25795 25796//! moment.js locale configuration 25797//! locale : English (Israel) [en-il] 25798//! author : Chris Gedrim : https://github.com/chrisgedrim 25799 25800;(function (global, factory) { 25801 true ? factory(__webpack_require__(5093)) : 25802 0 25803}(this, (function (moment) { 'use strict'; 25804 25805 //! moment.js locale configuration 25806 25807 var enIl = moment.defineLocale('en-il', { 25808 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 25809 '_' 25810 ), 25811 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 25812 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 25813 '_' 25814 ), 25815 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 25816 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 25817 longDateFormat: { 25818 LT: 'HH:mm', 25819 LTS: 'HH:mm:ss', 25820 L: 'DD/MM/YYYY', 25821 LL: 'D MMMM YYYY', 25822 LLL: 'D MMMM YYYY HH:mm', 25823 LLLL: 'dddd, D MMMM YYYY HH:mm', 25824 }, 25825 calendar: { 25826 sameDay: '[Today at] LT', 25827 nextDay: '[Tomorrow at] LT', 25828 nextWeek: 'dddd [at] LT', 25829 lastDay: '[Yesterday at] LT', 25830 lastWeek: '[Last] dddd [at] LT', 25831 sameElse: 'L', 25832 }, 25833 relativeTime: { 25834 future: 'in %s', 25835 past: '%s ago', 25836 s: 'a few seconds', 25837 ss: '%d seconds', 25838 m: 'a minute', 25839 mm: '%d minutes', 25840 h: 'an hour', 25841 hh: '%d hours', 25842 d: 'a day', 25843 dd: '%d days', 25844 M: 'a month', 25845 MM: '%d months', 25846 y: 'a year', 25847 yy: '%d years', 25848 }, 25849 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 25850 ordinal: function (number) { 25851 var b = number % 10, 25852 output = 25853 ~~((number % 100) / 10) === 1 25854 ? 'th' 25855 : b === 1 25856 ? 'st' 25857 : b === 2 25858 ? 'nd' 25859 : b === 3 25860 ? 'rd' 25861 : 'th'; 25862 return number + output; 25863 }, 25864 }); 25865 25866 return enIl; 25867 25868}))); 25869 25870 25871/***/ }), 25872 25873/***/ 5719: 25874/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 25875 25876//! moment.js locale configuration 25877//! locale : Serbian [sr] 25878//! author : Milan JanaÄkoviÄ<[email protected]> : https://github.com/milan-j 25879//! author : Stefan CrnjakoviÄ <[email protected]> : https://github.com/crnjakovic 25880 25881;(function (global, factory) { 25882 true ? factory(__webpack_require__(5093)) : 25883 0 25884}(this, (function (moment) { 'use strict'; 25885 25886 //! moment.js locale configuration 25887 25888 var translator = { 25889 words: { 25890 //Different grammatical cases 25891 ss: ['sekunda', 'sekunde', 'sekundi'], 25892 m: ['jedan minut', 'jednog minuta'], 25893 mm: ['minut', 'minuta', 'minuta'], 25894 h: ['jedan sat', 'jednog sata'], 25895 hh: ['sat', 'sata', 'sati'], 25896 d: ['jedan dan', 'jednog dana'], 25897 dd: ['dan', 'dana', 'dana'], 25898 M: ['jedan mesec', 'jednog meseca'], 25899 MM: ['mesec', 'meseca', 'meseci'], 25900 y: ['jednu godinu', 'jedne godine'], 25901 yy: ['godinu', 'godine', 'godina'], 25902 }, 25903 correctGrammaticalCase: function (number, wordKey) { 25904 if ( 25905 number % 10 >= 1 && 25906 number % 10 <= 4 && 25907 (number % 100 < 10 || number % 100 >= 20) 25908 ) { 25909 return number % 10 === 1 ? wordKey[0] : wordKey[1]; 25910 } 25911 return wordKey[2]; 25912 }, 25913 translate: function (number, withoutSuffix, key, isFuture) { 25914 var wordKey = translator.words[key], 25915 word; 25916 25917 if (key.length === 1) { 25918 // Nominativ 25919 if (key === 'y' && withoutSuffix) return 'jedna godina'; 25920 return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; 25921 } 25922 25923 word = translator.correctGrammaticalCase(number, wordKey); 25924 // Nominativ 25925 if (key === 'yy' && withoutSuffix && word === 'godinu') { 25926 return number + ' godina'; 25927 } 25928 25929 return number + ' ' + word; 25930 }, 25931 }; 25932 25933 var sr = moment.defineLocale('sr', { 25934 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( 25935 '_' 25936 ), 25937 monthsShort: 25938 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 25939 monthsParseExact: true, 25940 weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split( 25941 '_' 25942 ), 25943 weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), 25944 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 25945 weekdaysParseExact: true, 25946 longDateFormat: { 25947 LT: 'H:mm', 25948 LTS: 'H:mm:ss', 25949 L: 'D. M. YYYY.', 25950 LL: 'D. MMMM YYYY.', 25951 LLL: 'D. MMMM YYYY. H:mm', 25952 LLLL: 'dddd, D. MMMM YYYY. H:mm', 25953 }, 25954 calendar: { 25955 sameDay: '[danas u] LT', 25956 nextDay: '[sutra u] LT', 25957 nextWeek: function () { 25958 switch (this.day()) { 25959 case 0: 25960 return '[u] [nedelju] [u] LT'; 25961 case 3: 25962 return '[u] [sredu] [u] LT'; 25963 case 6: 25964 return '[u] [subotu] [u] LT'; 25965 case 1: 25966 case 2: 25967 case 4: 25968 case 5: 25969 return '[u] dddd [u] LT'; 25970 } 25971 }, 25972 lastDay: '[juÄe u] LT', 25973 lastWeek: function () { 25974 var lastWeekDays = [ 25975 '[proÅ¡le] [nedelje] [u] LT', 25976 '[proÅ¡log] [ponedeljka] [u] LT', 25977 '[proÅ¡log] [utorka] [u] LT', 25978 '[proÅ¡le] [srede] [u] LT', 25979 '[proÅ¡log] [Äetvrtka] [u] LT', 25980 '[proÅ¡log] [petka] [u] LT', 25981 '[proÅ¡le] [subote] [u] LT', 25982 ]; 25983 return lastWeekDays[this.day()]; 25984 }, 25985 sameElse: 'L', 25986 }, 25987 relativeTime: { 25988 future: 'za %s', 25989 past: 'pre %s', 25990 s: 'nekoliko sekundi', 25991 ss: translator.translate, 25992 m: translator.translate, 25993 mm: translator.translate, 25994 h: translator.translate, 25995 hh: translator.translate, 25996 d: translator.translate, 25997 dd: translator.translate, 25998 M: translator.translate, 25999 MM: translator.translate, 26000 y: translator.translate, 26001 yy: translator.translate, 26002 }, 26003 dayOfMonthOrdinalParse: /\d{1,2}\./, 26004 ordinal: '%d.', 26005 week: { 26006 dow: 1, // Monday is the first day of the week. 26007 doy: 7, // The week that contains Jan 7th is the first week of the year. 26008 }, 26009 }); 26010 26011 return sr; 26012 26013}))); 26014 26015 26016/***/ }), 26017 26018/***/ 5766: 26019/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26020 26021//! moment.js locale configuration 26022//! locale : Lithuanian [lt] 26023//! author : Mindaugas MozÅ«ras : https://github.com/mmozuras 26024 26025;(function (global, factory) { 26026 true ? factory(__webpack_require__(5093)) : 26027 0 26028}(this, (function (moment) { 'use strict'; 26029 26030 //! moment.js locale configuration 26031 26032 var units = { 26033 ss: 'sekundÄ_sekundžių_sekundes', 26034 m: 'minutÄ_minutÄs_minutÄ', 26035 mm: 'minutÄs_minuÄių_minutes', 26036 h: 'valanda_valandos_valandÄ ', 26037 hh: 'valandos_valandų_valandas',
vendor: 11,245 bytes, lines 26038-26343
26038 d: 'diena_dienos_dienÄ ', 26039 dd: 'dienos_dienų_dienas', 26040 M: 'mÄnuo_mÄnesio_mÄnesį', 26041 MM: 'mÄnesiai_mÄnesių_mÄnesius', 26042 y: 'metai_metų_metus', 26043 yy: 'metai_metų_metus', 26044 }; 26045 function translateSeconds(number, withoutSuffix, key, isFuture) { 26046 if (withoutSuffix) { 26047 return 'kelios sekundÄs'; 26048 } else { 26049 return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; 26050 } 26051 } 26052 function translateSingular(number, withoutSuffix, key, isFuture) { 26053 return withoutSuffix 26054 ? forms(key)[0] 26055 : isFuture 26056 ? forms(key)[1] 26057 : forms(key)[2]; 26058 } 26059 function special(number) { 26060 return number % 10 === 0 || (number > 10 && number < 20); 26061 } 26062 function forms(key) { 26063 return units[key].split('_'); 26064 } 26065 function translate(number, withoutSuffix, key, isFuture) { 26066 var result = number + ' '; 26067 if (number === 1) { 26068 return ( 26069 result + translateSingular(number, withoutSuffix, key[0], isFuture) 26070 ); 26071 } else if (withoutSuffix) { 26072 return result + (special(number) ? forms(key)[1] : forms(key)[0]); 26073 } else { 26074 if (isFuture) { 26075 return result + forms(key)[1]; 26076 } else { 26077 return result + (special(number) ? forms(key)[1] : forms(key)[2]); 26078 } 26079 } 26080 } 26081 var lt = moment.defineLocale('lt', { 26082 months: { 26083 format: 'sausio_vasario_kovo_balandžio_gegužÄs_birželio_liepos_rugpjÅ«Äio_rugsÄjo_spalio_lapkriÄio_gruodžio'.split( 26084 '_' 26085 ), 26086 standalone: 26087 'sausis_vasaris_kovas_balandis_gegužÄ_birželis_liepa_rugpjÅ«tis_rugsÄjis_spalis_lapkritis_gruodis'.split( 26088 '_' 26089 ), 26090 isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/, 26091 }, 26092 monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), 26093 weekdays: { 26094 format: 'sekmadienį_pirmadienį_antradienį_treÄiadienį_ketvirtadienį_penktadienį_Å¡eÅ¡tadienį'.split( 26095 '_' 26096 ), 26097 standalone: 26098 'sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis'.split( 26099 '_' 26100 ), 26101 isFormat: /dddd HH:mm/, 26102 }, 26103 weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Å eÅ¡'.split('_'), 26104 weekdaysMin: 'S_P_A_T_K_Pn_Å '.split('_'), 26105 weekdaysParseExact: true, 26106 longDateFormat: { 26107 LT: 'HH:mm', 26108 LTS: 'HH:mm:ss', 26109 L: 'YYYY-MM-DD', 26110 LL: 'YYYY [m.] MMMM D [d.]', 26111 LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 26112 LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', 26113 l: 'YYYY-MM-DD', 26114 ll: 'YYYY [m.] MMMM D [d.]', 26115 lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 26116 llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]', 26117 }, 26118 calendar: { 26119 sameDay: '[Å iandien] LT', 26120 nextDay: '[Rytoj] LT', 26121 nextWeek: 'dddd LT', 26122 lastDay: '[Vakar] LT', 26123 lastWeek: '[PraÄjusį] dddd LT', 26124 sameElse: 'L', 26125 }, 26126 relativeTime: { 26127 future: 'po %s', 26128 past: 'prieÅ¡ %s', 26129 s: translateSeconds, 26130 ss: translate, 26131 m: translateSingular, 26132 mm: translate, 26133 h: translateSingular, 26134 hh: translate, 26135 d: translateSingular, 26136 dd: translate, 26137 M: translateSingular, 26138 MM: translate, 26139 y: translateSingular, 26140 yy: translate, 26141 }, 26142 dayOfMonthOrdinalParse: /\d{1,2}-oji/, 26143 ordinal: function (number) { 26144 return number + '-oji'; 26145 }, 26146 week: { 26147 dow: 1, // Monday is the first day of the week. 26148 doy: 4, // The week that contains Jan 4th is the first week of the year. 26149 }, 26150 }); 26151 26152 return lt; 26153 26154}))); 26155 26156 26157/***/ }), 26158 26159/***/ 5784: 26160/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26161 26162//! moment.js locale configuration 26163//! locale : Slovak [sk] 26164//! author : Martin Minka : https://github.com/k2s 26165//! based on work of petrbela : https://github.com/petrbela 26166 26167;(function (global, factory) { 26168 true ? factory(__webpack_require__(5093)) : 26169 0 26170}(this, (function (moment) { 'use strict'; 26171 26172 //! moment.js locale configuration 26173 26174 var months = 26175 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split( 26176 '_' 26177 ), 26178 monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); 26179 function plural(n) { 26180 return n > 1 && n < 5; 26181 } 26182 function translate(number, withoutSuffix, key, isFuture) { 26183 var result = number + ' '; 26184 switch (key) { 26185 case 's': // a few seconds / in a few seconds / a few seconds ago 26186 return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami'; 26187 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 26188 if (withoutSuffix || isFuture) { 26189 return result + (plural(number) ? 'sekundy' : 'sekúnd'); 26190 } else { 26191 return result + 'sekundami'; 26192 } 26193 case 'm': // a minute / in a minute / a minute ago 26194 return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou'; 26195 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 26196 if (withoutSuffix || isFuture) { 26197 return result + (plural(number) ? 'minúty' : 'minút'); 26198 } else { 26199 return result + 'minútami'; 26200 } 26201 case 'h': // an hour / in an hour / an hour ago 26202 return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; 26203 case 'hh': // 9 hours / in 9 hours / 9 hours ago 26204 if (withoutSuffix || isFuture) { 26205 return result + (plural(number) ? 'hodiny' : 'hodÃn'); 26206 } else { 26207 return result + 'hodinami'; 26208 } 26209 case 'd': // a day / in a day / a day ago 26210 return withoutSuffix || isFuture ? 'deÅ' : 'dÅom'; 26211 case 'dd': // 9 days / in 9 days / 9 days ago 26212 if (withoutSuffix || isFuture) { 26213 return result + (plural(number) ? 'dni' : 'dnÃ'); 26214 } else { 26215 return result + 'dÅami'; 26216 } 26217 case 'M': // a month / in a month / a month ago 26218 return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom'; 26219 case 'MM': // 9 months / in 9 months / 9 months ago 26220 if (withoutSuffix || isFuture) { 26221 return result + (plural(number) ? 'mesiace' : 'mesiacov'); 26222 } else { 26223 return result + 'mesiacmi'; 26224 } 26225 case 'y': // a year / in a year / a year ago 26226 return withoutSuffix || isFuture ? 'rok' : 'rokom'; 26227 case 'yy': // 9 years / in 9 years / 9 years ago 26228 if (withoutSuffix || isFuture) { 26229 return result + (plural(number) ? 'roky' : 'rokov'); 26230 } else { 26231 return result + 'rokmi'; 26232 } 26233 } 26234 } 26235 26236 var sk = moment.defineLocale('sk', { 26237 months: months, 26238 monthsShort: monthsShort, 26239 weekdays: 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), 26240 weekdaysShort: 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 26241 weekdaysMin: 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 26242 longDateFormat: { 26243 LT: 'H:mm', 26244 LTS: 'H:mm:ss', 26245 L: 'DD.MM.YYYY', 26246 LL: 'D. MMMM YYYY', 26247 LLL: 'D. MMMM YYYY H:mm', 26248 LLLL: 'dddd D. MMMM YYYY H:mm', 26249 }, 26250 calendar: { 26251 sameDay: '[dnes o] LT', 26252 nextDay: '[zajtra o] LT', 26253 nextWeek: function () { 26254 switch (this.day()) { 26255 case 0: 26256 return '[v nedeľu o] LT'; 26257 case 1: 26258 case 2: 26259 return '[v] dddd [o] LT'; 26260 case 3: 26261 return '[v stredu o] LT'; 26262 case 4: 26263 return '[vo Å¡tvrtok o] LT'; 26264 case 5: 26265 return '[v piatok o] LT'; 26266 case 6: 26267 return '[v sobotu o] LT'; 26268 } 26269 }, 26270 lastDay: '[vÄera o] LT', 26271 lastWeek: function () { 26272 switch (this.day()) { 26273 case 0: 26274 return '[minulú nedeľu o] LT'; 26275 case 1: 26276 case 2: 26277 return '[minulý] dddd [o] LT'; 26278 case 3: 26279 return '[minulú stredu o] LT'; 26280 case 4: 26281 case 5: 26282 return '[minulý] dddd [o] LT'; 26283 case 6: 26284 return '[minulú sobotu o] LT'; 26285 } 26286 }, 26287 sameElse: 'L', 26288 }, 26289 relativeTime: { 26290 future: 'za %s', 26291 past: 'pred %s', 26292 s: translate, 26293 ss: translate, 26294 m: translate, 26295 mm: translate, 26296 h: translate, 26297 hh: translate, 26298 d: translate, 26299 dd: translate, 26300 M: translate, 26301 MM: translate, 26302 y: translate, 26303 yy: translate, 26304 }, 26305 dayOfMonthOrdinalParse: /\d{1,2}\./, 26306 ordinal: '%d.', 26307 week: { 26308 dow: 1, // Monday is the first day of the week. 26309 doy: 4, // The week that contains Jan 4th is the first week of the year. 26310 }, 26311 }); 26312 26313 return sk; 26314 26315}))); 26316 26317 26318/***/ }), 26319 26320/***/ 5802: 26321/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26322 26323//! moment.js locale configuration 26324//! locale : Thai [th] 26325//! author : Kridsada Thanabulpong : https://github.com/sirn 26326 26327;(function (global, factory) { 26328 true ? factory(__webpack_require__(5093)) : 26329 0 26330}(this, (function (moment) { 'use strict'; 26331 26332 //! moment.js locale configuration 26333 26334 var th = moment.defineLocale('th', { 26335 months: 'มà¸à¸£à¸²à¸à¸¡_à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹_มีà¸à¸²à¸à¸¡_à¹à¸¡à¸©à¸²à¸¢à¸_à¸à¸¤à¸©à¸ าà¸à¸¡_มิà¸à¸¸à¸à¸²à¸¢à¸_à¸à¸£à¸à¸à¸²à¸à¸¡_สิà¸à¸«à¸²à¸à¸¡_à¸à¸±à¸à¸¢à¸²à¸¢à¸_à¸à¸¸à¸¥à¸²à¸à¸¡_à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸_à¸à¸±à¸à¸§à¸²à¸à¸¡'.split( 26336 '_' 26337 ), 26338 monthsShort: 26339 'ม.à¸._à¸.à¸._มี.à¸._à¹à¸¡.ย._à¸.à¸._มิ.ย._à¸.à¸._ส.à¸._à¸.ย._à¸.à¸._à¸.ย._à¸.à¸.'.split( 26340 '_' 26341 ), 26342 monthsParseExact: true, 26343 weekdays: 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.
26343split('_'), 26344 weekdaysShort: 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ª_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.split('_'), // yes, three characters difference 26345 weekdaysMin: 'à¸à¸²._à¸._à¸._à¸._à¸à¸¤._ศ._ส.'.split('_'), 26346 weekdaysParseExact: true, 26347 longDateFormat: { 26348 LT: 'H:mm', 26349 LTS: 'H:mm:ss', 26350 L: 'DD/MM/YYYY', 26351 LL: 'D MMMM YYYY', 26352 LLL: 'D MMMM YYYY à¹à¸§à¸¥à¸² H:mm', 26353 LLLL: 'วัà¸ddddà¸à¸µà¹ D MMMM YYYY à¹à¸§à¸¥à¸² H:mm', 26354 }, 26355 meridiemParse: /à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸|หลัà¸à¹à¸à¸µà¹à¸¢à¸/, 26356 isPM: function (input) { 26357 return input === 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 26358 }, 26359 meridiem: function (hour, minute, isLower) { 26360 if (hour < 12) { 26361 return 'à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸'; 26362 } else { 26363 return 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 26364 } 26365 }, 26366 calendar: { 26367 sameDay: '[วัà¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 26368 nextDay: '[à¸à¸£à¸¸à¹à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 26369 nextWeek: 'dddd[หà¸à¹à¸² à¹à¸§à¸¥à¸²] LT', 26370 lastDay: '[à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 26371 lastWeek: '[วัà¸]dddd[à¸à¸µà¹à¹à¸¥à¹à¸§ à¹à¸§à¸¥à¸²] LT', 26372 sameElse: 'L', 26373 }, 26374 relativeTime: { 26375 future: 'à¸à¸µà¸ %s', 26376 past: '%sà¸à¸µà¹à¹à¸¥à¹à¸§', 26377 s: 'à¹à¸¡à¹à¸à¸µà¹à¸§à¸´à¸à¸²à¸à¸µ', 26378 ss: '%d วิà¸à¸²à¸à¸µ', 26379 m: '1 à¸à¸²à¸à¸µ', 26380 mm: '%d à¸à¸²à¸à¸µ', 26381 h: '1 à¸à¸±à¹à¸§à¹à¸¡à¸', 26382 hh: '%d à¸à¸±à¹à¸§à¹à¸¡à¸', 26383 d: '1 วัà¸', 26384 dd: '%d วัà¸', 26385 w: '1 สัà¸à¸à¸²à¸«à¹', 26386 ww: '%d สัà¸à¸à¸²à¸«à¹', 26387 M: '1 à¹à¸à¸·à¸à¸', 26388 MM: '%d à¹à¸à¸·à¸à¸', 26389 y: '1 à¸à¸µ', 26390 yy: '%d à¸à¸µ', 26391 }, 26392 }); 26393 26394 return th; 26395 26396}))); 26397 26398 26399/***/ }), 26400 26401/***/ 5867: 26402/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26403 26404//! moment.js locale configuration 26405//! locale : Lao [lo] 26406//! author : Ryan Hart : https://github.com/ryanhart2 26407 26408;(function (global, factory) { 26409 true ? factory(__webpack_require__(5093)) : 26410 0 26411}(this, (function (moment) { 'use strict'; 26412 26413 //! moment.js locale configuration 26414 26415 var lo = moment.defineLocale('lo', { 26416 months: 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split( 26417 '_' 26418 ), 26419 monthsShort: 26420 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split( 26421 '_' 26422 ), 26423 weekdays: 'àºàº²àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 26424 weekdaysShort: 'àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 26425 weekdaysMin: 'àº_àº_àºàº_àº_àºàº«_ສàº_ສ'.split('_'), 26426 weekdaysParseExact: true, 26427 longDateFormat: { 26428 LT: 'HH:mm', 26429 LTS: 'HH:mm:ss', 26430 L: 'DD/MM/YYYY', 26431 LL: 'D MMMM YYYY', 26432 LLL: 'D MMMM YYYY HH:mm', 26433 LLLL: 'ວັàºdddd D MMMM YYYY HH:mm', 26434 }, 26435 meridiemParse: /àºàºàºà»àºàº»à»àº²|àºàºàºà»àº¥àº/, 26436 isPM: function (input) { 26437 return input === 'àºàºàºà»àº¥àº'; 26438 }, 26439 meridiem: function (hour, minute, isLower) { 26440 if (hour < 12) { 26441 return 'àºàºàºà»àºàº»à»àº²'; 26442 } else { 26443 return 'àºàºàºà»àº¥àº'; 26444 } 26445 }, 26446 calendar: { 26447 sameDay: '[ມືà»àºàºµà»à»àº§àº¥àº²] LT', 26448 nextDay: '[ມືà»àºàº·à»àºà»àº§àº¥àº²] LT', 26449 nextWeek: '[ວັàº]dddd[à»à»àº²à»àº§àº¥àº²] LT', 26450 lastDay: '[ມືà»àº§àº²àºàºàºµà»à»àº§àº¥àº²] LT', 26451 lastWeek: '[ວັàº]dddd[à»àº¥à»àº§àºàºµà»à»àº§àº¥àº²] LT', 26452 sameElse: 'L', 26453 }, 26454 relativeTime: { 26455 future: 'àºàºµàº %s', 26456 past: '%sàºà»àº²àºàº¡àº²', 26457 s: 'àºà»à»à»àºàº»à»àº²à»àºàº§àº´àºàº²àºàºµ', 26458 ss: '%d ວິàºàº²àºàºµ', 26459 m: '1 àºàº²àºàºµ', 26460 mm: '%d àºàº²àºàºµ', 26461 h: '1 àºàº»à»àº§à»àº¡àº', 26462 hh: '%d àºàº»à»àº§à»àº¡àº', 26463 d: '1 ມືà»', 26464 dd: '%d ມືà»', 26465 M: '1 à»àºàº·àºàº', 26466 MM: '%d à»àºàº·àºàº', 26467 y: '1 àºàºµ', 26468 yy: '%d àºàºµ', 26469 }, 26470 dayOfMonthOrdinalParse: /(àºàºµà»)\d{1,2}/, 26471 ordinal: function (number) { 26472 return 'àºàºµà»' + number; 26473 }, 26474 }); 26475 26476 return lo; 26477 26478}))); 26479 26480 26481/***/ }), 26482 26483/***/ 5995: 26484/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26485 26486//! moment.js locale configuration 26487//! locale : Filipino [fil] 26488//! author : Dan Hagman : https://github.com/hagmandan 26489//! author : Matthew Co : https://github.com/matthewdeeco 26490 26491;(function (global, factory) { 26492 true ? factory(__webpack_require__(5093)) : 26493 0 26494}(this, (function (moment) { 'use strict'; 26495 26496 //! moment.js locale configuration 26497 26498 var fil = moment.defineLocale('fil', { 26499 months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( 26500 '_' 26501 ), 26502 monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 26503 weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( 26504 '_' 26505 ), 26506 weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 26507 weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 26508 longDateFormat: { 26509 LT: 'HH:mm', 26510 LTS: 'HH:mm:ss', 26511 L: 'MM/D/YYYY', 26512 LL: 'MMMM D, YYYY', 26513 LLL: 'MMMM D, YYYY HH:mm', 26514 LLLL: 'dddd, MMMM DD, YYYY HH:mm', 26515 }, 26516 calendar: { 26517 sameDay: 'LT [ngayong araw]', 26518 nextDay: '[Bukas ng] LT', 26519 nextWeek: 'LT [sa susunod na] dddd', 26520 lastDay: 'LT [kahapon]', 26521 lastWeek: 'LT [noong nakaraang] dddd', 26522 sameElse: 'L', 26523 }, 26524 relativeTime: { 26525 future: 'sa loob ng %s', 26526 past: '%s ang nakalipas', 26527 s: 'ilang segundo', 26528 ss: '%d segundo', 26529 m: 'isang minuto', 26530 mm: '%d minuto', 26531 h: 'isang oras', 26532 hh: '%d oras', 26533 d: 'isang araw', 26534 dd: '%d araw',
vendor: 4,654 bytes, lines 26535-26683
26535 M: 'isang buwan', 26536 MM: '%d buwan', 26537 y: 'isang taon', 26538 yy: '%d taon', 26539 }, 26540 dayOfMonthOrdinalParse: /\d{1,2}/, 26541 ordinal: function (number) { 26542 return number; 26543 }, 26544 week: { 26545 dow: 1, // Monday is the first day of the week. 26546 doy: 4, // The week that contains Jan 4th is the first week of the year. 26547 }, 26548 }); 26549 26550 return fil; 26551 26552}))); 26553 26554 26555/***/ }), 26556 26557/***/ 6000: 26558/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26559 26560//! moment.js locale configuration 26561//! locale : siSwati [ss] 26562//! author : Nicolai Davies<[email protected]> : https://github.com/nicolaidavies 26563 26564;(function (global, factory) { 26565 true ? factory(__webpack_require__(5093)) : 26566 0 26567}(this, (function (moment) { 'use strict'; 26568 26569 //! moment.js locale configuration 26570 26571 var ss = moment.defineLocale('ss', { 26572 months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split( 26573 '_' 26574 ), 26575 monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), 26576 weekdays: 26577 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split( 26578 '_' 26579 ), 26580 weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), 26581 weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), 26582 weekdaysParseExact: true, 26583 longDateFormat: { 26584 LT: 'h:mm A', 26585 LTS: 'h:mm:ss A', 26586 L: 'DD/MM/YYYY', 26587 LL: 'D MMMM YYYY', 26588 LLL: 'D MMMM YYYY h:mm A', 26589 LLLL: 'dddd, D MMMM YYYY h:mm A', 26590 }, 26591 calendar: { 26592 sameDay: '[Namuhla nga] LT', 26593 nextDay: '[Kusasa nga] LT', 26594 nextWeek: 'dddd [nga] LT', 26595 lastDay: '[Itolo nga] LT', 26596 lastWeek: 'dddd [leliphelile] [nga] LT', 26597 sameElse: 'L', 26598 }, 26599 relativeTime: { 26600 future: 'nga %s', 26601 past: 'wenteka nga %s', 26602 s: 'emizuzwana lomcane', 26603 ss: '%d mzuzwana', 26604 m: 'umzuzu', 26605 mm: '%d emizuzu', 26606 h: 'lihora', 26607 hh: '%d emahora', 26608 d: 'lilanga', 26609 dd: '%d emalanga', 26610 M: 'inyanga', 26611 MM: '%d tinyanga', 26612 y: 'umnyaka', 26613 yy: '%d iminyaka', 26614 }, 26615 meridiemParse: /ekuseni|emini|entsambama|ebusuku/, 26616 meridiem: function (hours, minutes, isLower) { 26617 if (hours < 11) { 26618 return 'ekuseni'; 26619 } else if (hours < 15) { 26620 return 'emini'; 26621 } else if (hours < 19) { 26622 return 'entsambama'; 26623 } else { 26624 return 'ebusuku'; 26625 } 26626 }, 26627 meridiemHour: function (hour, meridiem) { 26628 if (hour === 12) { 26629 hour = 0; 26630 } 26631 if (meridiem === 'ekuseni') { 26632 return hour; 26633 } else if (meridiem === 'emini') { 26634 return hour >= 11 ? hour : hour + 12; 26635 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { 26636 if (hour === 0) { 26637 return 0; 26638 } 26639 return hour + 12; 26640 } 26641 }, 26642 dayOfMonthOrdinalParse: /\d{1,2}/, 26643 ordinal: '%d', 26644 week: { 26645 dow: 1, // Monday is the first day of the week. 26646 doy: 4, // The week that contains Jan 4th is the first week of the year. 26647 }, 26648 }); 26649 26650 return ss; 26651 26652}))); 26653 26654 26655/***/ }), 26656 26657/***/ 6111: 26658/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26659 26660//! moment.js locale configuration 26661//! locale : German (Austria) [de-at] 26662//! author : lluchs : https://github.com/lluchs 26663//! author: Menelion Elensúle: https://github.com/Oire 26664//! author : Martin Groller : https://github.com/MadMG 26665//! author : Mikolaj Dadela : https://github.com/mik01aj 26666 26667;(function (global, factory) { 26668 true ? factory(__webpack_require__(5093)) : 26669 0 26670}(this, (function (moment) { 'use strict'; 26671 26672 //! moment.js locale configuration 26673 26674 function processRelativeTime(number, withoutSuffix, key, isFuture) { 26675 var format = { 26676 m: ['eine Minute', 'einer Minute'], 26677 h: ['eine Stunde', 'einer Stunde'], 26678 d: ['ein Tag', 'einem Tag'], 26679 dd: [number + ' Tage', number + ' Tagen'], 26680 w: ['eine Woche', 'einer Woche'], 26681 M: ['ein Monat', 'einem Monat'], 26682 MM: [number + ' Monate', number + ' Monaten'], 26683 y: ['ein Jahr', 'einem Jahr'],
26684 yy: [number + ' Jahre', number + ' Jahren'], 26685 }; 26686 return withoutSuffix ? format[key][0] : format[key][1]; 26687 } 26688 26689 var deAt = moment.defineLocale('de-at', { 26690 months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( 26691 '_' 26692 ), 26693 monthsShort: 26694 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 26695 monthsParseExact: true, 26696 weekdays: 26697 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( 26698 '_' 26699 ), 26700 weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 26701 weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 26702 weekdaysParseExact: true, 26703 longDateFormat: { 26704 LT: 'HH:mm', 26705 LTS: 'HH:mm:ss', 26706 L: 'DD.MM.YYYY', 26707 LL: 'D. MMMM YYYY', 26708 LLL: 'D. MMMM YYYY HH:mm', 26709 LLLL: 'dddd, D. MMMM YYYY HH:mm', 26710 }, 26711 calendar: { 26712 sameDay: '[heute um] LT [Uhr]', 26713 sameElse: 'L', 26714 nextDay: '[morgen um] LT [Uhr]', 26715 nextWeek: 'dddd [um] LT [Uhr]', 26716 lastDay: '[gestern um] LT [Uhr]', 26717 lastWeek: '[letzten] dddd [um] LT [Uhr]', 26718 }, 26719 relativeTime: { 26720 future: 'in %s', 26721 past: 'vor %s', 26722 s: 'ein paar Sekunden', 26723 ss: '%d Sekunden', 26724 m: processRelativeTime, 26725 mm: '%d Minuten', 26726 h: processRelativeTime, 26727 hh: '%d Stunden', 26728 d: processRelativeTime, 26729 dd: processRelativeTime, 26730 w: processRelativeTime, 26731 ww: '%d Wochen', 26732 M: processRelativeTime, 26733 MM: processRelativeTime, 26734 y: processRelativeTime, 26735 yy: processRelativeTime, 26736 }, 26737 dayOfMonthOrdinalParse: /\d{1,2}\./, 26738 ordinal: '%d.', 26739 week: { 26740 dow: 1, // Monday is the first day of the week. 26741 doy: 4, // The week that contains Jan 4th is the first week of the year. 26742 }, 26743 }); 26744 26745 return deAt; 26746 26747}))); 26748 26749 26750/***/ }), 26751 26752/***/ 6169: 26753/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26754 26755//! moment.js locale configuration 26756//! locale : Marathi [mr] 26757//! author : Harshad Kale : https://github.com/kalehv 26758//! author : Vivek Athalye : https://github.com/vnathalye 26759 26760;(function (global, factory) { 26761 true ? factory(__webpack_require__(5093)) : 26762 0 26763}(this, (function (moment) { 'use strict'; 26764 26765 //! moment.js locale configuration 26766 26767 var symbolMap = { 26768 1: '१', 26769 2: '२', 26770 3: '३', 26771 4: '४', 26772 5: '५', 26773 6: '६', 26774 7: 'à¥', 26775 8: '८', 26776 9: '९', 26777 0: '०', 26778 }, 26779 numberMap = { 26780 '१': '1', 26781 '२': '2', 26782 '३': '3', 26783 '४': '4', 26784 '५': '5', 26785 '६': '6', 26786 'à¥': '7', 26787 '८': '8', 26788 '९': '9', 26789 '०': '0', 26790 }; 26791 26792 function relativeTimeMr(number, withoutSuffix, string, isFuture) { 26793 var output = ''; 26794 if (withoutSuffix) { 26795 switch (string) { 26796 case 's': 26797 output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦'; 26798 break; 26799 case 'ss': 26800 output = '%d सà¥à¤à¤à¤¦'; 26801 break; 26802 case 'm': 26803 output = 'à¤à¤ मिनिà¤'; 26804 break; 26805 case 'mm': 26806 output = '%d मिनिà¤à¥'; 26807 break; 26808 case 'h': 26809 output = 'à¤à¤ तास'; 26810 break; 26811 case 'hh': 26812 output = '%d तास'; 26813 break; 26814 case 'd': 26815 output = 'à¤à¤ दिवस'; 26816 break; 26817 case 'dd': 26818 output = '%d दिवस'; 26819 break; 26820 case 'M': 26821 output = 'à¤à¤ महिना'; 26822 break; 26823 case 'MM': 26824 output = '%d महिनà¥'; 26825 break; 26826 case 'y': 26827 output = 'à¤à¤ वरà¥à¤·'; 26828 break; 26829 case 'yy': 26830 output = '%d वरà¥à¤·à¥'; 26831 break; 26832 } 26833 } else { 26834 switch (string) { 26835 case 's':
vendor: 4,304 bytes, lines 26836-26939
26836 output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦à¤¾à¤'; 26837 break; 26838 case 'ss': 26839 output = '%d सà¥à¤à¤à¤¦à¤¾à¤'; 26840 break; 26841 case 'm': 26842 output = 'à¤à¤à¤¾ मिनिà¤à¤¾'; 26843 break; 26844 case 'mm': 26845 output = '%d मिनिà¤à¤¾à¤'; 26846 break; 26847 case 'h': 26848 output = 'à¤à¤à¤¾ तासा'; 26849 break; 26850 case 'hh': 26851 output = '%d तासाà¤'; 26852 break; 26853 case 'd': 26854 output = 'à¤à¤à¤¾ दिवसा'; 26855 break; 26856 case 'dd': 26857 output = '%d दिवसाà¤'; 26858 break; 26859 case 'M': 26860 output = 'à¤à¤à¤¾ महिनà¥à¤¯à¤¾'; 26861 break; 26862 case 'MM': 26863 output = '%d महिनà¥à¤¯à¤¾à¤'; 26864 break; 26865 case 'y': 26866 output = 'à¤à¤à¤¾ वरà¥à¤·à¤¾'; 26867 break; 26868 case 'yy': 26869 output = '%d वरà¥à¤·à¤¾à¤'; 26870 break; 26871 } 26872 } 26873 return output.replace(/%d/i, number); 26874 } 26875 26876 var mr = moment.defineLocale('mr', { 26877 months: 'à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥_मारà¥à¤_à¤à¤ªà¥à¤°à¤¿à¤²_मà¥_à¤à¥à¤¨_à¤à¥à¤²à¥_à¤à¤à¤¸à¥à¤_सपà¥à¤à¥à¤à¤¬à¤°_à¤à¤à¥à¤à¥à¤¬à¤°_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°_डिसà¥à¤à¤¬à¤°'.split( 26878 '_' 26879 ), 26880 monthsShort: 26881 'à¤à¤¾à¤¨à¥._फà¥à¤¬à¥à¤°à¥._मारà¥à¤._à¤à¤ªà¥à¤°à¤¿._मà¥._à¤à¥à¤¨._à¤à¥à¤²à¥._à¤à¤._सपà¥à¤à¥à¤._à¤à¤à¥à¤à¥._नà¥à¤µà¥à¤¹à¥à¤._डिसà¥à¤.'.split( 26882 '_' 26883 ), 26884 monthsParseExact: true, 26885 weekdays: 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤³à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 26886 weekdaysShort: 'रवि_सà¥à¤®_मà¤à¤à¤³_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 26887 weekdaysMin: 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 26888 longDateFormat: { 26889 LT: 'A h:mm वाà¤à¤¤à¤¾', 26890 LTS: 'A h:mm:ss वाà¤à¤¤à¤¾', 26891 L: 'DD/MM/YYYY', 26892 LL: 'D MMMM YYYY', 26893 LLL: 'D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾', 26894 LLLL: 'dddd, D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾', 26895 }, 26896 calendar: { 26897 sameDay: '[à¤à¤] LT', 26898 nextDay: '[à¤à¤¦à¥à¤¯à¤¾] LT', 26899 nextWeek: 'dddd, LT', 26900 lastDay: '[à¤à¤¾à¤²] LT', 26901 lastWeek: '[माà¤à¥à¤²] dddd, LT', 26902 sameElse: 'L', 26903 }, 26904 relativeTime: { 26905 future: '%sमधà¥à¤¯à¥', 26906 past: '%sपà¥à¤°à¥à¤µà¥', 26907 s: relativeTimeMr, 26908 ss: relativeTimeMr, 26909 m: relativeTimeMr, 26910 mm: relativeTimeMr, 26911 h: relativeTimeMr, 26912 hh: relativeTimeMr, 26913 d: relativeTimeMr, 26914 dd: relativeTimeMr, 26915 M: relativeTimeMr, 26916 MM: relativeTimeMr, 26917 y: relativeTimeMr, 26918 yy: relativeTimeMr, 26919 }, 26920 preparse: function (string) { 26921 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 26922 return numberMap[match]; 26923 }); 26924 }, 26925 postformat: function (string) { 26926 return string.replace(/\d/g, function (match) { 26927 return symbolMap[match]; 26928 }); 26929 }, 26930 meridiemParse: /पहाà¤à¥|सà¤à¤¾à¤³à¥|दà¥à¤ªà¤¾à¤°à¥|सायà¤à¤à¤¾à¤³à¥|रातà¥à¤°à¥/, 26931 meridiemHour: function (hour, meridiem) { 26932 if (hour === 12) { 26933 hour = 0; 26934 } 26935 if (meridiem === 'पहाà¤à¥' || meridiem === 'सà¤à¤¾à¤³à¥') { 26936 return hour; 26937 } else if ( 26938 meridiem === 'दà¥à¤ªà¤¾à¤°à¥' || 26939 meridiem === 'सायà¤à¤à¤¾à¤³à¥' ||
26940 meridiem === 'रातà¥à¤°à¥' 26941 ) { 26942 return hour >= 12 ? hour : hour + 12; 26943 } 26944 }, 26945 meridiem: function (hour, minute, isLower) { 26946 if (hour >= 0 && hour < 6) { 26947 return 'पहाà¤à¥'; 26948 } else if (hour < 12) { 26949 return 'सà¤à¤¾à¤³à¥'; 26950 } else if (hour < 17) { 26951 return 'दà¥à¤ªà¤¾à¤°à¥'; 26952 } else if (hour < 20) { 26953 return 'सायà¤à¤à¤¾à¤³à¥'; 26954 } else { 26955 return 'रातà¥à¤°à¥'; 26956 } 26957 }, 26958 week: { 26959 dow: 0, // Sunday is the first day of the week. 26960 doy: 6, // The week that contains Jan 6th is the first week of the year. 26961 }, 26962 }); 26963 26964 return mr; 26965 26966}))); 26967 26968 26969/***/ }), 26970 26971/***/ 6181: 26972/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 26973 26974//! moment.js locale configuration 26975//! locale : Northern Kurdish [ku-kmr] 26976//! authors : Mazlum Ãzdogan : https://github.com/mergehez 26977 26978;(function (global, factory) { 26979 true ? factory(__webpack_require__(5093)) : 26980 0 26981}(this, (function (moment) { 'use strict'; 26982 26983 //! moment.js locale configuration 26984 26985 function processRelativeTime(num, withoutSuffix, key, isFuture) { 26986 var format = { 26987 s: ['çend sanîye', 'çend sanîyeyan'], 26988 ss: [num + ' sanîye', num + ' sanîyeyan'], 26989 m: ['deqîqeyek', 'deqîqeyekê'], 26990 mm: [num + ' deqîqe', num + ' deqîqeyan'], 26991 h: ['saetek', 'saetekê'], 26992 hh: [num + ' saet', num + ' saetan'], 26993 d: ['rojek', 'rojekê'], 26994 dd: [num + ' roj', num + ' rojan'], 26995 w: ['hefteyek', 'hefteyekê'], 26996 ww: [num + ' hefte', num + ' hefteyan'], 26997 M: ['mehek', 'mehekê'], 26998 MM: [num + ' meh', num + ' mehan'], 26999 y: ['salek', 'salekê'], 27000 yy: [num + ' sal', num + ' salan'], 27001 }; 27002 return withoutSuffix ? format[key][0] : format[key][1]; 27003 } 27004 // function obliqueNumSuffix(num) { 27005 // if(num.includes(':')) 27006 // num = parseInt(num.split(':')[0]); 27007 // else 27008 // num = parseInt(num); 27009 // return num == 0 || num % 10 == 1 ? 'ê' 27010 // : (num > 10 && num % 10 == 0 ? 'î' : 'an'); 27011 // } 27012 function ezafeNumSuffix(num) { 27013 num = '' + num; 27014 var l = num.substring(num.length - 1), 27015 ll = num.length > 1 ? num.substring(num.length - 2) : ''; 27016 if ( 27017 !(ll == 12 || ll == 13) && 27018 (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80') 27019 ) 27020 return 'yê'; 27021 return 'ê'; 27022 } 27023 27024 var kuKmr = moment.defineLocale('ku-kmr', { 27025 // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation) 27026 // 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' 27027 // But the names below are more well known and handy 27028 months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Ãlon_Cotmeh_Mijdar_Berfanbar'.split( 27029 '_' 27030 ), 27031 monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Ãlo_Cot_Mij_Ber'.split('_'), 27032 monthsParseExact: true, 27033 weekdays: 'YekÅem_DuÅem_SêÅem_ÃarÅem_PêncÅem_Ãn_Åemî'.split('_'), 27034 weekdaysShort: 'Yek_Du_Sê_Ãar_Pên_Ãn_Åem'.split('_'), 27035 weekdaysMin: 'Ye_Du_Sê_Ãa_Pê_Ãn_Åe'.split('_'), 27036 meridiem: function (hours, minutes, isLower) { 27037 if (hours < 12) { 27038 return isLower ? 'bn' : 'BN'; 27039 } else { 27040 return isLower ? 'pn' : 'PN'; 27041 } 27042 }, 27043 meridiemParse: /bn|BN|pn|PN/, 27044 longDateFormat: { 27045 LT: 'HH:mm', 27046 LTS: 'HH:mm:ss', 27047 L: 'DD.MM.YYYY', 27048 LL: 'Do MMMM[a] YYYY[an]', 27049 LLL: 'Do MMMM[a] YYYY[an] HH:mm', 27050 LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm', 27051 ll: 'Do MMM[.] YYYY[an]', 27052 lll: 'Do MMM[.] YYYY[an] HH:mm', 27053 llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm', 27054 }, 27055 calendar: { 27056 sameDay: '[Ãro di saet] LT [de]', 27057 nextDay: '[Sibê di saet] LT [de]', 27058 nextWeek: 'dddd [di saet] LT [de]', 27059 lastDay: '[Duh di saet] LT [de]', 27060 lastWeek: 'dddd[a borî di saet] LT [de]', 27061 sameElse: 'L', 27062 }, 27063 relativeTime: { 27064 future: 'di %s de', 27065 past: 'berî %s', 27066 s: processRelativeTime, 27067 ss: processRelativeTime, 27068 m: processRelativeTime, 27069 mm: processRelativeTime, 27070 h: processRelativeTime, 27071 hh: processRelativeTime, 27072 d: processRelativeTime, 27073 dd: processRelativeTime, 27074 w: processRelativeTime, 27075 ww: processRelativeTime, 27076 M: processRelativeTime, 27077 MM: processRelativeTime, 27078 y: processRelativeTime, 27079 yy: processRelativeTime, 27080 }, 27081 dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
vendor: 8,730 bytes, lines 27082-27360
27082 ordinal: function (num, period) { 27083 var p = period.toLowerCase(); 27084 if (p.includes('w') || p.includes('m')) return num + '.'; 27085 27086 return num + ezafeNumSuffix(num); 27087 }, 27088 week: { 27089 dow: 1, // Monday is the first day of the week. 27090 doy: 4, // The week that contains Jan 4th is the first week of the year. 27091 }, 27092 }); 27093 27094 return kuKmr; 27095 27096}))); 27097 27098 27099/***/ }), 27100 27101/***/ 6195: 27102/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27103 27104//! moment.js locale configuration 27105//! locale : English (United Kingdom) [en-gb] 27106//! author : Chris Gedrim : https://github.com/chrisgedrim 27107 27108;(function (global, factory) { 27109 true ? factory(__webpack_require__(5093)) : 27110 0 27111}(this, (function (moment) { 'use strict'; 27112 27113 //! moment.js locale configuration 27114 27115 var enGb = moment.defineLocale('en-gb', { 27116 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 27117 '_' 27118 ), 27119 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 27120 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 27121 '_' 27122 ), 27123 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 27124 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 27125 longDateFormat: { 27126 LT: 'HH:mm', 27127 LTS: 'HH:mm:ss', 27128 L: 'DD/MM/YYYY', 27129 LL: 'D MMMM YYYY', 27130 LLL: 'D MMMM YYYY HH:mm', 27131 LLLL: 'dddd, D MMMM YYYY HH:mm', 27132 }, 27133 calendar: { 27134 sameDay: '[Today at] LT', 27135 nextDay: '[Tomorrow at] LT', 27136 nextWeek: 'dddd [at] LT', 27137 lastDay: '[Yesterday at] LT', 27138 lastWeek: '[Last] dddd [at] LT', 27139 sameElse: 'L', 27140 }, 27141 relativeTime: { 27142 future: 'in %s', 27143 past: '%s ago', 27144 s: 'a few seconds', 27145 ss: '%d seconds', 27146 m: 'a minute', 27147 mm: '%d minutes', 27148 h: 'an hour', 27149 hh: '%d hours', 27150 d: 'a day', 27151 dd: '%d days', 27152 M: 'a month', 27153 MM: '%d months', 27154 y: 'a year', 27155 yy: '%d years', 27156 }, 27157 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 27158 ordinal: function (number) { 27159 var b = number % 10, 27160 output = 27161 ~~((number % 100) / 10) === 1 27162 ? 'th' 27163 : b === 1 27164 ? 'st' 27165 : b === 2 27166 ? 'nd' 27167 : b === 3 27168 ? 'rd' 27169 : 'th'; 27170 return number + output; 27171 }, 27172 week: { 27173 dow: 1, // Monday is the first day of the week. 27174 doy: 4, // The week that contains Jan 4th is the first week of the year. 27175 }, 27176 }); 27177 27178 return enGb; 27179 27180}))); 27181 27182 27183/***/ }), 27184 27185/***/ 6308: 27186/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27187 27188//! moment.js locale configuration 27189//! locale : Croatian [hr] 27190//! author : Bojan MarkoviÄ : https://github.com/bmarkovic 27191 27192;(function (global, factory) { 27193 true ? factory(__webpack_require__(5093)) : 27194 0 27195}(this, (function (moment) { 'use strict'; 27196 27197 //! moment.js locale configuration 27198 27199 function translate(number, withoutSuffix, key) { 27200 var result = number + ' '; 27201 switch (key) { 27202 case 'ss': 27203 if (number === 1) { 27204 result += 'sekunda'; 27205 } else if (number === 2 || number === 3 || number === 4) { 27206 result += 'sekunde'; 27207 } else { 27208 result += 'sekundi'; 27209 } 27210 return result; 27211 case 'm': 27212 return withoutSuffix ? 'jedna minuta' : 'jedne minute'; 27213 case 'mm': 27214 if (number === 1) { 27215 result += 'minuta'; 27216 } else if (number === 2 || number === 3 || number === 4) { 27217 result += 'minute'; 27218 } else { 27219 result += 'minuta'; 27220 } 27221 return result; 27222 case 'h': 27223 return withoutSuffix ? 'jedan sat' : 'jednog sata'; 27224 case 'hh': 27225 if (number === 1) { 27226 result += 'sat'; 27227 } else if (number === 2 || number === 3 || number === 4) { 27228 result += 'sata'; 27229 } else { 27230 result += 'sati'; 27231 } 27232 return result; 27233 case 'dd': 27234 if (number === 1) { 27235 result += 'dan'; 27236 } else { 27237 result += 'dana'; 27238 } 27239 return result; 27240 case 'MM': 27241 if (number === 1) { 27242 result += 'mjesec'; 27243 } else if (number === 2 || number === 3 || number === 4) { 27244 result += 'mjeseca'; 27245 } else { 27246 result += 'mjeseci'; 27247 } 27248 return result; 27249 case 'yy': 27250 if (number === 1) { 27251 result += 'godina'; 27252 } else if (number === 2 || number === 3 || number === 4) { 27253 result += 'godine'; 27254 } else { 27255 result += 'godina'; 27256 } 27257 return result; 27258 } 27259 } 27260 27261 var hr = moment.defineLocale('hr', { 27262 months: { 27263 format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( 27264 '_' 27265 ), 27266 standalone: 27267 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( 27268 '_' 27269 ), 27270 }, 27271 monthsShort: 27272 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( 27273 '_' 27274 ), 27275 monthsParseExact: true, 27276 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split( 27277 '_' 27278 ), 27279 weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 27280 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 27281 weekdaysParseExact: true, 27282 longDateFormat: { 27283 LT: 'H:mm', 27284 LTS: 'H:mm:ss', 27285 L: 'DD.MM.YYYY', 27286 LL: 'Do MMMM YYYY', 27287 LLL: 'Do MMMM YYYY H:mm', 27288 LLLL: 'dddd, Do MMMM YYYY H:mm', 27289 }, 27290 calendar: { 27291 sameDay: '[danas u] LT', 27292 nextDay: '[sutra u] LT', 27293 nextWeek: function () { 27294 switch (this.day()) { 27295 case 0: 27296 return '[u] [nedjelju] [u] LT'; 27297 case 3: 27298 return '[u] [srijedu] [u] LT'; 27299 case 6: 27300 return '[u] [subotu] [u] LT'; 27301 case 1: 27302 case 2: 27303 case 4: 27304 case 5: 27305 return '[u] dddd [u] LT'; 27306 } 27307 }, 27308 lastDay: '[juÄer u] LT', 27309 lastWeek: function () { 27310 switch (this.day()) { 27311 case 0: 27312 return '[proÅ¡lu] [nedjelju] [u] LT'; 27313 case 3: 27314 return '[proÅ¡lu] [srijedu] [u] LT'; 27315 case 6: 27316 return '[proÅ¡le] [subote] [u] LT'; 27317 case 1: 27318 case 2: 27319 case 4: 27320 case 5: 27321 return '[proÅ¡li] dddd [u] LT'; 27322 } 27323 }, 27324 sameElse: 'L', 27325 }, 27326 relativeTime: { 27327 future: 'za %s', 27328 past: 'prije %s', 27329 s: 'par sekundi', 27330 ss: translate, 27331 m: translate, 27332 mm: translate, 27333 h: translate, 27334 hh: translate, 27335 d: 'dan', 27336 dd: translate, 27337 M: 'mjesec', 27338 MM: translate, 27339 y: 'godinu', 27340 yy: translate, 27341 }, 27342 dayOfMonthOrdinalParse: /\d{1,2}\./, 27343 ordinal: '%d.', 27344 week: { 27345 dow: 1, // Monday is the first day of the week. 27346 doy: 7, // The week that contains Jan 7th is the first week of the year. 27347 }, 27348 }); 27349 27350 return hr; 27351 27352}))); 27353 27354 27355/***/ }), 27356 27357/***/ 6435: 27358/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27359 27360//! moment.js locale configuration
27361//! locale : French (Canada) [fr-ca] 27362//! author : Jonathan Abourbih : https://github.com/jonbca 27363 27364;(function (global, factory) { 27365 true ? factory(__webpack_require__(5093)) : 27366 0 27367}(this, (function (moment) { 'use strict'; 27368 27369 //! moment.js locale configuration 27370 27371 var frCa = moment.defineLocale('fr-ca', { 27372 months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( 27373 '_' 27374 ), 27375 monthsShort: 27376 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( 27377 '_' 27378 ), 27379 monthsParseExact: true, 27380 weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 27381 weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 27382 weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), 27383 weekdaysParseExact: true, 27384 longDateFormat: { 27385 LT: 'HH:mm', 27386 LTS: 'HH:mm:ss', 27387 L: 'YYYY-MM-DD', 27388 LL: 'D MMMM YYYY', 27389 LLL: 'D MMMM YYYY HH:mm', 27390 LLLL: 'dddd D MMMM YYYY HH:mm', 27391 }, 27392 calendar: { 27393 sameDay: '[Aujourdâhui à ] LT', 27394 nextDay: '[Demain à ] LT', 27395 nextWeek: 'dddd [à ] LT', 27396 lastDay: '[Hier à ] LT', 27397 lastWeek: 'dddd [dernier à ] LT', 27398 sameElse: 'L', 27399 }, 27400 relativeTime: { 27401 future: 'dans %s', 27402 past: 'il y a %s', 27403 s: 'quelques secondes', 27404 ss: '%d secondes', 27405 m: 'une minute', 27406 mm: '%d minutes', 27407 h: 'une heure', 27408 hh: '%d heures', 27409 d: 'un jour', 27410 dd: '%d jours', 27411 M: 'un mois', 27412 MM: '%d mois', 27413 y: 'un an', 27414 yy: '%d ans', 27415 }, 27416 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 27417 ordinal: function (number, period) { 27418 switch (period) { 27419 // Words with masculine grammatical gender: mois, trimestre, jour 27420 default: 27421 case 'M': 27422 case 'Q': 27423 case 'D': 27424 case 'DDD': 27425 case 'd': 27426 return number + (number === 1 ? 'er' : 'e'); 27427 27428 // Words with feminine grammatical gender: semaine 27429 case 'w': 27430 case 'W': 27431 return number + (number === 1 ? 're' : 'e'); 27432 } 27433 }, 27434 }); 27435 27436 return frCa; 27437 27438}))); 27439 27440 27441/***/ }), 27442 27443/***/ 6464: 27444/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27445 27446//! moment.js locale configuration 27447//! locale : Czech [cs] 27448//! author : petrbela : https://github.com/petrbela 27449 27450;(function (global, factory) { 27451 true ? factory(__webpack_require__(5093)) : 27452 0 27453}(this, (function (moment) { 'use strict'; 27454 27455 //! moment.js locale configuration 27456 27457 var months = { 27458 standalone: 27459 'leden_únor_bÅezen_duben_kvÄten_Äerven_Äervenec_srpen_záÅÃ_ÅÃjen_listopad_prosinec'.
vendor: 32,768 bytes, lines 27459-28370
27459split( 27460 '_' 27461 ), 27462 format: 'ledna_února_bÅezna_dubna_kvÄtna_Äervna_Äervence_srpna_záÅÃ_ÅÃjna_listopadu_prosince'.split( 27463 '_' 27464 ), 27465 isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/, 27466 }, 27467 monthsShort = 'led_úno_bÅe_dub_kvÄ_Ävn_Ävc_srp_záÅ_ÅÃj_lis_pro'.split('_'), 27468 monthsParse = [ 27469 /^led/i, 27470 /^úno/i, 27471 /^bÅe/i, 27472 /^dub/i, 27473 /^kvÄ/i, 27474 /^(Ävn|Äerven$|Äervna)/i, 27475 /^(Ävc|Äervenec|Äervence)/i, 27476 /^srp/i, 27477 /^záÅ/i, 27478 /^ÅÃj/i, 27479 /^lis/i, 27480 /^pro/i, 27481 ], 27482 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 27483 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 27484 monthsRegex = 27485 /^(leden|únor|bÅezen|duben|kvÄten|Äervenec|Äervence|Äerven|Äervna|srpen|záÅÃ|ÅÃjen|listopad|prosinec|led|úno|bÅe|dub|kvÄ|Ävn|Ävc|srp|záÅ|ÅÃj|lis|pro)/i; 27486 27487 function plural(n) { 27488 return n > 1 && n < 5 && ~~(n / 10) !== 1; 27489 } 27490 function translate(number, withoutSuffix, key, isFuture) { 27491 var result = number + ' '; 27492 switch (key) { 27493 case 's': // a few seconds / in a few seconds / a few seconds ago 27494 return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; 27495 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 27496 if (withoutSuffix || isFuture) { 27497 return result + (plural(number) ? 'sekundy' : 'sekund'); 27498 } else { 27499 return result + 'sekundami'; 27500 } 27501 case 'm': // a minute / in a minute / a minute ago 27502 return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; 27503 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 27504 if (withoutSuffix || isFuture) { 27505 return result + (plural(number) ? 'minuty' : 'minut'); 27506 } else { 27507 return result + 'minutami'; 27508 } 27509 case 'h': // an hour / in an hour / an hour ago 27510 return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; 27511 case 'hh': // 9 hours / in 9 hours / 9 hours ago 27512 if (withoutSuffix || isFuture) { 27513 return result + (plural(number) ? 'hodiny' : 'hodin'); 27514 } else { 27515 return result + 'hodinami'; 27516 } 27517 case 'd': // a day / in a day / a day ago 27518 return withoutSuffix || isFuture ? 'den' : 'dnem'; 27519 case 'dd': // 9 days / in 9 days / 9 days ago 27520 if (withoutSuffix || isFuture) { 27521 return result + (plural(number) ? 'dny' : 'dnÃ'); 27522 } else { 27523 return result + 'dny'; 27524 } 27525 case 'M': // a month / in a month / a month ago 27526 return withoutSuffix || isFuture ? 'mÄsÃc' : 'mÄsÃcem'; 27527 case 'MM': // 9 months / in 9 months / 9 months ago 27528 if (withoutSuffix || isFuture) { 27529 return result + (plural(number) ? 'mÄsÃce' : 'mÄsÃců'); 27530 } else { 27531 return result + 'mÄsÃci'; 27532 } 27533 case 'y': // a year / in a year / a year ago 27534 return withoutSuffix || isFuture ? 'rok' : 'rokem'; 27535 case 'yy': // 9 years / in 9 years / 9 years ago 27536 if (withoutSuffix || isFuture) { 27537 return result + (plural(number) ? 'roky' : 'let'); 27538 } else { 27539 return result + 'lety'; 27540 } 27541 } 27542 } 27543 27544 var cs = moment.defineLocale('cs', { 27545 months: months, 27546 monthsShort: monthsShort, 27547 monthsRegex: monthsRegex, 27548 monthsShortRegex: monthsRegex, 27549 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 27550 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 27551 monthsStrictRegex: 27552 /^(leden|ledna|února|únor|bÅezen|bÅezna|duben|dubna|kvÄten|kvÄtna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|záÅÃ|ÅÃjen|ÅÃjna|listopadu|listopad|prosinec|prosince)/i, 27553 monthsShortStrictRegex: 27554 /^(led|úno|bÅe|dub|kvÄ|Ävn|Ävc|srp|záÅ|ÅÃj|lis|pro)/i, 27555 monthsParse: monthsParse, 27556 longMonthsParse: monthsParse, 27557 shortMonthsParse: monthsParse, 27558 weekdays: 'nedÄle_pondÄlÃ_úterý_stÅeda_Ätvrtek_pátek_sobota'.split('_'), 27559 weekdaysShort: 'ne_po_út_st_Ät_pá_so'.split('_'), 27560 weekdaysMin: 'ne_po_út_st_Ät_pá_so'.split('_'), 27561 longDateFormat: { 27562 LT: 'H:mm', 27563 LTS: 'H:mm:ss', 27564 L: 'DD.MM.YYYY', 27565 LL: 'D. MMMM YYYY', 27566 LLL: 'D. MMMM YYYY H:mm', 27567 LLLL: 'dddd D. MMMM YYYY H:mm', 27568 l: 'D. M. YYYY', 27569 }, 27570 calendar: { 27571 sameDay: '[dnes v] LT', 27572 nextDay: '[zÃtra v] LT', 27573 nextWeek: function () { 27574 switch (this.day()) { 27575 case 0: 27576 return '[v nedÄli v] LT'; 27577 case 1: 27578 case 2: 27579 return '[v] dddd [v] LT'; 27580 case 3: 27581 return '[ve stÅedu v] LT'; 27582 case 4: 27583 return '[ve Ätvrtek v] LT'; 27584 case 5: 27585 return '[v pátek v] LT'; 27586 case 6: 27587 return '[v sobotu v] LT'; 27588 } 27589 }, 27590 lastDay: '[vÄera v] LT', 27591 lastWeek: function () { 27592 switch (this.day()) { 27593 case 0: 27594 return '[minulou nedÄli v] LT'; 27595 case 1: 27596 case 2: 27597 return '[minulé] dddd [v] LT'; 27598 case 3: 27599 return '[minulou stÅedu v] LT'; 27600 case 4: 27601 case 5: 27602 return '[minulý] dddd [v] LT'; 27603 case 6: 27604 return '[minulou sobotu v] LT'; 27605 } 27606 }, 27607 sameElse: 'L', 27608 }, 27609 relativeTime: { 27610 future: 'za %s', 27611 past: 'pÅed %s', 27612 s: translate, 27613 ss: translate, 27614 m: translate, 27615 mm: translate, 27616 h: translate, 27617 hh: translate, 27618 d: translate, 27619 dd: translate, 27620 M: translate, 27621 MM: translate, 27622 y: translate, 27623 yy: translate, 27624 }, 27625 dayOfMonthOrdinalParse: /\d{1,2}\./, 27626 ordinal: '%d.', 27627 week: { 27628 dow: 1, // Monday is the first day of the week. 27629 doy: 4, // The week that contains Jan 4th is the first week of the year. 27630 }, 27631 }); 27632 27633 return cs; 27634 27635}))); 27636 27637 27638/***/ }), 27639 27640/***/ 6571: 27641/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27642 27643//! moment.js locale configuration 27644//! locale : Tajik [tg] 27645//! author : Orif N. Jr. : https://github.com/orif-jr 27646 27647;(function (global, factory) { 27648 true ? factory(__webpack_require__(5093)) : 27649 0 27650}(this, (function (moment) { 'use strict'; 27651 27652 //! moment.js locale configuration 27653 27654 var suffixes = { 27655 0: '-Ñм', 27656 1: '-Ñм', 27657 2: '-Ñм', 27658 3: '-Ñм', 27659 4: '-Ñм', 27660 5: '-Ñм', 27661 6: '-Ñм', 27662 7: '-Ñм', 27663 8: '-Ñм', 27664 9: '-Ñм', 27665 10: '-Ñм', 27666 12: '-Ñм', 27667 13: '-Ñм', 27668 20: '-Ñм', 27669 30: '-Ñм', 27670 40: '-Ñм', 27671 50: '-Ñм', 27672 60: '-Ñм', 27673 70: '-Ñм', 27674 80: '-Ñм', 27675 90: '-Ñм', 27676 100: '-Ñм', 27677 }; 27678 27679 var tg = moment.defineLocale('tg', { 27680 months: { 27681 format: 'ÑнваÑи_ÑевÑали_маÑÑи_апÑели_майи_иÑни_иÑли_авгÑÑÑи_ÑенÑÑбÑи_окÑÑбÑи_ноÑбÑи_декабÑи'.split( 27682 '_' 27683 ), 27684 standalone: 27685 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split( 27686 '_' 27687 ), 27688 }, 27689 monthsShort: 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 27690 weekdays: 'ÑкÑанбе_дÑÑанбе_ÑеÑанбе_ÑоÑÑанбе_панҷÑанбе_Ò·ÑмÑа_Ñанбе'.split( 27691 '_' 27692 ), 27693 weekdaysShort: 'ÑÑб_дÑб_ÑÑб_ÑÑб_пÑб_Ò·Ñм_Ñнб'.split('_'), 27694 weekdaysMin: 'ÑÑ_дÑ_ÑÑ_ÑÑ_пÑ_ҷм_Ñб'.split('_'), 27695 longDateFormat: { 27696 LT: 'HH:mm', 27697 LTS: 'HH:mm:ss', 27698 L: 'DD.MM.YYYY', 27699 LL: 'D MMMM YYYY', 27700 LLL: 'D MMMM YYYY HH:mm', 27701 LLLL: 'dddd, D MMMM YYYY HH:mm', 27702 }, 27703 calendar: { 27704 sameDay: '[ÐмÑӯз ÑоаÑи] LT', 27705 nextDay: '[ФаÑдо ÑоаÑи] LT', 27706 lastDay: '[ÐиÑӯз ÑоаÑи] LT', 27707 nextWeek: 'dddd[и] [ҳаÑÑаи оÑнда ÑоаÑи] LT', 27708 lastWeek: 'dddd[и] [ҳаÑÑаи гÑзаÑÑа ÑоаÑи] LT', 27709 sameElse: 'L', 27710 }, 27711 relativeTime: { 27712 future: 'баÑди %s', 27713 past: '%s пеÑ', 27714 s: 'ÑкÑанд ÑониÑ', 27715 m: 'Ñк даÒиÒа', 27716 mm: '%d даÒиÒа', 27717 h: 'Ñк ÑоаÑ', 27718 hh: '%d ÑоаÑ', 27719 d: 'Ñк Ñӯз', 27720 dd: '%d Ñӯз', 27721 M: 'Ñк моҳ', 27722 MM: '%d моҳ', 27723 y: 'Ñк Ñол', 27724 yy: '%d Ñол', 27725 }, 27726 meridiemParse: /Ñаб|ÑÑбҳ|Ñӯз|бегоҳ/, 27727 meridiemHour: function (hour, meridiem) { 27728 if (hour === 12) { 27729 hour = 0; 27730 } 27731 if (meridiem === 'Ñаб') { 27732 return hour < 4 ? hour : hour + 12; 27733 } else if (meridiem === 'ÑÑбҳ') { 27734 return hour; 27735 } else if (meridiem === 'Ñӯз') { 27736 return hour >= 11 ? hour : hour + 12; 27737 } else if (meridiem === 'бегоҳ') { 27738 return hour + 12; 27739 } 27740 }, 27741 meridiem: function (hour, minute, isLower) { 27742 if (hour < 4) { 27743 return 'Ñаб'; 27744 } else if (hour < 11) { 27745 return 'ÑÑбҳ'; 27746 } else if (hour < 16) { 27747 return 'Ñӯз'; 27748 } else if (hour < 19) { 27749 return 'бегоҳ'; 27750 } else { 27751 return 'Ñаб'; 27752 } 27753 }, 27754 dayOfMonthOrdinalParse: /\d{1,2}-(Ñм|Ñм)/, 27755 ordinal: function (number) { 27756 var a = number % 10, 27757 b = number >= 100 ? 100 : null; 27758 return number + (suffixes[number] || suffixes[a] || suffixes[b]); 27759 }, 27760 week: { 27761 dow: 1, // Monday is the first day of the week. 27762 doy: 7, // The week that contains Jan 1th is the first week of the year. 27763 }, 27764 }); 27765 27766 return tg; 27767 27768}))); 27769 27770 27771/***/ }), 27772 27773/***/ 6575: 27774/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27775 27776//! moment.js locale configuration 27777//! locale : Spanish (United States) [es-us] 27778//! author : bustta : https://github.com/bustta 27779//! author : chrisrodz : https://github.com/chrisrodz 27780 27781;(function (global, factory) { 27782 true ? factory(__webpack_require__(5093)) : 27783 0 27784}(this, (function (moment) { 'use strict'; 27785 27786 //! moment.js locale configuration 27787 27788 var monthsShortDot = 27789 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( 27790 '_' 27791 ), 27792 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), 27793 monthsParse = [ 27794 /^ene/i, 27795 /^feb/i, 27796 /^mar/i, 27797 /^abr/i, 27798 /^may/i, 27799 /^jun/i, 27800 /^jul/i, 27801 /^ago/i, 27802 /^sep/i, 27803 /^oct/i, 27804 /^nov/i, 27805 /^dic/i, 27806 ], 27807 monthsRegex = 27808 /^(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; 27809 27810 var esUs = moment.defineLocale('es-us', { 27811 months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( 27812 '_' 27813 ), 27814 monthsShort: function (m, format) { 27815 if (!m) { 27816 return monthsShortDot; 27817 } else if (/-MMM-/.test(format)) { 27818 return monthsShort[m.month()]; 27819 } else { 27820 return monthsShortDot[m.month()]; 27821 } 27822 }, 27823 monthsRegex: monthsRegex, 27824 monthsShortRegex: monthsRegex, 27825 monthsStrictRegex: 27826 /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 27827 monthsShortStrictRegex: 27828 /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 27829 monthsParse: monthsParse, 27830 longMonthsParse: monthsParse, 27831 shortMonthsParse: monthsParse, 27832 weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 27833 weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 27834 weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), 27835 weekdaysParseExact: true, 27836 longDateFormat: { 27837 LT: 'h:mm A', 27838 LTS: 'h:mm:ss A', 27839 L: 'MM/DD/YYYY', 27840 LL: 'D [de] MMMM [de] YYYY', 27841 LLL: 'D [de] MMMM [de] YYYY h:mm A', 27842 LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A', 27843 }, 27844 calendar: { 27845 sameDay: function () { 27846 return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 27847 }, 27848 nextDay: function () { 27849 return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 27850 }, 27851 nextWeek: function () { 27852 return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 27853 }, 27854 lastDay: function () { 27855 return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 27856 }, 27857 lastWeek: function () { 27858 return ( 27859 '[el] dddd [pasado a la' + 27860 (this.hours() !== 1 ? 's' : '') + 27861 '] LT' 27862 ); 27863 }, 27864 sameElse: 'L', 27865 }, 27866 relativeTime: { 27867 future: 'en %s', 27868 past: 'hace %s', 27869 s: 'unos segundos', 27870 ss: '%d segundos', 27871 m: 'un minuto', 27872 mm: '%d minutos', 27873 h: 'una hora', 27874 hh: '%d horas', 27875 d: 'un dÃa', 27876 dd: '%d dÃas', 27877 w: 'una semana', 27878 ww: '%d semanas', 27879 M: 'un mes', 27880 MM: '%d meses', 27881 y: 'un año', 27882 yy: '%d años', 27883 }, 27884 dayOfMonthOrdinalParse: /\d{1,2}º/, 27885 ordinal: '%dº', 27886 week: { 27887 dow: 0, // Sunday is the first day of the week. 27888 doy: 6, // The week that contains Jan 6th is the first week of the year. 27889 }, 27890 }); 27891 27892 return esUs; 27893 27894}))); 27895 27896 27897/***/ }), 27898 27899/***/ 6584: 27900/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27901 27902//! moment.js locale configuration 27903//! locale : English (Ireland) [en-ie] 27904//! author : Chris Cartlidge : https://github.com/chriscartlidge 27905 27906;(function (global, factory) { 27907 true ? factory(__webpack_require__(5093)) : 27908 0 27909}(this, (function (moment) { 'use strict'; 27910 27911 //! moment.js locale configuration 27912 27913 var enIe = moment.defineLocale('en-ie', { 27914 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 27915 '_' 27916 ), 27917 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 27918 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 27919 '_' 27920 ), 27921 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 27922 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 27923 longDateFormat: { 27924 LT: 'HH:mm', 27925 LTS: 'HH:mm:ss', 27926 L: 'DD/MM/YYYY', 27927 LL: 'D MMMM YYYY', 27928 LLL: 'D MMMM YYYY HH:mm', 27929 LLLL: 'dddd D MMMM YYYY HH:mm', 27930 }, 27931 calendar: { 27932 sameDay: '[Today at] LT', 27933 nextDay: '[Tomorrow at] LT', 27934 nextWeek: 'dddd [at] LT', 27935 lastDay: '[Yesterday at] LT', 27936 lastWeek: '[Last] dddd [at] LT', 27937 sameElse: 'L', 27938 }, 27939 relativeTime: { 27940 future: 'in %s', 27941 past: '%s ago', 27942 s: 'a few seconds', 27943 ss: '%d seconds', 27944 m: 'a minute', 27945 mm: '%d minutes', 27946 h: 'an hour', 27947 hh: '%d hours', 27948 d: 'a day', 27949 dd: '%d days', 27950 M: 'a month', 27951 MM: '%d months', 27952 y: 'a year', 27953 yy: '%d years', 27954 }, 27955 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 27956 ordinal: function (number) { 27957 var b = number % 10, 27958 output = 27959 ~~((number % 100) / 10) === 1 27960 ? 'th' 27961 : b === 1 27962 ? 'st' 27963 : b === 2 27964 ? 'nd' 27965 : b === 3 27966 ? 'rd' 27967 : 'th'; 27968 return number + output; 27969 }, 27970 week: { 27971 dow: 1, // Monday is the first day of the week. 27972 doy: 4, // The week that contains Jan 4th is the first week of the year. 27973 }, 27974 }); 27975 27976 return enIe; 27977 27978}))); 27979 27980 27981/***/ }), 27982 27983/***/ 6618: 27984/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 27985 27986//! moment.js locale configuration 27987//! locale : Ukrainian [uk] 27988//! author : zemlanin : https://github.com/zemlanin 27989//! Author : Menelion Elensúle : https://github.com/Oire 27990 27991;(function (global, factory) { 27992 true ? factory(__webpack_require__(5093)) : 27993 0 27994}(this, (function (moment) { 'use strict'; 27995 27996 //! moment.js locale configuration 27997 27998 function plural(word, num) { 27999 var forms = word.split('_'); 28000 return num % 10 === 1 && num % 100 !== 11 28001 ? forms[0] 28002 : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) 28003 ? forms[1] 28004 : forms[2]; 28005 } 28006 function relativeTimeWithPlural(number, withoutSuffix, key) { 28007 var format = { 28008 ss: withoutSuffix ? 'ÑекÑнда_ÑекÑнди_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑнди_ÑекÑнд', 28009 mm: withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½', 28010 hh: withoutSuffix ? 'година_години_годин' : 'годинÑ_години_годин', 28011 dd: 'денÑ_днÑ_днÑв', 28012 MM: 'мÑÑÑÑÑ_мÑÑÑÑÑ_мÑÑÑÑÑв', 28013 yy: 'ÑÑк_Ñоки_ÑокÑв', 28014 }; 28015 if (key === 'm') { 28016 return withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ'; 28017 } else if (key === 'h') { 28018 return withoutSuffix ? 'година' : 'годинÑ'; 28019 } else { 28020 return number + ' ' + plural(format[key], +number); 28021 } 28022 } 28023 function weekdaysCaseReplace(m, format) { 28024 var weekdays = { 28025 nominative: 28026 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑеда_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑа'.split( 28027 '_' 28028 ), 28029 accusative: 28030 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑедÑ_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑÑ'.split( 28031 '_' 28032 ), 28033 genitive: 28034 'недÑлÑ_понедÑлка_вÑвÑоÑка_ÑеÑеди_ÑеÑвеÑга_пâÑÑниÑÑ_ÑÑбоÑи'.split( 28035 '_' 28036 ), 28037 }, 28038 nounCase; 28039 28040 if (m === true) { 28041 return weekdays['nominative'] 28042 .slice(1, 7) 28043 .concat(weekdays['nominative'].slice(0, 1)); 28044 } 28045 if (!m) { 28046 return weekdays['nominative']; 28047 } 28048 28049 nounCase = /(\[[ÐвУÑ]\]) ?dddd/.test(format) 28050 ? 'accusative' 28051 : /\[?(?:минÑлоÑ|наÑÑÑпноÑ)? ?\] ?dddd/.test(format) 28052 ? 'genitive' 28053 : 'nominative'; 28054 return weekdays[nounCase][m.day()]; 28055 } 28056 function processHoursFunction(str) { 28057 return function () { 28058 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; 28059 }; 28060 } 28061 28062 var uk = moment.defineLocale('uk', { 28063 months: { 28064 format: 'ÑÑÑнÑ_лÑÑого_беÑезнÑ_квÑÑнÑ_ÑÑавнÑ_ÑеÑвнÑ_липнÑ_ÑеÑпнÑ_веÑеÑнÑ_жовÑнÑ_лиÑÑопада_гÑÑднÑ'.split( 28065 '_' 28066 ), 28067 standalone: 28068 'ÑÑÑенÑ_лÑÑий_беÑезенÑ_квÑÑенÑ_ÑÑавенÑ_ÑеÑвенÑ_липенÑ_ÑеÑпенÑ_веÑеÑенÑ_жовÑенÑ_лиÑÑопад_гÑÑденÑ'.split( 28069 '_' 28070 ), 28071 }, 28072 monthsShort: 'ÑÑÑ_лÑÑ_беÑ_квÑÑ_ÑÑав_ÑеÑв_лип_ÑеÑп_веÑ_жовÑ_лиÑÑ_гÑÑд'.split( 28073 '_' 28074 ), 28075 weekdays: weekdaysCaseReplace, 28076 weekdaysShort: 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 28077 weekdaysMin: 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 28078 longDateFormat: { 28079 LT: 'HH:mm', 28080 LTS: 'HH:mm:ss', 28081 L: 'DD.MM.YYYY', 28082 LL: 'D MMMM YYYY Ñ.', 28083 LLL: 'D MMMM YYYY Ñ., HH:mm', 28084 LLLL: 'dddd, D MMMM YYYY Ñ., HH:mm', 28085 }, 28086 calendar: { 28087 sameDay: processHoursFunction('[СÑÐ¾Ð³Ð¾Ð´Ð½Ñ '), 28088 nextDay: processHoursFunction('[ÐавÑÑа '), 28089 lastDay: processHoursFunction('[ÐÑоÑа '), 28090 nextWeek: processHoursFunction('[У] dddd ['), 28091 lastWeek: function () { 28092 switch (this.day()) { 28093 case 0: 28094 case 3: 28095 case 5: 28096 case 6: 28097 return processHoursFunction('[ÐинÑлоÑ] dddd [').call(this); 28098 case 1: 28099 case 2: 28100 case 4: 28101 return processHoursFunction('[ÐинÑлого] dddd [').call(this); 28102 } 28103 }, 28104 sameElse: 'L', 28105 }, 28106 relativeTime: { 28107 future: 'за %s', 28108 past: '%s ÑомÑ', 28109 s: 'декÑлÑка ÑекÑнд', 28110 ss: relativeTimeWithPlural, 28111 m: relativeTimeWithPlural, 28112 mm: relativeTimeWithPlural, 28113 h: 'годинÑ', 28114 hh: relativeTimeWithPlural, 28115 d: 'денÑ', 28116 dd: relativeTimeWithPlural, 28117 M: 'мÑÑÑÑÑ', 28118 MM: relativeTimeWithPlural, 28119 y: 'ÑÑк', 28120 yy: relativeTimeWithPlural, 28121 }, 28122 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason 28123 meridiemParse: /ноÑÑ|ÑанкÑ|днÑ|веÑоÑа/, 28124 isPM: function (input) { 28125 return /^(днÑ|веÑоÑа)$/.test(input); 28126 }, 28127 meridiem: function (hour, minute, isLower) { 28128 if (hour < 4) { 28129 return 'ноÑÑ'; 28130 } else if (hour < 12) { 28131 return 'ÑанкÑ'; 28132 } else if (hour < 17) { 28133 return 'днÑ'; 28134 } else { 28135 return 'веÑоÑа'; 28136 } 28137 }, 28138 dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, 28139 ordinal: function (number, period) { 28140 switch (period) { 28141 case 'M': 28142 case 'd': 28143 case 'DDD': 28144 case 'w': 28145 case 'W': 28146 return number + '-й'; 28147 case 'D': 28148 return number + '-го'; 28149 default: 28150 return number; 28151 } 28152 }, 28153 week: { 28154 dow: 1, // Monday is the first day of the week. 28155 doy: 7, // The week that contains Jan 7th is the first week of the year. 28156 }, 28157 }); 28158 28159 return uk; 28160 28161}))); 28162 28163 28164/***/ }), 28165 28166/***/ 6637: 28167/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28168 28169//! moment.js locale configuration 28170//! locale : Slovenian [sl] 28171//! author : Robert SedovÅ¡ek : https://github.com/sedovsek 28172 28173;(function (global, factory) { 28174 true ? factory(__webpack_require__(5093)) : 28175 0 28176}(this, (function (moment) { 'use strict'; 28177 28178 //! moment.js locale configuration 28179 28180 function processRelativeTime(number, withoutSuffix, key, isFuture) { 28181 var result = number + ' '; 28182 switch (key) { 28183 case 's': 28184 return withoutSuffix || isFuture 28185 ? 'nekaj sekund' 28186 : 'nekaj sekundami'; 28187 case 'ss': 28188 if (number === 1) { 28189 result += withoutSuffix ? 'sekundo' : 'sekundi'; 28190 } else if (number === 2) { 28191 result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; 28192 } else if (number < 5) { 28193 result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; 28194 } else { 28195 result += 'sekund'; 28196 } 28197 return result; 28198 case 'm': 28199 return withoutSuffix ? 'ena minuta' : 'eno minuto'; 28200 case 'mm': 28201 if (number === 1) { 28202 result += withoutSuffix ? 'minuta' : 'minuto'; 28203 } else if (number === 2) { 28204 result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; 28205 } else if (number < 5) { 28206 result += withoutSuffix || isFuture ? 'minute' : 'minutami'; 28207 } else { 28208 result += withoutSuffix || isFuture ? 'minut' : 'minutami'; 28209 } 28210 return result; 28211 case 'h': 28212 return withoutSuffix ? 'ena ura' : 'eno uro'; 28213 case 'hh': 28214 if (number === 1) { 28215 result += withoutSuffix ? 'ura' : 'uro'; 28216 } else if (number === 2) { 28217 result += withoutSuffix || isFuture ? 'uri' : 'urama'; 28218 } else if (number < 5) { 28219 result += withoutSuffix || isFuture ? 'ure' : 'urami'; 28220 } else { 28221 result += withoutSuffix || isFuture ? 'ur' : 'urami'; 28222 } 28223 return result; 28224 case 'd': 28225 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; 28226 case 'dd': 28227 if (number === 1) { 28228 result += withoutSuffix || isFuture ? 'dan' : 'dnem'; 28229 } else if (number === 2) { 28230 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; 28231 } else { 28232 result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; 28233 } 28234 return result; 28235 case 'M': 28236 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; 28237 case 'MM': 28238 if (number === 1) { 28239 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; 28240 } else if (number === 2) { 28241 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; 28242 } else if (number < 5) { 28243 result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; 28244 } else { 28245 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; 28246 } 28247 return result; 28248 case 'y': 28249 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; 28250 case 'yy': 28251 if (number === 1) { 28252 result += withoutSuffix || isFuture ? 'leto' : 'letom'; 28253 } else if (number === 2) { 28254 result += withoutSuffix || isFuture ? 'leti' : 'letoma'; 28255 } else if (number < 5) { 28256 result += withoutSuffix || isFuture ? 'leta' : 'leti'; 28257 } else { 28258 result += withoutSuffix || isFuture ? 'let' : 'leti'; 28259 } 28260 return result; 28261 } 28262 } 28263 28264 var sl = moment.defineLocale('sl', { 28265 months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split( 28266 '_' 28267 ), 28268 monthsShort: 28269 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split( 28270 '_' 28271 ), 28272 monthsParseExact: true, 28273 weekdays: 'nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota'.split('_'), 28274 weekdaysShort: 'ned._pon._tor._sre._Äet._pet._sob.'.split('_'), 28275 weekdaysMin: 'ne_po_to_sr_Äe_pe_so'.split('_'), 28276 weekdaysParseExact: true, 28277 longDateFormat: { 28278 LT: 'H:mm', 28279 LTS: 'H:mm:ss', 28280 L: 'DD. MM. YYYY', 28281 LL: 'D. MMMM YYYY', 28282 LLL: 'D. MMMM YYYY H:mm', 28283 LLLL: 'dddd, D. MMMM YYYY H:mm', 28284 }, 28285 calendar: { 28286 sameDay: '[danes ob] LT', 28287 nextDay: '[jutri ob] LT', 28288 28289 nextWeek: function () { 28290 switch (this.day()) { 28291 case 0: 28292 return '[v] [nedeljo] [ob] LT'; 28293 case 3: 28294 return '[v] [sredo] [ob] LT'; 28295 case 6: 28296 return '[v] [soboto] [ob] LT'; 28297 case 1: 28298 case 2: 28299 case 4: 28300 case 5: 28301 return '[v] dddd [ob] LT'; 28302 } 28303 }, 28304 lastDay: '[vÄeraj ob] LT', 28305 lastWeek: function () { 28306 switch (this.day()) { 28307 case 0: 28308 return '[prejÅ¡njo] [nedeljo] [ob] LT'; 28309 case 3: 28310 return '[prejÅ¡njo] [sredo] [ob] LT'; 28311 case 6: 28312 return '[prejÅ¡njo] [soboto] [ob] LT'; 28313 case 1: 28314 case 2: 28315 case 4: 28316 case 5: 28317 return '[prejÅ¡nji] dddd [ob] LT'; 28318 } 28319 }, 28320 sameElse: 'L', 28321 }, 28322 relativeTime: { 28323 future: 'Äez %s', 28324 past: 'pred %s', 28325 s: processRelativeTime, 28326 ss: processRelativeTime, 28327 m: processRelativeTime, 28328 mm: processRelativeTime, 28329 h: processRelativeTime, 28330 hh: processRelativeTime, 28331 d: processRelativeTime, 28332 dd: processRelativeTime, 28333 M: processRelativeTime, 28334 MM: processRelativeTime, 28335 y: processRelativeTime, 28336 yy: processRelativeTime, 28337 }, 28338 dayOfMonthOrdinalParse: /\d{1,2}\./, 28339 ordinal: '%d.', 28340 week: { 28341 dow: 1, // Monday is the first day of the week. 28342 doy: 7, // The week that contains Jan 7th is the first week of the year. 28343 }, 28344 }); 28345 28346 return sl; 28347 28348}))); 28349 28350 28351/***/ }), 28352 28353/***/ 6794: 28354/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28355 28356//! moment.js locale configuration 28357//! locale : Albanian [sq] 28358//! author : Flakërim Ismani : https://github.com/flakerimi 28359//! author : Menelion Elensúle : https://github.com/Oire 28360//! author : Oerd Cukalla : https://github.com/oerd 28361 28362;(function (global, factory) { 28363 true ? factory(__webpack_require__(5093)) : 28364 0 28365}(this, (function (moment) { 'use strict'; 28366 28367 //! moment.js locale configuration 28368 28369 var sq = moment.defineLocale('sq', { 28370 months: 'Janar_Shku
28370rt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( 28371 '_' 28372 ), 28373 monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), 28374 weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( 28375 '_' 28376 ), 28377 weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), 28378 weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), 28379 weekdaysParseExact: true, 28380 meridiemParse: /PD|MD/, 28381 isPM: function (input) { 28382 return input.charAt(0) === 'M'; 28383 }, 28384 meridiem: function (hours, minutes, isLower) { 28385 return hours < 12 ? 'PD' : 'MD'; 28386 }, 28387 longDateFormat: { 28388 LT: 'HH:mm', 28389 LTS: 'HH:mm:ss', 28390 L: 'DD/MM/YYYY', 28391 LL: 'D MMMM YYYY', 28392 LLL: 'D MMMM YYYY HH:mm', 28393 LLLL: 'dddd, D MMMM YYYY HH:mm', 28394 }, 28395 calendar: { 28396 sameDay: '[Sot në] LT', 28397 nextDay: '[Nesër në] LT', 28398 nextWeek: 'dddd [në] LT', 28399 lastDay: '[Dje në] LT', 28400 lastWeek: 'dddd [e kaluar në] LT', 28401 sameElse: 'L', 28402 }, 28403 relativeTime: { 28404 future: 'në %s', 28405 past: '%s më parë', 28406 s: 'disa sekonda', 28407 ss: '%d sekonda', 28408 m: 'një minutë', 28409 mm: '%d minuta', 28410 h: 'një orë', 28411 hh: '%d orë', 28412 d: 'një ditë', 28413 dd: '%d ditë', 28414 M: 'një muaj', 28415 MM: '%d muaj', 28416 y: 'një vit', 28417 yy: '%d vite', 28418 }, 28419 dayOfMonthOrdinalParse: /\d{1,2}\./, 28420 ordinal: '%d.', 28421 week: { 28422 dow: 1, // Monday is the first day of the week. 28423 doy: 4, // The week that contains Jan 4th is the first week of the year. 28424 }, 28425 }); 28426 28427 return sq; 28428 28429}))); 28430 28431 28432/***/ }), 28433 28434/***/ 6870: 28435/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28436 28437//! moment.js locale configuration 28438//! locale : Cambodian [km] 28439//! author : Kruy Vanna : https://github.com/kruyvanna 28440 28441;(function (global, factory) { 28442 true ? factory(__webpack_require__(5093)) : 28443 0 28444}(this, (function (moment) { 'use strict'; 28445 28446 //! moment.js locale configuration 28447 28448 var symbolMap = { 28449 1: 'á¡', 28450 2: 'á¢', 28451 3: 'á£', 28452 4: 'á¤', 28453 5: 'á¥', 28454 6: 'á¦', 28455 7: 'á§', 28456 8: 'á¨', 28457 9: 'á©', 28458 0: 'á ', 28459 }, 28460 numberMap = { 28461 'á¡': '1', 28462 'á¢': '2', 28463 'á£': '3', 28464 'á¤': '4', 28465 'á¥': '5', 28466 'á¦': '6', 28467 'á§': '7', 28468 'á¨': '8', 28469 'á©': '9', 28470 'á ': '0', 28471 }; 28472 28473 var km = moment.defineLocale('km', { 28474 months: 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 28475 '_' 28476 ), 28477 monthsShort: 28478 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 28479 '_' 28480 ), 28481 weekdays: 'á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá'.split('_'), 28482 weekdaysShort: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 28483 weekdaysMin: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 28484 weekdaysParseExact: true, 28485 longDateFormat: { 28486 LT: 'HH:mm', 28487 LTS: 'HH:mm:ss', 28488 L: 'DD/MM/YYYY', 28489 LL: 'D MMMM YYYY', 28490 LLL: 'D MMMM YYYY HH:mm', 28491 LLLL: 'dddd, D MMMM YYYY HH:mm', 28492 }, 28493 meridiemParse: /áááá¹á|áááá¶á /, 28494 isPM: function (input) { 28495 return input === 'áááá¶á '; 28496 }, 28497 meridiem: function (hour, minute, isLower) { 28498 if (hour < 12) {
vendor: 7,998 bytes, lines 28499-28746
28499 return 'áááá¹á'; 28500 } else { 28501 return 'áááá¶á '; 28502 } 28503 }, 28504 calendar: { 28505 sameDay: '[ááááááá áááá] LT', 28506 nextDay: '[ááá¢áá áááá] LT', 28507 nextWeek: 'dddd [áááá] LT', 28508 lastDay: '[áááá·ááá·á áááá] LT', 28509 lastWeek: 'dddd [ááááá¶á ááá»á] [áááá] LT', 28510 sameElse: 'L', 28511 }, 28512 relativeTime: { 28513 future: '%sááá', 28514 past: '%sáá»á', 28515 s: 'ááá»áááá¶ááá·áá¶áá¸', 28516 ss: '%d áá·áá¶áá¸', 28517 m: 'áá½ááá¶áá¸', 28518 mm: '%d áá¶áá¸', 28519 h: 'áá½ááááá', 28520 hh: '%d áááá', 28521 d: 'áá½ááááá', 28522 dd: '%d áááá', 28523 M: 'áá½ááá', 28524 MM: '%d áá', 28525 y: 'áá½ááááá¶á', 28526 yy: '%d áááá¶á', 28527 }, 28528 dayOfMonthOrdinalParse: /áá¸\d{1,2}/, 28529 ordinal: 'áá¸%d', 28530 preparse: function (string) { 28531 return string.replace(/[á¡á¢á£á¤á¥á¦á§á¨á©á ]/g, function (match) { 28532 return numberMap[match]; 28533 }); 28534 }, 28535 postformat: function (string) { 28536 return string.replace(/\d/g, function (match) { 28537 return symbolMap[match]; 28538 }); 28539 }, 28540 week: { 28541 dow: 1, // Monday is the first day of the week. 28542 doy: 4, // The week that contains Jan 4th is the first week of the year. 28543 }, 28544 }); 28545 28546 return km; 28547 28548}))); 28549 28550 28551/***/ }), 28552 28553/***/ 6947: 28554/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28555 28556//! moment.js locale configuration 28557//! locale : Arabic (Palestine) [ar-ps] 28558//! author : Majd Al-Shihabi : https://github.com/majdal 28559 28560;(function (global, factory) { 28561 true ? factory(__webpack_require__(5093)) : 28562 0 28563}(this, (function (moment) { 'use strict'; 28564 28565 //! moment.js locale configuration 28566 28567 var symbolMap = { 28568 1: 'Ù¡', 28569 2: 'Ù¢', 28570 3: 'Ù£', 28571 4: 'Ù¤', 28572 5: 'Ù¥', 28573 6: 'Ù¦', 28574 7: 'Ù§', 28575 8: 'Ù¨', 28576 9: 'Ù©', 28577 0: 'Ù ', 28578 }, 28579 numberMap = { 28580 'Ù¡': '1', 28581 'Ù¢': '2', 28582 'Ù£': '3', 28583 'Ù¤': '4', 28584 'Ù¥': '5', 28585 'Ù¦': '6', 28586 'Ù§': '7', 28587 'Ù¨': '8', 28588 'Ù©': '9', 28589 'Ù ': '0', 28590 }; 28591 28592 var arPs = moment.defineLocale('ar-ps', { 28593 months: 'ÙØ§ÙÙÙ Ø§ÙØ«Ø§ÙÙ_شباط_آذار_ÙÙØ³Ø§Ù_Ø£ÙÙØ§Ø±_ØØ²ÙراÙ_ت٠ÙÙØ²_آب_Ø£ÙÙÙÙ_ØªØ´Ø±Ù Ø§ÙØ£ÙÙÙ_تشرÙÙ Ø§ÙØ«Ø§ÙÙ_ÙØ§ÙÙÙ Ø§ÙØ£ÙÙÙ'.split( 28594 '_' 28595 ), 28596 monthsShort: 28597 'ÙÙ¢_شباط_آذار_ÙÙØ³Ø§Ù_Ø£ÙÙØ§Ø±_ØØ²ÙراÙ_ت٠ÙÙØ²_آب_Ø£ÙÙÙÙ_ت١_ت٢_ÙÙ¡'.split('_'), 28598 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 28599 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 28600 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 28601 weekdaysParseExact: true, 28602 longDateFormat: { 28603 LT: 'HH:mm', 28604 LTS: 'HH:mm:ss', 28605 L: 'DD/MM/YYYY', 28606 LL: 'D MMMM YYYY', 28607 LLL: 'D MMMM YYYY HH:mm', 28608 LLLL: 'dddd D MMMM YYYY HH:mm', 28609 }, 28610 meridiemParse: /ص|Ù /, 28611 isPM: function (input) { 28612 return 'Ù ' === input; 28613 }, 28614 meridiem: function (hour, minute, isLower) { 28615 if (hour < 12) { 28616 return 'ص'; 28617 } else { 28618 return 'Ù '; 28619 } 28620 }, 28621 calendar: { 28622 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 28623 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 28624 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 28625 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 28626 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 28627 sameElse: 'L', 28628 }, 28629 relativeTime: { 28630 future: 'ÙÙ %s', 28631 past: 'Ù ÙØ° %s', 28632 s: 'Ø«ÙØ§Ù', 28633 ss: '%d ثاÙÙØ©', 28634 m: 'دÙÙÙØ©', 28635 mm: '%d Ø¯ÙØ§Ø¦Ù', 28636 h: 'ساعة', 28637 hh: '%d ساعات', 28638 d: 'ÙÙÙ ', 28639 dd: '%d Ø£ÙØ§Ù ', 28640 M: 'Ø´ÙØ±', 28641 MM: '%d Ø£Ø´ÙØ±', 28642 y: 'Ø³ÙØ©', 28643 yy: '%d سÙÙØ§Øª', 28644 }, 28645 preparse: function (string) { 28646 return string 28647 .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) { 28648 return numberMap[match]; 28649 }) 28650 .split('') // reversed since negative lookbehind not supported everywhere 28651 .reverse() 28652 .join('') 28653 .replace(/[١٢](?![\u062a\u0643])/g, function (match) { 28654 return numberMap[match]; 28655 }) 28656 .split('') 28657 .reverse() 28658 .join('') 28659 .replace(/Ø/g, ','); 28660 }, 28661 postformat: function (string) { 28662 return string 28663 .replace(/\d/g, function (match) { 28664 return symbolMap[match]; 28665 }) 28666 .replace(/,/g, 'Ø'); 28667 }, 28668 week: { 28669 dow: 0, // Sunday is the first day of the week. 28670 doy: 6, // The week that contains Jan 6th is the first week of the year. 28671 }, 28672 }); 28673 28674 return arPs; 28675 28676}))); 28677 28678 28679/***/ }), 28680 28681/***/ 7071: 28682/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28683 28684//! moment.js locale configuration 28685//! locale : Frisian [fy] 28686//! author : Robin van der Vliet : https://github.com/robin0van0der0v 28687 28688;(function (global, factory) { 28689 true ? factory(__webpack_require__(5093)) : 28690 0 28691}(this, (function (moment) { 'use strict'; 28692 28693 //! moment.js locale configuration 28694 28695 var monthsShortWithDots = 28696 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), 28697 monthsShortWithoutDots = 28698 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); 28699 28700 var fy = moment.defineLocale('fy', { 28701 months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( 28702 '_' 28703 ), 28704 monthsShort: function (m, format) { 28705 if (!m) { 28706 return monthsShortWithDots; 28707 } else if (/-MMM-/.test(format)) { 28708 return monthsShortWithoutDots[m.month()]; 28709 } else { 28710 return monthsShortWithDots[m.month()]; 28711 } 28712 }, 28713 monthsParseExact: true, 28714 weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split( 28715 '_' 28716 ), 28717 weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), 28718 weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), 28719 weekdaysParseExact: true, 28720 longDateFormat: { 28721 LT: 'HH:mm', 28722 LTS: 'HH:mm:ss', 28723 L: 'DD-MM-YYYY', 28724 LL: 'D MMMM YYYY', 28725 LLL: 'D MMMM YYYY HH:mm', 28726 LLLL: 'dddd D MMMM YYYY HH:mm', 28727 }, 28728 calendar: { 28729 sameDay: '[hjoed om] LT', 28730 nextDay: '[moarn om] LT', 28731 nextWeek: 'dddd [om] LT', 28732 lastDay: '[juster om] LT', 28733 lastWeek: '[ôfrûne] dddd [om] LT', 28734 sameElse: 'L', 28735 }, 28736 relativeTime: { 28737 future: 'oer %s', 28738 past: '%s lyn', 28739 s: 'in pear sekonden', 28740 ss: '%d sekonden', 28741 m: 'ien minút', 28742 mm: '%d minuten', 28743 h: 'ien oere', 28744 hh: '%d oeren', 28745 d: 'ien dei', 28746 dd: '%d dagen',
28747 M: 'ien moanne', 28748 MM: '%d moannen', 28749 y: 'ien jier', 28750 yy: '%d jierren', 28751 }, 28752 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 28753 ordinal: function (number) { 28754 return ( 28755 number + 28756 (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de') 28757 ); 28758 }, 28759 week: { 28760 dow: 1, // Monday is the first day of the week. 28761 doy: 4, // The week that contains Jan 4th is the first week of the year. 28762 }, 28763 }); 28764 28765 return fy; 28766 28767}))); 28768 28769 28770/***/ }), 28771 28772/***/ 7075: 28773/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28774 28775//! moment.js locale configuration 28776//! locale : Maltese (Malta) [mt] 28777//! author : Alessandro Maruccia : https://github.com/alesma 28778 28779;(function (global, factory) { 28780 true ? factory(__webpack_require__(5093)) : 28781 0 28782}(this, (function (moment) { 'use strict'; 28783 28784 //! moment.js locale configuration 28785 28786 var mt = moment.defineLocale('mt', { 28787 months: 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄembru'.split( 28788 '_' 28789 ), 28790 monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ'.split('_'), 28791 weekdays: 28792 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split( 28793 '_' 28794 ), 28795 weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), 28796 weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.split('_'), 28797 longDateFormat: { 28798 LT: 'HH:mm', 28799 LTS: 'HH:mm:ss', 28800 L: 'DD/MM/YYYY', 28801 LL: 'D MMMM YYYY', 28802 LLL: 'D MMMM YYYY HH:mm', 28803 LLLL: 'dddd, D MMMM YYYY HH:mm', 28804 }, 28805 calendar: { 28806 sameDay: '[Illum fil-]LT', 28807 nextDay: '[Għada fil-]LT', 28808 nextWeek: 'dddd [fil-]LT', 28809 lastDay: '[Il-bieraħ fil-]LT', 28810 lastWeek: 'dddd [li għadda] [fil-]LT', 28811 sameElse: 'L', 28812 }, 28813 relativeTime: { 28814 future: 'fâ %s', 28815 past: '%s ilu', 28816 s: 'ftit sekondi', 28817 ss: '%d sekondi', 28818 m: 'minuta', 28819 mm: '%d minuti', 28820 h: 'siegħa', 28821 hh: '%d siegħat',
28822 d: 'Ä¡urnata', 28823 dd: '%d Ä¡ranet', 28824 M: 'xahar', 28825 MM: '%d xhur', 28826 y: 'sena', 28827 yy: '%d sni', 28828 }, 28829 dayOfMonthOrdinalParse: /\d{1,2}º/, 28830 ordinal: '%dº', 28831 week: { 28832 dow: 1, // Monday is the first day of the week. 28833 doy: 4, // The week that contains Jan 4th is the first week of the year. 28834 }, 28835 }); 28836 28837 return mt; 28838 28839}))); 28840 28841 28842/***/ }), 28843 28844/***/ 7088: 28845/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28846 28847//! moment.js locale configuration 28848//! locale : Kazakh [kk] 28849//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan 28850 28851;(function (global, factory) { 28852 true ? factory(__webpack_require__(5093)) : 28853 0 28854}(this, (function (moment) { 'use strict'; 28855 28856 //! moment.js locale configuration 28857 28858 var suffixes = { 28859 0: '-ÑÑ', 28860 1: '-ÑÑ', 28861 2: '-ÑÑ', 28862 3: '-ÑÑ', 28863 4: '-ÑÑ', 28864 5: '-ÑÑ', 28865 6: '-ÑÑ', 28866 7: '-ÑÑ', 28867 8: '-ÑÑ', 28868 9: '-ÑÑ', 28869 10: '-ÑÑ', 28870 20: '-ÑÑ', 28871 30: '-ÑÑ', 28872 40: '-ÑÑ', 28873 50: '-ÑÑ', 28874 60: '-ÑÑ', 28875 70: '-ÑÑ', 28876 80: '-ÑÑ', 28877 90: '-ÑÑ', 28878 100: '-ÑÑ', 28879 }; 28880 28881 var kk = moment.defineLocale('kk', { 28882 months: 'ÒаңÑаÑ_аÒпан_наÑÑÑз_ÑÓÑÑÑ_мамÑÑ_маÑÑÑм_ÑÑлде_ÑамÑз_ÒÑÑкүйек_Òазан_ÒаÑаÑа_желÑоÒÑан'.split( 28883 '_' 28884 ), 28885 monthsShort: 'Òаң_аÒп_наÑ_ÑÓÑ_мам_маÑ_ÑÑл_Ñам_ÒÑÑ_Òаз_ÒаÑ_жел'.split('_'), 28886 weekdays: 'жекÑенбÑ_дүйÑенбÑ_ÑейÑенбÑ_ÑÓÑÑенбÑ_бейÑенбÑ_жұма_ÑенбÑ'.split( 28887 '_' 28888 ), 28889 weekdaysShort: 'жек_дүй_Ñей_ÑÓÑ_бей_жұм_Ñен'.split('_'), 28890 weekdaysMin: 'жк_дй_Ñй_ÑÑ_бй_жм_Ñн'.split('_'), 28891 longDateFormat: { 28892 LT: 'HH:mm', 28893 LTS: 'HH:mm:ss', 28894 L: 'DD.MM.YYYY', 28895 LL: 'D MMMM YYYY', 28896 LLL: 'D MMMM YYYY HH:mm', 28897 LLLL: 'dddd, D MMMM YYYY HH:mm', 28898 }, 28899 calendar: { 28900 sameDay: '[ÐүгÑн ÑаÒаÑ] LT', 28901 nextDay: '[ÐÑÑең ÑаÒаÑ] LT', 28902 nextWeek: 'dddd [ÑаÒаÑ] LT', 28903 lastDay: '[ÐеÑе ÑаÒаÑ] LT', 28904 lastWeek: '[Ó¨Ñкен апÑанÑÒ£] dddd [ÑаÒаÑ] LT', 28905 sameElse: 'L', 28906 }, 28907 relativeTime: { 28908 future: '%s ÑÑÑнде', 28909 past: '%s бұÑÑн', 28910 s: 'бÑÑнеÑе ÑекÑнд', 28911 ss: '%d ÑекÑнд', 28912 m: 'бÑÑ Ð¼Ð¸Ð½ÑÑ', 28913 mm: '%d минÑÑ', 28914 h: 'бÑÑ ÑаÒаÑ', 28915 hh: '%d ÑаÒаÑ', 28916 d: 'бÑÑ ÐºÒ¯Ð½', 28917 dd: '%d күн', 28918 M: 'бÑÑ Ð°Ð¹', 28919 MM: '%d ай', 28920 y: 'бÑÑ Ð¶Ñл', 28921 yy: '%d жÑл', 28922 }, 28923 dayOfMonthOrdinalParse: /\d{1,2}-(ÑÑ|ÑÑ)/, 28924 ordinal: function (number) { 28925 var a = number % 10, 28926 b = number >= 100 ? 100 : null; 28927 return number + (suffixes[number] || suffixes[a] || suffixes[b]); 28928 }, 28929 week: { 28930 dow: 1, // Monday is the first day of the week. 28931 doy: 7, // The week that contains Jan 7th is the first week of the year. 28932 }, 28933 }); 28934 28935 return kk; 28936 28937}))); 28938 28939 28940/***/ }), 28941 28942/***/ 7160: 28943/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 28944 28945//! moment.js locale configuration 28946//! locale : Armenian [hy-am] 28947//! author : Armendarabyan : https://github.com/armendarabyan 28948 28949;(function (global, factory) { 28950 true ? factory(__webpack_require__(5093)) : 28951 0 28952}(this, (function (moment) { 'use strict'; 28953 28954 //! moment.js locale configuration 28955 28956 var hyAm = moment.defineLocale('hy-am', { 28957 months: { 28958 format: 'Õ°Õ¸ÖÕ¶Õ¾Õ¡ÖÕ«_ÖÕ¥Õ¿ÖÕ¾Õ¡ÖÕ«_Õ´Õ¡ÖÕ¿Õ«_Õ¡ÕºÖÕ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸ÖÕ¶Õ«Õ½Õ«_Õ°Õ¸ÖÕ¬Õ«Õ½Õ«_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥ÖÕ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«'.split( 28959 '_' 28960 ), 28961 standalone: 28962 'Õ°Õ¸ÖÕ¶Õ¾Õ¡Ö_ÖÕ¥Õ¿ÖÕ¾Õ¡Ö_Õ´Õ¡ÖÕ¿_Õ¡ÕºÖÕ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸ÖÕ¶Õ«Õ½_Õ°Õ¸ÖÕ¬Õ«Õ½_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö'.split( 28963 '_' 28964 ), 28965 }, 28966 monthsShort: 'Õ°Õ¶Õ¾_ÖÕ¿Ö_Õ´ÖÕ¿_Õ¡ÕºÖ_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'), 28967 weekdays: 28968 'Õ¯Õ«ÖÕ¡Õ¯Õ«_Õ¥ÖÕ¯Õ¸ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¥ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸ÖÖÕ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split( 28969 '_' 28970 ), 28971 weekdaysShort: 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 28972 weekdaysMin: 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 28973 longDateFormat: { 28974 LT: 'HH:mm', 28975 LTS: 'HH:mm:ss', 28976 L: 'DD.MM.YYYY', 28977 LL: 'D MMMM YYYY Õ©.', 28978 LLL: 'D MMMM YYYY Õ©., HH:mm', 28979 LLLL: 'dddd, D MMMM YYYY Õ©., HH:mm', 28980 }, 28981 calendar: { 28982 sameDay: '[Õ¡ÕµÕ½Ö Ö] LT', 28983 nextDay: '[Õ¾Õ¡Õ²Õ¨] LT', 28984 lastDay: '[Õ¥ÖÕ¥Õ¯] LT', 28985 nextWeek: function () { 28986 return 'dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 28987 }, 28988 lastWeek: function () { 28989 return '[Õ¡Õ¶ÖÕ¡Õ®] dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 28990 }, 28991 sameElse: 'L', 28992 }, 28993 relativeTime: { 28994 future: '%s Õ°Õ¥Õ¿Õ¸', 28995 past: '%s Õ¡Õ¼Õ¡Õ»', 28996 s: 'Õ´Õ« ÖÕ¡Õ¶Õ« Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 28997 ss: '%d Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 28998 m: 'ÖÕ¸ÕºÕ¥', 28999 mm: '%d ÖÕ¸ÕºÕ¥', 29000 h: 'ÕªÕ¡Õ´', 29001 hh: '%d ÕªÕ¡Õ´', 29002 d: 'Ö Ö', 29003 dd: '%d Ö Ö',
29004 M: 'Õ¡Õ´Õ«Õ½', 29005 MM: '%d Õ¡Õ´Õ«Õ½', 29006 y: 'Õ¿Õ¡ÖÕ«', 29007 yy: '%d Õ¿Õ¡ÖÕ«', 29008 }, 29009 meridiemParse: /Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶/, 29010 isPM: function (input) { 29011 return /^(ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); 29012 }, 29013 meridiem: function (hour) { 29014 if (hour < 4) { 29015 return 'Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡'; 29016 } else if (hour < 12) { 29017 return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; 29018 } else if (hour < 17) { 29019 return 'ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡'; 29020 } else { 29021 return 'Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶'; 29022 } 29023 }, 29024 dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|ÖÕ¤)/, 29025 ordinal: function (number, period) { 29026 switch (period) { 29027 case 'DDD': 29028 case 'w': 29029 case 'W': 29030 case 'DDDo': 29031 if (number === 1) { 29032 return number + '-Õ«Õ¶'; 29033 } 29034 return number + '-ÖÕ¤'; 29035 default: 29036 return number; 29037 } 29038 }, 29039 week: { 29040 dow: 1, // Monday is the first day of the week. 29041 doy: 7, // The week that contains Jan 7th is the first week of the year. 29042 }, 29043 }); 29044 29045 return hyAm; 29046 29047}))); 29048 29049 29050/***/ }), 29051 29052/***/ 7306: 29053/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29054 29055//! moment.js locale configuration 29056//! locale : Catalan [ca] 29057//! author : Juan G. Hurtado : https://github.com/juanghurtado 29058 29059;(function (global, factory) { 29060 true ? factory(__webpack_require__(5093)) : 29061 0 29062}(this, (function (moment) { 'use strict'; 29063 29064 //! moment.js locale configuration 29065 29066 var ca = moment.defineLocale('ca', { 29067 months: { 29068 standalone: 29069 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( 29070 '_' 29071 ), 29072 format: "de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split( 29073 '_' 29074 ), 29075 isFormat: /D[oD]?(\s)+MMMM/, 29076 }, 29077 monthsShort: 29078 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split( 29079 '_' 29080 ), 29081 monthsParseExact: true, 29082 weekdays: 29083 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split( 29084 '_' 29085 ), 29086 weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), 29087 weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'), 29088 weekdaysParseExact: true, 29089 longDateFormat: { 29090 LT: 'H:mm', 29091 LTS: 'H:mm:ss', 29092 L: 'DD/MM/YYYY', 29093 LL: 'D MMMM [de] YYYY', 29094 ll: 'D MMM YYYY', 29095 LLL: 'D MMMM [de] YYYY [a les] H:mm', 29096 lll: 'D MMM YYYY, H:mm', 29097 LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', 29098 llll: 'ddd D MMM YYYY, H:mm', 29099 }, 29100 calendar: { 29101 sameDay: function () { 29102 return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; 29103 }, 29104 nextDay: function () { 29105 return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; 29106 }, 29107 nextWeek: function () { 29108 return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; 29109 }, 29110 lastDay: function () { 29111 return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT'; 29112 }, 29113 lastWeek: function () { 29114 return ( 29115 '[el] dddd [passat a ' + 29116 (this.hours() !== 1 ? 'les' : 'la') + 29117 '] LT' 29118 ); 29119 }, 29120 sameElse: 'L', 29121 }, 29122 relativeTime: { 29123 future: "d'aquà %s", 29124 past: 'fa %s', 29125 s: 'uns segons', 29126 ss: '%d segons', 29127 m: 'un minut', 29128 mm: '%d minuts', 29129 h: 'una hora', 29130 hh: '%d hores', 29131 d: 'un dia', 29132 dd: '%d dies', 29133 M: 'un mes', 29134 MM: '%d mesos', 29135 y: 'un any', 29136 yy: '%d anys', 29137 }, 29138 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, 29139 ordinal: function (number, period) { 29140 var output = 29141 number === 1 29142 ? 'r' 29143 : number === 2 29144 ? 'n' 29145 : number === 3 29146 ? 'r' 29147 : number === 4 29148 ? 't' 29149 : 'è'; 29150 if (period === 'w' || period === 'W') { 29151 output = 'a'; 29152 } 29153 return number + output; 29154 }, 29155 week: { 29156 dow: 1, // Monday is the first day of the week. 29157 doy: 4, // The week that contains Jan 4th is the first week of the year. 29158 }, 29159 }); 29160 29161 return ca; 29162 29163}))); 29164 29165 29166/***/ }), 29167 29168/***/ 7329: 29169/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29170 29171//! moment.js locale configuration 29172//! locale : Galician [gl] 29173//! author : Juan G. Hurtado : https://github.com/juanghurtado 29174 29175;(function (global, factory) { 29176 true ? factory(__webpack_require__(5093)) : 29177 0 29178}(this, (function (moment) { 'use strict'; 29179 29180 //! moment.js locale configuration 29181 29182 var gl = moment.defineLocale('gl', { 29183 months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( 29184 '_' 29185 ), 29186 monthsShort: 29187 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( 29188 '_' 29189 ), 29190 monthsParseExact: true, 29191 weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), 29192 weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), 29193 weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), 29194 weekdaysParseExact: true, 29195 longDateFormat: { 29196 LT: 'H:mm', 29197 LTS: 'H:mm:ss', 29198 L: 'DD/MM/YYYY', 29199 LL: 'D [de] MMMM [de] YYYY', 29200 LLL: 'D [de] MMMM [de] YYYY H:mm', 29201 LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', 29202 }, 29203 calendar: { 29204 sameDay: function () { 29205 return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; 29206 }, 29207 nextDay: function () { 29208 return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT'; 29209 }, 29210 nextWeek: function () { 29211 return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'; 29212 }, 29213 lastDay: function () { 29214 return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT'; 29215 }, 29216 lastWeek: function () { 29217 return ( 29218 '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT' 29219 ); 29220 }, 29221 sameElse: 'L', 29222 }, 29223 relativeTime: { 29224 future: function (str) { 29225 if (str.indexOf('un') === 0) { 29226 return 'n' + str; 29227 } 29228 return 'en ' + str; 29229 }, 29230 past: 'hai %s', 29231 s: 'uns segundos', 29232 ss: '%d segundos', 29233 m: 'un minuto', 29234 mm: '%d minutos', 29235 h: 'unha hora', 29236 hh: '%d horas', 29237 d: 'un dÃa', 29238 dd: '%d dÃas', 29239 M: 'un mes', 29240 MM: '%d meses', 29241 y: 'un ano', 29242 yy: '%d anos', 29243 }, 29244 dayOfMonthOrdinalParse: /\d{1,2}º/, 29245 ordinal: '%dº', 29246 week: { 29247 dow: 1, // Monday is the first day of the week. 29248 doy: 4, // The week that contains Jan 4th is the first week of the year. 29249 }, 29250 }); 29251 29252 return gl; 29253 29254}))); 29255 29256 29257/***/ }), 29258 29259/***/ 7357: 29260/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29261 29262//! moment.js locale configuration
vendor: 5,365 bytes, lines 29263-29417
29263//! locale : Bengali (Bangladesh) [bn-bd] 29264//! author : Asraf Hossain Patoary : https://github.com/ashwoolford 29265 29266;(function (global, factory) { 29267 true ? factory(__webpack_require__(5093)) : 29268 0 29269}(this, (function (moment) { 'use strict'; 29270 29271 //! moment.js locale configuration 29272 29273 var symbolMap = { 29274 1: 'à§§', 29275 2: '২', 29276 3: 'à§©', 29277 4: '৪', 29278 5: 'à§«', 29279 6: '৬', 29280 7: 'à§', 29281 8: 'à§®', 29282 9: '৯', 29283 0: '০', 29284 }, 29285 numberMap = { 29286 'à§§': '1', 29287 '২': '2', 29288 'à§©': '3', 29289 '৪': '4', 29290 'à§«': '5', 29291 '৬': '6', 29292 'à§': '7', 29293 'à§®': '8', 29294 '৯': '9', 29295 '০': '0', 29296 }; 29297 29298 var bnBd = moment.defineLocale('bn-bd', { 29299 months: 'à¦à¦¾à¦¨à§à§à¦¾à¦°à¦¿_ফà§à¦¬à§à¦°à§à§à¦¾à¦°à¦¿_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°_ঠà¦à§à¦à§à¦¬à¦°_নà¦à§à¦®à§à¦¬à¦°_ডিসà§à¦®à§à¦¬à¦°'.split( 29300 '_' 29301 ), 29302 monthsShort: 29303 'à¦à¦¾à¦¨à§_ফà§à¦¬à§à¦°à§_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦_ঠà¦à§à¦à§_নà¦à§_ডিসà§'.split( 29304 '_' 29305 ), 29306 weekdays: 'রবিবার_সà§à¦®à¦¬à¦¾à¦°_মà¦à§à¦à¦²à¦¬à¦¾à¦°_বà§à¦§à¦¬à¦¾à¦°_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦à§à¦°à¦¬à¦¾à¦°_শনিবার'.split( 29307 '_' 29308 ), 29309 weekdaysShort: 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿_শà§à¦à§à¦°_শনি'.split('_'), 29310 weekdaysMin: 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹_শà§à¦à§à¦°_শনি'.split('_'), 29311 longDateFormat: { 29312 LT: 'A h:mm সমà§', 29313 LTS: 'A h:mm:ss সমà§', 29314 L: 'DD/MM/YYYY', 29315 LL: 'D MMMM YYYY', 29316 LLL: 'D MMMM YYYY, A h:mm সমà§', 29317 LLLL: 'dddd, D MMMM YYYY, A h:mm সমà§', 29318 }, 29319 calendar: { 29320 sameDay: '[à¦à¦] LT', 29321 nextDay: '[à¦à¦à¦¾à¦®à§à¦à¦¾à¦²] LT', 29322 nextWeek: 'dddd, LT', 29323 lastDay: '[à¦à¦¤à¦à¦¾à¦²] LT', 29324 lastWeek: '[à¦à¦¤] dddd, LT', 29325 sameElse: 'L', 29326 }, 29327 relativeTime: { 29328 future: '%s পরà§', 29329 past: '%s à¦à¦à§', 29330 s: 'à¦à§à§à¦ সà§à¦à§à¦¨à§à¦¡', 29331 ss: '%d সà§à¦à§à¦¨à§à¦¡', 29332 m: 'à¦à¦ মিনিà¦', 29333 mm: '%d মিনিà¦', 29334 h: 'à¦à¦ à¦à¦¨à§à¦à¦¾', 29335 hh: '%d à¦à¦¨à§à¦à¦¾', 29336 d: 'à¦à¦ দিন', 29337 dd: '%d দিন', 29338 M: 'à¦à¦ মাস', 29339 MM: '%d মাস', 29340 y: 'à¦à¦ বà¦à¦°', 29341 yy: '%d বà¦à¦°', 29342 }, 29343 preparse: function (string) { 29344 return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { 29345 return numberMap[match]; 29346 }); 29347 }, 29348 postformat: function (string) { 29349 return string.replace(/\d/g, function (match) { 29350 return symbolMap[match]; 29351 }); 29352 }, 29353 29354 meridiemParse: /রাত|à¦à§à¦°|সà¦à¦¾à¦²|দà§à¦ªà§à¦°|বিà¦à¦¾à¦²|সনà§à¦§à§à¦¯à¦¾|রাত/, 29355 meridiemHour: function (hour, meridiem) { 29356 if (hour === 12) { 29357 hour = 0; 29358 } 29359 if (meridiem === 'রাত') { 29360 return hour < 4 ? hour : hour + 12; 29361 } else if (meridiem === 'à¦à§à¦°') { 29362 return hour; 29363 } else if (meridiem === 'সà¦à¦¾à¦²') { 29364 return hour; 29365 } else if (meridiem === 'দà§à¦ªà§à¦°') { 29366 return hour >= 3 ? hour : hour + 12; 29367 } else if (meridiem === 'বিà¦à¦¾à¦²') { 29368 return hour + 12; 29369 } else if (meridiem === 'সনà§à¦§à§à¦¯à¦¾') { 29370 return hour + 12; 29371 } 29372 }, 29373 29374 meridiem: function (hour, minute, isLower) { 29375 if (hour < 4) { 29376 return 'রাত'; 29377 } else if (hour < 6) { 29378 return 'à¦à§à¦°'; 29379 } else if (hour < 12) { 29380 return 'সà¦à¦¾à¦²'; 29381 } else if (hour < 15) { 29382 return 'দà§à¦ªà§à¦°'; 29383 } else if (hour < 18) { 29384 return 'বিà¦à¦¾à¦²'; 29385 } else if (hour < 20) { 29386 return 'সনà§à¦§à§à¦¯à¦¾'; 29387 } else { 29388 return 'রাত'; 29389 } 29390 }, 29391 week: { 29392 dow: 0, // Sunday is the first day of the week. 29393 doy: 6, // The week that contains Jan 6th is the first week of the year. 29394 }, 29395 }); 29396 29397 return bnBd; 29398 29399}))); 29400 29401 29402/***/ }), 29403 29404/***/ 7538: 29405/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29406 29407//! moment.js locale configuration 29408//! locale : Sinhalese [si] 29409//! author : Sampath Sitinamaluwa : https://github.com/sampathsris 29410 29411;(function (global, factory) { 29412 true ? factory(__webpack_require__(5093)) : 29413 0 29414}(this, (function (moment) { 'use strict'; 29415 29416 //! moment.js locale configuration 29417
vendor: 20,186 bytes, lines 29418-30006
29418 /*jshint -W100*/ 29419 var si = moment.defineLocale('si', { 29420 months: 'ජනà·à·à¶»à·_à¶´à·à¶¶à¶»à·à·à¶»à·_මà·à¶»à·à¶à·_à¶ à¶´à·âà¶»à·à¶½à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·à·à·à¶à·_à·à·à¶´à·à¶à·à¶¸à·à¶¶à¶»à·_à¶à¶à·à¶à·à¶¶à¶»à·_à¶±à·à·à·à¶¸à·à¶¶à¶»à·_දà·à·à·à¶¸à·à¶¶à¶»à·'.split( 29421 '_' 29422 ), 29423 monthsShort: 'ජන_à¶´à·à¶¶_මà·à¶»à·_à¶ à¶´à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·_à·à·à¶´à·_à¶à¶à·_à¶±à·à·à·_දà·à·à·'.split( 29424 '_' 29425 ), 29426 weekdays: 29427 'à¶à¶»à·à¶¯à·_à·à¶³à·à¶¯à·_à¶ à¶à·à¶»à·à·à·à¶¯à·_බදà·à¶¯à·_à¶¶à·âà¶»à·à·à·à¶´à¶à·à¶±à·à¶¯à·_à·à·à¶à·à¶»à·à¶¯à·_à·à·à¶±à·à·à¶»à·à¶¯à·'.split( 29428 '_' 29429 ), 29430 weekdaysShort: 'à¶à¶»à·_à·à¶³à·_à¶ à¶_බදà·_à¶¶à·âà¶»à·_à·à·à¶à·_à·à·à¶±'.split('_'), 29431 weekdaysMin: 'à¶_à·_à¶ _à¶¶_à¶¶à·âà¶»_à·à·_à·à·'.split('_'), 29432 weekdaysParseExact: true, 29433 longDateFormat: { 29434 LT: 'a h:mm', 29435 LTS: 'a h:mm:ss', 29436 L: 'YYYY/MM/DD', 29437 LL: 'YYYY MMMM D', 29438 LLL: 'YYYY MMMM D, a h:mm', 29439 LLLL: 'YYYY MMMM D [à·à·à¶±à·] dddd, a h:mm:ss', 29440 }, 29441 calendar: { 29442 sameDay: '[චද] LT[à¶§]', 29443 nextDay: '[à·à·à¶§] LT[à¶§]', 29444 nextWeek: 'dddd LT[à¶§]', 29445 lastDay: '[à¶à¶ºà·] LT[à¶§]', 29446 lastWeek: '[à¶´à·à·à¶à·à¶º] dddd LT[à¶§]', 29447 sameElse: 'L', 29448 }, 29449 relativeTime: { 29450 future: '%sà¶à·à¶±à·', 29451 past: '%sà¶à¶§ à¶´à·à¶»', 29452 s: 'à¶à¶à·à¶´à¶» à¶à·à·à·à¶´à¶º', 29453 ss: 'à¶à¶à·à¶´à¶» %d', 29454 m: 'මà·à¶±à·à¶à·à¶à·à·', 29455 mm: 'මà·à¶±à·à¶à·à¶à· %d', 29456 h: 'à¶´à·à¶º', 29457 hh: 'à¶´à·à¶º %d', 29458 d: 'දà·à¶±à¶º', 29459 dd: 'දà·à¶± %d', 29460 M: 'මà·à·à¶º', 29461 MM: 'මà·à· %d', 29462 y: 'à·à·à¶»', 29463 yy: 'à·à·à¶» %d', 29464 }, 29465 dayOfMonthOrdinalParse: /\d{1,2} à·à·à¶±à·/, 29466 ordinal: function (number) { 29467 return number + ' à·à·à¶±à·'; 29468 }, 29469 meridiemParse: /à¶´à·à¶» à·à¶»à·|à¶´à·à· à·à¶»à·|à¶´à·.à·|à¶´.à·./, 29470 isPM: function (input) { 29471 return input === 'à¶´.à·.' || input === 'à¶´à·à· à·à¶»à·'; 29472 }, 29473 meridiem: function (hours, minutes, isLower) { 29474 if (hours > 11) { 29475 return isLower ? 'à¶´.à·.' : 'à¶´à·à· à·à¶»à·'; 29476 } else { 29477 return isLower ? 'à¶´à·.à·.' : 'à¶´à·à¶» à·à¶»à·'; 29478 } 29479 }, 29480 }); 29481 29482 return si; 29483 29484}))); 29485 29486 29487/***/ }), 29488 29489/***/ 7609: 29490/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29491 29492//! moment.js locale configuration 29493//! locale : Uzbek [uz] 29494//! author : Sardor Muminov : https://github.com/muminoff 29495 29496;(function (global, factory) { 29497 true ? factory(__webpack_require__(5093)) : 29498 0 29499}(this, (function (moment) { 'use strict'; 29500 29501 //! moment.js locale configuration 29502 29503 var uz = moment.defineLocale('uz', { 29504 months: 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split( 29505 '_' 29506 ), 29507 monthsShort: 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 29508 weekdays: 'ЯкÑанба_ÐÑÑанба_СеÑанба_ЧоÑÑанба_ÐайÑанба_ÐÑма_Шанба'.split('_'), 29509 weekdaysShort: 'ЯкÑ_ÐÑÑ_СеÑ_ЧоÑ_Ðай_ÐÑм_Шан'.split('_'), 29510 weekdaysMin: 'Як_ÐÑ_Се_Чо_Ðа_ÐÑ_Ша'.split('_'), 29511 longDateFormat: { 29512 LT: 'HH:mm', 29513 LTS: 'HH:mm:ss', 29514 L: 'DD/MM/YYYY', 29515 LL: 'D MMMM YYYY', 29516 LLL: 'D MMMM YYYY HH:mm', 29517 LLLL: 'D MMMM YYYY, dddd HH:mm', 29518 }, 29519 calendar: { 29520 sameDay: '[ÐÑгÑн ÑоаÑ] LT [да]', 29521 nextDay: '[ÐÑÑага] LT [да]', 29522 nextWeek: 'dddd [кÑни ÑоаÑ] LT [да]', 29523 lastDay: '[ÐеÑа ÑоаÑ] LT [да]', 29524 lastWeek: '[УÑган] dddd [кÑни ÑоаÑ] LT [да]', 29525 sameElse: 'L', 29526 }, 29527 relativeTime: { 29528 future: 'Якин %s иÑида', 29529 past: 'ÐÐ¸Ñ Ð½ÐµÑа %s олдин', 29530 s: 'ÑÑÑÑаÑ', 29531 ss: '%d ÑÑÑÑаÑ', 29532 m: 'Ð±Ð¸Ñ Ð´Ð°ÐºÐ¸ÐºÐ°', 29533 mm: '%d дакика', 29534 h: 'Ð±Ð¸Ñ ÑоаÑ', 29535 hh: '%d ÑоаÑ', 29536 d: 'Ð±Ð¸Ñ ÐºÑн', 29537 dd: '%d кÑн', 29538 M: 'Ð±Ð¸Ñ Ð¾Ð¹', 29539 MM: '%d ой', 29540 y: 'Ð±Ð¸Ñ Ð¹Ð¸Ð»', 29541 yy: '%d йил', 29542 }, 29543 week: { 29544 dow: 1, // Monday is the first day of the week. 29545 doy: 7, // The week that contains Jan 4th is the first week of the year. 29546 }, 29547 }); 29548 29549 return uz; 29550 29551}))); 29552 29553 29554/***/ }), 29555 29556/***/ 7650: 29557/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29558 29559//! moment.js locale configuration 29560//! locale : Spanish [es] 29561//! author : Julio Napurà : https://github.com/julionc 29562 29563;(function (global, factory) { 29564 true ? factory(__webpack_require__(5093)) : 29565 0 29566}(this, (function (moment) { 'use strict'; 29567 29568 //! moment.js locale configuration 29569 29570 var monthsShortDot = 29571 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( 29572 '_' 29573 ), 29574 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), 29575 monthsParse = [ 29576 /^ene/i, 29577 /^feb/i, 29578 /^mar/i, 29579 /^abr/i, 29580 /^may/i, 29581 /^jun/i, 29582 /^jul/i, 29583 /^ago/i, 29584 /^sep/i, 29585 /^oct/i, 29586 /^nov/i, 29587 /^dic/i, 29588 ], 29589 monthsRegex = 29590 /^(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; 29591 29592 var es = moment.defineLocale('es', { 29593 months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( 29594 '_' 29595 ), 29596 monthsShort: function (m, format) { 29597 if (!m) { 29598 return monthsShortDot; 29599 } else if (/-MMM-/.test(format)) { 29600 return monthsShort[m.month()]; 29601 } else { 29602 return monthsShortDot[m.month()]; 29603 } 29604 }, 29605 monthsRegex: monthsRegex, 29606 monthsShortRegex: monthsRegex, 29607 monthsStrictRegex: 29608 /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 29609 monthsShortStrictRegex: 29610 /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 29611 monthsParse: monthsParse, 29612 longMonthsParse: monthsParse, 29613 shortMonthsParse: monthsParse, 29614 weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 29615 weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 29616 weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), 29617 weekdaysParseExact: true, 29618 longDateFormat: { 29619 LT: 'H:mm', 29620 LTS: 'H:mm:ss', 29621 L: 'DD/MM/YYYY', 29622 LL: 'D [de] MMMM [de] YYYY', 29623 LLL: 'D [de] MMMM [de] YYYY H:mm', 29624 LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', 29625 }, 29626 calendar: { 29627 sameDay: function () { 29628 return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29629 }, 29630 nextDay: function () { 29631 return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29632 }, 29633 nextWeek: function () { 29634 return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29635 }, 29636 lastDay: function () { 29637 return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29638 }, 29639 lastWeek: function () { 29640 return ( 29641 '[el] dddd [pasado a la' + 29642 (this.hours() !== 1 ? 's' : '') + 29643 '] LT' 29644 ); 29645 }, 29646 sameElse: 'L', 29647 }, 29648 relativeTime: { 29649 future: 'en %s', 29650 past: 'hace %s', 29651 s: 'unos segundos', 29652 ss: '%d segundos', 29653 m: 'un minuto', 29654 mm: '%d minutos', 29655 h: 'una hora', 29656 hh: '%d horas', 29657 d: 'un dÃa', 29658 dd: '%d dÃas', 29659 w: 'una semana', 29660 ww: '%d semanas', 29661 M: 'un mes', 29662 MM: '%d meses', 29663 y: 'un año', 29664 yy: '%d años', 29665 }, 29666 dayOfMonthOrdinalParse: /\d{1,2}º/, 29667 ordinal: '%dº', 29668 week: { 29669 dow: 1, // Monday is the first day of the week. 29670 doy: 4, // The week that contains Jan 4th is the first week of the year. 29671 }, 29672 invalidDate: 'Fecha inválida', 29673 }); 29674 29675 return es; 29676 29677}))); 29678 29679 29680/***/ }), 29681 29682/***/ 7711: 29683/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29684 29685//! moment.js locale configuration 29686//! locale : Central Atlas Tamazight Latin [tzm-latn] 29687//! author : Abdel Said : https://github.com/abdelsaid 29688 29689;(function (global, factory) { 29690 true ? factory(__webpack_require__(5093)) : 29691 0 29692}(this, (function (moment) { 'use strict'; 29693 29694 //! moment.js locale configuration 29695 29696 var tzmLatn = moment.defineLocale('tzm-latn', { 29697 months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( 29698 '_' 29699 ), 29700 monthsShort: 29701 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( 29702 '_' 29703 ), 29704 weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 29705 weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 29706 weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 29707 longDateFormat: { 29708 LT: 'HH:mm', 29709 LTS: 'HH:mm:ss', 29710 L: 'DD/MM/YYYY', 29711 LL: 'D MMMM YYYY', 29712 LLL: 'D MMMM YYYY HH:mm', 29713 LLLL: 'dddd D MMMM YYYY HH:mm', 29714 }, 29715 calendar: { 29716 sameDay: '[asdkh g] LT', 29717 nextDay: '[aska g] LT', 29718 nextWeek: 'dddd [g] LT', 29719 lastDay: '[assant g] LT', 29720 lastWeek: 'dddd [g] LT', 29721 sameElse: 'L', 29722 }, 29723 relativeTime: { 29724 future: 'dadkh s yan %s', 29725 past: 'yan %s', 29726 s: 'imik', 29727 ss: '%d imik', 29728 m: 'minuá¸', 29729 mm: '%d minuá¸', 29730 h: 'saÉa', 29731 hh: '%d tassaÉin', 29732 d: 'ass', 29733 dd: '%d ossan', 29734 M: 'ayowr', 29735 MM: '%d iyyirn', 29736 y: 'asgas', 29737 yy: '%d isgasn', 29738 }, 29739 week: { 29740 dow: 6, // Saturday is the first day of the week. 29741 doy: 12, // The week that contains Jan 12th is the first week of the year. 29742 }, 29743 }); 29744 29745 return tzmLatn; 29746 29747}))); 29748 29749 29750/***/ }), 29751 29752/***/ 7730: 29753/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29754 29755//! moment.js locale configuration 29756//! locale : Spanish (Mexico) [es-mx] 29757//! author : JC Franco : https://github.com/jcfranco 29758 29759;(function (global, factory) { 29760 true ? factory(__webpack_require__(5093)) : 29761 0 29762}(this, (function (moment) { 'use strict'; 29763 29764 //! moment.js locale configuration 29765 29766 var monthsShortDot = 29767 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( 29768 '_' 29769 ), 29770 monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), 29771 monthsParse = [ 29772 /^ene/i, 29773 /^feb/i, 29774 /^mar/i, 29775 /^abr/i, 29776 /^may/i, 29777 /^jun/i, 29778 /^jul/i, 29779 /^ago/i, 29780 /^sep/i, 29781 /^oct/i, 29782 /^nov/i, 29783 /^dic/i, 29784 ], 29785 monthsRegex = 29786 /^(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; 29787 29788 var esMx = moment.defineLocale('es-mx', { 29789 months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( 29790 '_' 29791 ), 29792 monthsShort: function (m, format) { 29793 if (!m) { 29794 return monthsShortDot; 29795 } else if (/-MMM-/.test(format)) { 29796 return monthsShort[m.month()]; 29797 } else { 29798 return monthsShortDot[m.month()]; 29799 } 29800 }, 29801 monthsRegex: monthsRegex, 29802 monthsShortRegex: monthsRegex, 29803 monthsStrictRegex: 29804 /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 29805 monthsShortStrictRegex: 29806 /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 29807 monthsParse: monthsParse, 29808 longMonthsParse: monthsParse, 29809 shortMonthsParse: monthsParse, 29810 weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 29811 weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 29812 weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), 29813 weekdaysParseExact: true, 29814 longDateFormat: { 29815 LT: 'H:mm', 29816 LTS: 'H:mm:ss', 29817 L: 'DD/MM/YYYY', 29818 LL: 'D [de] MMMM [de] YYYY', 29819 LLL: 'D [de] MMMM [de] YYYY H:mm', 29820 LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm', 29821 }, 29822 calendar: { 29823 sameDay: function () { 29824 return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29825 }, 29826 nextDay: function () { 29827 return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29828 }, 29829 nextWeek: function () { 29830 return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29831 }, 29832 lastDay: function () { 29833 return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT'; 29834 }, 29835 lastWeek: function () { 29836 return ( 29837 '[el] dddd [pasado a la' + 29838 (this.hours() !== 1 ? 's' : '') + 29839 '] LT' 29840 ); 29841 }, 29842 sameElse: 'L', 29843 }, 29844 relativeTime: { 29845 future: 'en %s', 29846 past: 'hace %s', 29847 s: 'unos segundos', 29848 ss: '%d segundos', 29849 m: 'un minuto', 29850 mm: '%d minutos', 29851 h: 'una hora', 29852 hh: '%d horas', 29853 d: 'un dÃa', 29854 dd: '%d dÃas', 29855 w: 'una semana', 29856 ww: '%d semanas', 29857 M: 'un mes', 29858 MM: '%d meses', 29859 y: 'un año', 29860 yy: '%d años', 29861 }, 29862 dayOfMonthOrdinalParse: /\d{1,2}º/, 29863 ordinal: '%dº', 29864 week: { 29865 dow: 0, // Sunday is the first day of the week. 29866 doy: 4, // The week that contains Jan 4th is the first week of the year. 29867 }, 29868 invalidDate: 'Fecha inválida', 29869 }); 29870 29871 return esMx; 29872 29873}))); 29874 29875 29876/***/ }), 29877 29878/***/ 7777: 29879/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29880 29881//! moment.js locale configuration 29882//! locale : Bulgarian [bg] 29883//! author : Krasen Borisov : https://github.com/kraz 29884 29885;(function (global, factory) { 29886 true ? factory(__webpack_require__(5093)) : 29887 0 29888}(this, (function (moment) { 'use strict'; 29889 29890 //! moment.js locale configuration 29891 29892 var bg = moment.defineLocale('bg', { 29893 months: 'ÑнÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_май_Ñни_Ñли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split( 29894 '_' 29895 ), 29896 monthsShort: 'ÑнÑ_Ñев_маÑ_апÑ_май_Ñни_Ñли_авг_Ñеп_окÑ_ное_дек'.split('_'), 29897 weekdays: 'неделÑ_понеделник_вÑоÑник_ÑÑÑда_ÑеÑвÑÑÑÑк_пеÑÑк_ÑÑбоÑа'.split( 29898 '_' 29899 ), 29900 weekdaysShort: 'нед_пон_вÑо_ÑÑÑ_ÑеÑ_пеÑ_ÑÑб'.split('_'), 29901 weekdaysMin: 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 29902 longDateFormat: { 29903 LT: 'H:mm', 29904 LTS: 'H:mm:ss', 29905 L: 'D.MM.YYYY', 29906 LL: 'D MMMM YYYY', 29907 LLL: 'D MMMM YYYY H:mm', 29908 LLLL: 'dddd, D MMMM YYYY H:mm', 29909 }, 29910 calendar: { 29911 sameDay: '[ÐÐ½ÐµÑ Ð²] LT', 29912 nextDay: '[УÑÑе в] LT', 29913 nextWeek: 'dddd [в] LT', 29914 lastDay: '[ÐÑеÑа в] LT', 29915 lastWeek: function () { 29916 switch (this.day()) { 29917 case 0: 29918 case 3: 29919 case 6: 29920 return '[ÐиналаÑа] dddd [в] LT'; 29921 case 1: 29922 case 2: 29923 case 4: 29924 case 5: 29925 return '[ÐиналиÑ] dddd [в] LT'; 29926 } 29927 }, 29928 sameElse: 'L', 29929 }, 29930 relativeTime: { 29931 future: 'Ñлед %s', 29932 past: 'пÑеди %s', 29933 s: 'нÑколко ÑекÑнди', 29934 ss: '%d ÑекÑнди', 29935 m: 'минÑÑа', 29936 mm: '%d минÑÑи', 29937 h: 'ÑаÑ', 29938 hh: '%d ÑаÑа', 29939 d: 'ден', 29940 dd: '%d дена', 29941 w: 'ÑедмиÑа', 29942 ww: '%d ÑедмиÑи', 29943 M: 'меÑеÑ', 29944 MM: '%d меÑеÑа', 29945 y: 'година', 29946 yy: '%d години', 29947 }, 29948 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 29949 ordinal: function (number) { 29950 var lastDigit = number % 10, 29951 last2Digits = number % 100; 29952 if (number === 0) { 29953 return number + '-ев'; 29954 } else if (last2Digits === 0) { 29955 return number + '-ен'; 29956 } else if (last2Digits > 10 && last2Digits < 20) { 29957 return number + '-Ñи'; 29958 } else if (lastDigit === 1) { 29959 return number + '-ви'; 29960 } else if (lastDigit === 2) { 29961 return number + '-Ñи'; 29962 } else if (lastDigit === 7 || lastDigit === 8) { 29963 return number + '-ми'; 29964 } else { 29965 return number + '-Ñи'; 29966 } 29967 }, 29968 week: { 29969 dow: 1, // Monday is the first day of the week. 29970 doy: 7, // The week that contains Jan 7th is the first week of the year. 29971 }, 29972 }); 29973 29974 return bg; 29975 29976}))); 29977 29978 29979/***/ }), 29980 29981/***/ 7853: 29982/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 29983 29984//! moment.js locale configuration 29985//! locale : German [de] 29986//! author : lluchs : https://github.com/lluchs 29987//! author: Menelion Elensúle: https://github.com/Oire 29988//! author : Mikolaj Dadela : https://github.com/mik01aj 29989 29990;(function (global, factory) { 29991 true ? factory(__webpack_require__(5093)) : 29992 0 29993}(this, (function (moment) { 'use strict'; 29994 29995 //! moment.js locale configuration 29996 29997 function processRelativeTime(number, withoutSuffix, key, isFuture) { 29998 var format = { 29999 m: ['eine Minute', 'einer Minute'], 30000 h: ['eine Stunde', 'einer Stunde'], 30001 d: ['ein Tag', 'einem Tag'], 30002 dd: [number + ' Tage', number + ' Tagen'], 30003 w: ['eine Woche', 'einer Woche'], 30004 M: ['ein Monat', 'einem Monat'], 30005 MM: [number + ' Monate', number + ' Monaten'], 30006 y: ['ein Jahr', 'einem Jahr'],
vendor: 15,971 bytes, lines 30007-30503
30007 yy: [number + ' Jahre', number + ' Jahren'], 30008 }; 30009 return withoutSuffix ? format[key][0] : format[key][1]; 30010 } 30011 30012 var de = moment.defineLocale('de', { 30013 months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( 30014 '_' 30015 ), 30016 monthsShort: 30017 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 30018 monthsParseExact: true, 30019 weekdays: 30020 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split( 30021 '_' 30022 ), 30023 weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 30024 weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 30025 weekdaysParseExact: true, 30026 longDateFormat: { 30027 LT: 'HH:mm', 30028 LTS: 'HH:mm:ss', 30029 L: 'DD.MM.YYYY', 30030 LL: 'D. MMMM YYYY', 30031 LLL: 'D. MMMM YYYY HH:mm', 30032 LLLL: 'dddd, D. MMMM YYYY HH:mm', 30033 }, 30034 calendar: { 30035 sameDay: '[heute um] LT [Uhr]', 30036 sameElse: 'L', 30037 nextDay: '[morgen um] LT [Uhr]', 30038 nextWeek: 'dddd [um] LT [Uhr]', 30039 lastDay: '[gestern um] LT [Uhr]', 30040 lastWeek: '[letzten] dddd [um] LT [Uhr]', 30041 }, 30042 relativeTime: { 30043 future: 'in %s', 30044 past: 'vor %s', 30045 s: 'ein paar Sekunden', 30046 ss: '%d Sekunden', 30047 m: processRelativeTime, 30048 mm: '%d Minuten', 30049 h: processRelativeTime, 30050 hh: '%d Stunden', 30051 d: processRelativeTime, 30052 dd: processRelativeTime, 30053 w: processRelativeTime, 30054 ww: '%d Wochen', 30055 M: processRelativeTime, 30056 MM: processRelativeTime, 30057 y: processRelativeTime, 30058 yy: processRelativeTime, 30059 }, 30060 dayOfMonthOrdinalParse: /\d{1,2}\./, 30061 ordinal: '%d.', 30062 week: { 30063 dow: 1, // Monday is the first day of the week. 30064 doy: 4, // The week that contains Jan 4th is the first week of the year. 30065 }, 30066 }); 30067 30068 return de; 30069 30070}))); 30071 30072 30073/***/ }), 30074 30075/***/ 7892: 30076/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30077 30078//! moment.js locale configuration 30079//! locale : French (Switzerland) [fr-ch] 30080//! author : Gaspard Bucher : https://github.com/gaspard 30081 30082;(function (global, factory) { 30083 true ? factory(__webpack_require__(5093)) : 30084 0 30085}(this, (function (moment) { 'use strict'; 30086 30087 //! moment.js locale configuration 30088 30089 var frCh = moment.defineLocale('fr-ch', { 30090 months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( 30091 '_' 30092 ), 30093 monthsShort: 30094 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( 30095 '_' 30096 ), 30097 monthsParseExact: true, 30098 weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 30099 weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 30100 weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), 30101 weekdaysParseExact: true, 30102 longDateFormat: { 30103 LT: 'HH:mm', 30104 LTS: 'HH:mm:ss', 30105 L: 'DD.MM.YYYY', 30106 LL: 'D MMMM YYYY', 30107 LLL: 'D MMMM YYYY HH:mm', 30108 LLLL: 'dddd D MMMM YYYY HH:mm', 30109 }, 30110 calendar: { 30111 sameDay: '[Aujourdâhui à ] LT', 30112 nextDay: '[Demain à ] LT', 30113 nextWeek: 'dddd [à ] LT', 30114 lastDay: '[Hier à ] LT', 30115 lastWeek: 'dddd [dernier à ] LT', 30116 sameElse: 'L', 30117 }, 30118 relativeTime: { 30119 future: 'dans %s', 30120 past: 'il y a %s', 30121 s: 'quelques secondes', 30122 ss: '%d secondes', 30123 m: 'une minute', 30124 mm: '%d minutes', 30125 h: 'une heure', 30126 hh: '%d heures', 30127 d: 'un jour', 30128 dd: '%d jours', 30129 M: 'un mois', 30130 MM: '%d mois', 30131 y: 'un an', 30132 yy: '%d ans', 30133 }, 30134 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 30135 ordinal: function (number, period) { 30136 switch (period) { 30137 // Words with masculine grammatical gender: mois, trimestre, jour 30138 default: 30139 case 'M': 30140 case 'Q': 30141 case 'D': 30142 case 'DDD': 30143 case 'd': 30144 return number + (number === 1 ? 'er' : 'e'); 30145 30146 // Words with feminine grammatical gender: semaine 30147 case 'w': 30148 case 'W': 30149 return number + (number === 1 ? 're' : 'e'); 30150 } 30151 }, 30152 week: { 30153 dow: 1, // Monday is the first day of the week. 30154 doy: 4, // The week that contains Jan 4th is the first week of the year. 30155 }, 30156 }); 30157 30158 return frCh; 30159 30160}))); 30161 30162 30163/***/ }), 30164 30165/***/ 8076: 30166/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30167 30168//! moment.js locale configuration 30169//! locale : Montenegrin [me] 30170//! author : Miodrag NikaÄ <[email protected]> : https://github.com/miodragnikac 30171 30172;(function (global, factory) { 30173 true ? factory(__webpack_require__(5093)) : 30174 0 30175}(this, (function (moment) { 'use strict'; 30176 30177 //! moment.js locale configuration 30178 30179 var translator = { 30180 words: { 30181 //Different grammatical cases 30182 ss: ['sekund', 'sekunda', 'sekundi'], 30183 m: ['jedan minut', 'jednog minuta'], 30184 mm: ['minut', 'minuta', 'minuta'], 30185 h: ['jedan sat', 'jednog sata'], 30186 hh: ['sat', 'sata', 'sati'], 30187 dd: ['dan', 'dana', 'dana'], 30188 MM: ['mjesec', 'mjeseca', 'mjeseci'], 30189 yy: ['godina', 'godine', 'godina'], 30190 }, 30191 correctGrammaticalCase: function (number, wordKey) { 30192 return number === 1 30193 ? wordKey[0] 30194 : number >= 2 && number <= 4 30195 ? wordKey[1] 30196 : wordKey[2]; 30197 }, 30198 translate: function (number, withoutSuffix, key) { 30199 var wordKey = translator.words[key]; 30200 if (key.length === 1) { 30201 return withoutSuffix ? wordKey[0] : wordKey[1]; 30202 } else { 30203 return ( 30204 number + 30205 ' ' + 30206 translator.correctGrammaticalCase(number, wordKey) 30207 ); 30208 } 30209 }, 30210 }; 30211 30212 var me = moment.defineLocale('me', { 30213 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( 30214 '_' 30215 ), 30216 monthsShort: 30217 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 30218 monthsParseExact: true, 30219 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split( 30220 '_' 30221 ), 30222 weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 30223 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 30224 weekdaysParseExact: true, 30225 longDateFormat: { 30226 LT: 'H:mm', 30227 LTS: 'H:mm:ss', 30228 L: 'DD.MM.YYYY', 30229 LL: 'D. MMMM YYYY', 30230 LLL: 'D. MMMM YYYY H:mm', 30231 LLLL: 'dddd, D. MMMM YYYY H:mm', 30232 }, 30233 calendar: { 30234 sameDay: '[danas u] LT', 30235 nextDay: '[sjutra u] LT', 30236 30237 nextWeek: function () { 30238 switch (this.day()) { 30239 case 0: 30240 return '[u] [nedjelju] [u] LT'; 30241 case 3: 30242 return '[u] [srijedu] [u] LT'; 30243 case 6: 30244 return '[u] [subotu] [u] LT'; 30245 case 1: 30246 case 2: 30247 case 4: 30248 case 5: 30249 return '[u] dddd [u] LT'; 30250 } 30251 }, 30252 lastDay: '[juÄe u] LT', 30253 lastWeek: function () { 30254 var lastWeekDays = [ 30255 '[proÅ¡le] [nedjelje] [u] LT', 30256 '[proÅ¡log] [ponedjeljka] [u] LT', 30257 '[proÅ¡log] [utorka] [u] LT', 30258 '[proÅ¡le] [srijede] [u] LT', 30259 '[proÅ¡log] [Äetvrtka] [u] LT', 30260 '[proÅ¡log] [petka] [u] LT', 30261 '[proÅ¡le] [subote] [u] LT', 30262 ]; 30263 return lastWeekDays[this.day()]; 30264 }, 30265 sameElse: 'L', 30266 }, 30267 relativeTime: { 30268 future: 'za %s', 30269 past: 'prije %s', 30270 s: 'nekoliko sekundi', 30271 ss: translator.translate, 30272 m: translator.translate, 30273 mm: translator.translate, 30274 h: translator.translate, 30275 hh: translator.translate, 30276 d: 'dan', 30277 dd: translator.translate, 30278 M: 'mjesec', 30279 MM: translator.translate, 30280 y: 'godinu', 30281 yy: translator.translate, 30282 }, 30283 dayOfMonthOrdinalParse: /\d{1,2}\./, 30284 ordinal: '%d.', 30285 week: { 30286 dow: 1, // Monday is the first day of the week. 30287 doy: 7, // The week that contains Jan 7th is the first week of the year. 30288 }, 30289 }); 30290 30291 return me; 30292 30293}))); 30294 30295 30296/***/ }), 30297 30298/***/ 8174: 30299/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30300 30301//! moment.js locale configuration 30302//! locale : Kurdish [ku] 30303//! author : Shahram Mebashar : https://github.com/ShahramMebashar 30304 30305;(function (global, factory) { 30306 true ? factory(__webpack_require__(5093)) : 30307 0 30308}(this, (function (moment) { 'use strict'; 30309 30310 //! moment.js locale configuration 30311 30312 var symbolMap = { 30313 1: 'Ù¡', 30314 2: 'Ù¢', 30315 3: 'Ù£', 30316 4: 'Ù¤', 30317 5: 'Ù¥', 30318 6: 'Ù¦', 30319 7: 'Ù§', 30320 8: 'Ù¨', 30321 9: 'Ù©', 30322 0: 'Ù ', 30323 }, 30324 numberMap = { 30325 'Ù¡': '1', 30326 'Ù¢': '2', 30327 'Ù£': '3', 30328 'Ù¤': '4', 30329 'Ù¥': '5', 30330 'Ù¦': '6', 30331 'Ù§': '7', 30332 'Ù¨': '8', 30333 'Ù©': '9', 30334 'Ù ': '0', 30335 }, 30336 months = [ 30337 'کاÙÙÙÛ Ø¯ÙÙÛÙ ', 30338 'Ø´ÙØ¨Ø§Øª', 30339 'ئازار', 30340 'ÙÛØ³Ø§Ù', 30341 'Ø¦Ø§ÛØ§Ø±', 30342 'ØÙزÛÛØ±Ø§Ù', 30343 'تÛÙ Ù ÙØ²', 30344 'ئاب', 30345 'ئÛÛÙÙÙÙ', 30346 'تشرÛÙÛ ÛÛÙÛÙ ', 30347 'تشرÛÙÛ Ø¯ÙÙÛÙ ', 30348 'ÙØ§ÙÙÙÛ ÛÛÚ©ÛÙ ', 30349 ]; 30350 30351 var ku = moment.defineLocale('ku', { 30352 months: months, 30353 monthsShort: months, 30354 weekdays: 30355 'ÛÙâÙØ´ÙâÙ Ù Ùâ_دÙÙØ´ÙâÙ Ù Ùâ_Ø³ÛØ´ÙâÙ Ù Ùâ_ÚÙØ§Ø±Ø´ÙâÙ Ù Ùâ_Ù¾ÛÙØ¬Ø´ÙâÙ Ù Ùâ_ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split( 30356 '_' 30357 ), 30358 weekdaysShort: 30359 'ÛÙâÙØ´ÙâÙ _دÙÙØ´ÙâÙ _Ø³ÛØ´ÙâÙ _ÚÙØ§Ø±Ø´ÙâÙ _Ù¾ÛÙØ¬Ø´ÙâÙ _ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split('_'), 30360 weekdaysMin: 'Û_د_س_Ú_Ù¾_Ù_Ø´'.split('_'), 30361 weekdaysParseExact: true, 30362 longDateFormat: { 30363 LT: 'HH:mm', 30364 LTS: 'HH:mm:ss', 30365 L: 'DD/MM/YYYY', 30366 LL: 'D MMMM YYYY', 30367 LLL: 'D MMMM YYYY HH:mm', 30368 LLLL: 'dddd, D MMMM YYYY HH:mm', 30369 }, 30370 meridiemParse: /ئÛÙØ§Ø±Ùâ|بÙâÛØ§ÙÛ/, 30371 isPM: function (input) { 30372 return /ئÛÙØ§Ø±Ùâ/.test(input); 30373 }, 30374 meridiem: function (hour, minute, isLower) { 30375 if (hour < 12) { 30376 return 'بÙâÛØ§ÙÛ'; 30377 } else { 30378 return 'ئÛÙØ§Ø±Ùâ'; 30379 } 30380 }, 30381 calendar: { 30382 sameDay: '[ئÙâÙ Ø±Û ÙØ§ØªÚÙ ÛØ±] LT', 30383 nextDay: '[بÙâÛØ§ÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 30384 nextWeek: 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 30385 lastDay: '[دÙÛÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 30386 lastWeek: 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 30387 sameElse: 'L', 30388 }, 30389 relativeTime: { 30390 future: 'ÙÙâ %s', 30391 past: '%s', 30392 s: 'ÚÙâÙØ¯ ÚØ±ÙÙâÛÙâÙ', 30393 ss: 'ÚØ±ÙÙâ %d', 30394 m: 'ÛÙâÙ Ø®ÙÙÙâÙ', 30395 mm: '%d Ø®ÙÙÙâÙ', 30396 h: 'ÛÙâÙ ÙØ§ØªÚÙ ÛØ±', 30397 hh: '%d ÙØ§ØªÚÙ ÛØ±', 30398 d: 'ÛÙâÙ ÚÛÚ', 30399 dd: '%d ÚÛÚ', 30400 M: 'ÛÙâ٠٠اÙÚ¯', 30401 MM: '%d ٠اÙÚ¯', 30402 y: 'ÛÙâ٠ساڵ', 30403 yy: '%d ساڵ', 30404 }, 30405 preparse: function (string) { 30406 return string 30407 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 30408 return numberMap[match]; 30409 }) 30410 .replace(/Ø/g, ','); 30411 }, 30412 postformat: function (string) { 30413 return string 30414 .replace(/\d/g, function (match) { 30415 return symbolMap[match]; 30416 }) 30417 .replace(/,/g, 'Ø'); 30418 }, 30419 week: { 30420 dow: 6, // Saturday is the first day of the week. 30421 doy: 12, // The week that contains Jan 12th is the first week of the year. 30422 }, 30423 }); 30424 30425 return ku; 30426 30427}))); 30428 30429 30430/***/ }), 30431 30432/***/ 8235: 30433/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30434 30435//! moment.js locale configuration 30436//! locale : Nepalese [ne] 30437//! author : suvash : https://github.com/suvash 30438 30439;(function (global, factory) { 30440 true ? factory(__webpack_require__(5093)) : 30441 0 30442}(this, (function (moment) { 'use strict'; 30443 30444 //! moment.js locale configuration 30445 30446 var symbolMap = { 30447 1: '१', 30448 2: '२', 30449 3: '३', 30450 4: '४', 30451 5: '५', 30452 6: '६', 30453 7: 'à¥', 30454 8: '८', 30455 9: '९', 30456 0: '०', 30457 }, 30458 numberMap = { 30459 '१': '1', 30460 '२': '2', 30461 '३': '3', 30462 '४': '4', 30463 '५': '5', 30464 '६': '6', 30465 'à¥': '7', 30466 '८': '8', 30467 '९': '9', 30468 '०': '0', 30469 }; 30470 30471 var ne = moment.defineLocale('ne', { 30472 months: 'à¤à¤¨à¤µà¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤°à¥_मारà¥à¤_ठपà¥à¤°à¤¿à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤·à¥à¤_सà¥à¤ªà¥à¤à¥à¤®à¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नà¥à¤à¥à¤®à¥à¤¬à¤°_डिसà¥à¤®à¥à¤¬à¤°'.split( 30473 '_' 30474 ), 30475 monthsShort: 30476 'à¤à¤¨._फà¥à¤¬à¥à¤°à¥._मारà¥à¤_ठपà¥à¤°à¤¿._मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤._ठà¤._सà¥à¤ªà¥à¤._ठà¤à¥à¤à¥._नà¥à¤à¥._डिसà¥.'.split( 30477 '_' 30478 ), 30479 monthsParseExact: true, 30480 weekdays: 'à¤à¤à¤¤à¤¬à¤¾à¤°_सà¥à¤®à¤¬à¤¾à¤°_मà¤à¥à¤à¤²à¤¬à¤¾à¤°_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split( 30481 '_' 30482 ), 30483 weekdaysShort: 'à¤à¤à¤¤._सà¥à¤®._मà¤à¥à¤à¤²._बà¥à¤§._बिहि._शà¥à¤à¥à¤°._शनि.'.split('_'), 30484 weekdaysMin: 'à¤._सà¥._मà¤._बà¥._बि._शà¥._श.'.split('_'), 30485 weekdaysParseExact: true, 30486 longDateFormat: { 30487 LT: 'Aà¤à¥ h:mm बà¤à¥', 30488 LTS: 'Aà¤à¥ h:mm:ss बà¤à¥', 30489 L: 'DD/MM/YYYY', 30490 LL: 'D MMMM YYYY', 30491 LLL: 'D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥', 30492 LLLL: 'dddd, D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥', 30493 }, 30494 preparse: function (string) { 30495 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 30496 return numberMap[match]; 30497 }); 30498 }, 30499 postformat: function (string) { 30500 return string.replace(/\d/g, function (match) { 30501 return symbolMap[match]; 30502 }); 30503 },
30504 meridiemParse: /राति|बिहान|दिà¤à¤à¤¸à¥|साà¤à¤/, 30505 meridiemHour: function (hour, meridiem) { 30506 if (hour === 12) { 30507 hour = 0; 30508 } 30509 if (meridiem === 'राति') { 30510 return hour < 4 ? hour : hour + 12; 30511 } else if (meridiem === 'बिहान') { 30512 return hour; 30513 } else if (meridiem === 'दिà¤à¤à¤¸à¥') { 30514 return hour >= 10 ? hour : hour + 12; 30515 } else if (meridiem === 'साà¤à¤') { 30516 return hour + 12; 30517 } 30518 }, 30519 meridiem: function (hour, minute, isLower) { 30520 if (hour < 3) { 30521 return 'राति'; 30522 } else if (hour < 12) { 30523 return 'बिहान'; 30524 } else if (hour < 16) { 30525 return 'दिà¤à¤à¤¸à¥'; 30526 } else if (hour < 20) { 30527 return 'साà¤à¤'; 30528 } else { 30529 return 'राति'; 30530 } 30531 }, 30532 calendar: { 30533 sameDay: '[à¤à¤] LT', 30534 nextDay: '[à¤à¥à¤²à¤¿] LT', 30535 nextWeek: '[à¤à¤à¤à¤¦à¥] dddd[,] LT', 30536 lastDay: '[हिà¤à¥] LT', 30537 lastWeek: '[à¤à¤à¤à¥] dddd[,] LT', 30538 sameElse: 'L', 30539 }, 30540 relativeTime: { 30541 future: '%sमा', 30542 past: '%s ठà¤à¤¾à¤¡à¤¿', 30543 s: 'à¤à¥à¤¹à¥ à¤à¥à¤·à¤£', 30544 ss: '%d सà¥à¤à¥à¤£à¥à¤¡', 30545 m: 'à¤à¤ मिनà¥à¤', 30546 mm: '%d मिनà¥à¤', 30547 h: 'à¤à¤ à¤à¤£à¥à¤à¤¾', 30548 hh: '%d à¤à¤£à¥à¤à¤¾', 30549 d: 'à¤à¤ दिन', 30550 dd: '%d दिन', 30551 M: 'à¤à¤ महिना', 30552 MM: '%d महिना', 30553 y: 'à¤à¤ बरà¥à¤·', 30554 yy: '%d बरà¥à¤·', 30555 }, 30556 week: { 30557 dow: 0, // Sunday is the first day of the week. 30558 doy: 6, // The week that contains Jan 6th is the first week of the year. 30559 }, 30560 }); 30561 30562 return ne; 30563 30564}))); 30565 30566 30567/***/ }), 30568 30569/***/ 8298: 30570/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30571 30572//! moment.js locale configuration 30573//! locale : English (Canada) [en-ca] 30574//! author : Jonathan Abourbih : https://github.com/jonbca 30575 30576;(function (global, factory) { 30577 true ? factory(__webpack_require__(5093)) : 30578 0 30579}(this, (function (moment) { 'use strict'; 30580 30581 //! moment.js locale configuration 30582 30583 var enCa = moment.defineLocale('en-ca', { 30584 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 30585 '_' 30586 ), 30587 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 30588 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 30589 '_' 30590 ), 30591 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 30592 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 30593 longDateFormat: { 30594 LT: 'h:mm A', 30595 LTS: 'h:mm:ss A', 30596 L: 'YYYY-MM-DD', 30597 LL: 'MMMM D, YYYY', 30598 LLL: 'MMMM D, YYYY h:mm A', 30599 LLLL: 'dddd, MMMM D, YYYY h:mm A', 30600 }, 30601 calendar: { 30602 sameDay: '[Today at] LT', 30603 nextDay: '[Tomorrow at] LT', 30604 nextWeek: 'dddd [at] LT', 30605 lastDay: '[Yesterday at] LT', 30606 lastWeek: '[Last] dddd [at] LT', 30607 sameElse: 'L', 30608 }, 30609 relativeTime: { 30610 future: 'in %s', 30611 past: '%s ago', 30612 s: 'a few seconds', 30613 ss: '%d seconds', 30614 m: 'a minute', 30615 mm: '%d minutes', 30616 h: 'an hour', 30617 hh: '%d hours', 30618 d: 'a day', 30619 dd: '%d days', 30620 M: 'a month', 30621 MM: '%d months', 30622 y: 'a year', 30623 yy: '%d years', 30624 }, 30625 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 30626 ordinal: function (number) { 30627 var b = number % 10, 30628 output = 30629 ~~((number % 100) / 10) === 1 30630 ? 'th' 30631 : b === 1 30632 ? 'st' 30633 : b === 2 30634 ? 'nd' 30635 : b === 3 30636 ? 'rd' 30637 : 'th'; 30638 return number + output; 30639 }, 30640 }); 30641 30642 return enCa; 30643 30644}))); 30645 30646 30647/***/ }), 30648 30649/***/ 8303: 30650/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30651 30652//! moment.js locale configuration 30653//! locale : Portuguese (Brazil) [pt-br] 30654//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira 30655 30656;(function (global, factory) { 30657 true ? factory(__webpack_require__(5093)) : 30658 0 30659}(this, (function (moment) { 'use strict'; 30660 30661 //! moment.js locale configuration 30662 30663 var ptBr = moment.defineLocale('pt-br', { 30664 months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( 30665 '_' 30666 ), 30667 monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 30668 weekdays: 30669 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( 30670 '_' 30671 ), 30672 weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), 30673 weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), 30674 weekdaysParseExact: true, 30675 longDateFormat: { 30676 LT: 'HH:mm', 30677 LTS: 'HH:mm:ss', 30678 L: 'DD/MM/YYYY', 30679 LL: 'D [de] MMMM [de] YYYY', 30680 LLL: 'D [de] MMMM [de] YYYY [à s] HH:mm', 30681 LLLL: 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm', 30682 }, 30683 calendar: { 30684 sameDay: '[Hoje à s] LT', 30685 nextDay: '[Amanhã à s] LT', 30686 nextWeek: 'dddd [à s] LT', 30687 lastDay: '[Ontem à s] LT', 30688 lastWeek: function () { 30689 return this.day() === 0 || this.day() === 6 30690 ? '[Ãltimo] dddd [à s] LT' // Saturday + Sunday 30691 : '[Ãltima] dddd [à s] LT'; // Monday - Friday 30692 }, 30693 sameElse: 'L', 30694 }, 30695 relativeTime: { 30696 future: 'em %s', 30697 past: 'há %s', 30698 s: 'poucos segundos', 30699 ss: '%d segundos', 30700 m: 'um minuto', 30701 mm: '%d minutos', 30702 h: 'uma hora', 30703 hh: '%d horas', 30704 d: 'um dia', 30705 dd: '%d dias', 30706 M: 'um mês', 30707 MM: '%d meses', 30708 y: 'um ano', 30709 yy: '%d anos', 30710 }, 30711 dayOfMonthOrdinalParse: /\d{1,2}º/, 30712 ordinal: '%dº', 30713 invalidDate: 'Data inválida', 30714 }); 30715 30716 return ptBr; 30717 30718}))); 30719 30720 30721/***/ }), 30722 30723/***/ 8383: 30724/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30725 30726//! moment.js locale configuration 30727//! locale : Italian [it]
vendor: 5,095 bytes, lines 30728-30876
30728//! author : Lorenzo : https://github.com/aliem 30729//! author: Mattia Larentis: https://github.com/nostalgiaz 30730//! author: Marco : https://github.com/Manfre98 30731 30732;(function (global, factory) { 30733 true ? factory(__webpack_require__(5093)) : 30734 0 30735}(this, (function (moment) { 'use strict'; 30736 30737 //! moment.js locale configuration 30738 30739 var it = moment.defineLocale('it', { 30740 months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( 30741 '_' 30742 ), 30743 monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 30744 weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( 30745 '_' 30746 ), 30747 weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 30748 weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), 30749 longDateFormat: { 30750 LT: 'HH:mm', 30751 LTS: 'HH:mm:ss', 30752 L: 'DD/MM/YYYY', 30753 LL: 'D MMMM YYYY', 30754 LLL: 'D MMMM YYYY HH:mm', 30755 LLLL: 'dddd D MMMM YYYY HH:mm', 30756 }, 30757 calendar: { 30758 sameDay: function () { 30759 return ( 30760 '[Oggi a' + 30761 (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + 30762 ']LT' 30763 ); 30764 }, 30765 nextDay: function () { 30766 return ( 30767 '[Domani a' + 30768 (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + 30769 ']LT' 30770 ); 30771 }, 30772 nextWeek: function () { 30773 return ( 30774 'dddd [a' + 30775 (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + 30776 ']LT' 30777 ); 30778 }, 30779 lastDay: function () { 30780 return ( 30781 '[Ieri a' + 30782 (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + 30783 ']LT' 30784 ); 30785 }, 30786 lastWeek: function () { 30787 switch (this.day()) { 30788 case 0: 30789 return ( 30790 '[La scorsa] dddd [a' + 30791 (this.hours() > 1 30792 ? 'lle ' 30793 : this.hours() === 0 30794 ? ' ' 30795 : "ll'") + 30796 ']LT' 30797 ); 30798 default: 30799 return ( 30800 '[Lo scorso] dddd [a' + 30801 (this.hours() > 1 30802 ? 'lle ' 30803 : this.hours() === 0 30804 ? ' ' 30805 : "ll'") + 30806 ']LT' 30807 ); 30808 } 30809 }, 30810 sameElse: 'L', 30811 }, 30812 relativeTime: { 30813 future: 'tra %s', 30814 past: '%s fa', 30815 s: 'alcuni secondi', 30816 ss: '%d secondi', 30817 m: 'un minuto', 30818 mm: '%d minuti', 30819 h: "un'ora", 30820 hh: '%d ore', 30821 d: 'un giorno', 30822 dd: '%d giorni', 30823 w: 'una settimana', 30824 ww: '%d settimane', 30825 M: 'un mese', 30826 MM: '%d mesi', 30827 y: 'un anno', 30828 yy: '%d anni', 30829 }, 30830 dayOfMonthOrdinalParse: /\d{1,2}º/, 30831 ordinal: '%dº', 30832 week: { 30833 dow: 1, // Monday is the first day of the week. 30834 doy: 4, // The week that contains Jan 4th is the first week of the year. 30835 }, 30836 }); 30837 30838 return it; 30839 30840}))); 30841 30842 30843/***/ }), 30844 30845/***/ 8414: 30846/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30847 30848//! moment.js locale configuration 30849//! locale : Uyghur (China) [ug-cn] 30850//! author: boyaq : https://github.com/boyaq 30851 30852;(function (global, factory) { 30853 true ? factory(__webpack_require__(5093)) : 30854 0 30855}(this, (function (moment) { 'use strict'; 30856 30857 //! moment.js locale configuration 30858 30859 var ugCn = moment.defineLocale('ug-cn', { 30860 months: 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 30861 '_' 30862 ), 30863 monthsShort: 30864 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 30865 '_' 30866 ), 30867 weekdays: 'ÙÛÙØ´ÛÙØ¨Û_Ø¯ÛØ´ÛÙØ¨Û_سÛÙØ´ÛÙØ¨Û_ÚØ§Ø±Ø´ÛÙØ¨Û_Ù¾ÛÙØ´ÛÙØ¨Û_جÛÙ Û_Ø´ÛÙØ¨Û'.split( 30868 '_' 30869 ), 30870 weekdaysShort: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 30871 weekdaysMin: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 30872 longDateFormat: { 30873 LT: 'HH:mm', 30874 LTS: 'HH:mm:ss', 30875 L: 'YYYY-MM-DD', 30876 LL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙ',
vendor: 22,971 bytes, lines 30877-31542
30877 LLL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm', 30878 LLLL: 'ddddØ YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm', 30879 }, 30880 meridiemParse: /ÙÛØ±ÙÙ ÙÛÚÛ|سÛÚ¾ÛØ±|ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ|ÚÛØ´|ÚÛØ´ØªÙÙ ÙÛÙÙÙ|ÙÛÚ/, 30881 meridiemHour: function (hour, meridiem) { 30882 if (hour === 12) { 30883 hour = 0; 30884 } 30885 if ( 30886 meridiem === 'ÙÛØ±ÙÙ ÙÛÚÛ' || 30887 meridiem === 'سÛÚ¾ÛØ±' || 30888 meridiem === 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ' 30889 ) { 30890 return hour; 30891 } else if (meridiem === 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ' || meridiem === 'ÙÛÚ') { 30892 return hour + 12; 30893 } else { 30894 return hour >= 11 ? hour : hour + 12; 30895 } 30896 }, 30897 meridiem: function (hour, minute, isLower) { 30898 var hm = hour * 100 + minute; 30899 if (hm < 600) { 30900 return 'ÙÛØ±ÙÙ ÙÛÚÛ'; 30901 } else if (hm < 900) { 30902 return 'سÛÚ¾ÛØ±'; 30903 } else if (hm < 1130) { 30904 return 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ'; 30905 } else if (hm < 1230) { 30906 return 'ÚÛØ´'; 30907 } else if (hm < 1800) { 30908 return 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ'; 30909 } else { 30910 return 'ÙÛÚ'; 30911 } 30912 }, 30913 calendar: { 30914 sameDay: '[بÛÚ¯ÛÙ Ø³Ø§Ø¦ÛØª] LT', 30915 nextDay: '[Ø¦ÛØªÛ Ø³Ø§Ø¦ÛØª] LT', 30916 nextWeek: '[ÙÛÙÛØ±ÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 30917 lastDay: '[تÛÙÛÚ¯ÛÙ] LT', 30918 lastWeek: '[Ø¦Ø§ÙØ¯ÙÙÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 30919 sameElse: 'L', 30920 }, 30921 relativeTime: { 30922 future: '%s ÙÛÙÙÙ', 30923 past: '%s Ø¨ÛØ±ÛÙ', 30924 s: 'ÙÛÚÚÛ Ø³ÛÙÙÙØª', 30925 ss: '%d سÛÙÙÙØª', 30926 m: 'Ø¨ÙØ± Ù ÙÙÛØª', 30927 mm: '%d Ù ÙÙÛØª', 30928 h: 'Ø¨ÙØ± Ø³Ø§Ø¦ÛØª', 30929 hh: '%d Ø³Ø§Ø¦ÛØª', 30930 d: 'Ø¨ÙØ± ÙÛÙ', 30931 dd: '%d ÙÛÙ', 30932 M: 'Ø¨ÙØ± ئاÙ', 30933 MM: '%d ئاÙ', 30934 y: 'Ø¨ÙØ± ÙÙÙ', 30935 yy: '%d ÙÙÙ', 30936 }, 30937 30938 dayOfMonthOrdinalParse: /\d{1,2}(-ÙÛÙÙ|-ئاÙ|-Ú¾ÛپتÛ)/, 30939 ordinal: function (number, period) { 30940 switch (period) { 30941 case 'd': 30942 case 'D': 30943 case 'DDD': 30944 return number + '-ÙÛÙÙ'; 30945 case 'w': 30946 case 'W': 30947 return number + '-Ú¾ÛپتÛ'; 30948 default: 30949 return number; 30950 } 30951 }, 30952 preparse: function (string) { 30953 return string.replace(/Ø/g, ','); 30954 }, 30955 postformat: function (string) { 30956 return string.replace(/,/g, 'Ø'); 30957 }, 30958 week: { 30959 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 30960 dow: 1, // Monday is the first day of the week. 30961 doy: 7, // The week that contains Jan 1st is the first week of the year. 30962 }, 30963 }); 30964 30965 return ugCn; 30966 30967}))); 30968 30969 30970/***/ }), 30971 30972/***/ 8474: 30973/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 30974 30975//! moment.js locale configuration 30976//! locale : Kyrgyz [ky] 30977//! author : Chyngyz Arystan uulu : https://github.com/chyngyz 30978 30979;(function (global, factory) { 30980 true ? factory(__webpack_require__(5093)) : 30981 0 30982}(this, (function (moment) { 'use strict'; 30983 30984 //! moment.js locale configuration 30985 30986 var suffixes = { 30987 0: '-ÑÒ¯', 30988 1: '-Ñи', 30989 2: '-Ñи', 30990 3: '-ÑÒ¯', 30991 4: '-ÑÒ¯', 30992 5: '-Ñи', 30993 6: '-ÑÑ', 30994 7: '-Ñи', 30995 8: '-Ñи', 30996 9: '-ÑÑ', 30997 10: '-ÑÑ', 30998 20: '-ÑÑ', 30999 30: '-ÑÑ', 31000 40: '-ÑÑ', 31001 50: '-ÑÒ¯', 31002 60: '-ÑÑ', 31003 70: '-Ñи', 31004 80: '-Ñи', 31005 90: '-ÑÑ', 31006 100: '-ÑÒ¯', 31007 }; 31008 31009 var ky = moment.defineLocale('ky', { 31010 months: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split( 31011 '_' 31012 ), 31013 monthsShort: 'Ñнв_Ñев_маÑÑ_апÑ_май_иÑнÑ_иÑлÑ_авг_Ñен_окÑ_ноÑ_дек'.split( 31014 '_' 31015 ), 31016 weekdays: 'ÐекÑемби_ÐүйÑөмбү_ШейÑемби_ШаÑÑемби_ÐейÑемби_ÐÑма_ÐÑемби'.split( 31017 '_' 31018 ), 31019 weekdaysShort: 'Ðек_Ðүй_Шей_ШаÑ_Ðей_ÐÑм_ÐÑе'.split('_'), 31020 weekdaysMin: 'Ðк_Ðй_Шй_ШÑ_Ðй_Ðм_ÐÑ'.split('_'), 31021 longDateFormat: { 31022 LT: 'HH:mm', 31023 LTS: 'HH:mm:ss', 31024 L: 'DD.MM.YYYY', 31025 LL: 'D MMMM YYYY', 31026 LLL: 'D MMMM YYYY HH:mm', 31027 LLLL: 'dddd, D MMMM YYYY HH:mm', 31028 }, 31029 calendar: { 31030 sameDay: '[Ðүгүн ÑааÑ] LT', 31031 nextDay: '[ÐÑÑең ÑааÑ] LT', 31032 nextWeek: 'dddd [ÑааÑ] LT', 31033 lastDay: '[ÐеÑÑÑ ÑааÑ] LT', 31034 lastWeek: '[Ó¨Ñкөн апÑанÑн] dddd [күнү] [ÑааÑ] LT', 31035 sameElse: 'L', 31036 }, 31037 relativeTime: { 31038 future: '%s иÑинде', 31039 past: '%s мÑÑÑн', 31040 s: 'биÑнеÑе ÑекÑнд', 31041 ss: '%d ÑекÑнд', 31042 m: 'Ð±Ð¸Ñ Ð¼Ò¯Ð½Ó©Ñ', 31043 mm: '%d мүнөÑ', 31044 h: 'Ð±Ð¸Ñ ÑааÑ', 31045 hh: '%d ÑааÑ', 31046 d: 'Ð±Ð¸Ñ ÐºÒ¯Ð½', 31047 dd: '%d күн', 31048 M: 'Ð±Ð¸Ñ Ð°Ð¹', 31049 MM: '%d ай', 31050 y: 'Ð±Ð¸Ñ Ð¶Ñл', 31051 yy: '%d жÑл', 31052 }, 31053 dayOfMonthOrdinalParse: /\d{1,2}-(Ñи|ÑÑ|ÑÒ¯|ÑÑ)/, 31054 ordinal: function (number) { 31055 var a = number % 10, 31056 b = number >= 100 ? 100 : null; 31057 return number + (suffixes[number] || suffixes[a] || suffixes[b]); 31058 }, 31059 week: { 31060 dow: 1, // Monday is the first day of the week. 31061 doy: 7, // The week that contains Jan 7th is the first week of the year. 31062 }, 31063 }); 31064 31065 return ky; 31066 31067}))); 31068 31069 31070/***/ }), 31071 31072/***/ 8676: 31073/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31074 31075//! moment.js locale configuration 31076//! locale : Arabic (Kuwait) [ar-kw] 31077//! author : Nusret Parlak: https://github.com/nusretparlak 31078 31079;(function (global, factory) { 31080 true ? factory(__webpack_require__(5093)) : 31081 0 31082}(this, (function (moment) { 'use strict'; 31083 31084 //! moment.js locale configuration 31085 31086 var arKw = moment.defineLocale('ar-kw', { 31087 months: 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split( 31088 '_' 31089 ), 31090 monthsShort: 31091 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split( 31092 '_' 31093 ), 31094 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 31095 weekdaysShort: 'Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 31096 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 31097 weekdaysParseExact: true, 31098 longDateFormat: { 31099 LT: 'HH:mm', 31100 LTS: 'HH:mm:ss', 31101 L: 'DD/MM/YYYY', 31102 LL: 'D MMMM YYYY', 31103 LLL: 'D MMMM YYYY HH:mm', 31104 LLLL: 'dddd D MMMM YYYY HH:mm', 31105 }, 31106 calendar: { 31107 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 31108 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 31109 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 31110 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 31111 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 31112 sameElse: 'L', 31113 }, 31114 relativeTime: { 31115 future: 'ÙÙ %s', 31116 past: 'Ù ÙØ° %s', 31117 s: 'Ø«ÙØ§Ù', 31118 ss: '%d ثاÙÙØ©', 31119 m: 'دÙÙÙØ©', 31120 mm: '%d Ø¯ÙØ§Ø¦Ù', 31121 h: 'ساعة', 31122 hh: '%d ساعات', 31123 d: 'ÙÙÙ ', 31124 dd: '%d Ø£ÙØ§Ù ', 31125 M: 'Ø´ÙØ±', 31126 MM: '%d Ø£Ø´ÙØ±', 31127 y: 'Ø³ÙØ©', 31128 yy: '%d سÙÙØ§Øª', 31129 }, 31130 week: { 31131 dow: 0, // Sunday is the first day of the week. 31132 doy: 12, // The week that contains Jan 12th is the first week of the year. 31133 }, 31134 }); 31135 31136 return arKw; 31137 31138}))); 31139 31140 31141/***/ }), 31142 31143/***/ 8861: 31144/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31145 31146//! moment.js locale configuration 31147//! locale : Tetun Dili (East Timor) [tet] 31148//! author : Joshua Brooks : https://github.com/joshbrooks 31149//! author : Onorio De J. Afonso : https://github.com/marobo 31150//! author : Sonia Simoes : https://github.com/soniasimoes 31151 31152;(function (global, factory) { 31153 true ? factory(__webpack_require__(5093)) : 31154 0 31155}(this, (function (moment) { 'use strict'; 31156 31157 //! moment.js locale configuration 31158 31159 var tet = moment.defineLocale('tet', { 31160 months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split( 31161 '_' 31162 ), 31163 monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 31164 weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), 31165 weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), 31166 weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), 31167 longDateFormat: { 31168 LT: 'HH:mm', 31169 LTS: 'HH:mm:ss', 31170 L: 'DD/MM/YYYY', 31171 LL: 'D MMMM YYYY', 31172 LLL: 'D MMMM YYYY HH:mm', 31173 LLLL: 'dddd, D MMMM YYYY HH:mm', 31174 }, 31175 calendar: { 31176 sameDay: '[Ohin iha] LT', 31177 nextDay: '[Aban iha] LT', 31178 nextWeek: 'dddd [iha] LT', 31179 lastDay: '[Horiseik iha] LT', 31180 lastWeek: 'dddd [semana kotuk] [iha] LT', 31181 sameElse: 'L', 31182 }, 31183 relativeTime: { 31184 future: 'iha %s', 31185 past: '%s liuba', 31186 s: 'segundu balun', 31187 ss: 'segundu %d', 31188 m: 'minutu ida', 31189 mm: 'minutu %d', 31190 h: 'oras ida', 31191 hh: 'oras %d', 31192 d: 'loron ida', 31193 dd: 'loron %d', 31194 M: 'fulan ida', 31195 MM: 'fulan %d', 31196 y: 'tinan ida', 31197 yy: 'tinan %d', 31198 }, 31199 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 31200 ordinal: function (number) { 31201 var b = number % 10, 31202 output = 31203 ~~((number % 100) / 10) === 1 31204 ? 'th' 31205 : b === 1 31206 ? 'st' 31207 : b === 2 31208 ? 'nd' 31209 : b === 3 31210 ? 'rd' 31211 : 'th'; 31212 return number + output; 31213 }, 31214 week: { 31215 dow: 1, // Monday is the first day of the week. 31216 doy: 4, // The week that contains Jan 4th is the first week of the year. 31217 }, 31218 }); 31219 31220 return tet; 31221 31222}))); 31223 31224 31225/***/ }), 31226 31227/***/ 8959: 31228/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31229 31230//! moment.js locale configuration 31231//! locale : Belarusian [be] 31232//! author : Dmitry Demidov : https://github.com/demidov91 31233//! author: Praleska: http://praleska.pro/ 31234//! Author : Menelion Elensúle : https://github.com/Oire 31235 31236;(function (global, factory) { 31237 true ? factory(__webpack_require__(5093)) : 31238 0 31239}(this, (function (moment) { 'use strict'; 31240 31241 //! moment.js locale configuration 31242 31243 function plural(word, num) { 31244 var forms = word.split('_'); 31245 return num % 10 === 1 && num % 100 !== 11 31246 ? forms[0] 31247 : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) 31248 ? forms[1] 31249 : forms[2]; 31250 } 31251 function relativeTimeWithPlural(number, withoutSuffix, key) { 31252 var format = { 31253 ss: withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 31254 mm: withoutSuffix ? 'Ñ Ð²ÑлÑна_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн' : 'Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн', 31255 hh: withoutSuffix ? 'гадзÑна_гадзÑнÑ_гадзÑн' : 'гадзÑнÑ_гадзÑнÑ_гадзÑн', 31256 dd: 'дзенÑ_днÑ_дзÑн', 31257 MM: 'меÑÑÑ_меÑÑÑÑ_меÑÑÑаÑ', 31258 yy: 'год_гадÑ_гадоÑ', 31259 }; 31260 if (key === 'm') { 31261 return withoutSuffix ? 'Ñ Ð²ÑлÑна' : 'Ñ Ð²ÑлÑнÑ'; 31262 } else if (key === 'h') { 31263 return withoutSuffix ? 'гадзÑна' : 'гадзÑнÑ'; 31264 } else { 31265 return number + ' ' + plural(format[key], +number); 31266 } 31267 } 31268 31269 var be = moment.defineLocale('be', { 31270 months: { 31271 format: 'ÑÑÑдзенÑ_лÑÑага_ÑакавÑка_кÑаÑавÑка_ÑÑаÑнÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑÑнÑ_веÑаÑнÑ_каÑÑÑÑÑнÑка_лÑÑÑапада_ÑнежнÑ'.split( 31272 '_' 31273 ), 31274 standalone: 31275 'ÑÑÑдзенÑ_лÑÑÑ_ÑакавÑк_кÑаÑавÑк_ÑÑавенÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑвенÑ_веÑаÑенÑ_каÑÑÑÑÑнÑк_лÑÑÑапад_ÑнежанÑ'.split( 31276 '_' 31277 ), 31278 }, 31279 monthsShort: 31280 'ÑÑÑд_лÑÑ_Ñак_кÑаÑ_ÑÑав_ÑÑÑв_лÑп_жнÑв_веÑ_каÑÑ_лÑÑÑ_Ñнеж'.split('_'), 31281 weekdays: { 31282 format: 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑадÑ_ÑаÑвеÑ_пÑÑнÑÑÑ_ÑÑбоÑÑ'.split( 31283 '_' 31284 ), 31285 standalone: 31286 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑада_ÑаÑвеÑ_пÑÑнÑÑа_ÑÑбоÑа'.split( 31287 '_' 31288 ), 31289 isFormat: /\[ ?[УÑÑ] ?(?:мÑнÑлÑÑ|наÑÑÑпнÑÑ)? ?\] ?dddd/, 31290 }, 31291 weekdaysShort: 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 31292 weekdaysMin: 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 31293 longDateFormat: { 31294 LT: 'HH:mm', 31295 LTS: 'HH:mm:ss', 31296 L: 'DD.MM.YYYY', 31297 LL: 'D MMMM YYYY г.', 31298 LLL: 'D MMMM YYYY г., HH:mm', 31299 LLLL: 'dddd, D MMMM YYYY г., HH:mm', 31300 }, 31301 calendar: { 31302 sameDay: '[СÑÐ½Ð½Ñ Ñ] LT', 31303 nextDay: '[ÐаÑÑÑа Ñ] LT', 31304 lastDay: '[УÑоÑа Ñ] LT', 31305 nextWeek: function () { 31306 return '[У] dddd [Ñ] LT'; 31307 }, 31308 lastWeek: function () { 31309 switch (this.day()) { 31310 case 0: 31311 case 3: 31312 case 5: 31313 case 6: 31314 return '[У мÑнÑлÑÑ] dddd [Ñ] LT'; 31315 case 1: 31316 case 2: 31317 case 4: 31318 return '[У мÑнÑлÑ] dddd [Ñ] LT'; 31319 } 31320 }, 31321 sameElse: 'L', 31322 }, 31323 relativeTime: { 31324 future: 'пÑаз %s', 31325 past: '%s ÑамÑ', 31326 s: 'некалÑÐºÑ ÑекÑнд', 31327 m: relativeTimeWithPlural, 31328 mm: relativeTimeWithPlural, 31329 h: relativeTimeWithPlural, 31330 hh: relativeTimeWithPlural, 31331 d: 'дзенÑ', 31332 dd: relativeTimeWithPlural, 31333 M: 'меÑÑÑ', 31334 MM: relativeTimeWithPlural, 31335 y: 'год', 31336 yy: relativeTimeWithPlural, 31337 }, 31338 meridiemParse: /ноÑÑ|ÑанÑÑÑ|днÑ|веÑаÑа/, 31339 isPM: function (input) { 31340 return /^(днÑ|веÑаÑа)$/.test(input); 31341 }, 31342 meridiem: function (hour, minute, isLower) { 31343 if (hour < 4) { 31344 return 'ноÑÑ'; 31345 } else if (hour < 12) { 31346 return 'ÑанÑÑÑ'; 31347 } else if (hour < 17) { 31348 return 'днÑ'; 31349 } else { 31350 return 'веÑаÑа'; 31351 } 31352 }, 31353 dayOfMonthOrdinalParse: /\d{1,2}-(Ñ|Ñ|га)/, 31354 ordinal: function (number, period) { 31355 switch (period) { 31356 case 'M': 31357 case 'd': 31358 case 'DDD': 31359 case 'w': 31360 case 'W': 31361 return (number % 10 === 2 || number % 10 === 3) && 31362 number % 100 !== 12 && 31363 number % 100 !== 13 31364 ? number + '-Ñ' 31365 : number + '-Ñ'; 31366 case 'D': 31367 return number + '-га'; 31368 default: 31369 return number; 31370 } 31371 }, 31372 week: { 31373 dow: 1, // Monday is the first day of the week. 31374 doy: 7, // The week that contains Jan 7th is the first week of the year. 31375 }, 31376 }); 31377 31378 return be; 31379 31380}))); 31381 31382 31383/***/ }), 31384 31385/***/ 9033: 31386/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31387 31388//! moment.js locale configuration 31389//! locale : English (India) [en-in] 31390//! author : Jatin Agrawal : https://github.com/jatinag22 31391 31392;(function (global, factory) { 31393 true ? factory(__webpack_require__(5093)) : 31394 0 31395}(this, (function (moment) { 'use strict'; 31396 31397 //! moment.js locale configuration 31398 31399 var enIn = moment.defineLocale('en-in', { 31400 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 31401 '_' 31402 ), 31403 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 31404 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 31405 '_' 31406 ), 31407 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 31408 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 31409 longDateFormat: { 31410 LT: 'h:mm A', 31411 LTS: 'h:mm:ss A', 31412 L: 'DD/MM/YYYY', 31413 LL: 'D MMMM YYYY', 31414 LLL: 'D MMMM YYYY h:mm A', 31415 LLLL: 'dddd, D MMMM YYYY h:mm A', 31416 }, 31417 calendar: { 31418 sameDay: '[Today at] LT', 31419 nextDay: '[Tomorrow at] LT', 31420 nextWeek: 'dddd [at] LT', 31421 lastDay: '[Yesterday at] LT', 31422 lastWeek: '[Last] dddd [at] LT', 31423 sameElse: 'L', 31424 }, 31425 relativeTime: { 31426 future: 'in %s', 31427 past: '%s ago', 31428 s: 'a few seconds', 31429 ss: '%d seconds', 31430 m: 'a minute', 31431 mm: '%d minutes', 31432 h: 'an hour', 31433 hh: '%d hours', 31434 d: 'a day', 31435 dd: '%d days', 31436 M: 'a month', 31437 MM: '%d months', 31438 y: 'a year', 31439 yy: '%d years', 31440 }, 31441 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 31442 ordinal: function (number) { 31443 var b = number % 10, 31444 output = 31445 ~~((number % 100) / 10) === 1 31446 ? 'th' 31447 : b === 1 31448 ? 'st' 31449 : b === 2 31450 ? 'nd' 31451 : b === 3 31452 ? 'rd' 31453 : 'th'; 31454 return number + output; 31455 }, 31456 week: { 31457 dow: 0, // Sunday is the first day of the week. 31458 doy: 6, // The week that contains Jan 1st is the first week of the year. 31459 }, 31460 }); 31461 31462 return enIn; 31463 31464}))); 31465 31466 31467/***/ }), 31468 31469/***/ 9053: 31470/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31471 31472//! moment.js locale configuration 31473//! locale : Mongolian [mn] 31474//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7 31475 31476;(function (global, factory) { 31477 true ? factory(__webpack_require__(5093)) : 31478 0 31479}(this, (function (moment) { 'use strict'; 31480 31481 //! moment.js locale configuration 31482 31483 function translate(number, withoutSuffix, key, isFuture) { 31484 switch (key) { 31485 case 's': 31486 return withoutSuffix ? 'Ñ ÑÐ´Ñ Ñн ÑекÑнд' : 'Ñ ÑÐ´Ñ Ñн ÑекÑндÑн'; 31487 case 'ss': 31488 return number + (withoutSuffix ? ' ÑекÑнд' : ' ÑекÑндÑн'); 31489 case 'm': 31490 case 'mm': 31491 return number + (withoutSuffix ? ' минÑÑ' : ' минÑÑÑн'); 31492 case 'h': 31493 case 'hh': 31494 return number + (withoutSuffix ? ' Ñаг' : ' Ñагийн'); 31495 case 'd': 31496 case 'dd': 31497 return number + (withoutSuffix ? ' өдөÑ' : ' өдÑийн'); 31498 case 'M': 31499 case 'MM': 31500 return number + (withoutSuffix ? ' ÑаÑ' : ' ÑаÑÑн'); 31501 case 'y': 31502 case 'yy': 31503 return number + (withoutSuffix ? ' жил' : ' жилийн'); 31504 default: 31505 return number; 31506 } 31507 } 31508 31509 var mn = moment.defineLocale('mn', { 31510 months: 'ÐÑгдүгÑÑÑ ÑаÑ_ХоÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÓ©ÑөвдүгÑÑÑ ÑаÑ_ТавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑгадÑÐ³Ð°Ð°Ñ ÑаÑ_ÐолдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐаймдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑдүгÑÑÑ ÑаÑ_ÐÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑван нÑгдүгÑÑÑ ÑаÑ_ÐÑван Ñ Ð¾ÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ'.split( 31511 '_' 31512 ), 31513 monthsShort: 31514 '1 ÑаÑ_2 ÑаÑ_3 ÑаÑ_4 ÑаÑ_5 ÑаÑ_6 ÑаÑ_7 ÑаÑ_8 ÑаÑ_9 ÑаÑ_10 ÑаÑ_11 ÑаÑ_12 ÑаÑ'.split( 31515 '_' 31516 ), 31517 monthsParseExact: true, 31518 weekdays: 'ÐÑм_Ðаваа_ÐÑгмаÑ_ÐÑ Ð°Ð³Ð²Ð°_ÐÒ¯ÑÑв_ÐааÑан_ÐÑмба'.split('_'), 31519 weekdaysShort: 'ÐÑм_Ðав_ÐÑг_ÐÑ Ð°_ÐÒ¯Ñ_Ðаа_ÐÑм'.split('_'), 31520 weekdaysMin: 'ÐÑ_Ðа_ÐÑ_ÐÑ _ÐÒ¯_Ðа_ÐÑ'.split('_'), 31521 weekdaysParseExact: true, 31522 longDateFormat: { 31523 LT: 'HH:mm', 31524 LTS: 'HH:mm:ss', 31525 L: 'YYYY-MM-DD', 31526 LL: 'YYYY Ð¾Ð½Ñ MMMMÑн D', 31527 LLL: 'YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm', 31528 LLLL: 'dddd, YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm', 31529 }, 31530 meridiemParse: /Ò®Ó¨|ҮХ/i, 31531 isPM: function (input) { 31532 return input === 'ҮХ'; 31533 }, 31534 meridiem: function (hour, minute, isLower) { 31535 if (hour < 12) { 31536 return 'Ò®Ó¨'; 31537 } else { 31538 return 'ҮХ'; 31539 } 31540 }, 31541 calendar: { 31542 sameDay: '[ӨнөөдөÑ] LT',
31543 nextDay: '[ÐаÑгааÑ] LT', 31544 nextWeek: '[ÐÑÑÑ ] dddd LT', 31545 lastDay: '[Ó¨ÑигдөÑ] LT', 31546 lastWeek: '[ӨнгөÑÑөн] dddd LT', 31547 sameElse: 'L', 31548 }, 31549 relativeTime: { 31550 future: '%s даÑаа', 31551 past: '%s өмнө', 31552 s: translate, 31553 ss: translate, 31554 m: translate, 31555 mm: translate, 31556 h: translate, 31557 hh: translate, 31558 d: translate, 31559 dd: translate, 31560 M: translate, 31561 MM: translate, 31562 y: translate, 31563 yy: translate, 31564 }, 31565 dayOfMonthOrdinalParse: /\d{1,2} өдөÑ/, 31566 ordinal: function (number, period) { 31567 switch (period) { 31568 case 'd': 31569 case 'D': 31570 case 'DDD': 31571 return number + ' өдөÑ'; 31572 default: 31573 return number; 31574 } 31575 }, 31576 }); 31577 31578 return mn; 31579 31580}))); 31581 31582 31583/***/ }), 31584 31585/***/ 9231: 31586/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31587 31588//! moment.js locale configuration 31589//! locale : Tagalog (Philippines) [tl-ph] 31590//! author : Dan Hagman : https://github.com/hagmandan 31591 31592;(function (global, factory) { 31593 true ? factory(__webpack_require__(5093)) : 31594 0 31595}(this, (function (moment) { 'use strict'; 31596 31597 //! moment.js locale configuration 31598 31599 var tlPh = moment.defineLocale('tl-ph', { 31600 months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( 31601 '_' 31602 ), 31603 monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 31604 weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( 31605 '_' 31606 ), 31607 weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 31608 weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 31609 longDateFormat: { 31610 LT: 'HH:mm', 31611 LTS: 'HH:mm:ss', 31612 L: 'MM/D/YYYY', 31613 LL: 'MMMM D, YYYY', 31614 LLL: 'MMMM D, YYYY HH:mm', 31615 LLLL: 'dddd, MMMM DD, YYYY HH:mm', 31616 }, 31617 calendar: { 31618 sameDay: 'LT [ngayong araw]', 31619 nextDay: '[Bukas ng] LT', 31620 nextWeek: 'LT [sa susunod na] dddd', 31621 lastDay: 'LT [kahapon]', 31622 lastWeek: 'LT [noong nakaraang] dddd', 31623 sameElse: 'L', 31624 }, 31625 relativeTime: { 31626 future: 'sa loob ng %s', 31627 past: '%s ang nakalipas', 31628 s: 'ilang segundo', 31629 ss: '%d segundo', 31630 m: 'isang minuto', 31631 mm: '%d minuto', 31632 h: 'isang oras', 31633 hh: '%d oras', 31634 d: 'isang araw', 31635 dd: '%d araw', 31636 M: 'isang buwan', 31637 MM: '%d buwan', 31638 y: 'isang taon', 31639 yy: '%d taon', 31640 }, 31641 dayOfMonthOrdinalParse: /\d{1,2}/, 31642 ordinal: function (number) { 31643 return number; 31644 }, 31645 week: { 31646 dow: 1, // Monday is the first day of the week. 31647 doy: 4, // The week that contains Jan 4th is the first week of the year. 31648 }, 31649 }); 31650 31651 return tlPh; 31652 31653}))); 31654 31655 31656/***/ }), 31657 31658/***/ 9330: 31659/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31660 31661//! moment.js locale configuration 31662//! locale : Occitan, lengadocian dialecte [oc-lnc] 31663//! author : Quentin PAGÃS : https://github.com/Quenty31 31664 31665;(function (global, factory) { 31666 true ? factory(__webpack_require__(5093)) : 31667 0 31668}(this, (function (moment) { 'use strict'; 31669 31670 //! moment.js locale configuration 31671 31672 var ocLnc = moment.defineLocale('oc-lnc', { 31673 months: { 31674 standalone: 31675 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( 31676 '_' 31677 ), 31678 format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split( 31679 '_' 31680 ), 31681 isFormat: /D[oD]?(\s)+MMMM/, 31682 }, 31683 monthsShort: 31684 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( 31685 '_' 31686 ), 31687 monthsParseExact: true, 31688 weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split( 31689 '_' 31690 ), 31691 weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'), 31692 weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'), 31693 weekdaysParseExact: true, 31694 longDateFormat: { 31695 LT: 'H:mm', 31696 LTS: 'H:mm:ss', 31697 L: 'DD/MM/YYYY', 31698 LL: 'D MMMM [de] YYYY', 31699 ll: 'D MMM YYYY', 31700 LLL: 'D MMMM [de] YYYY [a] H:mm', 31701 lll: 'D MMM YYYY, H:mm', 31702 LLLL: 'dddd D MMMM [de] YYYY [a] H:mm', 31703 llll: 'ddd D MMM YYYY, H:mm', 31704 }, 31705 calendar: { 31706 sameDay: '[uèi a] LT', 31707 nextDay: '[deman a] LT', 31708 nextWeek: 'dddd [a] LT', 31709 lastDay: '[ièr a] LT', 31710 lastWeek: 'dddd [passat a] LT', 31711 sameElse: 'L', 31712 }, 31713 relativeTime: { 31714 future: "d'aquà %s", 31715 past: 'fa %s', 31716 s: 'unas segondas', 31717 ss: '%d segondas', 31718 m: 'una minuta', 31719 mm: '%d minutas', 31720 h: 'una ora', 31721 hh: '%d oras', 31722 d: 'un jorn', 31723 dd: '%d jorns', 31724 M: 'un mes', 31725 MM: '%d meses', 31726 y: 'un an', 31727 yy: '%d ans', 31728 }, 31729 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, 31730 ordinal: function (number, period) { 31731 var output = 31732 number === 1 31733 ? 'r' 31734 : number === 2 31735 ? 'n' 31736 : number === 3 31737 ? 'r' 31738 : number === 4 31739 ? 't' 31740 : 'è'; 31741 if (period === 'w' || period === 'W') { 31742 output = 'a'; 31743 } 31744 return number + output; 31745 }, 31746 week: { 31747 dow: 1, // Monday is the first day of the week. 31748 doy: 4, 31749 }, 31750 }); 31751 31752 return ocLnc; 31753 31754}))); 31755 31756 31757/***/ }), 31758 31759/***/ 9374: 31760/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31761 31762//! moment.js locale configuration 31763//! locale : Icelandic [is] 31764//! author : Hinrik Ãrn Sigurðsson : https://github.com/hinrik 31765 31766;(function (global, factory) { 31767 true ? factory(__webpack_require__(5093)) : 31768 0 31769}(this, (function (moment) { 'use strict'; 31770 31771 //! moment.js locale configuration 31772 31773 function plural(n) { 31774 if (n % 100 === 11) { 31775 return true; 31776 } else if (n % 10 === 1) { 31777 return false;
vendor: 29,053 bytes, lines 31778-32655
31778 } 31779 return true; 31780 } 31781 function translate(number, withoutSuffix, key, isFuture) { 31782 var result = number + ' '; 31783 switch (key) { 31784 case 's': 31785 return withoutSuffix || isFuture 31786 ? 'nokkrar sekúndur' 31787 : 'nokkrum sekúndum'; 31788 case 'ss': 31789 if (plural(number)) { 31790 return ( 31791 result + 31792 (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum') 31793 ); 31794 } 31795 return result + 'sekúnda'; 31796 case 'm': 31797 return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; 31798 case 'mm': 31799 if (plural(number)) { 31800 return ( 31801 result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum') 31802 ); 31803 } else if (withoutSuffix) { 31804 return result + 'mÃnúta'; 31805 } 31806 return result + 'mÃnútu'; 31807 case 'hh': 31808 if (plural(number)) { 31809 return ( 31810 result + 31811 (withoutSuffix || isFuture 31812 ? 'klukkustundir' 31813 : 'klukkustundum') 31814 ); 31815 } 31816 return result + 'klukkustund'; 31817 case 'd': 31818 if (withoutSuffix) { 31819 return 'dagur'; 31820 } 31821 return isFuture ? 'dag' : 'degi'; 31822 case 'dd': 31823 if (plural(number)) { 31824 if (withoutSuffix) { 31825 return result + 'dagar'; 31826 } 31827 return result + (isFuture ? 'daga' : 'dögum'); 31828 } else if (withoutSuffix) { 31829 return result + 'dagur'; 31830 } 31831 return result + (isFuture ? 'dag' : 'degi'); 31832 case 'M': 31833 if (withoutSuffix) { 31834 return 'mánuður'; 31835 } 31836 return isFuture ? 'mánuð' : 'mánuði'; 31837 case 'MM': 31838 if (plural(number)) { 31839 if (withoutSuffix) { 31840 return result + 'mánuðir'; 31841 } 31842 return result + (isFuture ? 'mánuði' : 'mánuðum'); 31843 } else if (withoutSuffix) { 31844 return result + 'mánuður'; 31845 } 31846 return result + (isFuture ? 'mánuð' : 'mánuði'); 31847 case 'y': 31848 return withoutSuffix || isFuture ? 'ár' : 'ári'; 31849 case 'yy': 31850 if (plural(number)) { 31851 return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); 31852 } 31853 return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); 31854 } 31855 } 31856 31857 var is = moment.defineLocale('is', { 31858 months: 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split( 31859 '_' 31860 ), 31861 monthsShort: 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), 31862 weekdays: 31863 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( 31864 '_' 31865 ), 31866 weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), 31867 weekdaysMin: 'Su_Má_Ãr_Mi_Fi_Fö_La'.split('_'), 31868 longDateFormat: { 31869 LT: 'H:mm', 31870 LTS: 'H:mm:ss', 31871 L: 'DD.MM.YYYY', 31872 LL: 'D. MMMM YYYY', 31873 LLL: 'D. MMMM YYYY [kl.] H:mm', 31874 LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm', 31875 }, 31876 calendar: { 31877 sameDay: '[à dag kl.] LT', 31878 nextDay: '[á morgun kl.] LT', 31879 nextWeek: 'dddd [kl.] LT', 31880 lastDay: '[à gær kl.] LT', 31881 lastWeek: '[sÃðasta] dddd [kl.] LT', 31882 sameElse: 'L', 31883 }, 31884 relativeTime: { 31885 future: 'eftir %s', 31886 past: 'fyrir %s sÃðan', 31887 s: translate, 31888 ss: translate, 31889 m: translate, 31890 mm: translate, 31891 h: 'klukkustund', 31892 hh: translate, 31893 d: translate, 31894 dd: translate, 31895 M: translate, 31896 MM: translate, 31897 y: translate, 31898 yy: translate, 31899 }, 31900 dayOfMonthOrdinalParse: /\d{1,2}\./, 31901 ordinal: '%d.', 31902 week: { 31903 dow: 1, // Monday is the first day of the week. 31904 doy: 4, // The week that contains Jan 4th is the first week of the year. 31905 }, 31906 }); 31907 31908 return is; 31909 31910}))); 31911 31912 31913/***/ }), 31914 31915/***/ 9402: 31916/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 31917 31918//! moment.js locale configuration 31919//! locale : English (New Zealand) [en-nz] 31920//! author : Luke McGregor : https://github.com/lukemcgregor 31921 31922;(function (global, factory) { 31923 true ? factory(__webpack_require__(5093)) : 31924 0 31925}(this, (function (moment) { 'use strict'; 31926 31927 //! moment.js locale configuration 31928 31929 var enNz = moment.defineLocale('en-nz', { 31930 months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 31931 '_' 31932 ), 31933 monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 31934 weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 31935 '_' 31936 ), 31937 weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 31938 weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 31939 longDateFormat: { 31940 LT: 'h:mm A', 31941 LTS: 'h:mm:ss A', 31942 L: 'DD/MM/YYYY', 31943 LL: 'D MMMM YYYY', 31944 LLL: 'D MMMM YYYY h:mm A', 31945 LLLL: 'dddd, D MMMM YYYY h:mm A', 31946 }, 31947 calendar: { 31948 sameDay: '[Today at] LT', 31949 nextDay: '[Tomorrow at] LT', 31950 nextWeek: 'dddd [at] LT', 31951 lastDay: '[Yesterday at] LT', 31952 lastWeek: '[Last] dddd [at] LT', 31953 sameElse: 'L', 31954 }, 31955 relativeTime: { 31956 future: 'in %s', 31957 past: '%s ago', 31958 s: 'a few seconds', 31959 ss: '%d seconds', 31960 m: 'a minute', 31961 mm: '%d minutes', 31962 h: 'an hour', 31963 hh: '%d hours', 31964 d: 'a day', 31965 dd: '%d days', 31966 M: 'a month', 31967 MM: '%d months', 31968 y: 'a year', 31969 yy: '%d years', 31970 }, 31971 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 31972 ordinal: function (number) { 31973 var b = number % 10, 31974 output = 31975 ~~((number % 100) / 10) === 1 31976 ? 'th' 31977 : b === 1 31978 ? 'st' 31979 : b === 2 31980 ? 'nd' 31981 : b === 3 31982 ? 'rd' 31983 : 'th'; 31984 return number + output; 31985 }, 31986 week: { 31987 dow: 1, // Monday is the first day of the week. 31988 doy: 4, // The week that contains Jan 4th is the first week of the year. 31989 }, 31990 }); 31991 31992 return enNz; 31993 31994}))); 31995 31996 31997/***/ }), 31998 31999/***/ 9527: 32000/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32001 32002//! moment.js locale configuration 32003//! locale : Turkmen [tk] 32004//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy 32005 32006;(function (global, factory) { 32007 true ? factory(__webpack_require__(5093)) : 32008 0 32009}(this, (function (moment) { 'use strict'; 32010 32011 //! moment.js locale configuration 32012 32013 var suffixes = { 32014 1: "'inji", 32015 5: "'inji", 32016 8: "'inji", 32017 70: "'inji", 32018 80: "'inji", 32019 2: "'nji", 32020 7: "'nji", 32021 20: "'nji", 32022 50: "'nji", 32023 3: "'ünji", 32024 4: "'ünji", 32025 100: "'ünji", 32026 6: "'njy", 32027 9: "'unjy", 32028 10: "'unjy", 32029 30: "'unjy", 32030 60: "'ynjy", 32031 90: "'ynjy", 32032 }; 32033 32034 var tk = moment.defineLocale('tk', { 32035 months: 'Ãanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( 32036 '_' 32037 ), 32038 monthsShort: 'Ãan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'), 32039 weekdays: 'ÃekÅenbe_DuÅenbe_SiÅenbe_ÃarÅenbe_PenÅenbe_Anna_Åenbe'.split( 32040 '_' 32041 ), 32042 weekdaysShort: 'Ãek_DuÅ_SiÅ_Ãar_Pen_Ann_Åen'.split('_'), 32043 weekdaysMin: 'Ãk_DÅ_SÅ_Ãr_Pn_An_Ån'.split('_'), 32044 longDateFormat: { 32045 LT: 'HH:mm', 32046 LTS: 'HH:mm:ss', 32047 L: 'DD.MM.YYYY', 32048 LL: 'D MMMM YYYY', 32049 LLL: 'D MMMM YYYY HH:mm', 32050 LLLL: 'dddd, D MMMM YYYY HH:mm', 32051 }, 32052 calendar: { 32053 sameDay: '[bugün sagat] LT', 32054 nextDay: '[ertir sagat] LT', 32055 nextWeek: '[indiki] dddd [sagat] LT', 32056 lastDay: '[düýn] LT', 32057 lastWeek: '[geçen] dddd [sagat] LT', 32058 sameElse: 'L', 32059 }, 32060 relativeTime: { 32061 future: '%s soÅ', 32062 past: '%s öÅ', 32063 s: 'birnäçe sekunt', 32064 m: 'bir minut', 32065 mm: '%d minut', 32066 h: 'bir sagat', 32067 hh: '%d sagat', 32068 d: 'bir gün', 32069 dd: '%d gün', 32070 M: 'bir aý', 32071 MM: '%d aý', 32072 y: 'bir ýyl', 32073 yy: '%d ýyl', 32074 }, 32075 ordinal: function (number, period) { 32076 switch (period) { 32077 case 'd': 32078 case 'D': 32079 case 'Do': 32080 case 'DD': 32081 return number; 32082 default: 32083 if (number === 0) { 32084 // special case for zero 32085 return number + "'unjy"; 32086 } 32087 var a = number % 10, 32088 b = (number % 100) - a, 32089 c = number >= 100 ? 100 : null; 32090 return number + (suffixes[a] || suffixes[b] || suffixes[c]); 32091 } 32092 }, 32093 week: { 32094 dow: 1, // Monday is the first day of the week. 32095 doy: 7, // The week that contains Jan 7th is the first week of the year. 32096 }, 32097 }); 32098 32099 return tk; 32100 32101}))); 32102 32103 32104/***/ }), 32105 32106/***/ 9532: 32107/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32108 32109//! moment.js locale configuration 32110//! locale : Latvian [lv] 32111//! author : Kristaps Karlsons : https://github.com/skakri 32112//! author : JÄnis Elmeris : https://github.com/JanisE 32113 32114;(function (global, factory) { 32115 true ? factory(__webpack_require__(5093)) : 32116 0 32117}(this, (function (moment) { 'use strict'; 32118 32119 //! moment.js locale configuration 32120 32121 var units = { 32122 ss: 'sekundes_sekundÄm_sekunde_sekundes'.split('_'), 32123 m: 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 32124 mm: 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 32125 h: 'stundas_stundÄm_stunda_stundas'.split('_'), 32126 hh: 'stundas_stundÄm_stunda_stundas'.split('_'), 32127 d: 'dienas_dienÄm_diena_dienas'.split('_'), 32128 dd: 'dienas_dienÄm_diena_dienas'.split('_'), 32129 M: 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 32130 MM: 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 32131 y: 'gada_gadiem_gads_gadi'.split('_'), 32132 yy: 'gada_gadiem_gads_gadi'.split('_'), 32133 }; 32134 /** 32135 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. 32136 */ 32137 function format(forms, number, withoutSuffix) { 32138 if (withoutSuffix) { 32139 // E.g. "21 minÅ«te", "3 minÅ«tes". 32140 return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; 32141 } else { 32142 // E.g. "21 minÅ«tes" as in "pÄc 21 minÅ«tes". 32143 // E.g. "3 minÅ«tÄm" as in "pÄc 3 minÅ«tÄm". 32144 return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; 32145 } 32146 } 32147 function relativeTimeWithPlural(number, withoutSuffix, key) { 32148 return number + ' ' + format(units[key], number, withoutSuffix); 32149 } 32150 function relativeTimeWithSingular(number, withoutSuffix, key) { 32151 return format(units[key], number, withoutSuffix); 32152 } 32153 function relativeSeconds(number, withoutSuffix) { 32154 return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄm'; 32155 } 32156 32157 var lv = moment.defineLocale('lv', { 32158 months: 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split( 32159 '_' 32160 ), 32161 monthsShort: 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), 32162 weekdays: 32163 'svÄtdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split( 32164 '_' 32165 ), 32166 weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'), 32167 weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'), 32168 weekdaysParseExact: true, 32169 longDateFormat: { 32170 LT: 'HH:mm', 32171 LTS: 'HH:mm:ss', 32172 L: 'DD.MM.YYYY.', 32173 LL: 'YYYY. [gada] D. MMMM', 32174 LLL: 'YYYY. [gada] D. MMMM, HH:mm', 32175 LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm', 32176 }, 32177 calendar: { 32178 sameDay: '[Å odien pulksten] LT', 32179 nextDay: '[RÄ«t pulksten] LT', 32180 nextWeek: 'dddd [pulksten] LT', 32181 lastDay: '[Vakar pulksten] LT', 32182 lastWeek: '[PagÄjuÅ¡Ä] dddd [pulksten] LT', 32183 sameElse: 'L', 32184 }, 32185 relativeTime: { 32186 future: 'pÄc %s', 32187 past: 'pirms %s', 32188 s: relativeSeconds, 32189 ss: relativeTimeWithPlural, 32190 m: relativeTimeWithSingular, 32191 mm: relativeTimeWithPlural, 32192 h: relativeTimeWithSingular, 32193 hh: relativeTimeWithPlural, 32194 d: relativeTimeWithSingular, 32195 dd: relativeTimeWithPlural, 32196 M: relativeTimeWithSingular, 32197 MM: relativeTimeWithPlural, 32198 y: relativeTimeWithSingular, 32199 yy: relativeTimeWithPlural, 32200 }, 32201 dayOfMonthOrdinalParse: /\d{1,2}\./, 32202 ordinal: '%d.', 32203 week: { 32204 dow: 1, // Monday is the first day of the week. 32205 doy: 4, // The week that contains Jan 4th is the first week of the year. 32206 }, 32207 }); 32208 32209 return lv; 32210 32211}))); 32212 32213 32214/***/ }), 32215 32216/***/ 9680: 32217/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32218 32219//! moment.js locale configuration 32220//! locale : Luxembourgish [lb] 32221//! author : mweimerskirch : https://github.com/mweimerskirch 32222//! author : David Raison : https://github.com/kwisatz 32223 32224;(function (global, factory) { 32225 true ? factory(__webpack_require__(5093)) : 32226 0 32227}(this, (function (moment) { 'use strict'; 32228 32229 //! moment.js locale configuration 32230 32231 function processRelativeTime(number, withoutSuffix, key, isFuture) { 32232 var format = { 32233 m: ['eng Minutt', 'enger Minutt'], 32234 h: ['eng Stonn', 'enger Stonn'], 32235 d: ['een Dag', 'engem Dag'], 32236 M: ['ee Mount', 'engem Mount'], 32237 y: ['ee Joer', 'engem Joer'], 32238 }; 32239 return withoutSuffix ? format[key][0] : format[key][1]; 32240 } 32241 function processFutureTime(string) { 32242 var number = string.substr(0, string.indexOf(' ')); 32243 if (eifelerRegelAppliesToNumber(number)) { 32244 return 'a ' + string; 32245 } 32246 return 'an ' + string; 32247 } 32248 function processPastTime(string) { 32249 var number = string.substr(0, string.indexOf(' ')); 32250 if (eifelerRegelAppliesToNumber(number)) { 32251 return 'viru ' + string; 32252 } 32253 return 'virun ' + string; 32254 } 32255 /** 32256 * Returns true if the word before the given number loses the '-n' ending. 32257 * e.g. 'an 10 Deeg' but 'a 5 Deeg' 32258 * 32259 * @param number {integer} 32260 * @returns {boolean} 32261 */ 32262 function eifelerRegelAppliesToNumber(number) { 32263 number = parseInt(number, 10); 32264 if (isNaN(number)) { 32265 return false; 32266 } 32267 if (number < 0) { 32268 // Negative Number --> always true 32269 return true; 32270 } else if (number < 10) { 32271 // Only 1 digit 32272 if (4 <= number && number <= 7) { 32273 return true; 32274 } 32275 return false; 32276 } else if (number < 100) { 32277 // 2 digits 32278 var lastDigit = number % 10, 32279 firstDigit = number / 10; 32280 if (lastDigit === 0) { 32281 return eifelerRegelAppliesToNumber(firstDigit); 32282 } 32283 return eifelerRegelAppliesToNumber(lastDigit); 32284 } else if (number < 10000) { 32285 // 3 or 4 digits --> recursively check first digit 32286 while (number >= 10) { 32287 number = number / 10; 32288 } 32289 return eifelerRegelAppliesToNumber(number); 32290 } else { 32291 // Anything larger than 4 digits: recursively check first n-3 digits 32292 number = number / 1000; 32293 return eifelerRegelAppliesToNumber(number); 32294 } 32295 } 32296 32297 var lb = moment.defineLocale('lb', { 32298 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split( 32299 '_' 32300 ), 32301 monthsShort: 32302 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split( 32303 '_' 32304 ), 32305 monthsParseExact: true, 32306 weekdays: 32307 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( 32308 '_' 32309 ), 32310 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), 32311 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), 32312 weekdaysParseExact: true, 32313 longDateFormat: { 32314 LT: 'H:mm [Auer]', 32315 LTS: 'H:mm:ss [Auer]', 32316 L: 'DD.MM.YYYY', 32317 LL: 'D. MMMM YYYY', 32318 LLL: 'D. MMMM YYYY H:mm [Auer]', 32319 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]', 32320 }, 32321 calendar: { 32322 sameDay: '[Haut um] LT', 32323 sameElse: 'L', 32324 nextDay: '[Muer um] LT', 32325 nextWeek: 'dddd [um] LT', 32326 lastDay: '[Gëschter um] LT', 32327 lastWeek: function () { 32328 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule 32329 switch (this.day()) { 32330 case 2: 32331 case 4: 32332 return '[Leschten] dddd [um] LT'; 32333 default: 32334 return '[Leschte] dddd [um] LT'; 32335 } 32336 }, 32337 }, 32338 relativeTime: { 32339 future: processFutureTime, 32340 past: processPastTime, 32341 s: 'e puer Sekonnen', 32342 ss: '%d Sekonnen', 32343 m: processRelativeTime, 32344 mm: '%d Minutten', 32345 h: processRelativeTime, 32346 hh: '%d Stonnen', 32347 d: processRelativeTime, 32348 dd: '%d Deeg', 32349 M: processRelativeTime, 32350 MM: '%d Méint', 32351 y: processRelativeTime, 32352 yy: '%d Joer', 32353 }, 32354 dayOfMonthOrdinalParse: /\d{1,2}\./, 32355 ordinal: '%d.', 32356 week: { 32357 dow: 1, // Monday is the first day of the week. 32358 doy: 4, // The week that contains Jan 4th is the first week of the year. 32359 }, 32360 }); 32361 32362 return lb; 32363 32364}))); 32365 32366 32367/***/ }), 32368 32369/***/ 9722: 32370/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32371 32372//! moment.js locale configuration 32373//! locale : Javanese [jv] 32374//! author : Rony Lantip : https://github.com/lantip 32375//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa 32376 32377;(function (global, factory) { 32378 true ? factory(__webpack_require__(5093)) : 32379 0 32380}(this, (function (moment) { 'use strict'; 32381 32382 //! moment.js locale configuration 32383 32384 var jv = moment.defineLocale('jv', { 32385 months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split( 32386 '_' 32387 ), 32388 monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), 32389 weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), 32390 weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), 32391 weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), 32392 longDateFormat: { 32393 LT: 'HH.mm', 32394 LTS: 'HH.mm.ss', 32395 L: 'DD/MM/YYYY', 32396 LL: 'D MMMM YYYY', 32397 LLL: 'D MMMM YYYY [pukul] HH.mm', 32398 LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm', 32399 }, 32400 meridiemParse: /enjing|siyang|sonten|ndalu/, 32401 meridiemHour: function (hour, meridiem) { 32402 if (hour === 12) { 32403 hour = 0; 32404 } 32405 if (meridiem === 'enjing') { 32406 return hour; 32407 } else if (meridiem === 'siyang') { 32408 return hour >= 11 ? hour : hour + 12; 32409 } else if (meridiem === 'sonten' || meridiem === 'ndalu') { 32410 return hour + 12; 32411 } 32412 }, 32413 meridiem: function (hours, minutes, isLower) { 32414 if (hours < 11) { 32415 return 'enjing'; 32416 } else if (hours < 15) { 32417 return 'siyang'; 32418 } else if (hours < 19) { 32419 return 'sonten'; 32420 } else { 32421 return 'ndalu'; 32422 } 32423 }, 32424 calendar: { 32425 sameDay: '[Dinten puniko pukul] LT', 32426 nextDay: '[Mbenjang pukul] LT', 32427 nextWeek: 'dddd [pukul] LT', 32428 lastDay: '[Kala wingi pukul] LT', 32429 lastWeek: 'dddd [kepengker pukul] LT', 32430 sameElse: 'L', 32431 }, 32432 relativeTime: { 32433 future: 'wonten ing %s', 32434 past: '%s ingkang kepengker', 32435 s: 'sawetawis detik', 32436 ss: '%d detik', 32437 m: 'setunggal menit', 32438 mm: '%d menit', 32439 h: 'setunggal jam', 32440 hh: '%d jam', 32441 d: 'sedinten', 32442 dd: '%d dinten', 32443 M: 'sewulan', 32444 MM: '%d wulan', 32445 y: 'setaun', 32446 yy: '%d taun', 32447 }, 32448 week: { 32449 dow: 1, // Monday is the first day of the week. 32450 doy: 7, // The week that contains Jan 7th is the first week of the year. 32451 }, 32452 }); 32453 32454 return jv; 32455 32456}))); 32457 32458 32459/***/ }), 32460 32461/***/ 9756: 32462/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32463 32464//! moment.js locale configuration 32465//! locale : Arabic (Tunisia) [ar-tn] 32466//! author : Nader Toukabri : https://github.com/naderio 32467 32468;(function (global, factory) { 32469 true ? factory(__webpack_require__(5093)) : 32470 0 32471}(this, (function (moment) { 'use strict'; 32472 32473 //! moment.js locale configuration 32474 32475 var arTn = moment.defineLocale('ar-tn', { 32476 months: 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split( 32477 '_' 32478 ), 32479 monthsShort: 32480 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split( 32481 '_' 32482 ), 32483 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 32484 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 32485 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 32486 weekdaysParseExact: true, 32487 longDateFormat: { 32488 LT: 'HH:mm', 32489 LTS: 'HH:mm:ss', 32490 L: 'DD/MM/YYYY', 32491 LL: 'D MMMM YYYY', 32492 LLL: 'D MMMM YYYY HH:mm', 32493 LLLL: 'dddd D MMMM YYYY HH:mm', 32494 }, 32495 calendar: { 32496 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 32497 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 32498 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 32499 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 32500 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 32501 sameElse: 'L', 32502 }, 32503 relativeTime: { 32504 future: 'ÙÙ %s', 32505 past: 'Ù ÙØ° %s', 32506 s: 'Ø«ÙØ§Ù', 32507 ss: '%d ثاÙÙØ©', 32508 m: 'دÙÙÙØ©', 32509 mm: '%d Ø¯ÙØ§Ø¦Ù', 32510 h: 'ساعة', 32511 hh: '%d ساعات', 32512 d: 'ÙÙÙ ', 32513 dd: '%d Ø£ÙØ§Ù ', 32514 M: 'Ø´ÙØ±', 32515 MM: '%d Ø£Ø´ÙØ±', 32516 y: 'Ø³ÙØ©', 32517 yy: '%d سÙÙØ§Øª', 32518 }, 32519 week: { 32520 dow: 1, // Monday is the first day of the week. 32521 doy: 4, // The week that contains Jan 4th is the first week of the year. 32522 }, 32523 }); 32524 32525 return arTn; 32526 32527}))); 32528 32529 32530/***/ }), 32531 32532/***/ 9834: 32533/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32534 32535//! moment.js locale configuration 32536//! locale : Portuguese [pt] 32537//! author : Jefferson : https://github.com/jalex79 32538 32539;(function (global, factory) { 32540 true ? factory(__webpack_require__(5093)) : 32541 0 32542}(this, (function (moment) { 'use strict'; 32543 32544 //! moment.js locale configuration 32545 32546 var pt = moment.defineLocale('pt', { 32547 months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( 32548 '_' 32549 ), 32550 monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 32551 weekdays: 32552 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( 32553 '_' 32554 ), 32555 weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 32556 weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 32557 weekdaysParseExact: true, 32558 longDateFormat: { 32559 LT: 'HH:mm', 32560 LTS: 'HH:mm:ss', 32561 L: 'DD/MM/YYYY', 32562 LL: 'D [de] MMMM [de] YYYY', 32563 LLL: 'D [de] MMMM [de] YYYY HH:mm', 32564 LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', 32565 }, 32566 calendar: { 32567 sameDay: '[Hoje à s] LT', 32568 nextDay: '[Amanhã à s] LT', 32569 nextWeek: 'dddd [à s] LT', 32570 lastDay: '[Ontem à s] LT', 32571 lastWeek: function () { 32572 return this.day() === 0 || this.day() === 6 32573 ? '[Ãltimo] dddd [à s] LT' // Saturday + Sunday 32574 : '[Ãltima] dddd [à s] LT'; // Monday - Friday 32575 }, 32576 sameElse: 'L', 32577 }, 32578 relativeTime: { 32579 future: 'em %s', 32580 past: 'há %s', 32581 s: 'segundos', 32582 ss: '%d segundos', 32583 m: 'um minuto', 32584 mm: '%d minutos', 32585 h: 'uma hora', 32586 hh: '%d horas', 32587 d: 'um dia', 32588 dd: '%d dias', 32589 w: 'uma semana', 32590 ww: '%d semanas', 32591 M: 'um mês', 32592 MM: '%d meses', 32593 y: 'um ano', 32594 yy: '%d anos', 32595 }, 32596 dayOfMonthOrdinalParse: /\d{1,2}º/, 32597 ordinal: '%dº', 32598 week: { 32599 dow: 1, // Monday is the first day of the week. 32600 doy: 4, // The week that contains Jan 4th is the first week of the year. 32601 }, 32602 }); 32603 32604 return pt; 32605 32606}))); 32607 32608 32609/***/ }), 32610 32611/***/ 9846: 32612/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32613 32614//! moment.js locale configuration 32615//! locale : Talossan [tzl] 32616//! author : Robin van der Vliet : https://github.com/robin0van0der0v 32617//! author : Iustì Canun 32618 32619;(function (global, factory) { 32620 true ? factory(__webpack_require__(5093)) : 32621 0 32622}(this, (function (moment) { 'use strict'; 32623 32624 //! moment.js locale configuration 32625 32626 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. 32627 // This is currently too difficult (maybe even impossible) to add. 32628 var tzl = moment.defineLocale('tzl', { 32629 months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( 32630 '_' 32631 ), 32632 monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), 32633 weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), 32634 weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), 32635 weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), 32636 longDateFormat: { 32637 LT: 'HH.mm', 32638 LTS: 'HH.mm.ss', 32639 L: 'DD.MM.YYYY', 32640 LL: 'D. MMMM [dallas] YYYY', 32641 LLL: 'D. MMMM [dallas] YYYY HH.mm', 32642 LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm', 32643 }, 32644 meridiemParse: /d\'o|d\'a/i, 32645 isPM: function (input) { 32646 return "d'o" === input.toLowerCase(); 32647 }, 32648 meridiem: function (hours, minutes, isLower) { 32649 if (hours > 11) { 32650 return isLower ? "d'o" : "D'O"; 32651 } else { 32652 return isLower ? "d'a" : "D'A"; 32653 } 32654 }, 32655 calendar: {
32656 sameDay: '[oxhi à ] LT', 32657 nextDay: '[demà à ] LT', 32658 nextWeek: 'dddd [à ] LT', 32659 lastDay: '[ieiri à ] LT', 32660 lastWeek: '[sür el] dddd [lasteu à ] LT', 32661 sameElse: 'L', 32662 }, 32663 relativeTime: { 32664 future: 'osprei %s', 32665 past: 'ja%s', 32666 s: processRelativeTime, 32667 ss: processRelativeTime, 32668 m: processRelativeTime, 32669 mm: processRelativeTime, 32670 h: processRelativeTime, 32671 hh: processRelativeTime, 32672 d: processRelativeTime, 32673 dd: processRelativeTime, 32674 M: processRelativeTime, 32675 MM: processRelativeTime, 32676 y: processRelativeTime, 32677 yy: processRelativeTime, 32678 }, 32679 dayOfMonthOrdinalParse: /\d{1,2}\./, 32680 ordinal: '%d.', 32681 week: { 32682 dow: 1, // Monday is the first day of the week. 32683 doy: 4, // The week that contains Jan 4th is the first week of the year. 32684 }, 32685 }); 32686 32687 function processRelativeTime(number, withoutSuffix, key, isFuture) { 32688 var format = { 32689 s: ['viensas secunds', "'iensas secunds"], 32690 ss: [number + ' secunds', '' + number + ' secunds'], 32691 m: ["'n mÃut", "'iens mÃut"], 32692 mm: [number + ' mÃuts', '' + number + ' mÃuts'], 32693 h: ["'n þora", "'iensa þora"], 32694 hh: [number + ' þoras', '' + number + ' þoras'], 32695 d: ["'n ziua", "'iensa ziua"], 32696 dd: [number + ' ziuas', '' + number + ' ziuas'], 32697 M: ["'n mes", "'iens mes"], 32698 MM: [number + ' mesen', '' + number + ' mesen'], 32699 y: ["'n ar", "'iens ar"], 32700 yy: [number + ' ars', '' + number + ' ars'], 32701 }; 32702 return isFuture 32703 ? format[key][0] 32704 : withoutSuffix 32705 ? format[key][0] 32706 : format[key][1]; 32707 } 32708 32709 return tzl; 32710 32711}))); 32712 32713 32714/***/ }), 32715 32716/***/ 9849: 32717/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 32718 32719//! moment.js locale configuration 32720//! locale : Punjabi (India) [pa-in] 32721//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit 32722 32723;(function (global, factory) { 32724 true ? factory(__webpack_require__(5093)) : 32725 0 32726}(this, (function (moment) { 'use strict'; 32727 32728 //! moment.js locale configuration 32729 32730 var symbolMap = { 32731 1: 'à©§', 32732 2: '੨', 32733 3: 'à©©', 32734 4: '੪', 32735 5: 'à©«', 32736 6: '੬', 32737 7: 'à©', 32738 8: 'à©®', 32739 9: '੯', 32740 0: '੦', 32741 }, 32742 numberMap = { 32743 'à©§': '1', 32744 '੨': '2', 32745 'à©©': '3', 32746 '੪': '4', 32747 'à©«': '5', 32748 '੬': '6', 32749 'à©': '7', 32750 'à©®': '8', 32751 '੯': '9', 32752 '੦': '0', 32753 }; 32754 32755 var paIn = moment.defineLocale('pa-in', { 32756 // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. 32757 months: 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( 32758 '_' 32759 ), 32760 monthsShort: 32761 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( 32762 '_' 32763 ), 32764 weekdays: 'à¨à¨¤à¨µà¨¾à¨°_ਸà©à¨®à¨µà¨¾à¨°_ਮੰà¨à¨²à¨µà¨¾à¨°_ਬà©à¨§à¨µà¨¾à¨°_ਵà©à¨°à¨µà¨¾à¨°_ਸ਼à©à©±à¨à¨°à¨µà¨¾à¨°_ਸ਼ਨà©à¨à¨°à¨µà¨¾à¨°'.split( 32765 '_' 32766 ), 32767 weekdaysShort: 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 32768 weekdaysMin: 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 32769 longDateFormat: { 32770 LT: 'A h:mm ਵà¨à©', 32771 LTS: 'A h:mm:ss ਵà¨à©', 32772 L: 'DD/MM/YYYY', 32773 LL: 'D MMMM YYYY', 32774 LLL: 'D MMMM YYYY, A h:mm ਵà¨à©', 32775 LLLL: 'dddd, D MMMM YYYY, A h:mm ਵà¨à©', 32776 }, 32777 calendar: { 32778 sameDay: '[ਠà¨] LT', 32779 nextDay: '[à¨à¨²] LT', 32780 nextWeek: '[ਠà¨à¨²à¨¾] dddd, LT', 32781 lastDay: '[à¨à¨²] LT', 32782 lastWeek: '[ਪਿà¨à¨²à©] dddd, LT', 32783 sameElse: 'L', 32784 }, 32785 relativeTime: { 32786 future: '%s ਵਿੱà¨', 32787 past: '%s ਪਿà¨à¨²à©', 32788 s: 'à¨à©à¨ ਸà¨à¨¿à©°à¨', 32789 ss: '%d ਸà¨à¨¿à©°à¨', 32790 m: 'à¨à¨ ਮਿੰà¨', 32791 mm: '%d ਮਿੰà¨', 32792 h: 'à¨à©±à¨ à¨à©°à¨à¨¾', 32793 hh: '%d à¨à©°à¨à©', 32794 d: 'à¨à©±à¨ ਦਿਨ', 32795 dd: '%d ਦਿਨ', 32796 M: 'à¨à©±à¨ ਮਹà©à¨¨à¨¾', 32797 MM: '%d ਮਹà©à¨¨à©', 32798 y: 'à¨à©±à¨ ਸਾਲ', 32799 yy: '%d ਸਾਲ', 32800 }, 32801 preparse: function (string) { 32802 return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { 32803 return numberMap[match]; 32804 }); 32805 }, 32806 postformat: function (string) { 32807 return string.replace(/\d/g, function (match) { 32808 return symbolMap[match]; 32809 }); 32810 }, 32811 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists 32812 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. 32813 meridiemParse: /ਰਾਤ|ਸਵà©à¨°|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, 32814 meridiemHour: function (hour, meridiem) { 32815 if (hour === 12) { 32816 hour = 0; 32817 } 32818 if (meridiem === 'ਰਾਤ') { 32819 return hour < 4 ? hour : hour + 12; 32820 } else if (meridiem === 'ਸਵà©à¨°') { 32821 return hour; 32822 } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { 32823 return hour >= 10 ? hour : hour + 12; 32824 } else if (meridiem === 'ਸ਼ਾਮ') { 32825 return hour + 12; 32826 } 32827 }, 32828 meridiem: function (hour, minute, isLower) { 32829 if (hour < 4) { 32830 return 'ਰਾਤ'; 32831 } else if (hour < 10) { 32832 return 'ਸਵà©à¨°'; 32833 } else if (hour < 17) { 32834 return 'ਦà©à¨ªà¨¹à¨¿à¨°'; 32835 } else if (hour < 20) { 32836 return 'ਸ਼ਾਮ'; 32837 } else { 32838 return 'ਰਾਤ'; 32839 } 32840 }, 32841 week: { 32842 dow: 0, // Sunday is the first day of the week. 32843 doy: 6, // The week that contains Jan 6th is the first week of the year. 32844 }, 32845 }); 32846 32847 return paIn; 32848 32849}))); 32850 32851 32852/***/ }) 32853 32854/******/ }); 32855/************************************************************************/ 32856/******/ // The module cache 32857/******/ var __webpack_module_cache__ = {}; 32858/******/ 32859/******/ // The require function 32860/******/ function __webpack_require__(moduleId) { 32861/******/ // Check if module is in cache 32862/******/ var cachedModule = __webpack_module_cache__[moduleId]; 32863/******/ if (cachedModule !== undefined) { 32864/******/ return cachedModule.exports; 32865/******/ } 32866/******/ // Create a new module (and put it into the cache) 32867/******/ var module = __webpack_module_cache__[moduleId] = { 32868/******/ id: moduleId, 32869/******/ loaded: false, 32870/******/ exports: {} 32871/******/ }; 32872/******/ 32873/******/ // Execute the module function 32874/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); 32875/******/ 32876/******/ // Flag the module as loaded
32877/******/ module.loaded = true; 32878/******/ 32879/******/ // Return the exports of the module 32880/******/ return module.exports; 32881/******/ } 32882/******/ 32883/************************************************************************/ 32884/******/ /* webpack/runtime/compat get default export */ 32885/******/ !function() { 32886/******/ // getDefaultExport function for compatibility with non-harmony modules 32887/******/ __webpack_require__.n = function(module) { 32888/******/ var getter = module && module.__esModule ? 32889/******/ function() { return module['default']; } : 32890/******/ function() { return module; }; 32891/******/ __webpack_require__.d(getter, { a: getter }); 32892/******/ return getter; 32893/******/ }; 32894/******/ }(); 32895/******/ 32896/******/ /* webpack/runtime/define property getters */ 32897/******/ !function() { 32898/******/ // define getter functions for harmony exports 32899/******/ __webpack_require__.d = function(exports, definition) { 32900/******/ for(var key in definition) { 32901/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 32902/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 32903/******/ } 32904/******/ } 32905/******/ }; 32906/******/ }(); 32907/******/ 32908/******/ /* webpack/runtime/hasOwnProperty shorthand */ 32909/******/ !function() { 32910/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } 32911/******/ }(); 32912/******/ 32913/******/ /* webpack/runtime/node module decorator */ 32914/******/ !function() { 32915/******/ __webpack_require__.nmd = function(module) { 32916/******/ module.paths = []; 32917/******/ if (!module.children) module.children = []; 32918/******/ return module; 32919/******/ }; 32920/******/ }(); 32921/******/ 32922/************************************************************************/ 32923var __webpack_exports__ = {}; 32924// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. 32925!function() { 32926"use strict"; 32927/* harmony import */ var _components_jquery_eventCalendar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3124); 32928/* harmony import */ var _components_jquery_eventCalendar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_components_jquery_eventCalendar__WEBPACK_IMPORTED_MODULE_0__); 32929/* provided dependency */ var $ = __webpack_require__(4692); 32930 32931 32932// window.moment = require('moment'); 32933 32934if ($('.events-calendar').length > 0) { 32935 $(".events-calendar").each(function () { 32936 var calendarCategory = 'all'; 32937 32938 if($(this).data('category')) { 32939 calendarCategory = $(this).data('category'); 32940 } 32941 32942 $(this).eventCalendar({ 32943 eventsjson: options.ajax_url + '?action=get_events&category=' + calendarCategory, 32944 locales: { 32945 locale: "pl", 32946 monthNames: ["StyczeÅ", "Luty", "Marzec", "KwiecieÅ", "Maj", "Czerwiec", "Lipiec", "SierpieÅ", "WrzesieÅ", "Pażdziernik", "Listopad", "GrudzieÅ"], 32947 dayNames: ['PoniedziaÅek', 'Wtorek', 'Åroda', 'Czwartek', 'PiÄ tek', 'Sobota', 'Niedziela'], 32948 dayNamesShort: ['Pon', 'Wt', 'År', 'Czw', 'Pt', 'Sob', 'Nie'], 32949 txt_noEvents: "Brak wydarzeÅ", 32950 txt_SpecificEvents_prev: "", 32951 txt_SpecificEvents_after: "wydarzenia:", 32952 txt_next: ">", 32953 txt_prev: "<", 32954 txt_NextEvents: "NadchodzÄ ce wydarzenia:", 32955 txt_GoToEventUrl: "Czytaj wiÄcej", 32956 txt_loading: 'Åadowanie...', 32957 } 32958 }); 32959 }); 32960} 32961}(); 32962// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. 32963!function() { 32964"use strict";
32965// extracted by mini-css-extract-plugin 32966 32967}(); 32968/******/ })() 32969;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.