PageSourceSearch

https://www.icuregswe.org/Static/dist/js/app.min.js

js icuregswe.org collected 2026-10-03 21:43:33 UTC 1,435,514 bytes, 42,157 lines download raw bytes

1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// identity function for calling harmony imports with the correct context
37/******/ 	__webpack_require__.i = function(value) { return value; };
38/******/
39/******/ 	// define getter function for harmony exports
40/******/ 	__webpack_require__.d = function(exports, name, getter) {
41/******/ 		if(!__webpack_require__.o(exports, name)) {
42/******/ 			Object.defineProperty(exports, name, {
43/******/ 				configurable: false,
44/******/ 				enumerable: true,
45/******/ 				get: getter
46/******/ 			});
47/******/ 		}
48/******/ 	};
49/******/
50/******/ 	// getDefaultExport function for compatibility with non-harmony modules
51/******/ 	__webpack_require__.n = function(module) {
52/******/ 		var getter = module && module.__esModule ?
53/******/ 			function getDefault() { return module['default']; } :
54/******/ 			function getModuleExports() { return module; };
55/******/ 		__webpack_require__.d(getter, 'a', getter);
56/******/ 		return getter;
57/******/ 	};
58/******/
59/******/ 	// Object.prototype.hasOwnProperty.call
60/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
61/******/
62/******/ 	// __webpack_public_path__
63/******/ 	__webpack_require__.p = "";
64/******/
65/******/ 	// Load entry module and return exports
66/******/ 	return __webpack_require__(__webpack_require__.s = 301);
67/******/ })
68/************************************************************************/
69/******/ ([
70/* 0 */
71/***/ (function(module, exports, __webpack_require__) {
72
73"use strict";
74/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;var require;
75
76var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
77
78//! moment.js
79
80;(function (global, factory) {
81    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() :  true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
82				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
83				(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
84				__WEBPACK_AMD_DEFINE_FACTORY__),
85				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : global.moment = factory();
86})(undefined, function () {
87    'use strict';
vendor: 34,625 bytes, lines 88-1206
88
89    var hookCallback;
90
91    function hooks() {
92        return hookCallback.apply(null, arguments);
93    }
94
95    // This is done to register the method called with moment()
96    // without creating circular dependencies.
97    function setHookCallback(callback) {
98        hookCallback = callback;
99    }
100
101    function isArray(input) {
102        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
103    }
104
105    function isObject(input) {
106        // IE8 will treat undefined and null as object if it wasn't for
107        // input != null
108        return input != null && Object.prototype.toString.call(input) === '[object Object]';
109    }
110
111    function isObjectEmpty(obj) {
112        if (Object.getOwnPropertyNames) {
113            return Object.getOwnPropertyNames(obj).length === 0;
114        } else {
115            var k;
116            for (k in obj) {
117                if (obj.hasOwnProperty(k)) {
118                    return false;
119                }
120            }
121            return true;
122        }
123    }
124
125    function isUndefined(input) {
126        return input === void 0;
127    }
128
129    function isNumber(input) {
130        return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
131    }
132
133    function isDate(input) {
134        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
135    }
136
137    function map(arr, fn) {
138        var res = [],
139            i;
140        for (i = 0; i < arr.length; ++i) {
141            res.push(fn(arr[i], i));
142        }
143        return res;
144    }
145
146    function hasOwnProp(a, b) {
147        return Object.prototype.hasOwnProperty.call(a, b);
148    }
149
150    function extend(a, b) {
151        for (var i in b) {
152            if (hasOwnProp(b, i)) {
153                a[i] = b[i];
154            }
155        }
156
157        if (hasOwnProp(b, 'toString')) {
158            a.toString = b.toString;
159        }
160
161        if (hasOwnProp(b, 'valueOf')) {
162            a.valueOf = b.valueOf;
163        }
164
165        return a;
166    }
167
168    function createUTC(input, format, locale, strict) {
169        return createLocalOrUTC(input, format, locale, strict, true).utc();
170    }
171
172    function defaultParsingFlags() {
173        // We need to deep clone this object.
174        return {
175            empty: false,
176            unusedTokens: [],
177            unusedInput: [],
178            overflow: -2,
179            charsLeftOver: 0,
180            nullInput: false,
181            invalidMonth: null,
182            invalidFormat: false,
183            userInvalidated: false,
184            iso: false,
185            parsedDateParts: [],
186            meridiem: null,
187            rfc2822: false,
188            weekdayMismatch: false
189        };
190    }
191
192    function getParsingFlags(m) {
193        if (m._pf == null) {
194            m._pf = defaultParsingFlags();
195        }
196        return m._pf;
197    }
198
199    var some;
200    if (Array.prototype.some) {
201        some = Array.prototype.some;
202    } else {
203        some = function some(fun) {
204            var t = Object(this);
205            var len = t.length >>> 0;
206
207            for (var i = 0; i < len; i++) {
208                if (i in t && fun.call(this, t[i], i, t)) {
209                    return true;
210                }
211            }
212
213            return false;
214        };
215    }
216
217    function isValid(m) {
218        if (m._isValid == null) {
219            var flags = getParsingFlags(m);
220            var parsedParts = some.call(flags.parsedDateParts, function (i) {
221                return i != null;
222            });
223            var isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);
224
225            if (m._strict) {
226                isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;
227            }
228
229            if (Object.isFrozen == null || !Object.isFrozen(m)) {
230                m._isValid = isNowValid;
231            } else {
232                return isNowValid;
233            }
234        }
235        return m._isValid;
236    }
237
238    function createInvalid(flags) {
239        var m = createUTC(NaN);
240        if (flags != null) {
241            extend(getParsingFlags(m), flags);
242        } else {
243            getParsingFlags(m).userInvalidated = true;
244        }
245
246        return m;
247    }
248
249    // Plugins that add properties should also add the key here (null value),
250    // so we can properly clone ourselves.
251    var momentProperties = hooks.momentProperties = [];
252
253    function copyConfig(to, from) {
254        var i, prop, val;
255
256        if (!isUndefined(from._isAMomentObject)) {
257            to._isAMomentObject = from._isAMomentObject;
258        }
259        if (!isUndefined(from._i)) {
260            to._i = from._i;
261        }
262        if (!isUndefined(from._f)) {
263            to._f = from._f;
264        }
265        if (!isUndefined(from._l)) {
266            to._l = from._l;
267        }
268        if (!isUndefined(from._strict)) {
269            to._strict = from._strict;
270        }
271        if (!isUndefined(from._tzm)) {
272            to._tzm = from._tzm;
273        }
274        if (!isUndefined(from._isUTC)) {
275            to._isUTC = from._isUTC;
276        }
277        if (!isUndefined(from._offset)) {
278            to._offset = from._offset;
279        }
280        if (!isUndefined(from._pf)) {
281            to._pf = getParsingFlags(from);
282        }
283        if (!isUndefined(from._locale)) {
284            to._locale = from._locale;
285        }
286
287        if (momentProperties.length > 0) {
288            for (i = 0; i < momentProperties.length; i++) {
289                prop = momentProperties[i];
290                val = from[prop];
291                if (!isUndefined(val)) {
292                    to[prop] = val;
293                }
294            }
295        }
296
297        return to;
298    }
299
300    var updateInProgress = false;
301
302    // Moment prototype object
303    function Moment(config) {
304        copyConfig(this, config);
305        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
306        if (!this.isValid()) {
307            this._d = new Date(NaN);
308        }
309        // Prevent infinite loop in case updateOffset creates new moment
310        // objects.
311        if (updateInProgress === false) {
312            updateInProgress = true;
313            hooks.updateOffset(this);
314            updateInProgress = false;
315        }
316    }
317
318    function isMoment(obj) {
319        return obj instanceof Moment || obj != null && obj._isAMomentObject != null;
320    }
321
322    function absFloor(number) {
323        if (number < 0) {
324            // -0 -> 0
325            return Math.ceil(number) || 0;
326        } else {
327            return Math.floor(number);
328        }
329    }
330
331    function toInt(argumentForCoercion) {
332        var coercedNumber = +argumentForCoercion,
333            value = 0;
334
335        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
336            value = absFloor(coercedNumber);
337        }
338
339        return value;
340    }
341
342    // compare two arrays, return the number of differences
343    function compareArrays(array1, array2, dontConvert) {
344        var len = Math.min(array1.length, array2.length),
345            lengthDiff = Math.abs(array1.length - array2.length),
346            diffs = 0,
347            i;
348        for (i = 0; i < len; i++) {
349            if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {
350                diffs++;
351            }
352        }
353        return diffs + lengthDiff;
354    }
355
356    function warn(msg) {
357        if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {
358            console.warn('Deprecation warning: ' + msg);
359        }
360    }
361
362    function deprecate(msg, fn) {
363        var firstTime = true;
364
365        return extend(function () {
366            if (hooks.deprecationHandler != null) {
367                hooks.deprecationHandler(null, msg);
368            }
369            if (firstTime) {
370                var args = [];
371                var arg;
372                for (var i = 0; i < arguments.length; i++) {
373                    arg = '';
374                    if (_typeof(arguments[i]) === 'object') {
375                        arg += '\n[' + i + '] ';
376                        for (var key in arguments[0]) {
377                            arg += key + ': ' + arguments[0][key] + ', ';
378                        }
379                        arg = arg.slice(0, -2); // Remove trailing comma and space
380                    } else {
381                        arg = arguments[i];
382                    }
383                    args.push(arg);
384                }
385                warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + new Error().stack);
386                firstTime = false;
387            }
388            return fn.apply(this, arguments);
389        }, fn);
390    }
391
392    var deprecations = {};
393
394    function deprecateSimple(name, msg) {
395        if (hooks.deprecationHandler != null) {
396            hooks.deprecationHandler(name, msg);
397        }
398        if (!deprecations[name]) {
399            warn(msg);
400            deprecations[name] = true;
401        }
402    }
403
404    hooks.suppressDeprecationWarnings = false;
405    hooks.deprecationHandler = null;
406
407    function isFunction(input) {
408        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
409    }
410
411    function set(config) {
412        var prop, i;
413        for (i in config) {
414            prop = config[i];
415            if (isFunction(prop)) {
416                this[i] = prop;
417            } else {
418                this['_' + i] = prop;
419            }
420        }
421        this._config = config;
422        // Lenient ordinal parsing accepts just a number in addition to
423        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
424        // TODO: Remove "ordinalParse" fallback in next major release.
425        this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\d{1,2}/.source);
426    }
427
428    function mergeConfigs(parentConfig, childConfig) {
429        var res = extend({}, parentConfig),
430            prop;
431        for (prop in childConfig) {
432            if (hasOwnProp(childConfig, prop)) {
433                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
434                    res[prop] = {};
435                    extend(res[prop], parentConfig[prop]);
436                    extend(res[prop], childConfig[prop]);
437                } else if (childConfig[prop] != null) {
438                    res[prop] = childConfig[prop];
439                } else {
440                    delete res[prop];
441                }
442            }
443        }
444        for (prop in parentConfig) {
445            if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {
446                // make sure changes to properties don't modify parent config
447                res[prop] = extend({}, res[prop]);
448            }
449        }
450        return res;
451    }
452
453    function Locale(config) {
454        if (config != null) {
455            this.set(config);
456        }
457    }
458
459    var keys;
460
461    if (Object.keys) {
462        keys = Object.keys;
463    } else {
464        keys = function keys(obj) {
465            var i,
466                res = [];
467            for (i in obj) {
468                if (hasOwnProp(obj, i)) {
469                    res.push(i);
470                }
471            }
472            return res;
473        };
474    }
475
476    var defaultCalendar = {
477        sameDay: '[Today at] LT',
478        nextDay: '[Tomorrow at] LT',
479        nextWeek: 'dddd [at] LT',
480        lastDay: '[Yesterday at] LT',
481        lastWeek: '[Last] dddd [at] LT',
482        sameElse: 'L'
483    };
484
485    function calendar(key, mom, now) {
486        var output = this._calendar[key] || this._calendar['sameElse'];
487        return isFunction(output) ? output.call(mom, now) : output;
488    }
489
490    var defaultLongDateFormat = {
491        LTS: 'h:mm:ss A',
492        LT: 'h:mm A',
493        L: 'MM/DD/YYYY',
494        LL: 'MMMM D, YYYY',
495        LLL: 'MMMM D, YYYY h:mm A',
496        LLLL: 'dddd, MMMM D, YYYY h:mm A'
497    };
498
499    function longDateFormat(key) {
500        var format = this._longDateFormat[key],
501            formatUpper = this._longDateFormat[key.toUpperCase()];
502
503        if (format || !formatUpper) {
504            return format;
505        }
506
507        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
508            return val.slice(1);
509        });
510
511        return this._longDateFormat[key];
512    }
513
514    var defaultInvalidDate = 'Invalid date';
515
516    function invalidDate() {
517        return this._invalidDate;
518    }
519
520    var defaultOrdinal = '%d';
521    var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
522
523    function ordinal(number) {
524        return this._ordinal.replace('%d', number);
525    }
526
527    var defaultRelativeTime = {
528        future: 'in %s',
529        past: '%s ago',
530        s: 'a few seconds',
531        ss: '%d seconds',
532        m: 'a minute',
533        mm: '%d minutes',
534        h: 'an hour',
535        hh: '%d hours',
536        d: 'a day',
537        dd: '%d days',
538        M: 'a month',
539        MM: '%d months',
540        y: 'a year',
541        yy: '%d years'
542    };
543
544    function relativeTime(number, withoutSuffix, string, isFuture) {
545        var output = this._relativeTime[string];
546        return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);
547    }
548
549    function pastFuture(diff, output) {
550        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
551        return isFunction(format) ? format(output) : format.replace(/%s/i, output);
552    }
553
554    var aliases = {};
555
556    function addUnitAlias(unit, shorthand) {
557        var lowerCase = unit.toLowerCase();
558        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
559    }
560
561    function normalizeUnits(units) {
562        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
563    }
564
565    function normalizeObjectUnits(inputObject) {
566        var normalizedInput = {},
567            normalizedProp,
568            prop;
569
570        for (prop in inputObject) {
571            if (hasOwnProp(inputObject, prop)) {
572                normalizedProp = normalizeUnits(prop);
573                if (normalizedProp) {
574                    normalizedInput[normalizedProp] = inputObject[prop];
575                }
576            }
577        }
578
579        return normalizedInput;
580    }
581
582    var priorities = {};
583
584    function addUnitPriority(unit, priority) {
585        priorities[unit] = priority;
586    }
587
588    function getPrioritizedUnits(unitsObj) {
589        var units = [];
590        for (var u in unitsObj) {
591            units.push({ unit: u, priority: priorities[u] });
592        }
593        units.sort(function (a, b) {
594            return a.priority - b.priority;
595        });
596        return units;
597    }
598
599    function zeroFill(number, targetLength, forceSign) {
600        var absNumber = '' + Math.abs(number),
601            zerosToFill = targetLength - absNumber.length,
602            sign = number >= 0;
603        return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
604    }
605
606    var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
607
608    var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
609
610    var formatFunctions = {};
611
612    var formatTokenFunctions = {};
613
614    // token:    'M'
615    // padded:   ['MM', 2]
616    // ordinal:  'Mo'
617    // callback: function () { this.month() + 1 }
618    function addFormatToken(token, padded, ordinal, callback) {
619        var func = callback;
620        if (typeof callback === 'string') {
621            func = function func() {
622                return this[callback]();
623            };
624        }
625        if (token) {
626            formatTokenFunctions[token] = func;
627        }
628        if (padded) {
629            formatTokenFunctions[padded[0]] = function () {
630                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
631            };
632        }
633        if (ordinal) {
634            formatTokenFunctions[ordinal] = function () {
635                return this.localeData().ordinal(func.apply(this, arguments), token);
636            };
637        }
638    }
639
640    function removeFormattingTokens(input) {
641        if (input.match(/\[[\s\S]/)) {
642            return input.replace(/^\[|\]$/g, '');
643        }
644        return input.replace(/\\/g, '');
645    }
646
647    function makeFormatFunction(format) {
648        var array = format.match(formattingTokens),
649            i,
650            length;
651
652        for (i = 0, length = array.length; i < length; i++) {
653            if (formatTokenFunctions[array[i]]) {
654                array[i] = formatTokenFunctions[array[i]];
655            } else {
656                array[i] = removeFormattingTokens(array[i]);
657            }
658        }
659
660        return function (mom) {
661            var output = '',
662                i;
663            for (i = 0; i < length; i++) {
664                output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
665            }
666            return output;
667        };
668    }
669
670    // format date using native date object
671    function formatMoment(m, format) {
672        if (!m.isValid()) {
673            return m.localeData().invalidDate();
674        }
675
676        format = expandFormat(format, m.localeData());
677        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
678
679        return formatFunctions[format](m);
680    }
681
682    function expandFormat(format, locale) {
683        var i = 5;
684
685        function replaceLongDateFormatTokens(input) {
686            return locale.longDateFormat(input) || input;
687        }
688
689        localFormattingTokens.lastIndex = 0;
690        while (i >= 0 && localFormattingTokens.test(format)) {
691            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
692            localFormattingTokens.lastIndex = 0;
693            i -= 1;
694        }
695
696        return format;
697    }
698
699    var match1 = /\d/; //       0 - 9
700    var match2 = /\d\d/; //      00 - 99
701    var match3 = /\d{3}/; //     000 - 999
702    var match4 = /\d{4}/; //    0000 - 9999
703    var match6 = /[+-]?\d{6}/; // -999999 - 999999
704    var match1to2 = /\d\d?/; //       0 - 99
705    var match3to4 = /\d\d\d\d?/; //     999 - 9999
706    var match5to6 = /\d\d\d\d\d\d?/; //   99999 - 999999
707    var match1to3 = /\d{1,3}/; //       0 - 999
708    var match1to4 = /\d{1,4}/; //       0 - 9999
709    var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
710
711    var matchUnsigned = /\d+/; //       0 - inf
712    var matchSigned = /[+-]?\d+/; //    -inf - inf
713
714    var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
715    var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
716
717    var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
718
719    // any word (or two) characters or numbers including two/three word month in arabic.
720    // includes scottish gaelic two word and hyphenated months
721    var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
722
723    var regexes = {};
724
725    function addRegexToken(token, regex, strictRegex) {
726        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
727            return isStrict && strictRegex ? strictRegex : regex;
728        };
729    }
730
731    function getParseRegexForToken(token, config) {
732        if (!hasOwnProp(regexes, token)) {
733            return new RegExp(unescapeFormat(token));
734        }
735
736        return regexes[token](config._strict, config._locale);
737    }
738
739    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
740    function unescapeFormat(s) {
741        return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
742            return p1 || p2 || p3 || p4;
743        }));
744    }
745
746    function regexEscape(s) {
747        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
748    }
749
750    var tokens = {};
751
752    function addParseToken(token, callback) {
753        var i,
754            func = callback;
755        if (typeof token === 'string') {
756            token = [token];
757        }
758        if (isNumber(callback)) {
759            func = function func(input, array) {
760                array[callback] = toInt(input);
761            };
762        }
763        for (i = 0; i < token.length; i++) {
764            tokens[token[i]] = func;
765        }
766    }
767
768    function addWeekParseToken(token, callback) {
769        addParseToken(token, function (input, array, config, token) {
770            config._w = config._w || {};
771            callback(input, config._w, config, token);
772        });
773    }
774
775    function addTimeToArrayFromToken(token, input, config) {
776        if (input != null && hasOwnProp(tokens, token)) {
777            tokens[token](input, config._a, config, token);
778        }
779    }
780
781    var YEAR = 0;
782    var MONTH = 1;
783    var DATE = 2;
784    var HOUR = 3;
785    var MINUTE = 4;
786    var SECOND = 5;
787    var MILLISECOND = 6;
788    var WEEK = 7;
789    var WEEKDAY = 8;
790
791    // FORMATTING
792
793    addFormatToken('Y', 0, 0, function () {
794        var y = this.year();
795        return y <= 9999 ? '' + y : '+' + y;
796    });
797
798    addFormatToken(0, ['YY', 2], 0, function () {
799        return this.year() % 100;
800    });
801
802    addFormatToken(0, ['YYYY', 4], 0, 'year');
803    addFormatToken(0, ['YYYYY', 5], 0, 'year');
804    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
805
806    // ALIASES
807
808    addUnitAlias('year', 'y');
809
810    // PRIORITIES
811
812    addUnitPriority('year', 1);
813
814    // PARSING
815
816    addRegexToken('Y', matchSigned);
817    addRegexToken('YY', match1to2, match2);
818    addRegexToken('YYYY', match1to4, match4);
819    addRegexToken('YYYYY', match1to6, match6);
820    addRegexToken('YYYYYY', match1to6, match6);
821
822    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
823    addParseToken('YYYY', function (input, array) {
824        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
825    });
826    addParseToken('YY', function (input, array) {
827        array[YEAR] = hooks.parseTwoDigitYear(input);
828    });
829    addParseToken('Y', function (input, array) {
830        array[YEAR] = parseInt(input, 10);
831    });
832
833    // HELPERS
834
835    function daysInYear(year) {
836        return isLeapYear(year) ? 366 : 365;
837    }
838
839    function isLeapYear(year) {
840        return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
841    }
842
843    // HOOKS
844
845    hooks.parseTwoDigitYear = function (input) {
846        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
847    };
848
849    // MOMENTS
850
851    var getSetYear = makeGetSet('FullYear', true);
852
853    function getIsLeapYear() {
854        return isLeapYear(this.year());
855    }
856
857    function makeGetSet(unit, keepTime) {
858        return function (value) {
859            if (value != null) {
860                set$1(this, unit, value);
861                hooks.updateOffset(this, keepTime);
862                return this;
863            } else {
864                return get(this, unit);
865            }
866        };
867    }
868
869    function get(mom, unit) {
870        return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
871    }
872
873    function set$1(mom, unit, value) {
874        if (mom.isValid() && !isNaN(value)) {
875            if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
876                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
877            } else {
878                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
879            }
880        }
881    }
882
883    // MOMENTS
884
885    function stringGet(units) {
886        units = normalizeUnits(units);
887        if (isFunction(this[units])) {
888            return this[units]();
889        }
890        return this;
891    }
892
893    function stringSet(units, value) {
894        if ((typeof units === 'undefined' ? 'undefined' : _typeof(units)) === 'object') {
895            units = normalizeObjectUnits(units);
896            var prioritized = getPrioritizedUnits(units);
897            for (var i = 0; i < prioritized.length; i++) {
898                this[prioritized[i].unit](units[prioritized[i].unit]);
899            }
900        } else {
901            units = normalizeUnits(units);
902            if (isFunction(this[units])) {
903                return this[units](value);
904            }
905        }
906        return this;
907    }
908
909    function mod(n, x) {
910        return (n % x + x) % x;
911    }
912
913    var indexOf;
914
915    if (Array.prototype.indexOf) {
916        indexOf = Array.prototype.indexOf;
917    } else {
918        indexOf = function indexOf(o) {
919            // I know
920            var i;
921            for (i = 0; i < this.length; ++i) {
922                if (this[i] === o) {
923                    return i;
924                }
925            }
926            return -1;
927        };
928    }
929
930    function daysInMonth(year, month) {
931        if (isNaN(year) || isNaN(month)) {
932            return NaN;
933        }
934        var modMonth = mod(month, 12);
935        year += (month - modMonth) / 12;
936        return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;
937    }
938
939    // FORMATTING
940
941    addFormatToken('M', ['MM', 2], 'Mo', function () {
942        return this.month() + 1;
943    });
944
945    addFormatToken('MMM', 0, 0, function (format) {
946        return this.localeData().monthsShort(this, format);
947    });
948
949    addFormatToken('MMMM', 0, 0, function (format) {
950        return this.localeData().months(this, format);
951    });
952
953    // ALIASES
954
955    addUnitAlias('month', 'M');
956
957    // PRIORITY
958
959    addUnitPriority('month', 8);
960
961    // PARSING
962
963    addRegexToken('M', match1to2);
964    addRegexToken('MM', match1to2, match2);
965    addRegexToken('MMM', function (isStrict, locale) {
966        return locale.monthsShortRegex(isStrict);
967    });
968    addRegexToken('MMMM', function (isStrict, locale) {
969        return locale.monthsRegex(isStrict);
970    });
971
972    addParseToken(['M', 'MM'], function (input, array) {
973        array[MONTH] = toInt(input) - 1;
974    });
975
976    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
977        var month = config._locale.monthsParse(input, token, config._strict);
978        // if we didn't find a month name, mark the date as invalid.
979        if (month != null) {
980            array[MONTH] = month;
981        } else {
982            getParsingFlags(config).invalidMonth = input;
983        }
984    });
985
986    // LOCALES
987
988    var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
989    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
990    function localeMonths(m, format) {
991        if (!m) {
992            return isArray(this._months) ? this._months : this._months['standalone'];
993        }
994        return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
995    }
996
997    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
998    function localeMonthsShort(m, format) {
999        if (!m) {
1000            return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];
1001        }
1002        return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
1003    }
1004
1005    function handleStrictParse(monthName, format, strict) {
1006        var i,
1007            ii,
1008            mom,
1009            llc = monthName.toLocaleLowerCase();
1010        if (!this._monthsParse) {
1011            // this is not used
1012            this._monthsParse = [];
1013            this._longMonthsParse = [];
1014            this._shortMonthsParse = [];
1015            for (i = 0; i < 12; ++i) {
1016                mom = createUTC([2000, i]);
1017                this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
1018                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
1019            }
1020        }
1021
1022        if (strict) {
1023            if (format === 'MMM') {
1024                ii = indexOf.call(this._shortMonthsParse, llc);
1025                return ii !== -1 ? ii : null;
1026            } else {
1027                ii = indexOf.call(this._longMonthsParse, llc);
1028                return ii !== -1 ? ii : null;
1029            }
1030        } else {
1031            if (format === 'MMM') {
1032                ii = indexOf.call(this._shortMonthsParse, llc);
1033                if (ii !== -1) {
1034                    return ii;
1035                }
1036                ii = indexOf.call(this._longMonthsParse, llc);
1037                return ii !== -1 ? ii : null;
1038            } else {
1039                ii = indexOf.call(this._longMonthsParse, llc);
1040                if (ii !== -1) {
1041                    return ii;
1042                }
1043                ii = indexOf.call(this._shortMonthsParse, llc);
1044                return ii !== -1 ? ii : null;
1045            }
1046        }
1047    }
1048
1049    function localeMonthsParse(monthName, format, strict) {
1050        var i, mom, regex;
1051
1052        if (this._monthsParseExact) {
1053            return handleStrictParse.call(this, monthName, format, strict);
1054        }
1055
1056        if (!this._monthsParse) {
1057            this._monthsParse = [];
1058            this._longMonthsParse = [];
1059            this._shortMonthsParse = [];
1060        }
1061
1062        // TODO: add sorting
1063        // Sorting makes sure if one month (or abbr) is a prefix of another
1064        // see sorting in computeMonthsParse
1065        for (i = 0; i < 12; i++) {
1066            // make the regex if we don't have it already
1067            mom = createUTC([2000, i]);
1068            if (strict && !this._longMonthsParse[i]) {
1069                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
1070                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
1071            }
1072            if (!strict && !this._monthsParse[i]) {
1073                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
1074                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
1075            }
1076            // test the regex
1077            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
1078                return i;
1079            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
1080                return i;
1081            } else if (!strict && this._monthsParse[i].test(monthName)) {
1082                return i;
1083            }
1084        }
1085    }
1086
1087    // MOMENTS
1088
1089    function setMonth(mom, value) {
1090        var dayOfMonth;
1091
1092        if (!mom.isValid()) {
1093            // No op
1094            return mom;
1095        }
1096
1097        if (typeof value === 'string') {
1098            if (/^\d+$/.test(value)) {
1099                value = toInt(value);
1100            } else {
1101                value = mom.localeData().monthsParse(value);
1102                // TODO: Another silent failure?
1103                if (!isNumber(value)) {
1104                    return mom;
1105                }
1106            }
1107        }
1108
1109        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
1110        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
1111        return mom;
1112    }
1113
1114    function getSetMonth(value) {
1115        if (value != null) {
1116            setMonth(this, value);
1117            hooks.updateOffset(this, true);
1118            return this;
1119        } else {
1120            return get(this, 'Month');
1121        }
1122    }
1123
1124    function getDaysInMonth() {
1125        return daysInMonth(this.year(), this.month());
1126    }
1127
1128    var defaultMonthsShortRegex = matchWord;
1129    function monthsShortRegex(isStrict) {
1130        if (this._monthsParseExact) {
1131            if (!hasOwnProp(this, '_monthsRegex')) {
1132                computeMonthsParse.call(this);
1133            }
1134            if (isStrict) {
1135                return this._monthsShortStrictRegex;
1136            } else {
1137                return this._monthsShortRegex;
1138            }
1139        } else {
1140            if (!hasOwnProp(this, '_monthsShortRegex')) {
1141                this._monthsShortRegex = defaultMonthsShortRegex;
1142            }
1143            return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;
1144        }
1145    }
1146
1147    var defaultMonthsRegex = matchWord;
1148    function monthsRegex(isStrict) {
1149        if (this._monthsParseExact) {
1150            if (!hasOwnProp(this, '_monthsRegex')) {
1151                computeMonthsParse.call(this);
1152            }
1153            if (isStrict) {
1154                return this._monthsStrictRegex;
1155            } else {
1156                return this._monthsRegex;
1157            }
1158        } else {
1159            if (!hasOwnProp(this, '_monthsRegex')) {
1160                this._monthsRegex = defaultMonthsRegex;
1161            }
1162            return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;
1163        }
1164    }
1165
1166    function computeMonthsParse() {
1167        function cmpLenRev(a, b) {
1168            return b.length - a.length;
1169        }
1170
1171        var shortPieces = [],
1172            longPieces = [],
1173            mixedPieces = [],
1174            i,
1175            mom;
1176        for (i = 0; i < 12; i++) {
1177            // make the regex if we don't have it already
1178            mom = createUTC([2000, i]);
1179            shortPieces.push(this.monthsShort(mom, ''));
1180            longPieces.push(this.months(mom, ''));
1181            mixedPieces.push(this.months(mom, ''));
1182            mixedPieces.push(this.monthsShort(mom, ''));
1183        }
1184        // Sorting makes sure if one month (or abbr) is a prefix of another it
1185        // will match the longer piece.
1186        shortPieces.sort(cmpLenRev);
1187        longPieces.sort(cmpLenRev);
1188        mixedPieces.sort(cmpLenRev);
1189        for (i = 0; i < 12; i++) {
1190            shortPieces[i] = regexEscape(shortPieces[i]);
1191            longPieces[i] = regexEscape(longPieces[i]);
1192        }
1193        for (i = 0; i < 24; i++) {
1194            mixedPieces[i] = regexEscape(mixedPieces[i]);
1195        }
1196
1197        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1198        this._monthsShortRegex = this._monthsRegex;
1199        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
1200        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
1201    }
1202
1203    function createDate(y, m, d, h, M, s, ms) {
1204        // can't just apply() to create a date:
1205        // https://stackoverflow.com/q/181348
1206        var date
vendor: 3,200 bytes, lines 1206-1311
1206 = new Date(y, m, d, h, M, s, ms);
1207
1208        // the date constructor remaps years 0-99 to 1900-1999
1209        if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
1210            date.setFullYear(y);
1211        }
1212        return date;
1213    }
1214
1215    function createUTCDate(y) {
1216        var date = new Date(Date.UTC.apply(null, arguments));
1217
1218        // the Date.UTC function remaps years 0-99 to 1900-1999
1219        if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
1220            date.setUTCFullYear(y);
1221        }
1222        return date;
1223    }
1224
1225    // start-of-first-week - start-of-year
1226    function firstWeekOffset(year, dow, doy) {
1227        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
1228        fwd = 7 + dow - doy,
1229
1230        // first-week day local weekday -- which local weekday is fwd
1231        fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1232
1233        return -fwdlw + fwd - 1;
1234    }
1235
1236    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1237    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1238        var localWeekday = (7 + weekday - dow) % 7,
1239            weekOffset = firstWeekOffset(year, dow, doy),
1240            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
1241            resYear,
1242            resDayOfYear;
1243
1244        if (dayOfYear <= 0) {
1245            resYear = year - 1;
1246            resDayOfYear = daysInYear(resYear) + dayOfYear;
1247        } else if (dayOfYear > daysInYear(year)) {
1248            resYear = year + 1;
1249            resDayOfYear = dayOfYear - daysInYear(year);
1250        } else {
1251            resYear = year;
1252            resDayOfYear = dayOfYear;
1253        }
1254
1255        return {
1256            year: resYear,
1257            dayOfYear: resDayOfYear
1258        };
1259    }
1260
1261    function weekOfYear(mom, dow, doy) {
1262        var weekOffset = firstWeekOffset(mom.year(), dow, doy),
1263            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
1264            resWeek,
1265            resYear;
1266
1267        if (week < 1) {
1268            resYear = mom.year() - 1;
1269            resWeek = week + weeksInYear(resYear, dow, doy);
1270        } else if (week > weeksInYear(mom.year(), dow, doy)) {
1271            resWeek = week - weeksInYear(mom.year(), dow, doy);
1272            resYear = mom.year() + 1;
1273        } else {
1274            resYear = mom.year();
1275            resWeek = week;
1276        }
1277
1278        return {
1279            week: resWeek,
1280            year: resYear
1281        };
1282    }
1283
1284    function weeksInYear(year, dow, doy) {
1285        var weekOffset = firstWeekOffset(year, dow, doy),
1286            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1287        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1288    }
1289
1290    // FORMATTING
1291
1292    addFormatToken('w', ['ww', 2], 'wo', 'week');
1293    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
1294
1295    // ALIASES
1296
1297    addUnitAlias('week', 'w');
1298    addUnitAlias('isoWeek', 'W');
1299
1300    // PRIORITIES
1301
1302    addUnitPriority('week', 5);
1303    addUnitPriority('isoWeek', 5);
1304
1305    // PARSING
1306
1307    addRegexToken('w', match1to2);
1308    addRegexToken('ww', match1to2, match2);
1309    addRegexToken('W', match1to2);
1310    addRegexToken('WW', match1to2, match2);
1311
vendor: 16,384 bytes, lines 1312-1797
1312    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
1313        week[token.substr(0, 1)] = toInt(input);
1314    });
1315
1316    // HELPERS
1317
1318    // LOCALES
1319
1320    function localeWeek(mom) {
1321        return weekOfYear(mom, this._week.dow, this._week.doy).week;
1322    }
1323
1324    var defaultLocaleWeek = {
1325        dow: 0, // Sunday is the first day of the week.
1326        doy: 6 // The week that contains Jan 1st is the first week of the year.
1327    };
1328
1329    function localeFirstDayOfWeek() {
1330        return this._week.dow;
1331    }
1332
1333    function localeFirstDayOfYear() {
1334        return this._week.doy;
1335    }
1336
1337    // MOMENTS
1338
1339    function getSetWeek(input) {
1340        var week = this.localeData().week(this);
1341        return input == null ? week : this.add((input - week) * 7, 'd');
1342    }
1343
1344    function getSetISOWeek(input) {
1345        var week = weekOfYear(this, 1, 4).week;
1346        return input == null ? week : this.add((input - week) * 7, 'd');
1347    }
1348
1349    // FORMATTING
1350
1351    addFormatToken('d', 0, 'do', 'day');
1352
1353    addFormatToken('dd', 0, 0, function (format) {
1354        return this.localeData().weekdaysMin(this, format);
1355    });
1356
1357    addFormatToken('ddd', 0, 0, function (format) {
1358        return this.localeData().weekdaysShort(this, format);
1359    });
1360
1361    addFormatToken('dddd', 0, 0, function (format) {
1362        return this.localeData().weekdays(this, format);
1363    });
1364
1365    addFormatToken('e', 0, 0, 'weekday');
1366    addFormatToken('E', 0, 0, 'isoWeekday');
1367
1368    // ALIASES
1369
1370    addUnitAlias('day', 'd');
1371    addUnitAlias('weekday', 'e');
1372    addUnitAlias('isoWeekday', 'E');
1373
1374    // PRIORITY
1375    addUnitPriority('day', 11);
1376    addUnitPriority('weekday', 11);
1377    addUnitPriority('isoWeekday', 11);
1378
1379    // PARSING
1380
1381    addRegexToken('d', match1to2);
1382    addRegexToken('e', match1to2);
1383    addRegexToken('E', match1to2);
1384    addRegexToken('dd', function (isStrict, locale) {
1385        return locale.weekdaysMinRegex(isStrict);
1386    });
1387    addRegexToken('ddd', function (isStrict, locale) {
1388        return locale.weekdaysShortRegex(isStrict);
1389    });
1390    addRegexToken('dddd', function (isStrict, locale) {
1391        return locale.weekdaysRegex(isStrict);
1392    });
1393
1394    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
1395        var weekday = config._locale.weekdaysParse(input, token, config._strict);
1396        // if we didn't get a weekday name, mark the date as invalid
1397        if (weekday != null) {
1398            week.d = weekday;
1399        } else {
1400            getParsingFlags(config).invalidWeekday = input;
1401        }
1402    });
1403
1404    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
1405        week[token] = toInt(input);
1406    });
1407
1408    // HELPERS
1409
1410    function parseWeekday(input, locale) {
1411        if (typeof input !== 'string') {
1412            return input;
1413        }
1414
1415        if (!isNaN(input)) {
1416            return parseInt(input, 10);
1417        }
1418
1419        input = locale.weekdaysParse(input);
1420        if (typeof input === 'number') {
1421            return input;
1422        }
1423
1424        return null;
1425    }
1426
1427    function parseIsoWeekday(input, locale) {
1428        if (typeof input === 'string') {
1429            return locale.weekdaysParse(input) % 7 || 7;
1430        }
1431        return isNaN(input) ? null : input;
1432    }
1433
1434    // LOCALES
1435
1436    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
1437    function localeWeekdays(m, format) {
1438        if (!m) {
1439            return isArray(this._weekdays) ? this._weekdays : this._weekdays['standalone'];
1440        }
1441        return isArray(this._weekdays) ? this._weekdays[m.day()] : this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
1442    }
1443
1444    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
1445    function localeWeekdaysShort(m) {
1446        return m ? this._weekdaysShort[m.day()] : this._weekdaysShort;
1447    }
1448
1449    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
1450    function localeWeekdaysMin(m) {
1451        return m ? this._weekdaysMin[m.day()] : this._weekdaysMin;
1452    }
1453
1454    function handleStrictParse$1(weekdayName, format, strict) {
1455        var i,
1456            ii,
1457            mom,
1458            llc = weekdayName.toLocaleLowerCase();
1459        if (!this._weekdaysParse) {
1460            this._weekdaysParse = [];
1461            this._shortWeekdaysParse = [];
1462            this._minWeekdaysParse = [];
1463
1464            for (i = 0; i < 7; ++i) {
1465                mom = createUTC([2000, 1]).day(i);
1466                this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
1467                this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
1468                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
1469            }
1470        }
1471
1472        if (strict) {
1473            if (format === 'dddd') {
1474                ii = indexOf.call(this._weekdaysParse, llc);
1475                return ii !== -1 ? ii : null;
1476            } else if (format === 'ddd') {
1477                ii = indexOf.call(this._shortWeekdaysParse, llc);
1478                return ii !== -1 ? ii : null;
1479            } else {
1480                ii = indexOf.call(this._minWeekdaysParse, llc);
1481                return ii !== -1 ? ii : null;
1482            }
1483        } else {
1484            if (format === 'dddd') {
1485                ii = indexOf.call(this._weekdaysParse, llc);
1486                if (ii !== -1) {
1487                    return ii;
1488                }
1489                ii = indexOf.call(this._shortWeekdaysParse, llc);
1490                if (ii !== -1) {
1491                    return ii;
1492                }
1493                ii = indexOf.call(this._minWeekdaysParse, llc);
1494                return ii !== -1 ? ii : null;
1495            } else if (format === 'ddd') {
1496                ii = indexOf.call(this._shortWeekdaysParse, llc);
1497                if (ii !== -1) {
1498                    return ii;
1499                }
1500                ii = indexOf.call(this._weekdaysParse, llc);
1501                if (ii !== -1) {
1502                    return ii;
1503                }
1504                ii = indexOf.call(this._minWeekdaysParse, llc);
1505                return ii !== -1 ? ii : null;
1506            } else {
1507                ii = indexOf.call(this._minWeekdaysParse, llc);
1508                if (ii !== -1) {
1509                    return ii;
1510                }
1511                ii = indexOf.call(this._weekdaysParse, llc);
1512                if (ii !== -1) {
1513                    return ii;
1514                }
1515                ii = indexOf.call(this._shortWeekdaysParse, llc);
1516                return ii !== -1 ? ii : null;
1517            }
1518        }
1519    }
1520
1521    function localeWeekdaysParse(weekdayName, format, strict) {
1522        var i, mom, regex;
1523
1524        if (this._weekdaysParseExact) {
1525            return handleStrictParse$1.call(this, weekdayName, format, strict);
1526        }
1527
1528        if (!this._weekdaysParse) {
1529            this._weekdaysParse = [];
1530            this._minWeekdaysParse = [];
1531            this._shortWeekdaysParse = [];
1532            this._fullWeekdaysParse = [];
1533        }
1534
1535        for (i = 0; i < 7; i++) {
1536            // make the regex if we don't have it already
1537
1538            mom = createUTC([2000, 1]).day(i);
1539            if (strict && !this._fullWeekdaysParse[i]) {
1540                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i');
1541                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i');
1542                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i');
1543            }
1544            if (!this._weekdaysParse[i]) {
1545                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
1546                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
1547            }
1548            // test the regex
1549            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
1550                return i;
1551            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
1552                return i;
1553            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
1554                return i;
1555            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
1556                return i;
1557            }
1558        }
1559    }
1560
1561    // MOMENTS
1562
1563    function getSetDayOfWeek(input) {
1564        if (!this.isValid()) {
1565            return input != null ? this : NaN;
1566        }
1567        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
1568        if (input != null) {
1569            input = parseWeekday(input, this.localeData());
1570            return this.add(input - day, 'd');
1571        } else {
1572            return day;
1573        }
1574    }
1575
1576    function getSetLocaleDayOfWeek(input) {
1577        if (!this.isValid()) {
1578            return input != null ? this : NaN;
1579        }
1580        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
1581        return input == null ? weekday : this.add(input - weekday, 'd');
1582    }
1583
1584    function getSetISODayOfWeek(input) {
1585        if (!this.isValid()) {
1586            return input != null ? this : NaN;
1587        }
1588
1589        // behaves the same as moment#day except
1590        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
1591        // as a setter, sunday should belong to the previous week.
1592
1593        if (input != null) {
1594            var weekday = parseIsoWeekday(input, this.localeData());
1595            return this.day(this.day() % 7 ? weekday : weekday - 7);
1596        } else {
1597            return this.day() || 7;
1598        }
1599    }
1600
1601    var defaultWeekdaysRegex = matchWord;
1602    function weekdaysRegex(isStrict) {
1603        if (this._weekdaysParseExact) {
1604            if (!hasOwnProp(this, '_weekdaysRegex')) {
1605                computeWeekdaysParse.call(this);
1606            }
1607            if (isStrict) {
1608                return this._weekdaysStrictRegex;
1609            } else {
1610                return this._weekdaysRegex;
1611            }
1612        } else {
1613            if (!hasOwnProp(this, '_weekdaysRegex')) {
1614                this._weekdaysRegex = defaultWeekdaysRegex;
1615            }
1616            return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;
1617        }
1618    }
1619
1620    var defaultWeekdaysShortRegex = matchWord;
1621    function weekdaysShortRegex(isStrict) {
1622        if (this._weekdaysParseExact) {
1623            if (!hasOwnProp(this, '_weekdaysRegex')) {
1624                computeWeekdaysParse.call(this);
1625            }
1626            if (isStrict) {
1627                return this._weekdaysShortStrictRegex;
1628            } else {
1629                return this._weekdaysShortRegex;
1630            }
1631        } else {
1632            if (!hasOwnProp(this, '_weekdaysShortRegex')) {
1633                this._weekdaysShortRegex = defaultWeekdaysShortRegex;
1634            }
1635            return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
1636        }
1637    }
1638
1639    var defaultWeekdaysMinRegex = matchWord;
1640    function weekdaysMinRegex(isStrict) {
1641        if (this._weekdaysParseExact) {
1642            if (!hasOwnProp(this, '_weekdaysRegex')) {
1643                computeWeekdaysParse.call(this);
1644            }
1645            if (isStrict) {
1646                return this._weekdaysMinStrictRegex;
1647            } else {
1648                return this._weekdaysMinRegex;
1649            }
1650        } else {
1651            if (!hasOwnProp(this, '_weekdaysMinRegex')) {
1652                this._weekdaysMinRegex = defaultWeekdaysMinRegex;
1653            }
1654            return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
1655        }
1656    }
1657
1658    function computeWeekdaysParse() {
1659        function cmpLenRev(a, b) {
1660            return b.length - a.length;
1661        }
1662
1663        var minPieces = [],
1664            shortPieces = [],
1665            longPieces = [],
1666            mixedPieces = [],
1667            i,
1668            mom,
1669            minp,
1670            shortp,
1671            longp;
1672        for (i = 0; i < 7; i++) {
1673            // make the regex if we don't have it already
1674            mom = createUTC([2000, 1]).day(i);
1675            minp = this.weekdaysMin(mom, '');
1676            shortp = this.weekdaysShort(mom, '');
1677            longp = this.weekdays(mom, '');
1678            minPieces.push(minp);
1679            shortPieces.push(shortp);
1680            longPieces.push(longp);
1681            mixedPieces.push(minp);
1682            mixedPieces.push(shortp);
1683            mixedPieces.push(longp);
1684        }
1685        // Sorting makes sure if one weekday (or abbr) is a prefix of another it
1686        // will match the longer piece.
1687        minPieces.sort(cmpLenRev);
1688        shortPieces.sort(cmpLenRev);
1689        longPieces.sort(cmpLenRev);
1690        mixedPieces.sort(cmpLenRev);
1691        for (i = 0; i < 7; i++) {
1692            shortPieces[i] = regexEscape(shortPieces[i]);
1693            longPieces[i] = regexEscape(longPieces[i]);
1694            mixedPieces[i] = regexEscape(mixedPieces[i]);
1695        }
1696
1697        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1698        this._weekdaysShortRegex = this._weekdaysRegex;
1699        this._weekdaysMinRegex = this._weekdaysRegex;
1700
1701        this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
1702        this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
1703        this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
1704    }
1705
1706    // FORMATTING
1707
1708    function hFormat() {
1709        return this.hours() % 12 || 12;
1710    }
1711
1712    function kFormat() {
1713        return this.hours() || 24;
1714    }
1715
1716    addFormatToken('H', ['HH', 2], 0, 'hour');
1717    addFormatToken('h', ['hh', 2], 0, hFormat);
1718    addFormatToken('k', ['kk', 2], 0, kFormat);
1719
1720    addFormatToken('hmm', 0, 0, function () {
1721        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
1722    });
1723
1724    addFormatToken('hmmss', 0, 0, function () {
1725        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
1726    });
1727
1728    addFormatToken('Hmm', 0, 0, function () {
1729        return '' + this.hours() + zeroFill(this.minutes(), 2);
1730    });
1731
1732    addFormatToken('Hmmss', 0, 0, function () {
1733        return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
1734    });
1735
1736    function meridiem(token, lowercase) {
1737        addFormatToken(token, 0, 0, function () {
1738            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
1739        });
1740    }
1741
1742    meridiem('a', true);
1743    meridiem('A', false);
1744
1745    // ALIASES
1746
1747    addUnitAlias('hour', 'h');
1748
1749    // PRIORITY
1750    addUnitPriority('hour', 13);
1751
1752    // PARSING
1753
1754    function matchMeridiem(isStrict, locale) {
1755        return locale._meridiemParse;
1756    }
1757
1758    addRegexToken('a', matchMeridiem);
1759    addRegexToken('A', matchMeridiem);
1760    addRegexToken('H', match1to2);
1761    addRegexToken('h', match1to2);
1762    addRegexToken('k', match1to2);
1763    addRegexToken('HH', match1to2, match2);
1764    addRegexToken('hh', match1to2, match2);
1765    addRegexToken('kk', match1to2, match2);
1766
1767    addRegexToken('hmm', match3to4);
1768    addRegexToken('hmmss', match5to6);
1769    addRegexToken('Hmm', match3to4);
1770    addRegexToken('Hmmss', match5to6);
1771
1772    addParseToken(['H', 'HH'], HOUR);
1773    addParseToken(['k', 'kk'], function (input, array, config) {
1774        var kInput = toInt(input);
1775        array[HOUR] = kInput === 24 ? 0 : kInput;
1776    });
1777    addParseToken(['a', 'A'], function (input, array, config) {
1778        config._isPm = config._locale.isPM(input);
1779        config._meridiem = input;
1780    });
1781    addParseToken(['h', 'hh'], function (input, array, config) {
1782        array[HOUR] = toInt(input);
1783        getParsingFlags(config).bigHour = true;
1784    });
1785    addParseToken('hmm', function (input, array, config) {
1786        var pos = input.length - 2;
1787        array[HOUR] = toInt(input.substr(0, pos));
1788        array[MINUTE] = toInt(input.substr(pos));
1789        getParsingFlags(config).bigHour = true;
1790    });
1791    addParseToken('hmmss', function (input, array, config) {
1792        var pos1 = input.length - 4;
1793        var pos2 = input.length - 2;
1794        array[HOUR] = toInt(input.substr(0, pos1));
1795        array[MINUTE] = toInt(input.substr(pos1, 2));
1796        array[SECOND] = toInt(input.substr(pos2));
1797        getPa
vendor: 16,398 bytes, lines 1797-2237
1797rsingFlags(config).bigHour = true;
1798    });
1799    addParseToken('Hmm', function (input, array, config) {
1800        var pos = input.length - 2;
1801        array[HOUR] = toInt(input.substr(0, pos));
1802        array[MINUTE] = toInt(input.substr(pos));
1803    });
1804    addParseToken('Hmmss', function (input, array, config) {
1805        var pos1 = input.length - 4;
1806        var pos2 = input.length - 2;
1807        array[HOUR] = toInt(input.substr(0, pos1));
1808        array[MINUTE] = toInt(input.substr(pos1, 2));
1809        array[SECOND] = toInt(input.substr(pos2));
1810    });
1811
1812    // LOCALES
1813
1814    function localeIsPM(input) {
1815        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
1816        // Using charAt should be more compatible.
1817        return (input + '').toLowerCase().charAt(0) === 'p';
1818    }
1819
1820    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
1821    function localeMeridiem(hours, minutes, isLower) {
1822        if (hours > 11) {
1823            return isLower ? 'pm' : 'PM';
1824        } else {
1825            return isLower ? 'am' : 'AM';
1826        }
1827    }
1828
1829    // MOMENTS
1830
1831    // Setting the hour should keep the time, because the user explicitly
1832    // specified which hour they want. So trying to maintain the same hour (in
1833    // a new timezone) makes sense. Adding/subtracting hours does not follow
1834    // this rule.
1835    var getSetHour = makeGetSet('Hours', true);
1836
1837    var baseConfig = {
1838        calendar: defaultCalendar,
1839        longDateFormat: defaultLongDateFormat,
1840        invalidDate: defaultInvalidDate,
1841        ordinal: defaultOrdinal,
1842        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
1843        relativeTime: defaultRelativeTime,
1844
1845        months: defaultLocaleMonths,
1846        monthsShort: defaultLocaleMonthsShort,
1847
1848        week: defaultLocaleWeek,
1849
1850        weekdays: defaultLocaleWeekdays,
1851        weekdaysMin: defaultLocaleWeekdaysMin,
1852        weekdaysShort: defaultLocaleWeekdaysShort,
1853
1854        meridiemParse: defaultLocaleMeridiemParse
1855    };
1856
1857    // internal storage for locale config files
1858    var locales = {};
1859    var localeFamilies = {};
1860    var globalLocale;
1861
1862    function normalizeLocale(key) {
1863        return key ? key.toLowerCase().replace('_', '-') : key;
1864    }
1865
1866    // pick the locale from the array
1867    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
1868    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
1869    function chooseLocale(names) {
1870        var i = 0,
1871            j,
1872            next,
1873            locale,
1874            split;
1875
1876        while (i < names.length) {
1877            split = normalizeLocale(names[i]).split('-');
1878            j = split.length;
1879            next = normalizeLocale(names[i + 1]);
1880            next = next ? next.split('-') : null;
1881            while (j > 0) {
1882                locale = loadLocale(split.slice(0, j).join('-'));
1883                if (locale) {
1884                    return locale;
1885                }
1886                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
1887                    //the next array item is better than a shallower substring of this one
1888                    break;
1889                }
1890                j--;
1891            }
1892            i++;
1893        }
1894        return globalLocale;
1895    }
1896
1897    function loadLocale(name) {
1898        var oldLocale = null;
1899        // TODO: Find a better way to register and load all the locales in Node
1900        if (!locales[name] && typeof module !== 'undefined' && module && module.exports) {
1901            try {
1902                oldLocale = globalLocale._abbr;
1903                var aliasedRequire = require;
1904                __webpack_require__(299)("./" + name);
1905                getSetGlobalLocale(oldLocale);
1906            } catch (e) {}
1907        }
1908        return locales[name];
1909    }
1910
1911    // This function will load locale and then set the global locale.  If
1912    // no arguments are passed in, it will simply return the current global
1913    // locale key.
1914    function getSetGlobalLocale(key, values) {
1915        var data;
1916        if (key) {
1917            if (isUndefined(values)) {
1918                data = getLocale(key);
1919            } else {
1920                data = defineLocale(key, values);
1921            }
1922
1923            if (data) {
1924                // moment.duration._locale = moment._locale = data;
1925                globalLocale = data;
1926            } else {
1927                if (typeof console !== 'undefined' && console.warn) {
1928                    //warn user if arguments are passed but the locale could not be set
1929                    console.warn('Locale ' + key + ' not found. Did you forget to load it?');
1930                }
1931            }
1932        }
1933
1934        return globalLocale._abbr;
1935    }
1936
1937    function defineLocale(name, config) {
1938        if (config !== null) {
1939            var locale,
1940                parentConfig = baseConfig;
1941            config.abbr = name;
1942            if (locales[name] != null) {
1943                deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
1944                parentConfig = locales[name]._config;
1945            } else if (config.parentLocale != null) {
1946                if (locales[config.parentLocale] != null) {
1947                    parentConfig = locales[config.parentLocale]._config;
1948                } else {
1949                    locale = loadLocale(config.parentLocale);
1950                    if (locale != null) {
1951                        parentConfig = locale._config;
1952                    } else {
1953                        if (!localeFamilies[config.parentLocale]) {
1954                            localeFamilies[config.parentLocale] = [];
1955                        }
1956                        localeFamilies[config.parentLocale].push({
1957                            name: name,
1958                            config: config
1959                        });
1960                        return null;
1961                    }
1962                }
1963            }
1964            locales[name] = new Locale(mergeConfigs(parentConfig, config));
1965
1966            if (localeFamilies[name]) {
1967                localeFamilies[name].forEach(function (x) {
1968                    defineLocale(x.name, x.config);
1969                });
1970            }
1971
1972            // backwards compat for now: also set the locale
1973            // make sure we set the locale AFTER all child locales have been
1974            // created, so we won't end up with the child locale set.
1975            getSetGlobalLocale(name);
1976
1977            return locales[name];
1978        } else {
1979            // useful for testing
1980            delete locales[name];
1981            return null;
1982        }
1983    }
1984
1985    function updateLocale(name, config) {
1986        if (config != null) {
1987            var locale,
1988                tmpLocale,
1989                parentConfig = baseConfig;
1990            // MERGE
1991            tmpLocale = loadLocale(name);
1992            if (tmpLocale != null) {
1993                parentConfig = tmpLocale._config;
1994            }
1995            config = mergeConfigs(parentConfig, config);
1996            locale = new Locale(config);
1997            locale.parentLocale = locales[name];
1998            locales[name] = locale;
1999
2000            // backwards compat for now: also set the locale
2001            getSetGlobalLocale(name);
2002        } else {
2003            // pass null for config to unupdate, useful for tests
2004            if (locales[name] != null) {
2005                if (locales[name].parentLocale != null) {
2006                    locales[name] = locales[name].parentLocale;
2007                } else if (locales[name] != null) {
2008                    delete locales[name];
2009                }
2010            }
2011        }
2012        return locales[name];
2013    }
2014
2015    // returns locale data
2016    function getLocale(key) {
2017        var locale;
2018
2019        if (key && key._locale && key._locale._abbr) {
2020            key = key._locale._abbr;
2021        }
2022
2023        if (!key) {
2024            return globalLocale;
2025        }
2026
2027        if (!isArray(key)) {
2028            //short-circuit everything else
2029            locale = loadLocale(key);
2030            if (locale) {
2031                return locale;
2032            }
2033            key = [key];
2034        }
2035
2036        return chooseLocale(key);
2037    }
2038
2039    function listLocales() {
2040        return keys(locales);
2041    }
2042
2043    function checkOverflow(m) {
2044        var overflow;
2045        var a = m._a;
2046
2047        if (a && getParsingFlags(m).overflow === -2) {
2048            overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;
2049
2050            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
2051                overflow = DATE;
2052            }
2053            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
2054                overflow = WEEK;
2055            }
2056            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
2057                overflow = WEEKDAY;
2058            }
2059
2060            getParsingFlags(m).overflow = overflow;
2061        }
2062
2063        return m;
2064    }
2065
2066    // Pick the first defined of two or three arguments.
2067    function defaults(a, b, c) {
2068        if (a != null) {
2069            return a;
2070        }
2071        if (b != null) {
2072            return b;
2073        }
2074        return c;
2075    }
2076
2077    function currentDateArray(config) {
2078        // hooks is actually the exported moment object
2079        var nowValue = new Date(hooks.now());
2080        if (config._useUTC) {
2081            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
2082        }
2083        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
2084    }
2085
2086    // convert an array to a date.
2087    // the array should mirror the parameters below
2088    // note: all values past the year are optional and will default to the lowest possible value.
2089    // [year, month, day , hour, minute, second, millisecond]
2090    function configFromArray(config) {
2091        var i,
2092            date,
2093            input = [],
2094            currentDate,
2095            expectedWeekday,
2096            yearToUse;
2097
2098        if (config._d) {
2099            return;
2100        }
2101
2102        currentDate = currentDateArray(config);
2103
2104        //compute day of the year from weeks and weekdays
2105        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
2106            dayOfYearFromWeekInfo(config);
2107        }
2108
2109        //if the day of the year is set, figure out what it is
2110        if (config._dayOfYear != null) {
2111            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
2112
2113            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
2114                getParsingFlags(config)._overflowDayOfYear = true;
2115            }
2116
2117            date = createUTCDate(yearToUse, 0, config._dayOfYear);
2118            config._a[MONTH] = date.getUTCMonth();
2119            config._a[DATE] = date.getUTCDate();
2120        }
2121
2122        // Default to current date.
2123        // * if no year, month, day of month are given, default to today
2124        // * if day of month is given, default month and year
2125        // * if month is given, default only year
2126        // * if year is given, don't default anything
2127        for (i = 0; i < 3 && config._a[i] == null; ++i) {
2128            config._a[i] = input[i] = currentDate[i];
2129        }
2130
2131        // Zero out whatever was not defaulted, including time
2132        for (; i < 7; i++) {
2133            config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
2134        }
2135
2136        // Check for 24:00:00.000
2137        if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {
2138            config._nextDay = true;
2139            config._a[HOUR] = 0;
2140        }
2141
2142        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
2143        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
2144
2145        // Apply timezone offset from input. The actual utcOffset can be changed
2146        // with parseZone.
2147        if (config._tzm != null) {
2148            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2149        }
2150
2151        if (config._nextDay) {
2152            config._a[HOUR] = 24;
2153        }
2154
2155        // check for mismatching day of week
2156        if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
2157            getParsingFlags(config).weekdayMismatch = true;
2158        }
2159    }
2160
2161    function dayOfYearFromWeekInfo(config) {
2162        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
2163
2164        w = config._w;
2165        if (w.GG != null || w.W != null || w.E != null) {
2166            dow = 1;
2167            doy = 4;
2168
2169            // TODO: We need to take the current isoWeekYear, but that depends on
2170            // how we interpret now (local, utc, fixed offset). So create
2171            // a now version of current config (take local/utc/offset flags, and
2172            // create now).
2173            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
2174            week = defaults(w.W, 1);
2175            weekday = defaults(w.E, 1);
2176            if (weekday < 1 || weekday > 7) {
2177                weekdayOverflow = true;
2178            }
2179        } else {
2180            dow = config._locale._week.dow;
2181            doy = config._locale._week.doy;
2182
2183            var curWeek = weekOfYear(createLocal(), dow, doy);
2184
2185            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
2186
2187            // Default to current week.
2188            week = defaults(w.w, curWeek.week);
2189
2190            if (w.d != null) {
2191                // weekday -- low day numbers are considered next week
2192                weekday = w.d;
2193                if (weekday < 0 || weekday > 6) {
2194                    weekdayOverflow = true;
2195                }
2196            } else if (w.e != null) {
2197                // local weekday -- counting starts from begining of week
2198                weekday = w.e + dow;
2199                if (w.e < 0 || w.e > 6) {
2200                    weekdayOverflow = true;
2201                }
2202            } else {
2203                // default to begining of week
2204                weekday = dow;
2205            }
2206        }
2207        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
2208            getParsingFlags(config)._overflowWeeks = true;
2209        } else if (weekdayOverflow != null) {
2210            getParsingFlags(config)._overflowWeekday = true;
2211        } else {
2212            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
2213            config._a[YEAR] = temp.year;
2214            config._dayOfYear = temp.dayOfYear;
2215        }
2216    }
2217
2218    // iso 8601 regex
2219    // 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)
2220    var extendedIsoRegex = /^\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)?)?$/;
2221    var basicIsoRegex = /^\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)?)?$/;
2222
2223    var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
2224
2225    var isoDates = [['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], ['GGGG-[W]WW', /\d{4}-W\d\d/, false], ['YYYY-DDD', /\d{4}-\d{3}/], ['YYYY-MM', /\d{4}-\d\d/, false], ['YYYYYYMMDD', /[+-]\d{10}/], ['YYYYMMDD', /\d{8}/],
2226    // YYYYMM is NOT allowed by the standard
2227    ['GGGG[W]WWE', /\d{4}W\d{3}/], ['GGGG[W]WW', /\d{4}W\d{2}/, false], ['YYYYDDD', /\d{7}/]];
2228
2229    // iso time formats and regexes
2230    var isoTimes = [['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], ['HH:mm:ss', /\d\d:\d\d:\d\d/], ['HH:mm', /\d\d:\d\d/], ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], ['HHmmss', /\d\d\d\d\d\d/], ['HHmm', /\d\d\d\d/], ['HH', /\d\d/]];
2231
2232    var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
2233
2234    // date from iso format
2235    function configFromISO(config) {
2236        var i,
2237            l,
vendor: 2,864 bytes, lines 2238-2316
2238            string = config._i,
2239            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
2240            allowTime,
2241            dateFormat,
2242            timeFormat,
2243            tzFormat;
2244
2245        if (match) {
2246            getParsingFlags(config).iso = true;
2247
2248            for (i = 0, l = isoDates.length; i < l; i++) {
2249                if (isoDates[i][1].exec(match[1])) {
2250                    dateFormat = isoDates[i][0];
2251                    allowTime = isoDates[i][2] !== false;
2252                    break;
2253                }
2254            }
2255            if (dateFormat == null) {
2256                config._isValid = false;
2257                return;
2258            }
2259            if (match[3]) {
2260                for (i = 0, l = isoTimes.length; i < l; i++) {
2261                    if (isoTimes[i][1].exec(match[3])) {
2262                        // match[2] should be 'T' or space
2263                        timeFormat = (match[2] || ' ') + isoTimes[i][0];
2264                        break;
2265                    }
2266                }
2267                if (timeFormat == null) {
2268                    config._isValid = false;
2269                    return;
2270                }
2271            }
2272            if (!allowTime && timeFormat != null) {
2273                config._isValid = false;
2274                return;
2275            }
2276            if (match[4]) {
2277                if (tzRegex.exec(match[4])) {
2278                    tzFormat = 'Z';
2279                } else {
2280                    config._isValid = false;
2281                    return;
2282                }
2283            }
2284            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
2285            configFromStringAndFormat(config);
2286        } else {
2287            config._isValid = false;
2288        }
2289    }
2290
2291    // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
2292    var rfc2822 = /^(?:(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}))$/;
2293
2294    function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
2295        var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];
2296
2297        if (secondStr) {
2298            result.push(parseInt(secondStr, 10));
2299        }
2300
2301        return result;
2302    }
2303
2304    function untruncateYear(yearStr) {
2305        var year = parseInt(yearStr, 10);
2306        if (year <= 49) {
2307            return 2000 + year;
2308        } else if (year <= 999) {
2309            return 1900 + year;
2310        }
2311        return year;
2312    }
2313
2314    function preprocessRFC2822(s) {
2315        // Remove comments and folding whitespace and replace multiple-spaces with a single space
2316        return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').trim(
vendor: 14,421 bytes, lines 2316-2756
2316);
2317    }
2318
2319    function checkWeekday(weekdayStr, parsedInput, config) {
2320        if (weekdayStr) {
2321            // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
2322            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
2323                weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
2324            if (weekdayProvided !== weekdayActual) {
2325                getParsingFlags(config).weekdayMismatch = true;
2326                config._isValid = false;
2327                return false;
2328            }
2329        }
2330        return true;
2331    }
2332
2333    var obsOffsets = {
2334        UT: 0,
2335        GMT: 0,
2336        EDT: -4 * 60,
2337        EST: -5 * 60,
2338        CDT: -5 * 60,
2339        CST: -6 * 60,
2340        MDT: -6 * 60,
2341        MST: -7 * 60,
2342        PDT: -7 * 60,
2343        PST: -8 * 60
2344    };
2345
2346    function calculateOffset(obsOffset, militaryOffset, numOffset) {
2347        if (obsOffset) {
2348            return obsOffsets[obsOffset];
2349        } else if (militaryOffset) {
2350            // the only allowed military tz is Z
2351            return 0;
2352        } else {
2353            var hm = parseInt(numOffset, 10);
2354            var m = hm % 100,
2355                h = (hm - m) / 100;
2356            return h * 60 + m;
2357        }
2358    }
2359
2360    // date and time from ref 2822 format
2361    function configFromRFC2822(config) {
2362        var match = rfc2822.exec(preprocessRFC2822(config._i));
2363        if (match) {
2364            var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
2365            if (!checkWeekday(match[1], parsedArray, config)) {
2366                return;
2367            }
2368
2369            config._a = parsedArray;
2370            config._tzm = calculateOffset(match[8], match[9], match[10]);
2371
2372            config._d = createUTCDate.apply(null, config._a);
2373            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2374
2375            getParsingFlags(config).rfc2822 = true;
2376        } else {
2377            config._isValid = false;
2378        }
2379    }
2380
2381    // date from iso format or fallback
2382    function configFromString(config) {
2383        var matched = aspNetJsonRegex.exec(config._i);
2384
2385        if (matched !== null) {
2386            config._d = new Date(+matched[1]);
2387            return;
2388        }
2389
2390        configFromISO(config);
2391        if (config._isValid === false) {
2392            delete config._isValid;
2393        } else {
2394            return;
2395        }
2396
2397        configFromRFC2822(config);
2398        if (config._isValid === false) {
2399            delete config._isValid;
2400        } else {
2401            return;
2402        }
2403
2404        // Final attempt, use Input Fallback
2405        hooks.createFromInputFallback(config);
2406    }
2407
2408    hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged and will be removed in an upcoming major release. Please refer to ' + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {
2409        config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
2410    });
2411
2412    // constant that refers to the ISO standard
2413    hooks.ISO_8601 = function () {};
2414
2415    // constant that refers to the RFC 2822 form
2416    hooks.RFC_2822 = function () {};
2417
2418    // date from string and format string
2419    function configFromStringAndFormat(config) {
2420        // TODO: Move this to another part of the creation flow to prevent circular deps
2421        if (config._f === hooks.ISO_8601) {
2422            configFromISO(config);
2423            return;
2424        }
2425        if (config._f === hooks.RFC_2822) {
2426            configFromRFC2822(config);
2427            return;
2428        }
2429        config._a = [];
2430        getParsingFlags(config).empty = true;
2431
2432        // This array is used to make a Date, either with `new Date` or `Date.UTC`
2433        var string = '' + config._i,
2434            i,
2435            parsedInput,
2436            tokens,
2437            token,
2438            skipped,
2439            stringLength = string.length,
2440            totalParsedInputLength = 0;
2441
2442        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
2443
2444        for (i = 0; i < tokens.length; i++) {
2445            token = tokens[i];
2446            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
2447            // console.log('token', token, 'parsedInput', parsedInput,
2448            //         'regex', getParseRegexForToken(token, config));
2449            if (parsedInput) {
2450                skipped = string.substr(0, string.indexOf(parsedInput));
2451                if (skipped.length > 0) {
2452                    getParsingFlags(config).unusedInput.push(skipped);
2453                }
2454                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
2455                totalParsedInputLength += parsedInput.length;
2456            }
2457            // don't parse if it's not a known token
2458            if (formatTokenFunctions[token]) {
2459                if (parsedInput) {
2460                    getParsingFlags(config).empty = false;
2461                } else {
2462                    getParsingFlags(config).unusedTokens.push(token);
2463                }
2464                addTimeToArrayFromToken(token, parsedInput, config);
2465            } else if (config._strict && !parsedInput) {
2466                getParsingFlags(config).unusedTokens.push(token);
2467            }
2468        }
2469
2470        // add remaining unparsed input length to the string
2471        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
2472        if (string.length > 0) {
2473            getParsingFlags(config).unusedInput.push(string);
2474        }
2475
2476        // clear _12h flag if hour is <= 12
2477        if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {
2478            getParsingFlags(config).bigHour = undefined;
2479        }
2480
2481        getParsingFlags(config).parsedDateParts = config._a.slice(0);
2482        getParsingFlags(config).meridiem = config._meridiem;
2483        // handle meridiem
2484        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
2485
2486        configFromArray(config);
2487        checkOverflow(config);
2488    }
2489
2490    function meridiemFixWrap(locale, hour, meridiem) {
2491        var isPm;
2492
2493        if (meridiem == null) {
2494            // nothing to do
2495            return hour;
2496        }
2497        if (locale.meridiemHour != null) {
2498            return locale.meridiemHour(hour, meridiem);
2499        } else if (locale.isPM != null) {
2500            // Fallback
2501            isPm = locale.isPM(meridiem);
2502            if (isPm && hour < 12) {
2503                hour += 12;
2504            }
2505            if (!isPm && hour === 12) {
2506                hour = 0;
2507            }
2508            return hour;
2509        } else {
2510            // this is not supposed to happen
2511            return hour;
2512        }
2513    }
2514
2515    // date from string and array of format strings
2516    function configFromStringAndArray(config) {
2517        var tempConfig, bestMoment, scoreToBeat, i, currentScore;
2518
2519        if (config._f.length === 0) {
2520            getParsingFlags(config).invalidFormat = true;
2521            config._d = new Date(NaN);
2522            return;
2523        }
2524
2525        for (i = 0; i < config._f.length; i++) {
2526            currentScore = 0;
2527            tempConfig = copyConfig({}, config);
2528            if (config._useUTC != null) {
2529                tempConfig._useUTC = config._useUTC;
2530            }
2531            tempConfig._f = config._f[i];
2532            configFromStringAndFormat(tempConfig);
2533
2534            if (!isValid(tempConfig)) {
2535                continue;
2536            }
2537
2538            // if there is any input that was not parsed add a penalty for that format
2539            currentScore += getParsingFlags(tempConfig).charsLeftOver;
2540
2541            //or tokens
2542            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
2543
2544            getParsingFlags(tempConfig).score = currentScore;
2545
2546            if (scoreToBeat == null || currentScore < scoreToBeat) {
2547                scoreToBeat = currentScore;
2548                bestMoment = tempConfig;
2549            }
2550        }
2551
2552        extend(config, bestMoment || tempConfig);
2553    }
2554
2555    function configFromObject(config) {
2556        if (config._d) {
2557            return;
2558        }
2559
2560        var i = normalizeObjectUnits(config._i);
2561        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
2562            return obj && parseInt(obj, 10);
2563        });
2564
2565        configFromArray(config);
2566    }
2567
2568    function createFromConfig(config) {
2569        var res = new Moment(checkOverflow(prepareConfig(config)));
2570        if (res._nextDay) {
2571            // Adding is smart enough around DST
2572            res.add(1, 'd');
2573            res._nextDay = undefined;
2574        }
2575
2576        return res;
2577    }
2578
2579    function prepareConfig(config) {
2580        var input = config._i,
2581            format = config._f;
2582
2583        config._locale = config._locale || getLocale(config._l);
2584
2585        if (input === null || format === undefined && input === '') {
2586            return createInvalid({ nullInput: true });
2587        }
2588
2589        if (typeof input === 'string') {
2590            config._i = input = config._locale.preparse(input);
2591        }
2592
2593        if (isMoment(input)) {
2594            return new Moment(checkOverflow(input));
2595        } else if (isDate(input)) {
2596            config._d = input;
2597        } else if (isArray(format)) {
2598            configFromStringAndArray(config);
2599        } else if (format) {
2600            configFromStringAndFormat(config);
2601        } else {
2602            configFromInput(config);
2603        }
2604
2605        if (!isValid(config)) {
2606            config._d = null;
2607        }
2608
2609        return config;
2610    }
2611
2612    function configFromInput(config) {
2613        var input = config._i;
2614        if (isUndefined(input)) {
2615            config._d = new Date(hooks.now());
2616        } else if (isDate(input)) {
2617            config._d = new Date(input.valueOf());
2618        } else if (typeof input === 'string') {
2619            configFromString(config);
2620        } else if (isArray(input)) {
2621            config._a = map(input.slice(0), function (obj) {
2622                return parseInt(obj, 10);
2623            });
2624            configFromArray(config);
2625        } else if (isObject(input)) {
2626            configFromObject(config);
2627        } else if (isNumber(input)) {
2628            // from milliseconds
2629            config._d = new Date(input);
2630        } else {
2631            hooks.createFromInputFallback(config);
2632        }
2633    }
2634
2635    function createLocalOrUTC(input, format, locale, strict, isUTC) {
2636        var c = {};
2637
2638        if (locale === true || locale === false) {
2639            strict = locale;
2640            locale = undefined;
2641        }
2642
2643        if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {
2644            input = undefined;
2645        }
2646        // object construction must be done this way.
2647        // https://github.com/moment/moment/issues/1423
2648        c._isAMomentObject = true;
2649        c._useUTC = c._isUTC = isUTC;
2650        c._l = locale;
2651        c._i = input;
2652        c._f = format;
2653        c._strict = strict;
2654
2655        return createFromConfig(c);
2656    }
2657
2658    function createLocal(input, format, locale, strict) {
2659        return createLocalOrUTC(input, format, locale, strict, false);
2660    }
2661
2662    var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {
2663        var other = createLocal.apply(null, arguments);
2664        if (this.isValid() && other.isValid()) {
2665            return other < this ? this : other;
2666        } else {
2667            return createInvalid();
2668        }
2669    });
2670
2671    var prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {
2672        var other = createLocal.apply(null, arguments);
2673        if (this.isValid() && other.isValid()) {
2674            return other > this ? this : other;
2675        } else {
2676            return createInvalid();
2677        }
2678    });
2679
2680    // Pick a moment m from moments so that m[fn](other) is true for all
2681    // other. This relies on the function fn to be transitive.
2682    //
2683    // moments should either be an array of moment objects or an array, whose
2684    // first element is an array of moment objects.
2685    function pickBy(fn, moments) {
2686        var res, i;
2687        if (moments.length === 1 && isArray(moments[0])) {
2688            moments = moments[0];
2689        }
2690        if (!moments.length) {
2691            return createLocal();
2692        }
2693        res = moments[0];
2694        for (i = 1; i < moments.length; ++i) {
2695            if (!moments[i].isValid() || moments[i][fn](res)) {
2696                res = moments[i];
2697            }
2698        }
2699        return res;
2700    }
2701
2702    // TODO: Use [].sort instead?
2703    function min() {
2704        var args = [].slice.call(arguments, 0);
2705
2706        return pickBy('isBefore', args);
2707    }
2708
2709    function max() {
2710        var args = [].slice.call(arguments, 0);
2711
2712        return pickBy('isAfter', args);
2713    }
2714
2715    var now = function now() {
2716        return Date.now ? Date.now() : +new Date();
2717    };
2718
2719    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
2720
2721    function isDurationValid(m) {
2722        for (var key in m) {
2723            if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
2724                return false;
2725            }
2726        }
2727
2728        var unitHasDecimal = false;
2729        for (var i = 0; i < ordering.length; ++i) {
2730            if (m[ordering[i]]) {
2731                if (unitHasDecimal) {
2732                    return false; // only allow non-integers for smallest unit
2733                }
2734                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
2735                    unitHasDecimal = true;
2736                }
2737            }
2738        }
2739
2740        return true;
2741    }
2742
2743    function isValid$1() {
2744        return this._isValid;
2745    }
2746
2747    function createInvalid$1() {
2748        return createDuration(NaN);
2749    }
2750
2751    function Duration(duration) {
2752        var normalizedInput = normalizeObjectUnits(duration),
2753            years = normalizedInput.year || 0,
2754            quarters = normalizedInput.quarter || 0,
2755            months = normalizedInput.month || 0,
2756            weeks = normalizedInput.week || 
vendor: 14,958 bytes, lines 2756-3194
27560,
2757            days = normalizedInput.day || 0,
2758            hours = normalizedInput.hour || 0,
2759            minutes = normalizedInput.minute || 0,
2760            seconds = normalizedInput.second || 0,
2761            milliseconds = normalizedInput.millisecond || 0;
2762
2763        this._isValid = isDurationValid(normalizedInput);
2764
2765        // representation for dateAddRemove
2766        this._milliseconds = +milliseconds + seconds * 1e3 + // 1000
2767        minutes * 6e4 + // 1000 * 60
2768        hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
2769        // Because of dateAddRemove treats 24 hours as different from a
2770        // day when working around DST, we need to store them separately
2771        this._days = +days + weeks * 7;
2772        // It is impossible to translate months into days without knowing
2773        // which months you are are talking about, so we have to store
2774        // it separately.
2775        this._months = +months + quarters * 3 + years * 12;
2776
2777        this._data = {};
2778
2779        this._locale = getLocale();
2780
2781        this._bubble();
2782    }
2783
2784    function isDuration(obj) {
2785        return obj instanceof Duration;
2786    }
2787
2788    function absRound(number) {
2789        if (number < 0) {
2790            return Math.round(-1 * number) * -1;
2791        } else {
2792            return Math.round(number);
2793        }
2794    }
2795
2796    // FORMATTING
2797
2798    function offset(token, separator) {
2799        addFormatToken(token, 0, 0, function () {
2800            var offset = this.utcOffset();
2801            var sign = '+';
2802            if (offset < 0) {
2803                offset = -offset;
2804                sign = '-';
2805            }
2806            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);
2807        });
2808    }
2809
2810    offset('Z', ':');
2811    offset('ZZ', '');
2812
2813    // PARSING
2814
2815    addRegexToken('Z', matchShortOffset);
2816    addRegexToken('ZZ', matchShortOffset);
2817    addParseToken(['Z', 'ZZ'], function (input, array, config) {
2818        config._useUTC = true;
2819        config._tzm = offsetFromString(matchShortOffset, input);
2820    });
2821
2822    // HELPERS
2823
2824    // timezone chunker
2825    // '+10:00' > ['10',  '00']
2826    // '-1530'  > ['-15', '30']
2827    var chunkOffset = /([\+\-]|\d\d)/gi;
2828
2829    function offsetFromString(matcher, string) {
2830        var matches = (string || '').match(matcher);
2831
2832        if (matches === null) {
2833            return null;
2834        }
2835
2836        var chunk = matches[matches.length - 1] || [];
2837        var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
2838        var minutes = +(parts[1] * 60) + toInt(parts[2]);
2839
2840        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
2841    }
2842
2843    // Return a moment from input, that is local/utc/zone equivalent to model.
2844    function cloneWithOffset(input, model) {
2845        var res, diff;
2846        if (model._isUTC) {
2847            res = model.clone();
2848            diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
2849            // Use low-level api, because this fn is low-level api.
2850            res._d.setTime(res._d.valueOf() + diff);
2851            hooks.updateOffset(res, false);
2852            return res;
2853        } else {
2854            return createLocal(input).local();
2855        }
2856    }
2857
2858    function getDateOffset(m) {
2859        // On Firefox.24 Date#getTimezoneOffset returns a floating point.
2860        // https://github.com/moment/moment/pull/1871
2861        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
2862    }
2863
2864    // HOOKS
2865
2866    // This function will be called whenever a moment is mutated.
2867    // It is intended to keep the offset in sync with the timezone.
2868    hooks.updateOffset = function () {};
2869
2870    // MOMENTS
2871
2872    // keepLocalTime = true means only change the timezone, without
2873    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
2874    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
2875    // +0200, so we adjust the time as needed, to be valid.
2876    //
2877    // Keeping the time actually adds/subtracts (one hour)
2878    // from the actual represented time. That is why we call updateOffset
2879    // a second time. In case it wants us to change the offset again
2880    // _changeInProgress == true case, then we have to adjust, because
2881    // there is no such time in the given timezone.
2882    function getSetOffset(input, keepLocalTime, keepMinutes) {
2883        var offset = this._offset || 0,
2884            localAdjust;
2885        if (!this.isValid()) {
2886            return input != null ? this : NaN;
2887        }
2888        if (input != null) {
2889            if (typeof input === 'string') {
2890                input = offsetFromString(matchShortOffset, input);
2891                if (input === null) {
2892                    return this;
2893                }
2894            } else if (Math.abs(input) < 16 && !keepMinutes) {
2895                input = input * 60;
2896            }
2897            if (!this._isUTC && keepLocalTime) {
2898                localAdjust = getDateOffset(this);
2899            }
2900            this._offset = input;
2901            this._isUTC = true;
2902            if (localAdjust != null) {
2903                this.add(localAdjust, 'm');
2904            }
2905            if (offset !== input) {
2906                if (!keepLocalTime || this._changeInProgress) {
2907                    addSubtract(this, createDuration(input - offset, 'm'), 1, false);
2908                } else if (!this._changeInProgress) {
2909                    this._changeInProgress = true;
2910                    hooks.updateOffset(this, true);
2911                    this._changeInProgress = null;
2912                }
2913            }
2914            return this;
2915        } else {
2916            return this._isUTC ? offset : getDateOffset(this);
2917        }
2918    }
2919
2920    function getSetZone(input, keepLocalTime) {
2921        if (input != null) {
2922            if (typeof input !== 'string') {
2923                input = -input;
2924            }
2925
2926            this.utcOffset(input, keepLocalTime);
2927
2928            return this;
2929        } else {
2930            return -this.utcOffset();
2931        }
2932    }
2933
2934    function setOffsetToUTC(keepLocalTime) {
2935        return this.utcOffset(0, keepLocalTime);
2936    }
2937
2938    function setOffsetToLocal(keepLocalTime) {
2939        if (this._isUTC) {
2940            this.utcOffset(0, keepLocalTime);
2941            this._isUTC = false;
2942
2943            if (keepLocalTime) {
2944                this.subtract(getDateOffset(this), 'm');
2945            }
2946        }
2947        return this;
2948    }
2949
2950    function setOffsetToParsedOffset() {
2951        if (this._tzm != null) {
2952            this.utcOffset(this._tzm, false, true);
2953        } else if (typeof this._i === 'string') {
2954            var tZone = offsetFromString(matchOffset, this._i);
2955            if (tZone != null) {
2956                this.utcOffset(tZone);
2957            } else {
2958                this.utcOffset(0, true);
2959            }
2960        }
2961        return this;
2962    }
2963
2964    function hasAlignedHourOffset(input) {
2965        if (!this.isValid()) {
2966            return false;
2967        }
2968        input = input ? createLocal(input).utcOffset() : 0;
2969
2970        return (this.utcOffset() - input) % 60 === 0;
2971    }
2972
2973    function isDaylightSavingTime() {
2974        return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
2975    }
2976
2977    function isDaylightSavingTimeShifted() {
2978        if (!isUndefined(this._isDSTShifted)) {
2979            return this._isDSTShifted;
2980        }
2981
2982        var c = {};
2983
2984        copyConfig(c, this);
2985        c = prepareConfig(c);
2986
2987        if (c._a) {
2988            var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
2989            this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;
2990        } else {
2991            this._isDSTShifted = false;
2992        }
2993
2994        return this._isDSTShifted;
2995    }
2996
2997    function isLocal() {
2998        return this.isValid() ? !this._isUTC : false;
2999    }
3000
3001    function isUtcOffset() {
3002        return this.isValid() ? this._isUTC : false;
3003    }
3004
3005    function isUtc() {
3006        return this.isValid() ? this._isUTC && this._offset === 0 : false;
3007    }
3008
3009    // ASP.NET json date format regex
3010    var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
3011
3012    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
3013    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
3014    // and further modified to allow for strings containing both week and day
3015    var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
3016
3017    function createDuration(input, key) {
3018        var duration = input,
3019
3020        // matching against regexp is expensive, do it on demand
3021        match = null,
3022            sign,
3023            ret,
3024            diffRes;
3025
3026        if (isDuration(input)) {
3027            duration = {
3028                ms: input._milliseconds,
3029                d: input._days,
3030                M: input._months
3031            };
3032        } else if (isNumber(input)) {
3033            duration = {};
3034            if (key) {
3035                duration[key] = input;
3036            } else {
3037                duration.milliseconds = input;
3038            }
3039        } else if (!!(match = aspNetRegex.exec(input))) {
3040            sign = match[1] === '-' ? -1 : 1;
3041            duration = {
3042                y: 0,
3043                d: toInt(match[DATE]) * sign,
3044                h: toInt(match[HOUR]) * sign,
3045                m: toInt(match[MINUTE]) * sign,
3046                s: toInt(match[SECOND]) * sign,
3047                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
3048            };
3049        } else if (!!(match = isoRegex.exec(input))) {
3050            sign = match[1] === '-' ? -1 : match[1] === '+' ? 1 : 1;
3051            duration = {
3052                y: parseIso(match[2], sign),
3053                M: parseIso(match[3], sign),
3054                w: parseIso(match[4], sign),
3055                d: parseIso(match[5], sign),
3056                h: parseIso(match[6], sign),
3057                m: parseIso(match[7], sign),
3058                s: parseIso(match[8], sign)
3059            };
3060        } else if (duration == null) {
3061            // checks for null or undefined
3062            duration = {};
3063        } else if ((typeof duration === 'undefined' ? 'undefined' : _typeof(duration)) === 'object' && ('from' in duration || 'to' in duration)) {
3064            diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
3065
3066            duration = {};
3067            duration.ms = diffRes.milliseconds;
3068            duration.M = diffRes.months;
3069        }
3070
3071        ret = new Duration(duration);
3072
3073        if (isDuration(input) && hasOwnProp(input, '_locale')) {
3074            ret._locale = input._locale;
3075        }
3076
3077        return ret;
3078    }
3079
3080    createDuration.fn = Duration.prototype;
3081    createDuration.invalid = createInvalid$1;
3082
3083    function parseIso(inp, sign) {
3084        // We'd normally use ~~inp for this, but unfortunately it also
3085        // converts floats to ints.
3086        // inp may be undefined, so careful calling replace on it.
3087        var res = inp && parseFloat(inp.replace(',', '.'));
3088        // apply sign while we're at it
3089        return (isNaN(res) ? 0 : res) * sign;
3090    }
3091
3092    function positiveMomentsDifference(base, other) {
3093        var res = { milliseconds: 0, months: 0 };
3094
3095        res.months = other.month() - base.month() + (other.year() - base.year()) * 12;
3096        if (base.clone().add(res.months, 'M').isAfter(other)) {
3097            --res.months;
3098        }
3099
3100        res.milliseconds = +other - +base.clone().add(res.months, 'M');
3101
3102        return res;
3103    }
3104
3105    function momentsDifference(base, other) {
3106        var res;
3107        if (!(base.isValid() && other.isValid())) {
3108            return { milliseconds: 0, months: 0 };
3109        }
3110
3111        other = cloneWithOffset(other, base);
3112        if (base.isBefore(other)) {
3113            res = positiveMomentsDifference(base, other);
3114        } else {
3115            res = positiveMomentsDifference(other, base);
3116            res.milliseconds = -res.milliseconds;
3117            res.months = -res.months;
3118        }
3119
3120        return res;
3121    }
3122
3123    // TODO: remove 'name' arg after deprecation is removed
3124    function createAdder(direction, name) {
3125        return function (val, period) {
3126            var dur, tmp;
3127            //invert the arguments, but complain about it
3128            if (period !== null && !isNaN(+period)) {
3129                deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
3130                tmp = val;val = period;period = tmp;
3131            }
3132
3133            val = typeof val === 'string' ? +val : val;
3134            dur = createDuration(val, period);
3135            addSubtract(this, dur, direction);
3136            return this;
3137        };
3138    }
3139
3140    function addSubtract(mom, duration, isAdding, updateOffset) {
3141        var milliseconds = duration._milliseconds,
3142            days = absRound(duration._days),
3143            months = absRound(duration._months);
3144
3145        if (!mom.isValid()) {
3146            // No op
3147            return;
3148        }
3149
3150        updateOffset = updateOffset == null ? true : updateOffset;
3151
3152        if (months) {
3153            setMonth(mom, get(mom, 'Month') + months * isAdding);
3154        }
3155        if (days) {
3156            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
3157        }
3158        if (milliseconds) {
3159            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
3160        }
3161        if (updateOffset) {
3162            hooks.updateOffset(mom, days || months);
3163        }
3164    }
3165
3166    var add = createAdder(1, 'add');
3167    var subtract = createAdder(-1, 'subtract');
3168
3169    function getCalendarFormat(myMoment, now) {
3170        var diff = myMoment.diff(now, 'days', true);
3171        return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';
3172    }
3173
3174    function calendar$1(time, formats) {
3175        // We want to compare the start of today, vs this.
3176        // Getting start-of-today depends on whether we're local/utc/offset or not.
3177        var now = time || createLocal(),
3178            sod = cloneWithOffset(now, this).startOf('day'),
3179            format = hooks.calendarFormat(this, sod) || 'sameElse';
3180
3181        var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
3182
3183        return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
3184    }
3185
3186    function clone() {
3187        return new Moment(this);
3188    }
3189
3190    function isAfter(input, units) {
3191        var localInput = isMoment(input) ? input : createLocal(input);
3192        if (!(this.isValid() && localInput.isValid())) {
3193            return false;
3194        }
vendor: 9,541 bytes, lines 3195-3475
3195        units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
3196        if (units === 'millisecond') {
3197            return this.valueOf() > localInput.valueOf();
3198        } else {
3199            return localInput.valueOf() < this.clone().startOf(units).valueOf();
3200        }
3201    }
3202
3203    function isBefore(input, units) {
3204        var localInput = isMoment(input) ? input : createLocal(input);
3205        if (!(this.isValid() && localInput.isValid())) {
3206            return false;
3207        }
3208        units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
3209        if (units === 'millisecond') {
3210            return this.valueOf() < localInput.valueOf();
3211        } else {
3212            return this.clone().endOf(units).valueOf() < localInput.valueOf();
3213        }
3214    }
3215
3216    function isBetween(from, to, units, inclusivity) {
3217        inclusivity = inclusivity || '()';
3218        return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) && (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
3219    }
3220
3221    function isSame(input, units) {
3222        var localInput = isMoment(input) ? input : createLocal(input),
3223            inputMs;
3224        if (!(this.isValid() && localInput.isValid())) {
3225            return false;
3226        }
3227        units = normalizeUnits(units || 'millisecond');
3228        if (units === 'millisecond') {
3229            return this.valueOf() === localInput.valueOf();
3230        } else {
3231            inputMs = localInput.valueOf();
3232            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
3233        }
3234    }
3235
3236    function isSameOrAfter(input, units) {
3237        return this.isSame(input, units) || this.isAfter(input, units);
3238    }
3239
3240    function isSameOrBefore(input, units) {
3241        return this.isSame(input, units) || this.isBefore(input, units);
3242    }
3243
3244    function diff(input, units, asFloat) {
3245        var that, zoneDelta, output;
3246
3247        if (!this.isValid()) {
3248            return NaN;
3249        }
3250
3251        that = cloneWithOffset(input, this);
3252
3253        if (!that.isValid()) {
3254            return NaN;
3255        }
3256
3257        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
3258
3259        units = normalizeUnits(units);
3260
3261        switch (units) {
3262            case 'year':
3263                output = monthDiff(this, that) / 12;break;
3264            case 'month':
3265                output = monthDiff(this, that);break;
3266            case 'quarter':
3267                output = monthDiff(this, that) / 3;break;
3268            case 'second':
3269                output = (this - that) / 1e3;break; // 1000
3270            case 'minute':
3271                output = (this - that) / 6e4;break; // 1000 * 60
3272            case 'hour':
3273                output = (this - that) / 36e5;break; // 1000 * 60 * 60
3274            case 'day':
3275                output = (this - that - zoneDelta) / 864e5;break; // 1000 * 60 * 60 * 24, negate dst
3276            case 'week':
3277                output = (this - that - zoneDelta) / 6048e5;break; // 1000 * 60 * 60 * 24 * 7, negate dst
3278            default:
3279                output = this - that;
3280        }
3281
3282        return asFloat ? output : absFloor(output);
3283    }
3284
3285    function monthDiff(a, b) {
3286        // difference in months
3287        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
3288
3289        // b is in (anchor - 1 month, anchor + 1 month)
3290        anchor = a.clone().add(wholeMonthDiff, 'months'),
3291            anchor2,
3292            adjust;
3293
3294        if (b - anchor < 0) {
3295            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
3296            // linear across the month
3297            adjust = (b - anchor) / (anchor - anchor2);
3298        } else {
3299            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
3300            // linear across the month
3301            adjust = (b - anchor) / (anchor2 - anchor);
3302        }
3303
3304        //check for negative zero, return zero if negative zero
3305        return -(wholeMonthDiff + adjust) || 0;
3306    }
3307
3308    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
3309    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
3310
3311    function toString() {
3312        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
3313    }
3314
3315    function toISOString(keepOffset) {
3316        if (!this.isValid()) {
3317            return null;
3318        }
3319        var utc = keepOffset !== true;
3320        var m = utc ? this.clone().utc() : this;
3321        if (m.year() < 0 || m.year() > 9999) {
3322            return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
3323        }
3324        if (isFunction(Date.prototype.toISOString)) {
3325            // native implementation is ~50x faster, use it when we can
3326            if (utc) {
3327                return this.toDate().toISOString();
3328            } else {
3329                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
3330            }
3331        }
3332        return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
3333    }
3334
3335    /**
3336     * Return a human readable representation of a moment that can
3337     * also be evaluated to get a new moment which is the same
3338     *
3339     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
3340     */
3341    function inspect() {
3342        if (!this.isValid()) {
3343            return 'moment.invalid(/* ' + this._i + ' */)';
3344        }
3345        var func = 'moment';
3346        var zone = '';
3347        if (!this.isLocal()) {
3348            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
3349            zone = 'Z';
3350        }
3351        var prefix = '[' + func + '("]';
3352        var year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
3353        var datetime = '-MM-DD[T]HH:mm:ss.SSS';
3354        var suffix = zone + '[")]';
3355
3356        return this.format(prefix + year + datetime + suffix);
3357    }
3358
3359    function format(inputString) {
3360        if (!inputString) {
3361            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
3362        }
3363        var output = formatMoment(this, inputString);
3364        return this.localeData().postformat(output);
3365    }
3366
3367    function from(time, withoutSuffix) {
3368        if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
3369            return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);
3370        } else {
3371            return this.localeData().invalidDate();
3372        }
3373    }
3374
3375    function fromNow(withoutSuffix) {
3376        return this.from(createLocal(), withoutSuffix);
3377    }
3378
3379    function to(time, withoutSuffix) {
3380        if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
3381            return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);
3382        } else {
3383            return this.localeData().invalidDate();
3384        }
3385    }
3386
3387    function toNow(withoutSuffix) {
3388        return this.to(createLocal(), withoutSuffix);
3389    }
3390
3391    // If passed a locale key, it will set the locale for this
3392    // instance.  Otherwise, it will return the locale configuration
3393    // variables for this instance.
3394    function locale(key) {
3395        var newLocaleData;
3396
3397        if (key === undefined) {
3398            return this._locale._abbr;
3399        } else {
3400            newLocaleData = getLocale(key);
3401            if (newLocaleData != null) {
3402                this._locale = newLocaleData;
3403            }
3404            return this;
3405        }
3406    }
3407
3408    var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {
3409        if (key === undefined) {
3410            return this.localeData();
3411        } else {
3412            return this.locale(key);
3413        }
3414    });
3415
3416    function localeData() {
3417        return this._locale;
3418    }
3419
3420    function startOf(units) {
3421        units = normalizeUnits(units);
3422        // the following switch intentionally omits break keywords
3423        // to utilize falling through the cases.
3424        switch (units) {
3425            case 'year':
3426                this.month(0);
3427            /* falls through */
3428            case 'quarter':
3429            case 'month':
3430                this.date(1);
3431            /* falls through */
3432            case 'week':
3433            case 'isoWeek':
3434            case 'day':
3435            case 'date':
3436                this.hours(0);
3437            /* falls through */
3438            case 'hour':
3439                this.minutes(0);
3440            /* falls through */
3441            case 'minute':
3442                this.seconds(0);
3443            /* falls through */
3444            case 'second':
3445                this.milliseconds(0);
3446        }
3447
3448        // weeks are a special case
3449        if (units === 'week') {
3450            this.weekday(0);
3451        }
3452        if (units === 'isoWeek') {
3453            this.isoWeekday(1);
3454        }
3455
3456        // quarters are also special
3457        if (units === 'quarter') {
3458            this.month(Math.floor(this.month() / 3) * 3);
3459        }
3460
3461        return this;
3462    }
3463
3464    function endOf(units) {
3465        units = normalizeUnits(units);
3466        if (units === undefined || units === 'millisecond') {
3467            return this;
3468        }
3469
3470        // 'date' is an alias for 'day', so it should be considered as such.
3471        if (units === 'date') {
3472            units = 'day';
3473        }
3474
3475        return this.startOf(units).add(1, units === 'isoWeek' ? 'week' : units).subtract(1, 'ms')
vendor: 19,330 bytes, lines 3475-4167
3475;
3476    }
3477
3478    function valueOf() {
3479        return this._d.valueOf() - (this._offset || 0) * 60000;
3480    }
3481
3482    function unix() {
3483        return Math.floor(this.valueOf() / 1000);
3484    }
3485
3486    function toDate() {
3487        return new Date(this.valueOf());
3488    }
3489
3490    function toArray() {
3491        var m = this;
3492        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
3493    }
3494
3495    function toObject() {
3496        var m = this;
3497        return {
3498            years: m.year(),
3499            months: m.month(),
3500            date: m.date(),
3501            hours: m.hours(),
3502            minutes: m.minutes(),
3503            seconds: m.seconds(),
3504            milliseconds: m.milliseconds()
3505        };
3506    }
3507
3508    function toJSON() {
3509        // new Date(NaN).toJSON() === null
3510        return this.isValid() ? this.toISOString() : null;
3511    }
3512
3513    function isValid$2() {
3514        return isValid(this);
3515    }
3516
3517    function parsingFlags() {
3518        return extend({}, getParsingFlags(this));
3519    }
3520
3521    function invalidAt() {
3522        return getParsingFlags(this).overflow;
3523    }
3524
3525    function creationData() {
3526        return {
3527            input: this._i,
3528            format: this._f,
3529            locale: this._locale,
3530            isUTC: this._isUTC,
3531            strict: this._strict
3532        };
3533    }
3534
3535    // FORMATTING
3536
3537    addFormatToken(0, ['gg', 2], 0, function () {
3538        return this.weekYear() % 100;
3539    });
3540
3541    addFormatToken(0, ['GG', 2], 0, function () {
3542        return this.isoWeekYear() % 100;
3543    });
3544
3545    function addWeekYearFormatToken(token, getter) {
3546        addFormatToken(0, [token, token.length], 0, getter);
3547    }
3548
3549    addWeekYearFormatToken('gggg', 'weekYear');
3550    addWeekYearFormatToken('ggggg', 'weekYear');
3551    addWeekYearFormatToken('GGGG', 'isoWeekYear');
3552    addWeekYearFormatToken('GGGGG', 'isoWeekYear');
3553
3554    // ALIASES
3555
3556    addUnitAlias('weekYear', 'gg');
3557    addUnitAlias('isoWeekYear', 'GG');
3558
3559    // PRIORITY
3560
3561    addUnitPriority('weekYear', 1);
3562    addUnitPriority('isoWeekYear', 1);
3563
3564    // PARSING
3565
3566    addRegexToken('G', matchSigned);
3567    addRegexToken('g', matchSigned);
3568    addRegexToken('GG', match1to2, match2);
3569    addRegexToken('gg', match1to2, match2);
3570    addRegexToken('GGGG', match1to4, match4);
3571    addRegexToken('gggg', match1to4, match4);
3572    addRegexToken('GGGGG', match1to6, match6);
3573    addRegexToken('ggggg', match1to6, match6);
3574
3575    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
3576        week[token.substr(0, 2)] = toInt(input);
3577    });
3578
3579    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
3580        week[token] = hooks.parseTwoDigitYear(input);
3581    });
3582
3583    // MOMENTS
3584
3585    function getSetWeekYear(input) {
3586        return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
3587    }
3588
3589    function getSetISOWeekYear(input) {
3590        return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);
3591    }
3592
3593    function getISOWeeksInYear() {
3594        return weeksInYear(this.year(), 1, 4);
3595    }
3596
3597    function getWeeksInYear() {
3598        var weekInfo = this.localeData()._week;
3599        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
3600    }
3601
3602    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
3603        var weeksTarget;
3604        if (input == null) {
3605            return weekOfYear(this, dow, doy).year;
3606        } else {
3607            weeksTarget = weeksInYear(input, dow, doy);
3608            if (week > weeksTarget) {
3609                week = weeksTarget;
3610            }
3611            return setWeekAll.call(this, input, week, weekday, dow, doy);
3612        }
3613    }
3614
3615    function setWeekAll(weekYear, week, weekday, dow, doy) {
3616        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
3617            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
3618
3619        this.year(date.getUTCFullYear());
3620        this.month(date.getUTCMonth());
3621        this.date(date.getUTCDate());
3622        return this;
3623    }
3624
3625    // FORMATTING
3626
3627    addFormatToken('Q', 0, 'Qo', 'quarter');
3628
3629    // ALIASES
3630
3631    addUnitAlias('quarter', 'Q');
3632
3633    // PRIORITY
3634
3635    addUnitPriority('quarter', 7);
3636
3637    // PARSING
3638
3639    addRegexToken('Q', match1);
3640    addParseToken('Q', function (input, array) {
3641        array[MONTH] = (toInt(input) - 1) * 3;
3642    });
3643
3644    // MOMENTS
3645
3646    function getSetQuarter(input) {
3647        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
3648    }
3649
3650    // FORMATTING
3651
3652    addFormatToken('D', ['DD', 2], 'Do', 'date');
3653
3654    // ALIASES
3655
3656    addUnitAlias('date', 'D');
3657
3658    // PRIORITY
3659    addUnitPriority('date', 9);
3660
3661    // PARSING
3662
3663    addRegexToken('D', match1to2);
3664    addRegexToken('DD', match1to2, match2);
3665    addRegexToken('Do', function (isStrict, locale) {
3666        // TODO: Remove "ordinalParse" fallback in next major release.
3667        return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;
3668    });
3669
3670    addParseToken(['D', 'DD'], DATE);
3671    addParseToken('Do', function (input, array) {
3672        array[DATE] = toInt(input.match(match1to2)[0]);
3673    });
3674
3675    // MOMENTS
3676
3677    var getSetDayOfMonth = makeGetSet('Date', true);
3678
3679    // FORMATTING
3680
3681    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
3682
3683    // ALIASES
3684
3685    addUnitAlias('dayOfYear', 'DDD');
3686
3687    // PRIORITY
3688    addUnitPriority('dayOfYear', 4);
3689
3690    // PARSING
3691
3692    addRegexToken('DDD', match1to3);
3693    addRegexToken('DDDD', match3);
3694    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
3695        config._dayOfYear = toInt(input);
3696    });
3697
3698    // HELPERS
3699
3700    // MOMENTS
3701
3702    function getSetDayOfYear(input) {
3703        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
3704        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
3705    }
3706
3707    // FORMATTING
3708
3709    addFormatToken('m', ['mm', 2], 0, 'minute');
3710
3711    // ALIASES
3712
3713    addUnitAlias('minute', 'm');
3714
3715    // PRIORITY
3716
3717    addUnitPriority('minute', 14);
3718
3719    // PARSING
3720
3721    addRegexToken('m', match1to2);
3722    addRegexToken('mm', match1to2, match2);
3723    addParseToken(['m', 'mm'], MINUTE);
3724
3725    // MOMENTS
3726
3727    var getSetMinute = makeGetSet('Minutes', false);
3728
3729    // FORMATTING
3730
3731    addFormatToken('s', ['ss', 2], 0, 'second');
3732
3733    // ALIASES
3734
3735    addUnitAlias('second', 's');
3736
3737    // PRIORITY
3738
3739    addUnitPriority('second', 15);
3740
3741    // PARSING
3742
3743    addRegexToken('s', match1to2);
3744    addRegexToken('ss', match1to2, match2);
3745    addParseToken(['s', 'ss'], SECOND);
3746
3747    // MOMENTS
3748
3749    var getSetSecond = makeGetSet('Seconds', false);
3750
3751    // FORMATTING
3752
3753    addFormatToken('S', 0, 0, function () {
3754        return ~~(this.millisecond() / 100);
3755    });
3756
3757    addFormatToken(0, ['SS', 2], 0, function () {
3758        return ~~(this.millisecond() / 10);
3759    });
3760
3761    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
3762    addFormatToken(0, ['SSSS', 4], 0, function () {
3763        return this.millisecond() * 10;
3764    });
3765    addFormatToken(0, ['SSSSS', 5], 0, function () {
3766        return this.millisecond() * 100;
3767    });
3768    addFormatToken(0, ['SSSSSS', 6], 0, function () {
3769        return this.millisecond() * 1000;
3770    });
3771    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
3772        return this.millisecond() * 10000;
3773    });
3774    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
3775        return this.millisecond() * 100000;
3776    });
3777    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
3778        return this.millisecond() * 1000000;
3779    });
3780
3781    // ALIASES
3782
3783    addUnitAlias('millisecond', 'ms');
3784
3785    // PRIORITY
3786
3787    addUnitPriority('millisecond', 16);
3788
3789    // PARSING
3790
3791    addRegexToken('S', match1to3, match1);
3792    addRegexToken('SS', match1to3, match2);
3793    addRegexToken('SSS', match1to3, match3);
3794
3795    var token;
3796    for (token = 'SSSS'; token.length <= 9; token += 'S') {
3797        addRegexToken(token, matchUnsigned);
3798    }
3799
3800    function parseMs(input, array) {
3801        array[MILLISECOND] = toInt(('0.' + input) * 1000);
3802    }
3803
3804    for (token = 'S'; token.length <= 9; token += 'S') {
3805        addParseToken(token, parseMs);
3806    }
3807    // MOMENTS
3808
3809    var getSetMillisecond = makeGetSet('Milliseconds', false);
3810
3811    // FORMATTING
3812
3813    addFormatToken('z', 0, 0, 'zoneAbbr');
3814    addFormatToken('zz', 0, 0, 'zoneName');
3815
3816    // MOMENTS
3817
3818    function getZoneAbbr() {
3819        return this._isUTC ? 'UTC' : '';
3820    }
3821
3822    function getZoneName() {
3823        return this._isUTC ? 'Coordinated Universal Time' : '';
3824    }
3825
3826    var proto = Moment.prototype;
3827
3828    proto.add = add;
3829    proto.calendar = calendar$1;
3830    proto.clone = clone;
3831    proto.diff = diff;
3832    proto.endOf = endOf;
3833    proto.format = format;
3834    proto.from = from;
3835    proto.fromNow = fromNow;
3836    proto.to = to;
3837    proto.toNow = toNow;
3838    proto.get = stringGet;
3839    proto.invalidAt = invalidAt;
3840    proto.isAfter = isAfter;
3841    proto.isBefore = isBefore;
3842    proto.isBetween = isBetween;
3843    proto.isSame = isSame;
3844    proto.isSameOrAfter = isSameOrAfter;
3845    proto.isSameOrBefore = isSameOrBefore;
3846    proto.isValid = isValid$2;
3847    proto.lang = lang;
3848    proto.locale = locale;
3849    proto.localeData = localeData;
3850    proto.max = prototypeMax;
3851    proto.min = prototypeMin;
3852    proto.parsingFlags = parsingFlags;
3853    proto.set = stringSet;
3854    proto.startOf = startOf;
3855    proto.subtract = subtract;
3856    proto.toArray = toArray;
3857    proto.toObject = toObject;
3858    proto.toDate = toDate;
3859    proto.toISOString = toISOString;
3860    proto.inspect = inspect;
3861    proto.toJSON = toJSON;
3862    proto.toString = toString;
3863    proto.unix = unix;
3864    proto.valueOf = valueOf;
3865    proto.creationData = creationData;
3866    proto.year = getSetYear;
3867    proto.isLeapYear = getIsLeapYear;
3868    proto.weekYear = getSetWeekYear;
3869    proto.isoWeekYear = getSetISOWeekYear;
3870    proto.quarter = proto.quarters = getSetQuarter;
3871    proto.month = getSetMonth;
3872    proto.daysInMonth = getDaysInMonth;
3873    proto.week = proto.weeks = getSetWeek;
3874    proto.isoWeek = proto.isoWeeks = getSetISOWeek;
3875    proto.weeksInYear = getWeeksInYear;
3876    proto.isoWeeksInYear = getISOWeeksInYear;
3877    proto.date = getSetDayOfMonth;
3878    proto.day = proto.days = getSetDayOfWeek;
3879    proto.weekday = getSetLocaleDayOfWeek;
3880    proto.isoWeekday = getSetISODayOfWeek;
3881    proto.dayOfYear = getSetDayOfYear;
3882    proto.hour = proto.hours = getSetHour;
3883    proto.minute = proto.minutes = getSetMinute;
3884    proto.second = proto.seconds = getSetSecond;
3885    proto.millisecond = proto.milliseconds = getSetMillisecond;
3886    proto.utcOffset = getSetOffset;
3887    proto.utc = setOffsetToUTC;
3888    proto.local = setOffsetToLocal;
3889    proto.parseZone = setOffsetToParsedOffset;
3890    proto.hasAlignedHourOffset = hasAlignedHourOffset;
3891    proto.isDST = isDaylightSavingTime;
3892    proto.isLocal = isLocal;
3893    proto.isUtcOffset = isUtcOffset;
3894    proto.isUtc = isUtc;
3895    proto.isUTC = isUtc;
3896    proto.zoneAbbr = getZoneAbbr;
3897    proto.zoneName = getZoneName;
3898    proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
3899    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
3900    proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
3901    proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
3902    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
3903
3904    function createUnix(input) {
3905        return createLocal(input * 1000);
3906    }
3907
3908    function createInZone() {
3909        return createLocal.apply(null, arguments).parseZone();
3910    }
3911
3912    function preParsePostFormat(string) {
3913        return string;
3914    }
3915
3916    var proto$1 = Locale.prototype;
3917
3918    proto$1.calendar = calendar;
3919    proto$1.longDateFormat = longDateFormat;
3920    proto$1.invalidDate = invalidDate;
3921    proto$1.ordinal = ordinal;
3922    proto$1.preparse = preParsePostFormat;
3923    proto$1.postformat = preParsePostFormat;
3924    proto$1.relativeTime = relativeTime;
3925    proto$1.pastFuture = pastFuture;
3926    proto$1.set = set;
3927
3928    proto$1.months = localeMonths;
3929    proto$1.monthsShort = localeMonthsShort;
3930    proto$1.monthsParse = localeMonthsParse;
3931    proto$1.monthsRegex = monthsRegex;
3932    proto$1.monthsShortRegex = monthsShortRegex;
3933    proto$1.week = localeWeek;
3934    proto$1.firstDayOfYear = localeFirstDayOfYear;
3935    proto$1.firstDayOfWeek = localeFirstDayOfWeek;
3936
3937    proto$1.weekdays = localeWeekdays;
3938    proto$1.weekdaysMin = localeWeekdaysMin;
3939    proto$1.weekdaysShort = localeWeekdaysShort;
3940    proto$1.weekdaysParse = localeWeekdaysParse;
3941
3942    proto$1.weekdaysRegex = weekdaysRegex;
3943    proto$1.weekdaysShortRegex = weekdaysShortRegex;
3944    proto$1.weekdaysMinRegex = weekdaysMinRegex;
3945
3946    proto$1.isPM = localeIsPM;
3947    proto$1.meridiem = localeMeridiem;
3948
3949    function get$1(format, index, field, setter) {
3950        var locale = getLocale();
3951        var utc = createUTC().set(setter, index);
3952        return locale[field](utc, format);
3953    }
3954
3955    function listMonthsImpl(format, index, field) {
3956        if (isNumber(format)) {
3957            index = format;
3958            format = undefined;
3959        }
3960
3961        format = format || '';
3962
3963        if (index != null) {
3964            return get$1(format, index, field, 'month');
3965        }
3966
3967        var i;
3968        var out = [];
3969        for (i = 0; i < 12; i++) {
3970            out[i] = get$1(format, i, field, 'month');
3971        }
3972        return out;
3973    }
3974
3975    // ()
3976    // (5)
3977    // (fmt, 5)
3978    // (fmt)
3979    // (true)
3980    // (true, 5)
3981    // (true, fmt, 5)
3982    // (true, fmt)
3983    function listWeekdaysImpl(localeSorted, format, index, field) {
3984        if (typeof localeSorted === 'boolean') {
3985            if (isNumber(format)) {
3986                index = format;
3987                format = undefined;
3988            }
3989
3990            format = format || '';
3991        } else {
3992            format = localeSorted;
3993            index = format;
3994            localeSorted = false;
3995
3996            if (isNumber(format)) {
3997                index = format;
3998                format = undefined;
3999            }
4000
4001            format = format || '';
4002        }
4003
4004        var locale = getLocale(),
4005            shift = localeSorted ? locale._week.dow : 0;
4006
4007        if (index != null) {
4008            return get$1(format, (index + shift) % 7, field, 'day');
4009        }
4010
4011        var i;
4012        var out = [];
4013        for (i = 0; i < 7; i++) {
4014            out[i] = get$1(format, (i + shift) % 7, field, 'day');
4015        }
4016        return out;
4017    }
4018
4019    function listMonths(format, index) {
4020        return listMonthsImpl(format, index, 'months');
4021    }
4022
4023    function listMonthsShort(format, index) {
4024        return listMonthsImpl(format, index, 'monthsShort');
4025    }
4026
4027    function listWeekdays(localeSorted, format, index) {
4028        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
4029    }
4030
4031    function listWeekdaysShort(localeSorted, format, index) {
4032        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
4033    }
4034
4035    function listWeekdaysMin(localeSorted, format, index) {
4036        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
4037    }
4038
4039    getSetGlobalLocale('en', {
4040        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
4041        ordinal: function ordinal(number) {
4042            var b = number % 10,
4043                output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
4044            return number + output;
4045        }
4046    });
4047
4048    // Side effect imports
4049
4050    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
4051    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
4052
4053    var mathAbs = Math.abs;
4054
4055    function abs() {
4056        var data = this._data;
4057
4058        this._milliseconds = mathAbs(this._milliseconds);
4059        this._days = mathAbs(this._days);
4060        this._months = mathAbs(this._months);
4061
4062        data.milliseconds = mathAbs(data.milliseconds);
4063        data.seconds = mathAbs(data.seconds);
4064        data.minutes = mathAbs(data.minutes);
4065        data.hours = mathAbs(data.hours);
4066        data.months = mathAbs(data.months);
4067        data.years = mathAbs(data.years);
4068
4069        return this;
4070    }
4071
4072    function addSubtract$1(duration, input, value, direction) {
4073        var other = createDuration(input, value);
4074
4075        duration._milliseconds += direction * other._milliseconds;
4076        duration._days += direction * other._days;
4077        duration._months += direction * other._months;
4078
4079        return duration._bubble();
4080    }
4081
4082    // supports only 2.0-style add(1, 's') or add(duration)
4083    function add$1(input, value) {
4084        return addSubtract$1(this, input, value, 1);
4085    }
4086
4087    // supports only 2.0-style subtract(1, 's') or subtract(duration)
4088    function subtract$1(input, value) {
4089        return addSubtract$1(this, input, value, -1);
4090    }
4091
4092    function absCeil(number) {
4093        if (number < 0) {
4094            return Math.floor(number);
4095        } else {
4096            return Math.ceil(number);
4097        }
4098    }
4099
4100    function bubble() {
4101        var milliseconds = this._milliseconds;
4102        var days = this._days;
4103        var months = this._months;
4104        var data = this._data;
4105        var seconds, minutes, hours, years, monthsFromDays;
4106
4107        // if we have a mix of positive and negative values, bubble down first
4108        // check: https://github.com/moment/moment/issues/2166
4109        if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {
4110            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
4111            days = 0;
4112            months = 0;
4113        }
4114
4115        // The following code bubbles up values, see the tests for
4116        // examples of what that means.
4117        data.milliseconds = milliseconds % 1000;
4118
4119        seconds = absFloor(milliseconds / 1000);
4120        data.seconds = seconds % 60;
4121
4122        minutes = absFloor(seconds / 60);
4123        data.minutes = minutes % 60;
4124
4125        hours = absFloor(minutes / 60);
4126        data.hours = hours % 24;
4127
4128        days += absFloor(hours / 24);
4129
4130        // convert days to months
4131        monthsFromDays = absFloor(daysToMonths(days));
4132        months += monthsFromDays;
4133        days -= absCeil(monthsToDays(monthsFromDays));
4134
4135        // 12 months -> 1 year
4136        years = absFloor(months / 12);
4137        months %= 12;
4138
4139        data.days = days;
4140        data.months = months;
4141        data.years = years;
4142
4143        return this;
4144    }
4145
4146    function daysToMonths(days) {
4147        // 400 years have 146097 days (taking into account leap year rules)
4148        // 400 years have 12 months === 4800
4149        return days * 4800 / 146097;
4150    }
4151
4152    function monthsToDays(months) {
4153        // the reverse of daysToMonths
4154        return months * 146097 / 4800;
4155    }
4156
4157    function as(units) {
4158        if (!this.isValid()) {
4159            return NaN;
4160        }
4161        var days;
4162        var months;
4163        var milliseconds = this._milliseconds;
4164
4165        units = normalizeUnits(units);
4166
4167        if (units === 'month' || units === '
vendor: 12,678 bytes, lines 4167-4531
4167year') {
4168            days = this._days + milliseconds / 864e5;
4169            months = this._months + daysToMonths(days);
4170            return units === 'month' ? months : months / 12;
4171        } else {
4172            // handle milliseconds separately because of floating point math errors (issue #1867)
4173            days = this._days + Math.round(monthsToDays(this._months));
4174            switch (units) {
4175                case 'week':
4176                    return days / 7 + milliseconds / 6048e5;
4177                case 'day':
4178                    return days + milliseconds / 864e5;
4179                case 'hour':
4180                    return days * 24 + milliseconds / 36e5;
4181                case 'minute':
4182                    return days * 1440 + milliseconds / 6e4;
4183                case 'second':
4184                    return days * 86400 + milliseconds / 1000;
4185                // Math.floor prevents floating point math errors here
4186                case 'millisecond':
4187                    return Math.floor(days * 864e5) + milliseconds;
4188                default:
4189                    throw new Error('Unknown unit ' + units);
4190            }
4191        }
4192    }
4193
4194    // TODO: Use this.as('ms')?
4195    function valueOf$1() {
4196        if (!this.isValid()) {
4197            return NaN;
4198        }
4199        return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;
4200    }
4201
4202    function makeAs(alias) {
4203        return function () {
4204            return this.as(alias);
4205        };
4206    }
4207
4208    var asMilliseconds = makeAs('ms');
4209    var asSeconds = makeAs('s');
4210    var asMinutes = makeAs('m');
4211    var asHours = makeAs('h');
4212    var asDays = makeAs('d');
4213    var asWeeks = makeAs('w');
4214    var asMonths = makeAs('M');
4215    var asYears = makeAs('y');
4216
4217    function clone$1() {
4218        return createDuration(this);
4219    }
4220
4221    function get$2(units) {
4222        units = normalizeUnits(units);
4223        return this.isValid() ? this[units + 's']() : NaN;
4224    }
4225
4226    function makeGetter(name) {
4227        return function () {
4228            return this.isValid() ? this._data[name] : NaN;
4229        };
4230    }
4231
4232    var milliseconds = makeGetter('milliseconds');
4233    var seconds = makeGetter('seconds');
4234    var minutes = makeGetter('minutes');
4235    var hours = makeGetter('hours');
4236    var days = makeGetter('days');
4237    var months = makeGetter('months');
4238    var years = makeGetter('years');
4239
4240    function weeks() {
4241        return absFloor(this.days() / 7);
4242    }
4243
4244    var round = Math.round;
4245    var thresholds = {
4246        ss: 44, // a few seconds to seconds
4247        s: 45, // seconds to minute
4248        m: 45, // minutes to hour
4249        h: 22, // hours to day
4250        d: 26, // days to month
4251        M: 11 // months to year
4252    };
4253
4254    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
4255    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
4256        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
4257    }
4258
4259    function relativeTime$1(posNegDuration, withoutSuffix, locale) {
4260        var duration = createDuration(posNegDuration).abs();
4261        var seconds = round(duration.as('s'));
4262        var minutes = round(duration.as('m'));
4263        var hours = round(duration.as('h'));
4264        var days = round(duration.as('d'));
4265        var months = round(duration.as('M'));
4266        var years = round(duration.as('y'));
4267
4268        var a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days] || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];
4269
4270        a[2] = withoutSuffix;
4271        a[3] = +posNegDuration > 0;
4272        a[4] = locale;
4273        return substituteTimeAgo.apply(null, a);
4274    }
4275
4276    // This function allows you to set the rounding function for relative time strings
4277    function getSetRelativeTimeRounding(roundingFunction) {
4278        if (roundingFunction === undefined) {
4279            return round;
4280        }
4281        if (typeof roundingFunction === 'function') {
4282            round = roundingFunction;
4283            return true;
4284        }
4285        return false;
4286    }
4287
4288    // This function allows you to set a threshold for relative time strings
4289    function getSetRelativeTimeThreshold(threshold, limit) {
4290        if (thresholds[threshold] === undefined) {
4291            return false;
4292        }
4293        if (limit === undefined) {
4294            return thresholds[threshold];
4295        }
4296        thresholds[threshold] = limit;
4297        if (threshold === 's') {
4298            thresholds.ss = limit - 1;
4299        }
4300        return true;
4301    }
4302
4303    function humanize(withSuffix) {
4304        if (!this.isValid()) {
4305            return this.localeData().invalidDate();
4306        }
4307
4308        var locale = this.localeData();
4309        var output = relativeTime$1(this, !withSuffix, locale);
4310
4311        if (withSuffix) {
4312            output = locale.pastFuture(+this, output);
4313        }
4314
4315        return locale.postformat(output);
4316    }
4317
4318    var abs$1 = Math.abs;
4319
4320    function sign(x) {
4321        return (x > 0) - (x < 0) || +x;
4322    }
4323
4324    function toISOString$1() {
4325        // for ISO strings we do not use the normal bubbling rules:
4326        //  * milliseconds bubble up until they become hours
4327        //  * days do not bubble at all
4328        //  * months bubble up until they become years
4329        // This is because there is no context-free conversion between hours and days
4330        // (think of clock changes)
4331        // and also not between days and months (28-31 days per month)
4332        if (!this.isValid()) {
4333            return this.localeData().invalidDate();
4334        }
4335
4336        var seconds = abs$1(this._milliseconds) / 1000;
4337        var days = abs$1(this._days);
4338        var months = abs$1(this._months);
4339        var minutes, hours, years;
4340
4341        // 3600 seconds -> 60 minutes -> 1 hour
4342        minutes = absFloor(seconds / 60);
4343        hours = absFloor(minutes / 60);
4344        seconds %= 60;
4345        minutes %= 60;
4346
4347        // 12 months -> 1 year
4348        years = absFloor(months / 12);
4349        months %= 12;
4350
4351        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
4352        var Y = years;
4353        var M = months;
4354        var D = days;
4355        var h = hours;
4356        var m = minutes;
4357        var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
4358        var total = this.asSeconds();
4359
4360        if (!total) {
4361            // this is the same as C#'s (Noda) and python (isodate)...
4362            // but not other JS (goog.date)
4363            return 'P0D';
4364        }
4365
4366        var totalSign = total < 0 ? '-' : '';
4367        var ymSign = sign(this._months) !== sign(total) ? '-' : '';
4368        var daysSign = sign(this._days) !== sign(total) ? '-' : '';
4369        var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
4370
4371        return totalSign + 'P' + (Y ? ymSign + Y + 'Y' : '') + (M ? ymSign + M + 'M' : '') + (D ? daysSign + D + 'D' : '') + (h || m || s ? 'T' : '') + (h ? hmsSign + h + 'H' : '') + (m ? hmsSign + m + 'M' : '') + (s ? hmsSign + s + 'S' : '');
4372    }
4373
4374    var proto$2 = Duration.prototype;
4375
4376    proto$2.isValid = isValid$1;
4377    proto$2.abs = abs;
4378    proto$2.add = add$1;
4379    proto$2.subtract = subtract$1;
4380    proto$2.as = as;
4381    proto$2.asMilliseconds = asMilliseconds;
4382    proto$2.asSeconds = asSeconds;
4383    proto$2.asMinutes = asMinutes;
4384    proto$2.asHours = asHours;
4385    proto$2.asDays = asDays;
4386    proto$2.asWeeks = asWeeks;
4387    proto$2.asMonths = asMonths;
4388    proto$2.asYears = asYears;
4389    proto$2.valueOf = valueOf$1;
4390    proto$2._bubble = bubble;
4391    proto$2.clone = clone$1;
4392    proto$2.get = get$2;
4393    proto$2.milliseconds = milliseconds;
4394    proto$2.seconds = seconds;
4395    proto$2.minutes = minutes;
4396    proto$2.hours = hours;
4397    proto$2.days = days;
4398    proto$2.weeks = weeks;
4399    proto$2.months = months;
4400    proto$2.years = years;
4401    proto$2.humanize = humanize;
4402    proto$2.toISOString = toISOString$1;
4403    proto$2.toString = toISOString$1;
4404    proto$2.toJSON = toISOString$1;
4405    proto$2.locale = locale;
4406    proto$2.localeData = localeData;
4407
4408    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
4409    proto$2.lang = lang;
4410
4411    // Side effect imports
4412
4413    // FORMATTING
4414
4415    addFormatToken('X', 0, 0, 'unix');
4416    addFormatToken('x', 0, 0, 'valueOf');
4417
4418    // PARSING
4419
4420    addRegexToken('x', matchSigned);
4421    addRegexToken('X', matchTimestamp);
4422    addParseToken('X', function (input, array, config) {
4423        config._d = new Date(parseFloat(input, 10) * 1000);
4424    });
4425    addParseToken('x', function (input, array, config) {
4426        config._d = new Date(toInt(input));
4427    });
4428
4429    // Side effect imports
4430
4431
4432    hooks.version = '2.22.1';
4433
4434    setHookCallback(createLocal);
4435
4436    hooks.fn = proto;
4437    hooks.min = min;
4438    hooks.max = max;
4439    hooks.now = now;
4440    hooks.utc = createUTC;
4441    hooks.unix = createUnix;
4442    hooks.months = listMonths;
4443    hooks.isDate = isDate;
4444    hooks.locale = getSetGlobalLocale;
4445    hooks.invalid = createInvalid;
4446    hooks.duration = createDuration;
4447    hooks.isMoment = isMoment;
4448    hooks.weekdays = listWeekdays;
4449    hooks.parseZone = createInZone;
4450    hooks.localeData = getLocale;
4451    hooks.isDuration = isDuration;
4452    hooks.monthsShort = listMonthsShort;
4453    hooks.weekdaysMin = listWeekdaysMin;
4454    hooks.defineLocale = defineLocale;
4455    hooks.updateLocale = updateLocale;
4456    hooks.locales = listLocales;
4457    hooks.weekdaysShort = listWeekdaysShort;
4458    hooks.normalizeUnits = normalizeUnits;
4459    hooks.relativeTimeRounding = getSetRelativeTimeRounding;
4460    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
4461    hooks.calendarFormat = getCalendarFormat;
4462    hooks.prototype = proto;
4463
4464    // currently HTML5 input type only supports 24-hour formats
4465    hooks.HTML5_FMT = {
4466        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
4467        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
4468        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
4469        DATE: 'YYYY-MM-DD', // <input type="date" />
4470        TIME: 'HH:mm', // <input type="time" />
4471        TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
4472        TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
4473        WEEK: 'YYYY-[W]WW', // <input type="week" />
4474        MONTH: 'YYYY-MM' // <input type="month" />
4475    };
4476
4477    return hooks;
4478});
4479/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(44)(module)))
4480
4481/***/ }),
4482/* 1 */
4483/***/ (function(module, exports, __webpack_require__) {
4484
4485"use strict";
4486/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
4487
4488var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
4489
4490/*!
4491 * jQuery JavaScript Library v3.2.1
4492 * https://jquery.com/
4493 *
4494 * Includes Sizzle.js
4495 * https://sizzlejs.com/
4496 *
4497 * Copyright JS Foundation and other contributors
4498 * Released under the MIT license
4499 * https://jquery.org/license
4500 *
4501 * Date: 2017-03-20T18:59Z
4502 */
4503(function (global, factory) {
4504
4505	"use strict";
4506
4507	if (( false ? "undefined" : _typeof(module)) === "object" && _typeof(module.exports) === "object") {
4508
4509		// For CommonJS and CommonJS-like environments where a proper `window`
4510		// is present, execute the factory and get jQuery.
4511		// For environments that do not have a `window` with a `document`
4512		// (such as Node.js), expose a factory as module.exports.
4513		// This accentuates the need for the creation of a real `window`.
4514		// e.g. var jQuery = require("jquery")(window);
4515		// See ticket #14549 for more info.
4516		module.exports = global.document ? factory(global, true) : function (w) {
4517			if (!w.document) {
4518				throw new Error("jQuery requires a window with a document");
4519			}
4520			return factory(w);
4521		};
4522	} else {
4523		factory(global);
4524	}
4525
4526	// Pass this if window is not defined yet
4527})(typeof window !== "undefined" ? window : undefined, function (window, noGlobal) {
4528
4529	// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
4530	// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
4531	// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), str
4531ict mode should be common
4532	// enough that all such attempts are guarded in a try block.
4533	"use strict";
4534
4535	var arr = [];
4536
4537	var document = window.document;
4538
4539	var getProto = Object.getPrototypeOf;
4540
4541	var _slice = arr.slice;
4542
4543	var concat = arr.concat;
4544
4545	var push = arr.push;
4546
4547	var indexOf = arr.indexOf;
4548
4549	var class2type = {};
4550
4551	var toString = class2type.toString;
4552
4553	var hasOwn = class2type.hasOwnProperty;
4554
4555	var fnToString = hasOwn.toString;
4556
4557	var ObjectFunctionString = fnToString.call(Object);
4558
4559	var support = {};
4560
4561	function DOMEval(code, doc) {
4562		doc = doc || document;
4563
4564		var script = doc.createElement("script");
4565
4566		script.text = code;
4567		doc.head.appendChild(script).parentNode.removeChild(script);
4568	}
4569	/* global Symbol */
4570	// Defining this global in .eslintrc.json would create a danger of using the global
4571	// unguarded in another place, it seems safer to define global only for this module
4572
4573
4574	var version = "3.2.1",
4575
4576
4577	// Define a local copy of jQuery
4578	jQuery = function jQuery(selector, context) {
4579
4580		// The jQuery object is actually just the init constructor 'enhanced'
4581		// Need init if jQuery is called (just allow error to be thrown if not included)
4582		return new jQuery.fn.init(selector, context);
4583	},
4584
4585
4586	// Support: Android <=4.0 only
4587	// Make sure we trim BOM and NBSP
4588	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
4589
4590
4591	// Matches dashed string for camelizing
4592	rmsPrefix = /^-ms-/,
4593	    rdashAlpha = /-([a-z])/g,
4594
4595
4596	// Used by jQuery.camelCase as callback to replace()
4597	fcamelCase = function fcamelCase(all, letter) {
4598		return letter.toUpperCase();
4599	};
4600
4601	jQuery.fn = jQuery.prototype = {
4602
4603		// The current version of jQuery being used
4604		jquery: version,
4605
4606		constructor: jQuery,
4607
4608		// The default length of a jQuery object is 0
4609		length: 0,
4610
4611		toArray: function toArray() {
4612			return _slice.call(this);
4613		},
4614
4615		// Get the Nth element in the matched element set OR
4616		// Get the whole matched element set as a clean array
4617		get: function get(num) {
4618
4619			// Return all the elements in a clean array
4620			if (num == null) {
4621				return _slice.call(this);
4622			}
4623
4624			// Return just the one element from the set
4625			return num < 0 ? this[num + this.length] : this[num];
4626		},
4627
4628		// Take an array of elements and push it onto the stack
4629		// (returning the new matched element set)
4630		pushStack: function pushStack(elems) {
4631
4632			// Build a new jQuery matched element set
4633			var ret = jQuery.merge(this.constructor(), elems);
4634
4635			// Add the old object onto the stack (as a reference)
4636			ret.prevObject = this;
4637
4638			// Return the newly-formed element set
4639			return ret;
4640		},
4641
4642		// Execute a callback for every element in the matched set.
4643		each: function each(callback) {
4644			return jQuery.each(this, callback);
4645		},
4646
4647		map: function map(callback) {
4648			return this.pushStack(jQuery.map(this, function (elem, i) {
4649				return callback.call(elem, i, elem);
4650			}));
4651		},
4652
4653		slice: function slice() {
4654			return this.pushStack(_slice.apply(this, arguments));
4655		},
4656
4657		first: function first() {
4658			return this.eq(0);
4659		},
4660
4661		last: function last() {
4662			return this.eq(-1);
4663		},
4664
4665		eq: function eq(i) {
4666			var len = this.length,
4667			    j = +i + (i < 0 ? len : 0);
4668			return this.pushStack(j >= 0 && j < len ? [this[j]] : []);
4669		},
4670
4671		end: function end() {
4672			return this.prevObject || this.constructor();
4673		},
4674
4675		// For internal use only.
4676		// Behaves like an Array's method, not like a jQuery method.
4677		push: push,
4678		sort: arr.sort,
4679		splice: arr.splice
4680	};
4681
4682	jQuery.extend = jQuery.fn.extend = function () {
4683		var options,
4684		    name,
4685		    src,
4686		    copy,
4687		    copyIsArray,
4688		    clone,
4689		    target = arguments[0] || {},
4690		    i = 1,
4691		    length = arguments.length,
4692		    deep = false;
4693
4694		// Handle a deep copy situation
4695		if (typeof target === "boolean") {
4696			deep = target;
4697
4698			// Skip the boolean and the target
4699			target = arguments[i] || {};
4700			i++;
4701		}
4702
4703		// Handle case when target is a string or something (possible in deep copy)
4704		if ((typeof target === "undefined" ? "undefined" : _typeof(target)) !== "object" && !jQuery.isFunction(target)) {
4705			target = {};
4706		}
4707
4708		// Extend jQuery itself if only one argument is passed
4709		if (i === length) {
4710			target = this;
4711			i--;
4712		}
4713
4714		for (; i < length; i++) {
4715
4716			// Only deal with non-null/undefined values
4717			if ((options = arguments[i]) != null) {
4718
4719				// Extend the base object
4720				for (name in options) {
4721					src = target[name];
4722					copy = options[name];
4723
4724					// Prevent never-ending loop
4725					if (target === copy) {
4726						continue;
4727					}
4728
4729					// Recurse if we're merging plain objects or arrays
4730					if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {
4731
4732						if (copyIsArray) {
4733							copyIsArray = false;
4734							clone = src && Array.isArray(src) ? src : [];
4735						} else {
4736							clone = src && jQuery.isPlainObject(src) ? src : {};
4737						}
4738
4739						// Never move original objects, clone them
4740						target[name] = jQuery.extend(deep, clone, copy);
4741
4742						// Don't bring in undefined values
4743					} else if (copy !== undefined) {
4744						target[name] = copy;
4745					}
4746				}
4747			}
4748		}
4749
4750		// Return the modified object
4751		return target;
4752	};
4753
4754	jQuery.extend({
4755
4756		// Unique for each copy of jQuery on the page
4757		expando: "jQuery" + (version + Math.random()).replace(/\D/g, ""),
4758
4759		// Assume jQuery is ready without the ready module
4760		isReady: true,
4761
4762		error: function error(msg) {
4763			throw new Error(msg);
4764		},
4765
4766		noop: function noop() {},
4767
4768		isFunction: function isFunction(obj) {
4769			return jQuery.type(obj) === "function";
4770		},
4771
4772		isWindow: function isWindow(obj) {
4773			return obj != null && obj === obj.window;
4774		},
4775
4776		isNumeric: function isNumeric(obj) {
4777
4778			// As of jQuery 3.0, isNumeric is limited to
4779			// strings and numbers (primitives or objects)
4780			// that can be coerced to finite numbers (gh-2662)
4781			var type = jQuery.type(obj);
4782			return (type === "number" || type === "string") &&
4783
4784			// parseFloat NaNs numeric-cast false positives ("")
4785			// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
4786			// subtraction forces infinities to NaN
4787			!isNaN(obj - parseFloat(obj));
4788		},
4789
4790		isPlainObject: function isPlainObject(obj) {
4791			var proto, Ctor;
4792
4793			// Detect obvious negatives
4794			// Use toString instead of jQuery.type to catch host objects
4795			if (!obj || toString.call(obj) !== "[object Object]") {
4796				return false;
4797			}
4798
4799			proto = getProto(obj);
4800
4801			// Objects with no prototype (e.g., `Object.create( null )`) are plain
4802			if (!proto) {
4803				return true;
4804			}
4805
4806			// Objects with prototype are plain iff they were constructed by a global Object function
4807			Ctor = hasOwn.call(proto, "constructor") && proto.constructor;
4808			return typeof Ctor === "function" && fnToString.call(Ctor) === ObjectFunctionString;
4809		},
4810
4811		isEmptyObject: function isEmptyObject(obj) {
4812
4813			/* eslint-disable no-unused-vars */
4814			// See https://github.com/eslint/eslint/issues/6125
4815			var name;
4816
4817			for (name in obj) {
4818				return false;
4819			}
4820			return true;
4821		},
4822
4823		type: function type(obj) {
4824			if (obj == null) {
4825				return obj + "";
4826			}
4827
4828			// Support: Android <=2.3 only (functionish RegExp)
4829			return (typeof obj === "undefined" ? "undefined" : _typeof(obj)) === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
4830		},
4831
4832		// Evaluates a script in a global context
4833		globalEval: function globalEval(code) {
4834			DOMEval(code);
4835		},
4836
4837		// Convert dashed to camelCase; used by the css and data modules
4838		// Support: IE <=9 - 11, Edge 12 - 13
4839		// Microsoft forgot to hump their vendor prefix (#9572)
4840		camelCase: function camelCase(string) {
4841			return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase);
4842		},
4843
4844		each: function each(obj, callback) {
4845			var length,
4846			    i = 0;
4847
4848			if (isArrayLike(obj)) {
4849				length = obj.length;
4850				for (; i < length; i++) {
4851					if (callback.call(obj[i], i, obj[i]) === false) {
4852						break;
4853					}
4854				}
4855			} else {
4856				for (i in obj) {
4857					if (callback.call(obj[i], i, obj[i]) === false) {
4858						break;
4859					}
4860				}
4861			}
4862
4863			return obj;
4864		},
4865
4866		// Support: Android <=4.0 only
4867		trim: function trim(text) {
4868			return text == null ? "" : (text + "").replace(rtrim, "");
4869		},
4870
4871		// results is for internal usage only
4872		makeArray: function makeArray(arr, results) {
4873			var ret = results || [];
4874
4875			if (arr != null) {
4876				if (isArrayLike(Object(arr))) {
4877					jQuery.merge(ret, typeof arr === "string" ? [arr] : arr);
4878				} else {
4879					push.call(ret, arr);
4880				}
4881			}
4882
4883			return ret;
4884		},
4885
4886		inArray: function inArray(elem, arr, i) {
4887			return arr == null ? -1 : indexOf.call(arr, elem, i);
4888		},
4889
4890		// Support: Android <=4.0 only, PhantomJS 1 only
4891		// push.apply(_, arraylike) throws on ancient WebKit
4892		merge: function merge(first, second) {
4893			var len = +second.length,
4894			    j = 0,
4895			    i = first.length;
4896
4897			for (; j < len; j++) {
4898				first[i++] = second[j];
4899			}
4900
4901			first.length = i;
4902
4903			return first;
4904		},
4905
vendor: 5,320 bytes, lines 4906-5115
4906		grep: function grep(elems, callback, invert) {
4907			var callbackInverse,
4908			    matches = [],
4909			    i = 0,
4910			    length = elems.length,
4911			    callbackExpect = !invert;
4912
4913			// Go through the array, only saving the items
4914			// that pass the validator function
4915			for (; i < length; i++) {
4916				callbackInverse = !callback(elems[i], i);
4917				if (callbackInverse !== callbackExpect) {
4918					matches.push(elems[i]);
4919				}
4920			}
4921
4922			return matches;
4923		},
4924
4925		// arg is for internal usage only
4926		map: function map(elems, callback, arg) {
4927			var length,
4928			    value,
4929			    i = 0,
4930			    ret = [];
4931
4932			// Go through the array, translating each of the items to their new values
4933			if (isArrayLike(elems)) {
4934				length = elems.length;
4935				for (; i < length; i++) {
4936					value = callback(elems[i], i, arg);
4937
4938					if (value != null) {
4939						ret.push(value);
4940					}
4941				}
4942
4943				// Go through every key on the object,
4944			} else {
4945				for (i in elems) {
4946					value = callback(elems[i], i, arg);
4947
4948					if (value != null) {
4949						ret.push(value);
4950					}
4951				}
4952			}
4953
4954			// Flatten any nested arrays
4955			return concat.apply([], ret);
4956		},
4957
4958		// A global GUID counter for objects
4959		guid: 1,
4960
4961		// Bind a function to a context, optionally partially applying any
4962		// arguments.
4963		proxy: function proxy(fn, context) {
4964			var tmp, args, proxy;
4965
4966			if (typeof context === "string") {
4967				tmp = fn[context];
4968				context = fn;
4969				fn = tmp;
4970			}
4971
4972			// Quick check to determine if target is callable, in the spec
4973			// this throws a TypeError, but we will just return undefined.
4974			if (!jQuery.isFunction(fn)) {
4975				return undefined;
4976			}
4977
4978			// Simulated bind
4979			args = _slice.call(arguments, 2);
4980			proxy = function proxy() {
4981				return fn.apply(context || this, args.concat(_slice.call(arguments)));
4982			};
4983
4984			// Set the guid of unique handler to the same of original handler, so it can be removed
4985			proxy.guid = fn.guid = fn.guid || jQuery.guid++;
4986
4987			return proxy;
4988		},
4989
4990		now: Date.now,
4991
4992		// jQuery.support is not used in Core but other projects attach their
4993		// properties to it so it needs to exist.
4994		support: support
4995	});
4996
4997	if (typeof Symbol === "function") {
4998		jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];
4999	}
5000
5001	// Populate the class2type map
5002	jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (i, name) {
5003		class2type["[object " + name + "]"] = name.toLowerCase();
5004	});
5005
5006	function isArrayLike(obj) {
5007
5008		// Support: real iOS 8.2 only (not reproducible in simulator)
5009		// `in` check used to prevent JIT error (gh-2145)
5010		// hasOwn isn't used here due to false negatives
5011		// regarding Nodelist length in IE
5012		var length = !!obj && "length" in obj && obj.length,
5013		    type = jQuery.type(obj);
5014
5015		if (type === "function" || jQuery.isWindow(obj)) {
5016			return false;
5017		}
5018
5019		return type === "array" || length === 0 || typeof length === "number" && length > 0 && length - 1 in obj;
5020	}
5021	var Sizzle =
5022	/*!
5023  * Sizzle CSS Selector Engine v2.3.3
5024  * https://sizzlejs.com/
5025  *
5026  * Copyright jQuery Foundation and other contributors
5027  * Released under the MIT license
5028  * http://jquery.org/license
5029  *
5030  * Date: 2016-08-08
5031  */
5032	function (window) {
5033
5034		var i,
5035		    support,
5036		    Expr,
5037		    getText,
5038		    isXML,
5039		    tokenize,
5040		    compile,
5041		    select,
5042		    outermostContext,
5043		    sortInput,
5044		    hasDuplicate,
5045
5046
5047		// Local document vars
5048		setDocument,
5049		    document,
5050		    docElem,
5051		    documentIsHTML,
5052		    rbuggyQSA,
5053		    rbuggyMatches,
5054		    matches,
5055		    contains,
5056
5057
5058		// Instance-specific data
5059		expando = "sizzle" + 1 * new Date(),
5060		    preferredDoc = window.document,
5061		    dirruns = 0,
5062		    done = 0,
5063		    classCache = createCache(),
5064		    tokenCache = createCache(),
5065		    compilerCache = createCache(),
5066		    sortOrder = function sortOrder(a, b) {
5067			if (a === b) {
5068				hasDuplicate = true;
5069			}
5070			return 0;
5071		},
5072
5073
5074		// Instance methods
5075		hasOwn = {}.hasOwnProperty,
5076		    arr = [],
5077		    pop = arr.pop,
5078		    push_native = arr.push,
5079		    push = arr.push,
5080		    slice = arr.slice,
5081
5082		// Use a stripped-down indexOf as it's faster than native
5083		// https://jsperf.com/thor-indexof-vs-for/5
5084		indexOf = function indexOf(list, elem) {
5085			var i = 0,
5086			    len = list.length;
5087			for (; i < len; i++) {
5088				if (list[i] === elem) {
5089					return i;
5090				}
5091			}
5092			return -1;
5093		},
5094		    booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
5095
5096
5097		// Regular expressions
5098
5099		// http://www.w3.org/TR/css3-selectors/#whitespace
5100		whitespace = "[\\x20\\t\\r\\n\\f]",
5101
5102
5103		// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
5104		identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
5105
5106
5107		// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
5108		attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
5109		// Operator (capture 2)
5110		"*([*^$|!~]?=)" + whitespace +
5111		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
5112		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]",
5113		    pseudos = ":(" + identifier + ")(?:\\((" +
5114		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
5115		// 1. quoted (capture 3; capture 4 or capture 5)
vendor: 4,570 bytes, lines 5116-5241
5116		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
5117		// 2. simple (capture 6)
5118		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
5119		// 3. anything else (capture 2)
5120		".*" + ")\\)|)",
5121
5122
5123		// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
5124		rwhitespace = new RegExp(whitespace + "+", "g"),
5125		    rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"),
5126		    rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"),
5127		    rcombinators = new RegExp("^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*"),
5128		    rattributeQuotes = new RegExp("=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g"),
5129		    rpseudo = new RegExp(pseudos),
5130		    ridentifier = new RegExp("^" + identifier + "$"),
5131		    matchExpr = {
5132			"ID": new RegExp("^#(" + identifier + ")"),
5133			"CLASS": new RegExp("^\\.(" + identifier + ")"),
5134			"TAG": new RegExp("^(" + identifier + "|[*])"),
5135			"ATTR": new RegExp("^" + attributes),
5136			"PSEUDO": new RegExp("^" + pseudos),
5137			"CHILD": new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i"),
5138			"bool": new RegExp("^(?:" + booleans + ")$", "i"),
5139			// For use in libraries implementing .is()
5140			// We use this for POS matching in `select`
5141			"needsContext": new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i")
5142		},
5143		    rinputs = /^(?:input|select|textarea|button)$/i,
5144		    rheader = /^h\d$/i,
5145		    rnative = /^[^{]+\{\s*\[native \w/,
5146
5147
5148		// Easily-parseable/retrievable ID or TAG or CLASS selectors
5149		rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
5150		    rsibling = /[+~]/,
5151
5152
5153		// CSS escapes
5154		// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
5155		runescape = new RegExp("\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig"),
5156		    funescape = function funescape(_, escaped, escapedWhitespace) {
5157			var high = "0x" + escaped - 0x10000;
5158			// NaN means non-codepoint
5159			// Support: Firefox<24
5160			// Workaround erroneous numeric interpretation of +"0x"
5161			return high !== high || escapedWhitespace ? escaped : high < 0 ?
5162			// BMP codepoint
5163			String.fromCharCode(high + 0x10000) :
5164			// Supplemental Plane codepoint (surrogate pair)
5165			String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00);
5166		},
5167
5168
5169		// CSS string/identifier serialization
5170		// https://drafts.csswg.org/cssom/#common-serializing-idioms
5171		rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
5172		    fcssescape = function fcssescape(ch, asCodePoint) {
5173			if (asCodePoint) {
5174
5175				// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
5176				if (ch === "\0") {
5177					return "\uFFFD";
5178				}
5179
5180				// Control characters and (dependent upon position) numbers get escaped as code points
5181				return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";
5182			}
5183
5184			// Other potentially-special ASCII characters get backslash-escaped
5185			return "\\" + ch;
5186		},
5187
5188
5189		// Used for iframes
5190		// See setDocument()
5191		// Removing the function wrapper causes a "Permission Denied"
5192		// error in IE
5193		unloadHandler = function unloadHandler() {
5194			setDocument();
5195		},
5196		    disabledAncestor = addCombinator(function (elem) {
5197			return elem.disabled === true && ("form" in elem || "label" in elem);
5198		}, { dir: "parentNode", next: "legend" });
5199
5200		// Optimize for push.apply( _, NodeList )
5201		try {
5202			push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes);
5203			// Support: Android<4.0
5204			// Detect silently failing push.apply
5205			arr[preferredDoc.childNodes.length].nodeType;
5206		} catch (e) {
5207			push = { apply: arr.length ?
5208
5209				// Leverage slice if possible
5210				function (target, els) {
5211					push_native.apply(target, slice.call(els));
5212				} :
5213
5214				// Support: IE<9
5215				// Otherwise append directly
5216				function (target, els) {
5217					var j = target.length,
5218					    i = 0;
5219					// Can't trust NodeList.length
5220					while (target[j++] = els[i++]) {}
5221					target.length = j - 1;
5222				}
5223			};
5224		}
5225
5226		function Sizzle(selector, context, results, seed) {
5227			var m,
5228			    i,
5229			    elem,
5230			    nid,
5231			    match,
5232			    groups,
5233			    newSelector,
5234			    newContext = context && context.ownerDocument,
5235
5236
5237			// nodeType defaults to 9, since context defaults to document
5238			nodeType = context ? context.nodeType : 9;
5239
5240			results = results || [];
5241
5242			// Return early from calls with invalid selector or context
5243			if (typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) {
5244
5245				return results;
5246			}
5247
5248			// Try to shortcut find operations (as opposed to filters) in HTML documents
5249			if (!seed) {
5250
5251				if ((context ? context.ownerDocument || context : preferredDoc) !== document) {
5252					setDocument(context);
5253				}
5254				context = context || document;
5255
5256				if (documentIsHTML) {
5257
5258					// If the selector is sufficiently simple, try using a "get*By*" DOM method
5259					// (excepting DocumentFragment context, where the methods don't exist)
5260					if (nodeType !== 11 && (match = rquickExpr.exec(selector))) {
5261
5262						// ID selector
5263						if (m = match[1]) {
5264
5265							// Document context
5266							if (nodeType === 9) {
5267								if (elem = context.getElementById(m)) {
5268
5269									// Support: IE, Opera, Webkit
5270									// TODO: identify versions
5271									// getElementById can match elements by name instead of ID
5272									if (elem.id === m) {
5273										results.push(elem);
5274										return results;
5275									}
5276								} else {
5277									return results;
5278								}
5279
5280								// Element context
5281							} else {
5282
5283								// Support: IE, Opera, Webkit
5284								// TODO: identify versions
5285								// getElementById can match elements by name instead of ID
5286								if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) {
5287
5288									results.push(elem);
5289									return results;
5290								}
5291							}
5292
5293							// Type selector
5294						} else if (match[2]) {
5295							push.apply(results, context.getElementsByTagName(selector));
5296							return results;
5297
5298							// Class selector
5299						} else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) {
5300
5301							push.apply(results, context.getElementsByClassName(m));
5302							return results;
5303						}
5304					}
5305
5306					// Take advantage of querySelectorAll
5307					if (support.qsa && !compilerCache[selector + " "] && (!rbuggyQSA || !rbuggyQSA.test(selector))) {
5308
5309						if (nodeType !== 1) {
5310							newContext = context;
5311							newSelector = selector;
5312
5313							// qSA looks outside Element context, which is not what we want
5314							// Thanks to Andrew Dupont for this workaround technique
5315							// Support: IE <=8
5316							// Exclude object elements
5317						} else if (context.nodeName.toLowerCase() !== "object") {
5318
5319							// Capture the context ID, setting it first if necessary
5320							if (nid = context.getAttribute("id")) {
5321								nid = nid.replace(rcssescape, fcssescape);
5322							} else {
5323								context.setAttribute("id", nid = expando);
5324							}
5325
5326							// Prefix every selector in the list
5327							groups = tokenize(selector);
5328							i = groups.length;
5329							while (i--) {
5330								groups[i] = "#" + nid + " " + toSelector(groups[i]);
5331							}
5332							newSelector = groups.join(",");
5333
5334							// Expand context for sibling selectors
5335							newContext = rsibling.test(selector) && testContext(context.parentNode) || context;
5336						}
5337
5338						if (newSelector) {
5339							try {
5340								push.apply(results, newContext.querySelectorAll(newSelector));
5341								return results;
5342							} catch (qsaError) {} finally {
5343								if (nid === expando) {
5344									context.removeAttribute("id");
5345								}
5346							}
5347						}
5348					}
5349				}
5350			}
5351
5352			// All others
5353			return select(selector.replace(rtrim, "$1"), context, results, seed);
5354		}
5355
5356		/**
5357   * Create key-value caches of limited size
5358   * @returns {function(string, object)} Returns the Object data after storing it on itself with
5359   *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
5360   *	deleting the oldest entry
5361   */
5362		function createCache() {
5363			var keys = [];
5364
5365			function cache(key, value) {
5366				// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
5367				if (keys.push(key + " ") > Expr.cacheLength) {
5368					// Only keep the most recent entries
5369					delete cache[keys.shift()];
5370				}
5371				return cache[key + " "] = value;
5372			}
5373			return cache;
5374		}
5375
5376		/**
5377   * Mark a function for special use by Sizzle
5378   * @param {Function} fn The function to mark
5379   */
5380		function markFunction(fn) {
5381			fn[expando] = true;
5382			return fn;
5383		}
5384
5385		/**
5386   * Support testing using an element
5387   * @param {Function} fn Passed the created element and returns a boolean result
5388   */
5389		function assert(fn) {
5390			var el = document.createElement("fieldset");
5391
5392			try {
5393				return !!fn(el);
5394			} catch (e) {
5395				return false;
vendor: 11,249 bytes, lines 5396-5754
5396			} finally {
5397				// Remove from its parent by default
5398				if (el.parentNode) {
5399					el.parentNode.removeChild(el);
5400				}
5401				// release memory in IE
5402				el = null;
5403			}
5404		}
5405
5406		/**
5407   * Adds the same handler for all of the specified attrs
5408   * @param {String} attrs Pipe-separated list of attributes
5409   * @param {Function} handler The method that will be applied
5410   */
5411		function addHandle(attrs, handler) {
5412			var arr = attrs.split("|"),
5413			    i = arr.length;
5414
5415			while (i--) {
5416				Expr.attrHandle[arr[i]] = handler;
5417			}
5418		}
5419
5420		/**
5421   * Checks document order of two siblings
5422   * @param {Element} a
5423   * @param {Element} b
5424   * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
5425   */
5426		function siblingCheck(a, b) {
5427			var cur = b && a,
5428			    diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex;
5429
5430			// Use IE sourceIndex if available on both nodes
5431			if (diff) {
5432				return diff;
5433			}
5434
5435			// Check if b follows a
5436			if (cur) {
5437				while (cur = cur.nextSibling) {
5438					if (cur === b) {
5439						return -1;
5440					}
5441				}
5442			}
5443
5444			return a ? 1 : -1;
5445		}
5446
5447		/**
5448   * Returns a function to use in pseudos for input types
5449   * @param {String} type
5450   */
5451		function createInputPseudo(type) {
5452			return function (elem) {
5453				var name = elem.nodeName.toLowerCase();
5454				return name === "input" && elem.type === type;
5455			};
5456		}
5457
5458		/**
5459   * Returns a function to use in pseudos for buttons
5460   * @param {String} type
5461   */
5462		function createButtonPseudo(type) {
5463			return function (elem) {
5464				var name = elem.nodeName.toLowerCase();
5465				return (name === "input" || name === "button") && elem.type === type;
5466			};
5467		}
5468
5469		/**
5470   * Returns a function to use in pseudos for :enabled/:disabled
5471   * @param {Boolean} disabled true for :disabled; false for :enabled
5472   */
5473		function createDisabledPseudo(disabled) {
5474
5475			// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
5476			return function (elem) {
5477
5478				// Only certain elements can match :enabled or :disabled
5479				// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
5480				// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
5481				if ("form" in elem) {
5482
5483					// Check for inherited disabledness on relevant non-disabled elements:
5484					// * listed form-associated elements in a disabled fieldset
5485					//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
5486					//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
5487					// * option elements in a disabled optgroup
5488					//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
5489					// All such elements have a "form" property.
5490					if (elem.parentNode && elem.disabled === false) {
5491
5492						// Option elements defer to a parent optgroup if present
5493						if ("label" in elem) {
5494							if ("label" in elem.parentNode) {
5495								return elem.parentNode.disabled === disabled;
5496							} else {
5497								return elem.disabled === disabled;
5498							}
5499						}
5500
5501						// Support: IE 6 - 11
5502						// Use the isDisabled shortcut property to check for disabled fieldset ancestors
5503						return elem.isDisabled === disabled ||
5504
5505						// Where there is no isDisabled, check manually
5506						/* jshint -W018 */
5507						elem.isDisabled !== !disabled && disabledAncestor(elem) === disabled;
5508					}
5509
5510					return elem.disabled === disabled;
5511
5512					// Try to winnow out elements that can't be disabled before trusting the disabled property.
5513					// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
5514					// even exist on them, let alone have a boolean value.
5515				} else if ("label" in elem) {
5516					return elem.disabled === disabled;
5517				}
5518
5519				// Remaining elements are neither :enabled nor :disabled
5520				return false;
5521			};
5522		}
5523
5524		/**
5525   * Returns a function to use in pseudos for positionals
5526   * @param {Function} fn
5527   */
5528		function createPositionalPseudo(fn) {
5529			return markFunction(function (argument) {
5530				argument = +argument;
5531				return markFunction(function (seed, matches) {
5532					var j,
5533					    matchIndexes = fn([], seed.length, argument),
5534					    i = matchIndexes.length;
5535
5536					// Match elements found at the specified indexes
5537					while (i--) {
5538						if (seed[j = matchIndexes[i]]) {
5539							seed[j] = !(matches[j] = seed[j]);
5540						}
5541					}
5542				});
5543			});
5544		}
5545
5546		/**
5547   * Checks a node for validity as a Sizzle context
5548   * @param {Element|Object=} context
5549   * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
5550   */
5551		function testContext(context) {
5552			return context && typeof context.getElementsByTagName !== "undefined" && context;
5553		}
5554
5555		// Expose support vars for convenience
5556		support = Sizzle.support = {};
5557
5558		/**
5559   * Detects XML nodes
5560   * @param {Element|Object} elem An element or a document
5561   * @returns {Boolean} True iff elem is a non-HTML XML node
5562   */
5563		isXML = Sizzle.isXML = function (elem) {
5564			// documentElement is verified for cases where it doesn't yet exist
5565			// (such as loading iframes in IE - #4833)
5566			var documentElement = elem && (elem.ownerDocument || elem).documentElement;
5567			return documentElement ? documentElement.nodeName !== "HTML" : false;
5568		};
5569
5570		/**
5571   * Sets document-related variables once based on the current document
5572   * @param {Element|Object} [doc] An element or document object to use to set the document
5573   * @returns {Object} Returns the current document
5574   */
5575		setDocument = Sizzle.setDocument = function (node) {
5576			var hasCompare,
5577			    subWindow,
5578			    doc = node ? node.ownerDocument || node : preferredDoc;
5579
5580			// Return early if doc is invalid or already selected
5581			if (doc === document || doc.nodeType !== 9 || !doc.documentElement) {
5582				return document;
5583			}
5584
5585			// Update global variables
5586			document = doc;
5587			docElem = document.documentElement;
5588			documentIsHTML = !isXML(document);
5589
5590			// Support: IE 9-11, Edge
5591			// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
5592			if (preferredDoc !== document && (subWindow = document.defaultView) && subWindow.top !== subWindow) {
5593
5594				// Support: IE 11, Edge
5595				if (subWindow.addEventListener) {
5596					subWindow.addEventListener("unload", unloadHandler, false);
5597
5598					// Support: IE 9 - 10 only
5599				} else if (subWindow.attachEvent) {
5600					subWindow.attachEvent("onunload", unloadHandler);
5601				}
5602			}
5603
5604			/* Attributes
5605   ---------------------------------------------------------------------- */
5606
5607			// Support: IE<8
5608			// Verify that getAttribute really returns attributes and not properties
5609			// (excepting IE8 booleans)
5610			support.attributes = assert(function (el) {
5611				el.className = "i";
5612				return !el.getAttribute("className");
5613			});
5614
5615			/* getElement(s)By*
5616   ---------------------------------------------------------------------- */
5617
5618			// Check if getElementsByTagName("*") returns only elements
5619			support.getElementsByTagName = assert(function (el) {
5620				el.appendChild(document.createComment(""));
5621				return !el.getElementsByTagName("*").length;
5622			});
5623
5624			// Support: IE<9
5625			support.getElementsByClassName = rnative.test(document.getElementsByClassName);
5626
5627			// Support: IE<10
5628			// Check if getElementById returns elements by name
5629			// The broken getElementById methods don't pick up programmatically-set names,
5630			// so use a roundabout getElementsByName test
5631			support.getById = assert(function (el) {
5632				docElem.appendChild(el).id = expando;
5633				return !document.getElementsByName || !document.getElementsByName(expando).length;
5634			});
5635
5636			// ID filter and find
5637			if (support.getById) {
5638				Expr.filter["ID"] = function (id) {
5639					var attrId = id.replace(runescape, funescape);
5640					return function (elem) {
5641						return elem.getAttribute("id") === attrId;
5642					};
5643				};
5644				Expr.find["ID"] = function (id, context) {
5645					if (typeof context.getElementById !== "undefined" && documentIsHTML) {
5646						var elem = context.getElementById(id);
5647						return elem ? [elem] : [];
5648					}
5649				};
5650			} else {
5651				Expr.filter["ID"] = function (id) {
5652					var attrId = id.replace(runescape, funescape);
5653					return function (elem) {
5654						var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
5655						return node && node.value === attrId;
5656					};
5657				};
5658
5659				// Support: IE 6 - 7 only
5660				// getElementById is not reliable as a find shortcut
5661				Expr.find["ID"] = function (id, context) {
5662					if (typeof context.getElementById !== "undefined" && documentIsHTML) {
5663						var node,
5664						    i,
5665						    elems,
5666						    elem = context.getElementById(id);
5667
5668						if (elem) {
5669
5670							// Verify the id attribute
5671							node = elem.getAttributeNode("id");
5672							if (node && node.value === id) {
5673								return [elem];
5674							}
5675
5676							// Fall back on getElementsByName
5677							elems = context.getElementsByName(id);
5678							i = 0;
5679							while (elem = elems[i++]) {
5680								node = elem.getAttributeNode("id");
5681								if (node && node.value === id) {
5682									return [elem];
5683								}
5684							}
5685						}
5686
5687						return [];
5688					}
5689				};
5690			}
5691
5692			// Tag
5693			Expr.find["TAG"] = support.getElementsByTagName ? function (tag, context) {
5694				if (typeof context.getElementsByTagName !== "undefined") {
5695					return context.getElementsByTagName(tag);
5696
5697					// DocumentFragment nodes don't have gEBTN
5698				} else if (support.qsa) {
5699					return context.querySelectorAll(tag);
5700				}
5701			} : function (tag, context) {
5702				var elem,
5703				    tmp = [],
5704				    i = 0,
5705
5706				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
5707				results = context.getElementsByTagName(tag);
5708
5709				// Filter out possible comments
5710				if (tag === "*") {
5711					while (elem = results[i++]) {
5712						if (elem.nodeType === 1) {
5713							tmp.push(elem);
5714						}
5715					}
5716
5717					return tmp;
5718				}
5719				return results;
5720			};
5721
5722			// Class
5723			Expr.find["CLASS"] = support.getElementsByClassName && function (className, context) {
5724				if (typeof context.getElementsByClassName !== "undefined" && documentIsHTML) {
5725					return context.getElementsByClassName(className);
5726				}
5727			};
5728
5729			/* QSA/matchesSelector
5730   ---------------------------------------------------------------------- */
5731
5732			// QSA and matchesSelector support
5733
5734			// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
5735			rbuggyMatches = [];
5736
5737			// qSa(:focus) reports false when true (Chrome 21)
5738			// We allow this because of a bug in IE8/9 that throws an error
5739			// whenever `document.activeElement` is accessed on an iframe
5740			// So, we allow :focus to pass through QSA all the time to avoid the IE error
5741			// See https://bugs.jquery.com/ticket/13378
5742			rbuggyQSA = [];
5743
5744			if (support.qsa = rnative.test(document.querySelectorAll)) {
5745				// Build QSA regex
5746				// Regex strategy adopted from Diego Perini
5747				assert(function (el) {
5748					// Select is set to empty string on purpose
5749					// This is to test IE's treatment of not explicitly
5750					// setting a boolean content attribute,
5751					// since its presence should be enough
5752					// https://bugs.jquery.com/ticket/12359
5753					docElem.appendChild(el).innerHTML = "<a id='" + expando + "'></a>" + "<select id='" + expando + "-\r\\' msallowcapture=''>" + "<option selected=''></option></select>";
5754
vendor: 21,762 bytes, lines 5755-6433
5755					// Support: IE8, Opera 11-12.16
5756					// Nothing should be selected when empty strings follow ^= or $= or *=
5757					// The test attribute must be unknown in Opera but "safe" for WinRT
5758					// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
5759					if (el.querySelectorAll("[msallowcapture^='']").length) {
5760						rbuggyQSA.push("[*^$]=" + whitespace + "*(?:''|\"\")");
5761					}
5762
5763					// Support: IE8
5764					// Boolean attributes and "value" are not treated correctly
5765					if (!el.querySelectorAll("[selected]").length) {
5766						rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")");
5767					}
5768
5769					// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
5770					if (!el.querySelectorAll("[id~=" + expando + "-]").length) {
5771						rbuggyQSA.push("~=");
5772					}
5773
5774					// Webkit/Opera - :checked should return selected option elements
5775					// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
5776					// IE8 throws error here and will not see later tests
5777					if (!el.querySelectorAll(":checked").length) {
5778						rbuggyQSA.push(":checked");
5779					}
5780
5781					// Support: Safari 8+, iOS 8+
5782					// https://bugs.webkit.org/show_bug.cgi?id=136851
5783					// In-page `selector#id sibling-combinator selector` fails
5784					if (!el.querySelectorAll("a#" + expando + "+*").length) {
5785						rbuggyQSA.push(".#.+[+~]");
5786					}
5787				});
5788
5789				assert(function (el) {
5790					el.innerHTML = "<a href='' disabled='disabled'></a>" + "<select disabled='disabled'><option/></select>";
5791
5792					// Support: Windows 8 Native Apps
5793					// The type and name attributes are restricted during .innerHTML assignment
5794					var input = document.createElement("input");
5795					input.setAttribute("type", "hidden");
5796					el.appendChild(input).setAttribute("name", "D");
5797
5798					// Support: IE8
5799					// Enforce case-sensitivity of name attribute
5800					if (el.querySelectorAll("[name=d]").length) {
5801						rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?=");
5802					}
5803
5804					// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
5805					// IE8 throws error here and will not see later tests
5806					if (el.querySelectorAll(":enabled").length !== 2) {
5807						rbuggyQSA.push(":enabled", ":disabled");
5808					}
5809
5810					// Support: IE9-11+
5811					// IE's :disabled selector does not pick up the children of disabled fieldsets
5812					docElem.appendChild(el).disabled = true;
5813					if (el.querySelectorAll(":disabled").length !== 2) {
5814						rbuggyQSA.push(":enabled", ":disabled");
5815					}
5816
5817					// Opera 10-11 does not throw on post-comma invalid pseudos
5818					el.querySelectorAll("*,:x");
5819					rbuggyQSA.push(",.*:");
5820				});
5821			}
5822
5823			if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) {
5824
5825				assert(function (el) {
5826					// Check to see if it's possible to do matchesSelector
5827					// on a disconnected node (IE 9)
5828					support.disconnectedMatch = matches.call(el, "*");
5829
5830					// This should fail with an exception
5831					// Gecko does not error, returns false instead
5832					matches.call(el, "[s!='']:x");
5833					rbuggyMatches.push("!=", pseudos);
5834				});
5835			}
5836
5837			rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|"));
5838			rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|"));
5839
5840			/* Contains
5841   ---------------------------------------------------------------------- */
5842			hasCompare = rnative.test(docElem.compareDocumentPosition);
5843
5844			// Element contains another
5845			// Purposefully self-exclusive
5846			// As in, an element does not contain itself
5847			contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) {
5848				var adown = a.nodeType === 9 ? a.documentElement : a,
5849				    bup = b && b.parentNode;
5850				return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));
5851			} : function (a, b) {
5852				if (b) {
5853					while (b = b.parentNode) {
5854						if (b === a) {
5855							return true;
5856						}
5857					}
5858				}
5859				return false;
5860			};
5861
5862			/* Sorting
5863   ---------------------------------------------------------------------- */
5864
5865			// Document order sorting
5866			sortOrder = hasCompare ? function (a, b) {
5867
5868				// Flag for duplicate removal
5869				if (a === b) {
5870					hasDuplicate = true;
5871					return 0;
5872				}
5873
5874				// Sort on method existence if only one input has compareDocumentPosition
5875				var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
5876				if (compare) {
5877					return compare;
5878				}
5879
5880				// Calculate position if both inputs belong to the same document
5881				compare = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) :
5882
5883				// Otherwise we know they are disconnected
5884				1;
5885
5886				// Disconnected nodes
5887				if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {
5888
5889					// Choose the first element that is related to our preferred document
5890					if (a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a)) {
5891						return -1;
5892					}
5893					if (b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b)) {
5894						return 1;
5895					}
5896
5897					// Maintain original order
5898					return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0;
5899				}
5900
5901				return compare & 4 ? -1 : 1;
5902			} : function (a, b) {
5903				// Exit early if the nodes are identical
5904				if (a === b) {
5905					hasDuplicate = true;
5906					return 0;
5907				}
5908
5909				var cur,
5910				    i = 0,
5911				    aup = a.parentNode,
5912				    bup = b.parentNode,
5913				    ap = [a],
5914				    bp = [b];
5915
5916				// Parentless nodes are either documents or disconnected
5917				if (!aup || !bup) {
5918					return a === document ? -1 : b === document ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0;
5919
5920					// If the nodes are siblings, we can do a quick check
5921				} else if (aup === bup) {
5922					return siblingCheck(a, b);
5923				}
5924
5925				// Otherwise we need full lists of their ancestors for comparison
5926				cur = a;
5927				while (cur = cur.parentNode) {
5928					ap.unshift(cur);
5929				}
5930				cur = b;
5931				while (cur = cur.parentNode) {
5932					bp.unshift(cur);
5933				}
5934
5935				// Walk down the tree looking for a discrepancy
5936				while (ap[i] === bp[i]) {
5937					i++;
5938				}
5939
5940				return i ?
5941				// Do a sibling check if the nodes have a common ancestor
5942				siblingCheck(ap[i], bp[i]) :
5943
5944				// Otherwise nodes in our document sort first
5945				ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0;
5946			};
5947
5948			return document;
5949		};
5950
5951		Sizzle.matches = function (expr, elements) {
5952			return Sizzle(expr, null, null, elements);
5953		};
5954
5955		Sizzle.matchesSelector = function (elem, expr) {
5956			// Set document vars if needed
5957			if ((elem.ownerDocument || elem) !== document) {
5958				setDocument(elem);
5959			}
5960
5961			// Make sure that attribute selectors are quoted
5962			expr = expr.replace(rattributeQuotes, "='$1']");
5963
5964			if (support.matchesSelector && documentIsHTML && !compilerCache[expr + " "] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) {
5965
5966				try {
5967					var ret = matches.call(elem, expr);
5968
5969					// IE 9's matchesSelector returns false on disconnected nodes
5970					if (ret || support.disconnectedMatch ||
5971					// As well, disconnected nodes are said to be in a document
5972					// fragment in IE 9
5973					elem.document && elem.document.nodeType !== 11) {
5974						return ret;
5975					}
5976				} catch (e) {}
5977			}
5978
5979			return Sizzle(expr, document, null, [elem]).length > 0;
5980		};
5981
5982		Sizzle.contains = function (context, elem) {
5983			// Set document vars if needed
5984			if ((context.ownerDocument || context) !== document) {
5985				setDocument(context);
5986			}
5987			return contains(context, elem);
5988		};
5989
5990		Sizzle.attr = function (elem, name) {
5991			// Set document vars if needed
5992			if ((elem.ownerDocument || elem) !== document) {
5993				setDocument(elem);
5994			}
5995
5996			var fn = Expr.attrHandle[name.toLowerCase()],
5997
5998			// Don't get fooled by Object.prototype properties (jQuery #13807)
5999			val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;
6000
6001			return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;
6002		};
6003
6004		Sizzle.escape = function (sel) {
6005			return (sel + "").replace(rcssescape, fcssescape);
6006		};
6007
6008		Sizzle.error = function (msg) {
6009			throw new Error("Syntax error, unrecognized expression: " + msg);
6010		};
6011
6012		/**
6013   * Document sorting and removing duplicates
6014   * @param {ArrayLike} results
6015   */
6016		Sizzle.uniqueSort = function (results) {
6017			var elem,
6018			    duplicates = [],
6019			    j = 0,
6020			    i = 0;
6021
6022			// Unless we *know* we can detect duplicates, assume their presence
6023			hasDuplicate = !support.detectDuplicates;
6024			sortInput = !support.sortStable && results.slice(0);
6025			results.sort(sortOrder);
6026
6027			if (hasDuplicate) {
6028				while (elem = results[i++]) {
6029					if (elem === results[i]) {
6030						j = duplicates.push(i);
6031					}
6032				}
6033				while (j--) {
6034					results.splice(duplicates[j], 1);
6035				}
6036			}
6037
6038			// Clear input after sorting to release objects
6039			// See https://github.com/jquery/sizzle/pull/225
6040			sortInput = null;
6041
6042			return results;
6043		};
6044
6045		/**
6046   * Utility function for retrieving the text value of an array of DOM nodes
6047   * @param {Array|Element} elem
6048   */
6049		getText = Sizzle.getText = function (elem) {
6050			var node,
6051			    ret = "",
6052			    i = 0,
6053			    nodeType = elem.nodeType;
6054
6055			if (!nodeType) {
6056				// If no nodeType, this is expected to be an array
6057				while (node = elem[i++]) {
6058					// Do not traverse comment nodes
6059					ret += getText(node);
6060				}
6061			} else if (nodeType === 1 || nodeType === 9 || nodeType === 11) {
6062				// Use textContent for elements
6063				// innerText usage removed for consistency of new lines (jQuery #11153)
6064				if (typeof elem.textContent === "string") {
6065					return elem.textContent;
6066				} else {
6067					// Traverse its children
6068					for (elem = elem.firstChild; elem; elem = elem.nextSibling) {
6069						ret += getText(elem);
6070					}
6071				}
6072			} else if (nodeType === 3 || nodeType === 4) {
6073				return elem.nodeValue;
6074			}
6075			// Do not include comment or processing instruction nodes
6076
6077			return ret;
6078		};
6079
6080		Expr = Sizzle.selectors = {
6081
6082			// Can be adjusted by the user
6083			cacheLength: 50,
6084
6085			createPseudo: markFunction,
6086
6087			match: matchExpr,
6088
6089			attrHandle: {},
6090
6091			find: {},
6092
6093			relative: {
6094				">": { dir: "parentNode", first: true },
6095				" ": { dir: "parentNode" },
6096				"+": { dir: "previousSibling", first: true },
6097				"~": { dir: "previousSibling" }
6098			},
6099
6100			preFilter: {
6101				"ATTR": function ATTR(match) {
6102					match[1] = match[1].replace(runescape, funescape);
6103
6104					// Move the given value to match[3] whether quoted or unquoted
6105					match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape);
6106
6107					if (match[2] === "~=") {
6108						match[3] = " " + match[3] + " ";
6109					}
6110
6111					return match.slice(0, 4);
6112				},
6113
6114				"CHILD": function CHILD(match) {
6115					/* matches from matchExpr["CHILD"]
6116     	1 type (only|nth|...)
6117     	2 what (child|of-type)
6118     	3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
6119     	4 xn-component of xn+y argument ([+-]?\d*n|)
6120     	5 sign of xn-component
6121     	6 x of xn-component
6122     	7 sign of y-component
6123     	8 y of y-component
6124     */
6125					match[1] = match[1].toLowerCase();
6126
6127					if (match[1].slice(0, 3) === "nth") {
6128						// nth-* requires argument
6129						if (!match[3]) {
6130							Sizzle.error(match[0]);
6131						}
6132
6133						// numeric x and y parameters for Expr.filter.CHILD
6134						// remember that false/true cast respectively to 0/1
6135						match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === "even" || match[3] === "odd"));
6136						match[5] = +(match[7] + match[8] || match[3] === "odd");
6137
6138						// other types prohibit arguments
6139					} else if (match[3]) {
6140						Sizzle.error(match[0]);
6141					}
6142
6143					return match;
6144				},
6145
6146				"PSEUDO": function PSEUDO(match) {
6147					var excess,
6148					    unquoted = !match[6] && match[2];
6149
6150					if (matchExpr["CHILD"].test(match[0])) {
6151						return null;
6152					}
6153
6154					// Accept quoted arguments as-is
6155					if (match[3]) {
6156						match[2] = match[4] || match[5] || "";
6157
6158						// Strip excess characters from unquoted arguments
6159					} else if (unquoted && rpseudo.test(unquoted) && (
6160					// Get excess from tokenize (recursively)
6161					excess = tokenize(unquoted, true)) && (
6162					// advance to the next closing parenthesis
6163					excess = unquoted.indexOf(")", unquoted.length - excess) - unquoted.length)) {
6164
6165						// excess is a negative index
6166						match[0] = match[0].slice(0, excess);
6167						match[2] = unquoted.slice(0, excess);
6168					}
6169
6170					// Return only captures needed by the pseudo filter method (type and argument)
6171					return match.slice(0, 3);
6172				}
6173			},
6174
6175			filter: {
6176
6177				"TAG": function TAG(nodeNameSelector) {
6178					var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();
6179					return nodeNameSelector === "*" ? function () {
6180						return true;
6181					} : function (elem) {
6182						return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
6183					};
6184				},
6185
6186				"CLASS": function CLASS(className) {
6187					var pattern = classCache[className + " "];
6188
6189					return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function (elem) {
6190						return pattern.test(typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "");
6191					});
6192				},
6193
6194				"ATTR": function ATTR(name, operator, check) {
6195					return function (elem) {
6196						var result = Sizzle.attr(elem, name);
6197
6198						if (result == null) {
6199							return operator === "!=";
6200						}
6201						if (!operator) {
6202							return true;
6203						}
6204
6205						result += "";
6206
6207						return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf(check) === 0 : operator === "*=" ? check && result.indexOf(check) > -1 : operator === "$=" ? check && result.slice(-check.length) === check : operator === "~=" ? (" " + result.replace(rwhitespace, " ") + " ").indexOf(check) > -1 : operator === "|=" ? result === check || result.slice(0, check.length + 1) === check + "-" : false;
6208					};
6209				},
6210
6211				"CHILD": function CHILD(type, what, argument, first, last) {
6212					var simple = type.slice(0, 3) !== "nth",
6213					    forward = type.slice(-4) !== "last",
6214					    ofType = what === "of-type";
6215
6216					return first === 1 && last === 0 ?
6217
6218					// Shortcut for :nth-*(n)
6219					function (elem) {
6220						return !!elem.parentNode;
6221					} : function (elem, context, xml) {
6222						var cache,
6223						    uniqueCache,
6224						    outerCache,
6225						    node,
6226						    nodeIndex,
6227						    start,
6228						    dir = simple !== forward ? "nextSibling" : "previousSibling",
6229						    parent = elem.parentNode,
6230						    name = ofType && elem.nodeName.toLowerCase(),
6231						    useCache = !xml && !ofType,
6232						    diff = false;
6233
6234						if (parent) {
6235
6236							// :(first|last|only)-(child|of-type)
6237							if (simple) {
6238								while (dir) {
6239									node = elem;
6240									while (node = node[dir]) {
6241										if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) {
6242
6243											return false;
6244										}
6245									}
6246									// Reverse direction for :only-* (if we haven't yet done so)
6247									start = dir = type === "only" && !start && "nextSibling";
6248								}
6249								return true;
6250							}
6251
6252							start = [forward ? parent.firstChild : parent.lastChild];
6253
6254							// non-xml :nth-child(...) stores cache data on `parent`
6255							if (forward && useCache) {
6256
6257								// Seek `elem` from a previously-cached index
6258
6259								// ...in a gzip-friendly way
6260								node = parent;
6261								outerCache = node[expando] || (node[expando] = {});
6262
6263								// Support: IE <9 only
6264								// Defend against cloned attroperties (jQuery gh-1709)
6265								uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});
6266
6267								cache = uniqueCache[type] || [];
6268								nodeIndex = cache[0] === dirruns && cache[1];
6269								diff = nodeIndex && cache[2];
6270								node = nodeIndex && parent.childNodes[nodeIndex];
6271
6272								while (node = ++nodeIndex && node && node[dir] || (
6273
6274								// Fallback to seeking `elem` from the start
6275								diff = nodeIndex = 0) || start.pop()) {
6276
6277									// When found, cache indexes on `parent` and break
6278									if (node.nodeType === 1 && ++diff && node === elem) {
6279										uniqueCache[type] = [dirruns, nodeIndex, diff];
6280										break;
6281									}
6282								}
6283							} else {
6284								// Use previously-cached element index if available
6285								if (useCache) {
6286									// ...in a gzip-friendly way
6287									node = elem;
6288									outerCache = node[expando] || (node[expando] = {});
6289
6290									// Support: IE <9 only
6291									// Defend against cloned attroperties (jQuery gh-1709)
6292									uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});
6293
6294									cache = uniqueCache[type] || [];
6295									nodeIndex = cache[0] === dirruns && cache[1];
6296									diff = nodeIndex;
6297								}
6298
6299								// xml :nth-child(...)
6300								// or :nth-last-child(...) or :nth(-last)?-of-type(...)
6301								if (diff === false) {
6302									// Use the same loop as above to seek `elem` from the start
6303									while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {
6304
6305										if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) {
6306
6307											// Cache the index of each encountered element
6308											if (useCache) {
6309												outerCache = node[expando] || (node[expando] = {});
6310
6311												// Support: IE <9 only
6312												// Defend against cloned attroperties (jQuery gh-1709)
6313												uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});
6314
6315												uniqueCache[type] = [dirruns, diff];
6316											}
6317
6318											if (node === elem) {
6319												break;
6320											}
6321										}
6322									}
6323								}
6324							}
6325
6326							// Incorporate the offset, then check against cycle size
6327							diff -= last;
6328							return diff === first || diff % first === 0 && diff / first >= 0;
6329						}
6330					};
6331				},
6332
6333				"PSEUDO": function PSEUDO(pseudo, argument) {
6334					// pseudo-class names are case-insensitive
6335					// http://www.w3.org/TR/selectors/#pseudo-classes
6336					// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
6337					// Remember that setFilters inherits from pseudos
6338					var args,
6339					    fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error("unsupported pseudo: " + pseudo);
6340
6341					// The user may use createPseudo to indicate that
6342					// arguments are needed to create the filter function
6343					// just as Sizzle does
6344					if (fn[expando]) {
6345						return fn(argument);
6346					}
6347
6348					// But maintain support for old signatures
6349					if (fn.length > 1) {
6350						args = [pseudo, pseudo, "", argument];
6351						return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {
6352							var idx,
6353							    matched = fn(seed, argument),
6354							    i = matched.length;
6355							while (i--) {
6356								idx = indexOf(seed, matched[i]);
6357								seed[idx] = !(matches[idx] = matched[i]);
6358							}
6359						}) : function (elem) {
6360							return fn(elem, 0, args);
6361						};
6362					}
6363
6364					return fn;
6365				}
6366			},
6367
6368			pseudos: {
6369				// Potentially complex pseudos
6370				"not": markFunction(function (selector) {
6371					// Trim the selector passed to compile
6372					// to avoid treating leading and trailing
6373					// spaces as combinators
6374					var input = [],
6375					    results = [],
6376					    matcher = compile(selector.replace(rtrim, "$1"));
6377
6378					return matcher[expando] ? markFunction(function (seed, matches, context, xml) {
6379						var elem,
6380						    unmatched = matcher(seed, null, xml, []),
6381						    i = seed.length;
6382
6383						// Match elements unmatched by `matcher`
6384						while (i--) {
6385							if (elem = unmatched[i]) {
6386								seed[i] = !(matches[i] = elem);
6387							}
6388						}
6389					}) : function (elem, context, xml) {
6390						input[0] = elem;
6391						matcher(input, null, xml, results);
6392						// Don't keep the element (issue #299)
6393						input[0] = null;
6394						return !results.pop();
6395					};
6396				}),
6397
6398				"has": markFunction(function (selector) {
6399					return function (elem) {
6400						return Sizzle(selector, elem).length > 0;
6401					};
6402				}),
6403
6404				"contains": markFunction(function (text) {
6405					text = text.replace(runescape, funescape);
6406					return function (elem) {
6407						return (elem.textContent || elem.innerText || getText(elem)).indexOf(text) > -1;
6408					};
6409				}),
6410
6411				// "Whether an element is represented by a :lang() selector
6412				// is based solely on the element's language value
6413				// being equal to the identifier C,
6414				// or beginning with the identifier C immediately followed by "-".
6415				// The matching of C against the element's language value is performed case-insensitively.
6416				// The identifier C does not have to be a valid language name."
6417				// http://www.w3.org/TR/selectors/#lang-pseudo
6418				"lang": markFunction(function (lang) {
6419					// lang value must be a valid identifier
6420					if (!ridentifier.test(lang || "")) {
6421						Sizzle.error("unsupported lang: " + lang);
6422					}
6423					lang = lang.replace(runescape, funescape).toLowerCase();
6424					return function (elem) {
6425						var elemLang;
6426						do {
6427							if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) {
6428
6429								elemLang = elemLang.toLowerCase();
6430								return elemLang === lang || elemLang.indexOf(lang + "-") === 0;
6431							}
6432						} while ((elem = elem.parentNode) && elem.nodeType === 1);
6433						return false;
6434					};
6435				}),
6436
6437				// Miscellaneous
6438				"target": function target(elem) {
6439					var hash = window.location && window.location.hash;
6440					return hash && hash.slice(1) === elem.id;
6441				},
6442
6443				"root": function root(elem) {
6444					return elem === docElem;
6445				},
6446
6447				"focus": function focus(elem) {
6448					return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
6449				},
6450
6451				// Boolean properties
6452				"enabled": createDisabledPseudo(false),
6453				"disabled": createDisabledPseudo(true),
6454
6455				"checked": function checked(elem) {
6456					// In CSS3, :checked should return both checked and selected elements
6457					// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
6458					var nodeName = elem.nodeName.toLowerCase();
6459					return nodeName === "input" && !!elem.checked || nodeName === "option" && !!elem.selected;
6460				},
6461
6462				"selected": function selected(elem) {
6463					// Accessing this property makes selected-by-default
6464					// options in Safari work properly
6465					if (elem.parentNode) {
6466						elem.parentNode.selectedIndex;
6467					}
6468
6469					return elem.selected === true;
6470				},
6471
6472				// Contents
6473				"empty": function empty(elem) {
6474					// http://www.w3.org/TR/selectors/#empty-pseudo
6475					// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
6476					//   but not by others (comment: 8; processing instruction: 7; etc.)
6477					// nodeType < 6 works because attributes (2) do not appear as children
6478					for (elem = elem.firstChild; elem; elem = elem.nextSibling) {
6479						if (elem.nodeType < 6) {
6480							return false;
6481						}
6482					}
6483					return true;
6484				},
6485
6486				"parent": function parent(elem) {
6487					return !Expr.pseudos["empty"](elem);
6488				},
6489
6490				// Element/input types
6491				"header": function header(elem) {
6492					return rheader.test(elem.nodeName);
6493				},
6494
6495				"input": function input(elem) {
6496					return rinputs.test(elem.nodeName);
6497				},
6498
6499				"button": function button(elem) {
6500					var name = elem.nodeName.toLowerCase();
6501					return name === "input" && elem.type === "button" || name === "button";
6502				},
6503
6504				"text": function text(elem) {
6505					var attr;
6506					return elem.nodeName.toLowerCase() === "input" && elem.type === "text" && (
6507
6508					// Support: IE<8
6509					// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
6510					(attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text");
6511				},
6512
6513				// Position-in-collection
6514				"first": createPositionalPseudo(function () {
6515					return [0];
6516				}),
6517
6518				"last": createPositionalPseudo(function (matchIndexes, length) {
6519					return [length - 1];
6520				}),
6521
6522				"eq": createPositionalPseudo(function (matchIndexes, length, argument) {
6523					return [argument < 0 ? argument + length : argument];
6524				}),
6525
6526				"even": createPositionalPseudo(function (matchIndexes, length) {
6527					var i = 0;
6528					for (; i < length; i += 2) {
6529						matchIndexes.push(i);
6530					}
6531					return matchIndexes;
6532				}),
6533
6534				"odd": createPositionalPseudo(function (matchIndexes, length) {
6535					var i = 1;
6536					for (; i < length; i += 2) {
6537						matchIndexes.push(i);
6538					}
6539					return matchIndexes;
6540				}),
6541
6542				"lt": createPositionalPseudo(function (matchIndexes, length, argument) {
6543					var i = argument < 0 ? argument + length : argument;
6544					for (; --i >= 0;) {
6545						matchIndexes.push(i);
6546					}
6547					return matchIndexes;
6548				}),
6549
6550				"gt": createPositionalPseudo(function (matchIndexes, length, argument) {
6551					var i = argument < 0 ? argument + length : argument;
6552					for (; ++i < length;) {
6553						matchIndexes.push(i);
6554					}
6555					return matchIndexes;
6556				})
6557			}
6558		};
6559
6560		Expr.pseudos["nth"] = Expr.pseudos["eq"];
6561
6562		// Add button/input type pseudos
6563		for (i in { radio: true, checkbox: true, file: true, password: true, image: true }) {
6564			Expr.pseudos[i] = createInputPseudo(i);
6565		}
6566		for (i in { submit: true, reset: true }) {
6567			Expr.pseudos[i] = createButtonPseudo(i);
6568		}
6569
6570		// Easy API for creating new setFilters
6571		function setFilters() {}
6572		setFilters.prototype = Expr.filters = Expr.pseudos;
6573		Expr.setFilters = new setFilters();
6574
6575		tokenize = Sizzle.tokenize = function (selector, parseOnly) {
6576			var matched,
6577			    match,
6578			    tokens,
6579			    type,
6580			    soFar,
6581			    groups,
6582			    preFilters,
vendor: 7,375 bytes, lines 6583-6854
6583			    cached = tokenCache[selector + " "];
6584
6585			if (cached) {
6586				return parseOnly ? 0 : cached.slice(0);
6587			}
6588
6589			soFar = selector;
6590			groups = [];
6591			preFilters = Expr.preFilter;
6592
6593			while (soFar) {
6594
6595				// Comma and first run
6596				if (!matched || (match = rcomma.exec(soFar))) {
6597					if (match) {
6598						// Don't consume trailing commas as valid
6599						soFar = soFar.slice(match[0].length) || soFar;
6600					}
6601					groups.push(tokens = []);
6602				}
6603
6604				matched = false;
6605
6606				// Combinators
6607				if (match = rcombinators.exec(soFar)) {
6608					matched = match.shift();
6609					tokens.push({
6610						value: matched,
6611						// Cast descendant combinators to space
6612						type: match[0].replace(rtrim, " ")
6613					});
6614					soFar = soFar.slice(matched.length);
6615				}
6616
6617				// Filters
6618				for (type in Expr.filter) {
6619					if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {
6620						matched = match.shift();
6621						tokens.push({
6622							value: matched,
6623							type: type,
6624							matches: match
6625						});
6626						soFar = soFar.slice(matched.length);
6627					}
6628				}
6629
6630				if (!matched) {
6631					break;
6632				}
6633			}
6634
6635			// Return the length of the invalid excess
6636			// if we're just parsing
6637			// Otherwise, throw an error or return tokens
6638			return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) :
6639			// Cache the tokens
6640			tokenCache(selector, groups).slice(0);
6641		};
6642
6643		function toSelector(tokens) {
6644			var i = 0,
6645			    len = tokens.length,
6646			    selector = "";
6647			for (; i < len; i++) {
6648				selector += tokens[i].value;
6649			}
6650			return selector;
6651		}
6652
6653		function addCombinator(matcher, combinator, base) {
6654			var dir = combinator.dir,
6655			    skip = combinator.next,
6656			    key = skip || dir,
6657			    checkNonElements = base && key === "parentNode",
6658			    doneName = done++;
6659
6660			return combinator.first ?
6661			// Check against closest ancestor/preceding element
6662			function (elem, context, xml) {
6663				while (elem = elem[dir]) {
6664					if (elem.nodeType === 1 || checkNonElements) {
6665						return matcher(elem, context, xml);
6666					}
6667				}
6668				return false;
6669			} :
6670
6671			// Check against all ancestor/preceding elements
6672			function (elem, context, xml) {
6673				var oldCache,
6674				    uniqueCache,
6675				    outerCache,
6676				    newCache = [dirruns, doneName];
6677
6678				// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
6679				if (xml) {
6680					while (elem = elem[dir]) {
6681						if (elem.nodeType === 1 || checkNonElements) {
6682							if (matcher(elem, context, xml)) {
6683								return true;
6684							}
6685						}
6686					}
6687				} else {
6688					while (elem = elem[dir]) {
6689						if (elem.nodeType === 1 || checkNonElements) {
6690							outerCache = elem[expando] || (elem[expando] = {});
6691
6692							// Support: IE <9 only
6693							// Defend against cloned attroperties (jQuery gh-1709)
6694							uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {});
6695
6696							if (skip && skip === elem.nodeName.toLowerCase()) {
6697								elem = elem[dir] || elem;
6698							} else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) {
6699
6700								// Assign to newCache so results back-propagate to previous elements
6701								return newCache[2] = oldCache[2];
6702							} else {
6703								// Reuse newcache so results back-propagate to previous elements
6704								uniqueCache[key] = newCache;
6705
6706								// A match means we're done; a fail means we have to keep checking
6707								if (newCache[2] = matcher(elem, context, xml)) {
6708									return true;
6709								}
6710							}
6711						}
6712					}
6713				}
6714				return false;
6715			};
6716		}
6717
6718		function elementMatcher(matchers) {
6719			return matchers.length > 1 ? function (elem, context, xml) {
6720				var i = matchers.length;
6721				while (i--) {
6722					if (!matchers[i](elem, context, xml)) {
6723						return false;
6724					}
6725				}
6726				return true;
6727			} : matchers[0];
6728		}
6729
6730		function multipleContexts(selector, contexts, results) {
6731			var i = 0,
6732			    len = contexts.length;
6733			for (; i < len; i++) {
6734				Sizzle(selector, contexts[i], results);
6735			}
6736			return results;
6737		}
6738
6739		function condense(unmatched, map, filter, context, xml) {
6740			var elem,
6741			    newUnmatched = [],
6742			    i = 0,
6743			    len = unmatched.length,
6744			    mapped = map != null;
6745
6746			for (; i < len; i++) {
6747				if (elem = unmatched[i]) {
6748					if (!filter || filter(elem, context, xml)) {
6749						newUnmatched.push(elem);
6750						if (mapped) {
6751							map.push(i);
6752						}
6753					}
6754				}
6755			}
6756
6757			return newUnmatched;
6758		}
6759
6760		function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {
6761			if (postFilter && !postFilter[expando]) {
6762				postFilter = setMatcher(postFilter);
6763			}
6764			if (postFinder && !postFinder[expando]) {
6765				postFinder = setMatcher(postFinder, postSelector);
6766			}
6767			return markFunction(function (seed, results, context, xml) {
6768				var temp,
6769				    i,
6770				    elem,
6771				    preMap = [],
6772				    postMap = [],
6773				    preexisting = results.length,
6774
6775
6776				// Get initial elements from seed or context
6777				elems = seed || multipleContexts(selector || "*", context.nodeType ? [context] : context, []),
6778
6779
6780				// Prefilter to get matcher input, preserving a map for seed-results synchronization
6781				matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems,
6782				    matcherOut = matcher ?
6783				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
6784				postFinder || (seed ? preFilter : preexisting || postFilter) ?
6785
6786				// ...intermediate processing is necessary
6787				[] :
6788
6789				// ...otherwise use results directly
6790				results : matcherIn;
6791
6792				// Find primary matches
6793				if (matcher) {
6794					matcher(matcherIn, matcherOut, context, xml);
6795				}
6796
6797				// Apply postFilter
6798				if (postFilter) {
6799					temp = condense(matcherOut, postMap);
6800					postFilter(temp, [], context, xml);
6801
6802					// Un-match failing elements by moving them back to matcherIn
6803					i = temp.length;
6804					while (i--) {
6805						if (elem = temp[i]) {
6806							matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);
6807						}
6808					}
6809				}
6810
6811				if (seed) {
6812					if (postFinder || preFilter) {
6813						if (postFinder) {
6814							// Get the final matcherOut by condensing this intermediate into postFinder contexts
6815							temp = [];
6816							i = matcherOut.length;
6817							while (i--) {
6818								if (elem = matcherOut[i]) {
6819									// Restore matcherIn since elem is not yet a final match
6820									temp.push(matcherIn[i] = elem);
6821								}
6822							}
6823							postFinder(null, matcherOut = [], temp, xml);
6824						}
6825
6826						// Move matched elements from seed to results to keep them synchronized
6827						i = matcherOut.length;
6828						while (i--) {
6829							if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) {
6830
6831								seed[temp] = !(results[temp] = elem);
6832							}
6833						}
6834					}
6835
6836					// Add elements to results, through postFinder if defined
6837				} else {
6838					matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);
6839					if (postFinder) {
6840						postFinder(null, results, matcherOut, xml);
6841					} else {
6842						push.apply(results, matcherOut);
6843					}
6844				}
6845			});
6846		}
6847
6848		function matcherFromTokens(tokens) {
6849			var checkContext,
6850			    matcher,
6851			    j,
6852			    len = tokens.length,
6853			    leadingRelative = Expr.relative[tokens[0].type],
6854			    implicitRelative = leadingRelative || Expr.relative[" "],
vendor: 7,945 bytes, lines 6855-7091
6855			    i = leadingRelative ? 1 : 0,
6856
6857
6858			// The foundational matcher ensures that elements are reachable from top-level context(s)
6859			matchContext = addCombinator(function (elem) {
6860				return elem === checkContext;
6861			}, implicitRelative, true),
6862			    matchAnyContext = addCombinator(function (elem) {
6863				return indexOf(checkContext, elem) > -1;
6864			}, implicitRelative, true),
6865			    matchers = [function (elem, context, xml) {
6866				var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));
6867				// Avoid hanging onto element (issue #299)
6868				checkContext = null;
6869				return ret;
6870			}];
6871
6872			for (; i < len; i++) {
6873				if (matcher = Expr.relative[tokens[i].type]) {
6874					matchers = [addCombinator(elementMatcher(matchers), matcher)];
6875				} else {
6876					matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches);
6877
6878					// Return special upon seeing a positional matcher
6879					if (matcher[expando]) {
6880						// Find the next relative operator (if any) for proper handling
6881						j = ++i;
6882						for (; j < len; j++) {
6883							if (Expr.relative[tokens[j].type]) {
6884								break;
6885							}
6886						}
6887						return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(
6888						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
6889						tokens.slice(0, i - 1).concat({ value: tokens[i - 2].type === " " ? "*" : "" })).replace(rtrim, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));
6890					}
6891					matchers.push(matcher);
6892				}
6893			}
6894
6895			return elementMatcher(matchers);
6896		}
6897
6898		function matcherFromGroupMatchers(elementMatchers, setMatchers) {
6899			var bySet = setMatchers.length > 0,
6900			    byElement = elementMatchers.length > 0,
6901			    superMatcher = function superMatcher(seed, context, xml, results, outermost) {
6902				var elem,
6903				    j,
6904				    matcher,
6905				    matchedCount = 0,
6906				    i = "0",
6907				    unmatched = seed && [],
6908				    setMatched = [],
6909				    contextBackup = outermostContext,
6910
6911				// We must always have either seed elements or outermost context
6912				elems = seed || byElement && Expr.find["TAG"]("*", outermost),
6913
6914				// Use integer dirruns iff this is the outermost matcher
6915				dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1,
6916				    len = elems.length;
6917
6918				if (outermost) {
6919					outermostContext = context === document || context || outermost;
6920				}
6921
6922				// Add elements passing elementMatchers directly to results
6923				// Support: IE<9, Safari
6924				// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
6925				for (; i !== len && (elem = elems[i]) != null; i++) {
6926					if (byElement && elem) {
6927						j = 0;
6928						if (!context && elem.ownerDocument !== document) {
6929							setDocument(elem);
6930							xml = !documentIsHTML;
6931						}
6932						while (matcher = elementMatchers[j++]) {
6933							if (matcher(elem, context || document, xml)) {
6934								results.push(elem);
6935								break;
6936							}
6937						}
6938						if (outermost) {
6939							dirruns = dirrunsUnique;
6940						}
6941					}
6942
6943					// Track unmatched elements for set filters
6944					if (bySet) {
6945						// They will have gone through all possible matchers
6946						if (elem = !matcher && elem) {
6947							matchedCount--;
6948						}
6949
6950						// Lengthen the array for every element, matched or not
6951						if (seed) {
6952							unmatched.push(elem);
6953						}
6954					}
6955				}
6956
6957				// `i` is now the count of elements visited above, and adding it to `matchedCount`
6958				// makes the latter nonnegative.
6959				matchedCount += i;
6960
6961				// Apply set filters to unmatched elements
6962				// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
6963				// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
6964				// no element matchers and no seed.
6965				// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
6966				// case, which will result in a "00" `matchedCount` that differs from `i` but is also
6967				// numerically zero.
6968				if (bySet && i !== matchedCount) {
6969					j = 0;
6970					while (matcher = setMatchers[j++]) {
6971						matcher(unmatched, setMatched, context, xml);
6972					}
6973
6974					if (seed) {
6975						// Reintegrate element matches to eliminate the need for sorting
6976						if (matchedCount > 0) {
6977							while (i--) {
6978								if (!(unmatched[i] || setMatched[i])) {
6979									setMatched[i] = pop.call(results);
6980								}
6981							}
6982						}
6983
6984						// Discard index placeholder values to get only actual matches
6985						setMatched = condense(setMatched);
6986					}
6987
6988					// Add matches to results
6989					push.apply(results, setMatched);
6990
6991					// Seedless set matches succeeding multiple successful matchers stipulate sorting
6992					if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {
6993
6994						Sizzle.uniqueSort(results);
6995					}
6996				}
6997
6998				// Override manipulation of globals by nested matchers
6999				if (outermost) {
7000					dirruns = dirrunsUnique;
7001					outermostContext = contextBackup;
7002				}
7003
7004				return unmatched;
7005			};
7006
7007			return bySet ? markFunction(superMatcher) : superMatcher;
7008		}
7009
7010		compile = Sizzle.compile = function (selector, match /* Internal Use Only */) {
7011			var i,
7012			    setMatchers = [],
7013			    elementMatchers = [],
7014			    cached = compilerCache[selector + " "];
7015
7016			if (!cached) {
7017				// Generate a function of recursive functions that can be used to check each element
7018				if (!match) {
7019					match = tokenize(selector);
7020				}
7021				i = match.length;
7022				while (i--) {
7023					cached = matcherFromTokens(match[i]);
7024					if (cached[expando]) {
7025						setMatchers.push(cached);
7026					} else {
7027						elementMatchers.push(cached);
7028					}
7029				}
7030
7031				// Cache the compiled function
7032				cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers));
7033
7034				// Save selector and tokenization
7035				cached.selector = selector;
7036			}
7037			return cached;
7038		};
7039
7040		/**
7041   * A low-level selection function that works with Sizzle's compiled
7042   *  selector functions
7043   * @param {String|Function} selector A selector or a pre-compiled
7044   *  selector function built with Sizzle.compile
7045   * @param {Element} context
7046   * @param {Array} [results]
7047   * @param {Array} [seed] A set of elements to match against
7048   */
7049		select = Sizzle.select = function (selector, context, results, seed) {
7050			var i,
7051			    tokens,
7052			    token,
7053			    type,
7054			    find,
7055			    compiled = typeof selector === "function" && selector,
7056			    match = !seed && tokenize(selector = compiled.selector || selector);
7057
7058			results = results || [];
7059
7060			// Try to minimize operations if there is only one selector in the list and no seed
7061			// (the latter of which guarantees us context)
7062			if (match.length === 1) {
7063
7064				// Reduce context if the leading compound selector is an ID
7065				tokens = match[0] = match[0].slice(0);
7066				if (tokens.length > 2 && (token = tokens[0]).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {
7067
7068					context = (Expr.find["ID"](token.matches[0].replace(runescape, funescape), context) || [])[0];
7069					if (!context) {
7070						return results;
7071
7072						// Precompiled matchers will still verify ancestry, so step up a level
7073					} else if (compiled) {
7074						context = context.parentNode;
7075					}
7076
7077					selector = selector.slice(tokens.shift().value.length);
7078				}
7079
7080				// Fetch a seed set for right-to-left matching
7081				i = matchExpr["needsContext"].test(selector) ? 0 : tokens.length;
7082				while (i--) {
7083					token = tokens[i];
7084
7085					// Abort if we hit a combinator
7086					if (Expr.relative[type = token.type]) {
7087						break;
7088					}
7089					if (find = Expr.find[type]) {
7090						// Search, expanding context for leading sibling combinators
7091						if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testC
vendor: 6,346 bytes, lines 7091-7321
7091ontext(context.parentNode) || context)) {
7092
7093							// If seed is empty or no tokens remain, we can return early
7094							tokens.splice(i, 1);
7095							selector = seed.length && toSelector(tokens);
7096							if (!selector) {
7097								push.apply(results, seed);
7098								return results;
7099							}
7100
7101							break;
7102						}
7103					}
7104				}
7105			}
7106
7107			// Compile and execute a filtering function if one is not provided
7108			// Provide `match` to avoid retokenization if we modified the selector above
7109			(compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context);
7110			return results;
7111		};
7112
7113		// One-time assignments
7114
7115		// Sort stability
7116		support.sortStable = expando.split("").sort(sortOrder).join("") === expando;
7117
7118		// Support: Chrome 14-35+
7119		// Always assume duplicates if they aren't passed to the comparison function
7120		support.detectDuplicates = !!hasDuplicate;
7121
7122		// Initialize against the default document
7123		setDocument();
7124
7125		// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
7126		// Detached nodes confoundingly follow *each other*
7127		support.sortDetached = assert(function (el) {
7128			// Should return 1, but returns 4 (following)
7129			return el.compareDocumentPosition(document.createElement("fieldset")) & 1;
7130		});
7131
7132		// Support: IE<8
7133		// Prevent attribute/property "interpolation"
7134		// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
7135		if (!assert(function (el) {
7136			el.innerHTML = "<a href='#'></a>";
7137			return el.firstChild.getAttribute("href") === "#";
7138		})) {
7139			addHandle("type|href|height|width", function (elem, name, isXML) {
7140				if (!isXML) {
7141					return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2);
7142				}
7143			});
7144		}
7145
7146		// Support: IE<9
7147		// Use defaultValue in place of getAttribute("value")
7148		if (!support.attributes || !assert(function (el) {
7149			el.innerHTML = "<input/>";
7150			el.firstChild.setAttribute("value", "");
7151			return el.firstChild.getAttribute("value") === "";
7152		})) {
7153			addHandle("value", function (elem, name, isXML) {
7154				if (!isXML && elem.nodeName.toLowerCase() === "input") {
7155					return elem.defaultValue;
7156				}
7157			});
7158		}
7159
7160		// Support: IE<9
7161		// Use getAttributeNode to fetch booleans when getAttribute lies
7162		if (!assert(function (el) {
7163			return el.getAttribute("disabled") == null;
7164		})) {
7165			addHandle(booleans, function (elem, name, isXML) {
7166				var val;
7167				if (!isXML) {
7168					return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;
7169				}
7170			});
7171		}
7172
7173		return Sizzle;
7174	}(window);
7175
7176	jQuery.find = Sizzle;
7177	jQuery.expr = Sizzle.selectors;
7178
7179	// Deprecated
7180	jQuery.expr[":"] = jQuery.expr.pseudos;
7181	jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
7182	jQuery.text = Sizzle.getText;
7183	jQuery.isXMLDoc = Sizzle.isXML;
7184	jQuery.contains = Sizzle.contains;
7185	jQuery.escapeSelector = Sizzle.escape;
7186
7187	var dir = function dir(elem, _dir, until) {
7188		var matched = [],
7189		    truncate = until !== undefined;
7190
7191		while ((elem = elem[_dir]) && elem.nodeType !== 9) {
7192			if (elem.nodeType === 1) {
7193				if (truncate && jQuery(elem).is(until)) {
7194					break;
7195				}
7196				matched.push(elem);
7197			}
7198		}
7199		return matched;
7200	};
7201
7202	var _siblings = function _siblings(n, elem) {
7203		var matched = [];
7204
7205		for (; n; n = n.nextSibling) {
7206			if (n.nodeType === 1 && n !== elem) {
7207				matched.push(n);
7208			}
7209		}
7210
7211		return matched;
7212	};
7213
7214	var rneedsContext = jQuery.expr.match.needsContext;
7215
7216	function nodeName(elem, name) {
7217
7218		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
7219	};
7220	var rsingleTag = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
7221
7222	var risSimple = /^.[^:#\[\.,]*$/;
7223
7224	// Implement the identical functionality for filter and not
7225	function winnow(elements, qualifier, not) {
7226		if (jQuery.isFunction(qualifier)) {
7227			return jQuery.grep(elements, function (elem, i) {
7228				return !!qualifier.call(elem, i, elem) !== not;
7229			});
7230		}
7231
7232		// Single element
7233		if (qualifier.nodeType) {
7234			return jQuery.grep(elements, function (elem) {
7235				return elem === qualifier !== not;
7236			});
7237		}
7238
7239		// Arraylike of elements (jQuery, arguments, Array)
7240		if (typeof qualifier !== "string") {
7241			return jQuery.grep(elements, function (elem) {
7242				return indexOf.call(qualifier, elem) > -1 !== not;
7243			});
7244		}
7245
7246		// Simple selector that can be filtered directly, removing non-Elements
7247		if (risSimple.test(qualifier)) {
7248			return jQuery.filter(qualifier, elements, not);
7249		}
7250
7251		// Complex selector, compare the two sets, removing non-Elements
7252		qualifier = jQuery.filter(qualifier, elements);
7253		return jQuery.grep(elements, function (elem) {
7254			return indexOf.call(qualifier, elem) > -1 !== not && elem.nodeType === 1;
7255		});
7256	}
7257
7258	jQuery.filter = function (expr, elems, not) {
7259		var elem = elems[0];
7260
7261		if (not) {
7262			expr = ":not(" + expr + ")";
7263		}
7264
7265		if (elems.length === 1 && elem.nodeType === 1) {
7266			return jQuery.find.matchesSelector(elem, expr) ? [elem] : [];
7267		}
7268
7269		return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {
7270			return elem.nodeType === 1;
7271		}));
7272	};
7273
7274	jQuery.fn.extend({
7275		find: function find(selector) {
7276			var i,
7277			    ret,
7278			    len = this.length,
7279			    self = this;
7280
7281			if (typeof selector !== "string") {
7282				return this.pushStack(jQuery(selector).filter(function () {
7283					for (i = 0; i < len; i++) {
7284						if (jQuery.contains(self[i], this)) {
7285							return true;
7286						}
7287					}
7288				}));
7289			}
7290
7291			ret = this.pushStack([]);
7292
7293			for (i = 0; i < len; i++) {
7294				jQuery.find(selector, self[i], ret);
7295			}
7296
7297			return len > 1 ? jQuery.uniqueSort(ret) : ret;
7298		},
7299		filter: function filter(selector) {
7300			return this.pushStack(winnow(this, selector || [], false));
7301		},
7302		not: function not(selector) {
7303			return this.pushStack(winnow(this, selector || [], true));
7304		},
7305		is: function is(selector) {
7306			return !!winnow(this,
7307
7308			// If this is a positional/relative selector, check membership in the returned set
7309			// so $("p:first").is("p:last") won't return true for a doc with two "p".
7310			typeof selector === "string" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;
7311		}
7312	});
7313
7314	// Initialize a jQuery object
7315
7316
7317	// A central reference to the root jQuery(document)
7318	var rootjQuery,
7319
7320
7321	// A simple way to check for HTML strings
vendor: 6,242 bytes, lines 7322-7550
7322	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
7323	// Strict HTML recognition (#11290: must start with <)
7324	// Shortcut simple #id case for speed
7325	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
7326	    init = jQuery.fn.init = function (selector, context, root) {
7327		var match, elem;
7328
7329		// HANDLE: $(""), $(null), $(undefined), $(false)
7330		if (!selector) {
7331			return this;
7332		}
7333
7334		// Method init() accepts an alternate rootjQuery
7335		// so migrate can support jQuery.sub (gh-2101)
7336		root = root || rootjQuery;
7337
7338		// Handle HTML strings
7339		if (typeof selector === "string") {
7340			if (selector[0] === "<" && selector[selector.length - 1] === ">" && selector.length >= 3) {
7341
7342				// Assume that strings that start and end with <> are HTML and skip the regex check
7343				match = [null, selector, null];
7344			} else {
7345				match = rquickExpr.exec(selector);
7346			}
7347
7348			// Match html or make sure no context is specified for #id
7349			if (match && (match[1] || !context)) {
7350
7351				// HANDLE: $(html) -> $(array)
7352				if (match[1]) {
7353					context = context instanceof jQuery ? context[0] : context;
7354
7355					// Option to run scripts is true for back-compat
7356					// Intentionally let the error be thrown if parseHTML is not present
7357					jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true));
7358
7359					// HANDLE: $(html, props)
7360					if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {
7361						for (match in context) {
7362
7363							// Properties of context are called as methods if possible
7364							if (jQuery.isFunction(this[match])) {
7365								this[match](context[match]);
7366
7367								// ...and otherwise set as attributes
7368							} else {
7369								this.attr(match, context[match]);
7370							}
7371						}
7372					}
7373
7374					return this;
7375
7376					// HANDLE: $(#id)
7377				} else {
7378					elem = document.getElementById(match[2]);
7379
7380					if (elem) {
7381
7382						// Inject the element directly into the jQuery object
7383						this[0] = elem;
7384						this.length = 1;
7385					}
7386					return this;
7387				}
7388
7389				// HANDLE: $(expr, $(...))
7390			} else if (!context || context.jquery) {
7391				return (context || root).find(selector);
7392
7393				// HANDLE: $(expr, context)
7394				// (which is just equivalent to: $(context).find(expr)
7395			} else {
7396				return this.constructor(context).find(selector);
7397			}
7398
7399			// HANDLE: $(DOMElement)
7400		} else if (selector.nodeType) {
7401			this[0] = selector;
7402			this.length = 1;
7403			return this;
7404
7405			// HANDLE: $(function)
7406			// Shortcut for document ready
7407		} else if (jQuery.isFunction(selector)) {
7408			return root.ready !== undefined ? root.ready(selector) :
7409
7410			// Execute immediately if ready is not present
7411			selector(jQuery);
7412		}
7413
7414		return jQuery.makeArray(selector, this);
7415	};
7416
7417	// Give the init function the jQuery prototype for later instantiation
7418	init.prototype = jQuery.fn;
7419
7420	// Initialize central reference
7421	rootjQuery = jQuery(document);
7422
7423	var rparentsprev = /^(?:parents|prev(?:Until|All))/,
7424
7425
7426	// Methods guaranteed to produce a unique set when starting from a unique set
7427	guaranteedUnique = {
7428		children: true,
7429		contents: true,
7430		next: true,
7431		prev: true
7432	};
7433
7434	jQuery.fn.extend({
7435		has: function has(target) {
7436			var targets = jQuery(target, this),
7437			    l = targets.length;
7438
7439			return this.filter(function () {
7440				var i = 0;
7441				for (; i < l; i++) {
7442					if (jQuery.contains(this, targets[i])) {
7443						return true;
7444					}
7445				}
7446			});
7447		},
7448
7449		closest: function closest(selectors, context) {
7450			var cur,
7451			    i = 0,
7452			    l = this.length,
7453			    matched = [],
7454			    targets = typeof selectors !== "string" && jQuery(selectors);
7455
7456			// Positional selectors never match, since there's no _selection_ context
7457			if (!rneedsContext.test(selectors)) {
7458				for (; i < l; i++) {
7459					for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {
7460
7461						// Always skip document fragments
7462						if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 :
7463
7464						// Don't pass non-elements to Sizzle
7465						cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {
7466
7467							matched.push(cur);
7468							break;
7469						}
7470					}
7471				}
7472			}
7473
7474			return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);
7475		},
7476
7477		// Determine the position of an element within the set
7478		index: function index(elem) {
7479
7480			// No argument, return index in parent
7481			if (!elem) {
7482				return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
7483			}
7484
7485			// Index in selector
7486			if (typeof elem === "string") {
7487				return indexOf.call(jQuery(elem), this[0]);
7488			}
7489
7490			// Locate the position of the desired element
7491			return indexOf.call(this,
7492
7493			// If it receives a jQuery object, the first element is used
7494			elem.jquery ? elem[0] : elem);
7495		},
7496
7497		add: function add(selector, context) {
7498			return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));
7499		},
7500
7501		addBack: function addBack(selector) {
7502			return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));
7503		}
7504	});
7505
7506	function sibling(cur, dir) {
7507		while ((cur = cur[dir]) && cur.nodeType !== 1) {}
7508		return cur;
7509	}
7510
7511	jQuery.each({
7512		parent: function parent(elem) {
7513			var parent = elem.parentNode;
7514			return parent && parent.nodeType !== 11 ? parent : null;
7515		},
7516		parents: function parents(elem) {
7517			return dir(elem, "parentNode");
7518		},
7519		parentsUntil: function parentsUntil(elem, i, until) {
7520			return dir(elem, "parentNode", until);
7521		},
7522		next: function next(elem) {
7523			return sibling(elem, "nextSibling");
7524		},
7525		prev: function prev(elem) {
7526			return sibling(elem, "previousSibling");
7527		},
7528		nextAll: function nextAll(elem) {
7529			return dir(elem, "nextSibling");
7530		},
7531		prevAll: function prevAll(elem) {
7532			return dir(elem, "previousSibling");
7533		},
7534		nextUntil: function nextUntil(elem, i, until) {
7535			return dir(elem, "nextSibling", until);
7536		},
7537		prevUntil: function prevUntil(elem, i, until) {
7538			return dir(elem, "previousSibling", until);
7539		},
7540		siblings: function siblings(elem) {
7541			return _siblings((elem.parentNode || {}).firstChild, elem);
7542		},
7543		children: function children(elem) {
7544			return _siblings(elem.firstChild);
7545		},
7546		contents: function contents(elem) {
7547			if (nodeName(elem, "iframe")) {
7548				return elem.contentDocument;
7549			}
7550
vendor: 4,884 bytes, lines 7551-7751
7551			// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
7552			// Treat the template element as a regular one in browsers that
7553			// don't support it.
7554			if (nodeName(elem, "template")) {
7555				elem = elem.content || elem;
7556			}
7557
7558			return jQuery.merge([], elem.childNodes);
7559		}
7560	}, function (name, fn) {
7561		jQuery.fn[name] = function (until, selector) {
7562			var matched = jQuery.map(this, fn, until);
7563
7564			if (name.slice(-5) !== "Until") {
7565				selector = until;
7566			}
7567
7568			if (selector && typeof selector === "string") {
7569				matched = jQuery.filter(selector, matched);
7570			}
7571
7572			if (this.length > 1) {
7573
7574				// Remove duplicates
7575				if (!guaranteedUnique[name]) {
7576					jQuery.uniqueSort(matched);
7577				}
7578
7579				// Reverse order for parents* and prev-derivatives
7580				if (rparentsprev.test(name)) {
7581					matched.reverse();
7582				}
7583			}
7584
7585			return this.pushStack(matched);
7586		};
7587	});
7588	var rnothtmlwhite = /[^\x20\t\r\n\f]+/g;
7589
7590	// Convert String-formatted options into Object-formatted ones
7591	function createOptions(options) {
7592		var object = {};
7593		jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) {
7594			object[flag] = true;
7595		});
7596		return object;
7597	}
7598
7599	/*
7600  * Create a callback list using the following parameters:
7601  *
7602  *	options: an optional list of space-separated options that will change how
7603  *			the callback list behaves or a more traditional option object
7604  *
7605  * By default a callback list will act like an event callback list and can be
7606  * "fired" multiple times.
7607  *
7608  * Possible options:
7609  *
7610  *	once:			will ensure the callback list can only be fired once (like a Deferred)
7611  *
7612  *	memory:			will keep track of previous values and will call any callback added
7613  *					after the list has been fired right away with the latest "memorized"
7614  *					values (like a Deferred)
7615  *
7616  *	unique:			will ensure a callback can only be added once (no duplicate in the list)
7617  *
7618  *	stopOnFalse:	interrupt callings when a callback returns false
7619  *
7620  */
7621	jQuery.Callbacks = function (options) {
7622
7623		// Convert options from String-formatted to Object-formatted if needed
7624		// (we check in cache first)
7625		options = typeof options === "string" ? createOptions(options) : jQuery.extend({}, options);
7626
7627		var // Flag to know if list is currently firing
7628		firing,
7629
7630
7631		// Last fire value for non-forgettable lists
7632		memory,
7633
7634
7635		// Flag to know if list was already fired
7636		_fired,
7637
7638
7639		// Flag to prevent firing
7640		_locked,
7641
7642
7643		// Actual callback list
7644		list = [],
7645
7646
7647		// Queue of execution data for repeatable lists
7648		queue = [],
7649
7650
7651		// Index of currently firing callback (modified by add/remove as needed)
7652		firingIndex = -1,
7653
7654
7655		// Fire callbacks
7656		fire = function fire() {
7657
7658			// Enforce single-firing
7659			_locked = _locked || options.once;
7660
7661			// Execute callbacks for all pending executions,
7662			// respecting firingIndex overrides and runtime changes
7663			_fired = firing = true;
7664			for (; queue.length; firingIndex = -1) {
7665				memory = queue.shift();
7666				while (++firingIndex < list.length) {
7667
7668					// Run callback and check for early termination
7669					if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {
7670
7671						// Jump to end and forget the data so .add doesn't re-fire
7672						firingIndex = list.length;
7673						memory = false;
7674					}
7675				}
7676			}
7677
7678			// Forget the data if we're done with it
7679			if (!options.memory) {
7680				memory = false;
7681			}
7682
7683			firing = false;
7684
7685			// Clean up if we're done firing for good
7686			if (_locked) {
7687
7688				// Keep an empty list if we have data for future add calls
7689				if (memory) {
7690					list = [];
7691
7692					// Otherwise, this object is spent
7693				} else {
7694					list = "";
7695				}
7696			}
7697		},
7698
7699
7700		// Actual Callbacks object
7701		self = {
7702
7703			// Add a callback or a collection of callbacks to the list
7704			add: function add() {
7705				if (list) {
7706
7707					// If we have memory from a past run, we should fire after adding
7708					if (memory && !firing) {
7709						firingIndex = list.length - 1;
7710						queue.push(memory);
7711					}
7712
7713					(function add(args) {
7714						jQuery.each(args, function (_, arg) {
7715							if (jQuery.isFunction(arg)) {
7716								if (!options.unique || !self.has(arg)) {
7717									list.push(arg);
7718								}
7719							} else if (arg && arg.length && jQuery.type(arg) !== "string") {
7720
7721								// Inspect recursively
7722								add(arg);
7723							}
7724						});
7725					})(arguments);
7726
7727					if (memory && !firing) {
7728						fire();
7729					}
7730				}
7731				return this;
7732			},
7733
7734			// Remove a callback from the list
7735			remove: function remove() {
7736				jQuery.each(arguments, function (_, arg) {
7737					var index;
7738					while ((index = jQuery.inArray(arg, list, index)) > -1) {
7739						list.splice(index, 1);
7740
7741						// Handle firing indexes
7742						if (index <= firingIndex) {
7743							firingIndex--;
7744						}
7745					}
7746				});
7747				return this;
7748			},
7749
7750			// Check if a given callback is in the list.
7751			// If no argument is given, return whether or not list has callbacks attached.
7752			has: function has(fn) {
7753				return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;
7754			},
7755
7756			// Remove all callbacks from the list
7757			empty: function empty() {
7758				if (list) {
7759					list = [];
7760				}
7761				return this;
7762			},
7763
7764			// Disable .fire and .add
7765			// Abort any current/pending executions
7766			// Clear all callbacks and values
7767			disable: function disable() {
7768				_locked = queue = [];
7769				list = memory = "";
7770				return this;
7771			},
7772			disabled: function disabled() {
7773				return !list;
7774			},
7775
7776			// Disable .fire
7777			// Also disable .add unless we have memory (since it would have no effect)
7778			// Abort any pending executions
7779			lock: function lock() {
7780				_locked = queue = [];
7781				if (!memory && !firing) {
7782					list = memory = "";
7783				}
7784				return this;
7785			},
7786			locked: function locked() {
7787				return !!_locked;
7788			},
7789
7790			// Call all callbacks with the given context and arguments
7791			fireWith: function fireWith(context, args) {
7792				if (!_locked) {
7793					args = args || [];
7794					args = [context, args.slice ? args.slice() : args];
7795					queue.push(args);
7796					if (!firing) {
7797						fire();
7798					}
7799				}
7800				return this;
7801			},
7802
7803			// Call all the callbacks with the given arguments
7804			fire: function fire() {
7805				self.fireWith(this, arguments);
7806				return this;
7807			},
7808
7809			// To know if the callbacks have already been called at least once
7810			fired: function fired() {
7811				return !!_fired;
7812			}
7813		};
7814
7815		return self;
7816	};
7817
7818	function Identity(v) {
7819		return v;
7820	}
7821	function Thrower(ex) {
7822		throw ex;
7823	}
7824
7825	function adoptValue(value, resolve, reject, noValue) {
7826		var method;
7827
7828		try {
7829
7830			// Check for promise aspect first to privilege synchronous behavior
7831			if (value && jQuery.isFunction(method = value.promise)) {
7832				method.call(value).done(resolve).fail(reject);
7833
7834				// Other thenables
7835			} else if (value && jQuery.isFunction(method = value.then)) {
7836				method.call(value, resolve, reject);
7837
7838				// Other non-thenables
7839			} else {
7840
7841				// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
7842				// * false: [ value ].slice( 0 ) => resolve( value )
7843				// * true: [ value ].slice( 1 ) => resolve()
7844				resolve.apply(undefined, [value].slice(noValue));
7845			}
7846
7847			// For Promises/A+, convert exceptions into rejections
7848			// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
7849			// Deferred#then to conditionally suppress rejection.
7850		} catch (value) {
7851
7852			// Support: Android 4.0 only
7853			// Strict mode functions invoked without .call/.apply get global-object context
7854			reject.apply(undefined, [value]);
7855		}
7856	}
7857
7858	jQuery.extend({
7859
7860		Deferred: function Deferred(func) {
7861			var tuples = [
7862
7863			// action, add listener, callbacks,
7864			// ... .then handlers, argument index, [final state]
7865			["notify", "progress", jQuery.Callbacks("memory"), jQuery.Callbacks("memory"), 2], ["resolve", "done", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", jQuery.Callbacks("once memory"), jQuery.Callbacks("once memory"), 1, "rejected"]],
7866			    _state = "pending",
7867			    _promise = {
7868				state: function state() {
7869					return _state;
7870				},
7871				always: function always() {
7872					deferred.done(arguments).fail(arguments);
7873					return this;
7874				},
7875				"catch": function _catch(fn) {
7876					return _promise.then(null, fn);
7877				},
7878
7879				// Keep pipe for back-compat
7880				pipe: function pipe() /* fnDone, fnFail, fnProgress */{
7881					var fns = arguments;
7882
7883					return jQuery.Deferred(function (newDefer) {
7884						jQuery.each(tuples, function (i, tuple) {
7885
7886							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
7887							var fn = jQuery.isFunction(fns[tuple[4]]) && fns[tuple[4]];
7888
7889							// deferred.progress(function() { bind to newDefer or newDefer.notify })
7890							// deferred.done(function() { bind to newDefer or newDefer.resolve })
7891							// deferred.fail(function() { bind to newDefer or newDefer.reject })
7892							deferred[tuple[1]](function () {
7893								var returned = fn && fn.apply(this, arguments);
7894								if (returned && jQuery.isFunction(returned.promise)) {
7895									returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);
7896								} else {
7897									newDefer[tuple[0] + "With"](this, fn ? [returned] : arguments);
7898								}
7899							});
7900						});
7901						fns = null;
7902					}).promise();
7903				},
7904				then: function then(onFulfilled, onRejected, onProgress) {
7905					var maxDepth = 0;
7906					function resolve(depth, deferred, handler, special) {
7907						return function () {
7908							var that = this,
7909							    args = arguments,
7910							    mightThrow = function mightThrow() {
7911								var returned, then;
7912
vendor: 7,175 bytes, lines 7913-8153
7913								// Support: Promises/A+ section 2.3.3.3.3
7914								// https://promisesaplus.com/#point-59
7915								// Ignore double-resolution attempts
7916								if (depth < maxDepth) {
7917									return;
7918								}
7919
7920								returned = handler.apply(that, args);
7921
7922								// Support: Promises/A+ section 2.3.1
7923								// https://promisesaplus.com/#point-48
7924								if (returned === deferred.promise()) {
7925									throw new TypeError("Thenable self-resolution");
7926								}
7927
7928								// Support: Promises/A+ sections 2.3.3.1, 3.5
7929								// https://promisesaplus.com/#point-54
7930								// https://promisesaplus.com/#point-75
7931								// Retrieve `then` only once
7932								then = returned && (
7933
7934								// Support: Promises/A+ section 2.3.4
7935								// https://promisesaplus.com/#point-64
7936								// Only check objects and functions for thenability
7937								(typeof returned === "undefined" ? "undefined" : _typeof(returned)) === "object" || typeof returned === "function") && returned.then;
7938
7939								// Handle a returned thenable
7940								if (jQuery.isFunction(then)) {
7941
7942									// Special processors (notify) just wait for resolution
7943									if (special) {
7944										then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special));
7945
7946										// Normal processors (resolve) also hook into progress
7947									} else {
7948
7949										// ...and disregard older resolution values
7950										maxDepth++;
7951
7952										then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));
7953									}
7954
7955									// Handle all other returned values
7956								} else {
7957
7958									// Only substitute handlers pass on context
7959									// and multiple values (non-spec behavior)
7960									if (handler !== Identity) {
7961										that = undefined;
7962										args = [returned];
7963									}
7964
7965									// Process the value(s)
7966									// Default process is resolve
7967									(special || deferred.resolveWith)(that, args);
7968								}
7969							},
7970
7971
7972							// Only normal processors (resolve) catch and reject exceptions
7973							process = special ? mightThrow : function () {
7974								try {
7975									mightThrow();
7976								} catch (e) {
7977
7978									if (jQuery.Deferred.exceptionHook) {
7979										jQuery.Deferred.exceptionHook(e, process.stackTrace);
7980									}
7981
7982									// Support: Promises/A+ section 2.3.3.3.4.1
7983									// https://promisesaplus.com/#point-61
7984									// Ignore post-resolution exceptions
7985									if (depth + 1 >= maxDepth) {
7986
7987										// Only substitute handlers pass on context
7988										// and multiple values (non-spec behavior)
7989										if (handler !== Thrower) {
7990											that = undefined;
7991											args = [e];
7992										}
7993
7994										deferred.rejectWith(that, args);
7995									}
7996								}
7997							};
7998
7999							// Support: Promises/A+ section 2.3.3.3.1
8000							// https://promisesaplus.com/#point-57
8001							// Re-resolve promises immediately to dodge false rejection from
8002							// subsequent errors
8003							if (depth) {
8004								process();
8005							} else {
8006
8007								// Call an optional hook to record the stack, in case of exception
8008								// since it's otherwise lost when execution goes async
8009								if (jQuery.Deferred.getStackHook) {
8010									process.stackTrace = jQuery.Deferred.getStackHook();
8011								}
8012								window.setTimeout(process);
8013							}
8014						};
8015					}
8016
8017					return jQuery.Deferred(function (newDefer) {
8018
8019						// progress_handlers.add( ... )
8020						tuples[0][3].add(resolve(0, newDefer, jQuery.isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith));
8021
8022						// fulfilled_handlers.add( ... )
8023						tuples[1][3].add(resolve(0, newDefer, jQuery.isFunction(onFulfilled) ? onFulfilled : Identity));
8024
8025						// rejected_handlers.add( ... )
8026						tuples[2][3].add(resolve(0, newDefer, jQuery.isFunction(onRejected) ? onRejected : Thrower));
8027					}).promise();
8028				},
8029
8030				// Get a promise for this deferred
8031				// If obj is provided, the promise aspect is added to the object
8032				promise: function promise(obj) {
8033					return obj != null ? jQuery.extend(obj, _promise) : _promise;
8034				}
8035			},
8036			    deferred = {};
8037
8038			// Add list-specific methods
8039			jQuery.each(tuples, function (i, tuple) {
8040				var list = tuple[2],
8041				    stateString = tuple[5];
8042
8043				// promise.progress = list.add
8044				// promise.done = list.add
8045				// promise.fail = list.add
8046				_promise[tuple[1]] = list.add;
8047
8048				// Handle state
8049				if (stateString) {
8050					list.add(function () {
8051
8052						// state = "resolved" (i.e., fulfilled)
8053						// state = "rejected"
8054						_state = stateString;
8055					},
8056
8057					// rejected_callbacks.disable
8058					// fulfilled_callbacks.disable
8059					tuples[3 - i][2].disable,
8060
8061					// progress_callbacks.lock
8062					tuples[0][2].lock);
8063				}
8064
8065				// progress_handlers.fire
8066				// fulfilled_handlers.fire
8067				// rejected_handlers.fire
8068				list.add(tuple[3].fire);
8069
8070				// deferred.notify = function() { deferred.notifyWith(...) }
8071				// deferred.resolve = function() { deferred.resolveWith(...) }
8072				// deferred.reject = function() { deferred.rejectWith(...) }
8073				deferred[tuple[0]] = function () {
8074					deferred[tuple[0] + "With"](this === deferred ? undefined : this, arguments);
8075					return this;
8076				};
8077
8078				// deferred.notifyWith = list.fireWith
8079				// deferred.resolveWith = list.fireWith
8080				// deferred.rejectWith = list.fireWith
8081				deferred[tuple[0] + "With"] = list.fireWith;
8082			});
8083
8084			// Make the deferred a promise
8085			_promise.promise(deferred);
8086
8087			// Call given func if any
8088			if (func) {
8089				func.call(deferred, deferred);
8090			}
8091
8092			// All done!
8093			return deferred;
8094		},
8095
8096		// Deferred helper
8097		when: function when(singleValue) {
8098			var
8099
8100			// count of uncompleted subordinates
8101			remaining = arguments.length,
8102
8103
8104			// count of unprocessed arguments
8105			i = remaining,
8106
8107
8108			// subordinate fulfillment data
8109			resolveContexts = Array(i),
8110			    resolveValues = _slice.call(arguments),
8111
8112
8113			// the master Deferred
8114			master = jQuery.Deferred(),
8115
8116
8117			// subordinate callback factory
8118			updateFunc = function updateFunc(i) {
8119				return function (value) {
8120					resolveContexts[i] = this;
8121					resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value;
8122					if (! --remaining) {
8123						master.resolveWith(resolveContexts, resolveValues);
8124					}
8125				};
8126			};
8127
8128			// Single- and empty arguments are adopted like Promise.resolve
8129			if (remaining <= 1) {
8130				adoptValue(singleValue, master.done(updateFunc(i)).resolve, master.reject, !remaining);
8131
8132				// Use .then() to unwrap secondary thenables (cf. gh-3000)
8133				if (master.state() === "pending" || jQuery.isFunction(resolveValues[i] && resolveValues[i].then)) {
8134
8135					return master.then();
8136				}
8137			}
8138
8139			// Multiple arguments are aggregated like Promise.all array elements
8140			while (i--) {
8141				adoptValue(resolveValues[i], updateFunc(i), master.reject);
8142			}
8143
8144			return master.promise();
8145		}
8146	});
8147
8148	// These usually indicate a programmer mistake during development,
8149	// warn about them ASAP rather than swallowing them by default.
8150	var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
8151
8152	jQuery.Deferred.exceptionHook = function (error, stack) {
8153
vendor: 1,922 bytes, lines 8154-8226
8154		// Support: IE 8 - 9 only
8155		// Console exists when dev tools are open, which can happen at any time
8156		if (window.console && window.console.warn && error && rerrorNames.test(error.name)) {
8157			window.console.warn("jQuery.Deferred exception: " + error.message, error.stack, stack);
8158		}
8159	};
8160
8161	jQuery.readyException = function (error) {
8162		window.setTimeout(function () {
8163			throw error;
8164		});
8165	};
8166
8167	// The deferred used on DOM ready
8168	var readyList = jQuery.Deferred();
8169
8170	jQuery.fn.ready = function (fn) {
8171
8172		readyList.then(fn)
8173
8174		// Wrap jQuery.readyException in a function so that the lookup
8175		// happens at the time of error handling instead of callback
8176		// registration.
8177		.catch(function (error) {
8178			jQuery.readyException(error);
8179		});
8180
8181		return this;
8182	};
8183
8184	jQuery.extend({
8185
8186		// Is the DOM ready to be used? Set to true once it occurs.
8187		isReady: false,
8188
8189		// A counter to track how many items to wait for before
8190		// the ready event fires. See #6781
8191		readyWait: 1,
8192
8193		// Handle when the DOM is ready
8194		ready: function ready(wait) {
8195
8196			// Abort if there are pending holds or we're already ready
8197			if (wait === true ? --jQuery.readyWait : jQuery.isReady) {
8198				return;
8199			}
8200
8201			// Remember that the DOM is ready
8202			jQuery.isReady = true;
8203
8204			// If a normal DOM Ready event fired, decrement, and wait if need be
8205			if (wait !== true && --jQuery.readyWait > 0) {
8206				return;
8207			}
8208
8209			// If there are functions bound, to execute
8210			readyList.resolveWith(document, [jQuery]);
8211		}
8212	});
8213
8214	jQuery.ready.then = readyList.then;
8215
8216	// The ready event handler and self cleanup method
8217	function completed() {
8218		document.removeEventListener("DOMContentLoaded", completed);
8219		window.removeEventListener("load", completed);
8220		jQuery.ready();
8221	}
8222
8223	// Catch cases where $(document).ready() is called
8224	// after the browser event has already occurred.
8225	// Support: IE <=9 - 10 only
8226	// Older IE sometimes signals "interactive" too soon
8227	if (document.readyState === "complete" || document.readyState !== "loading" && !document.documentElement.doScroll) {
8228
8229		// Handle it asynchronously to allow scripts the opportunity to delay ready
8230		window.setTimeout(jQuery.ready);
8231	} else {
8232
8233		// Use the handy event callback
8234		document.addEventListener("DOMContentLoaded", completed);
8235
8236		// A fallback to window.onload, that will always work
8237		window.addEventListener("load", completed);
8238	}
8239
8240	// Multifunctional method to get and set values of a collection
8241	// The value/s can optionally be executed if it's a function
8242	var access = function access(elems, fn, key, value, chainable, emptyGet, raw) {
8243		var i = 0,
8244		    len = elems.length,
8245		    bulk = key == null;
8246
8247		// Sets many values
8248		if (jQuery.type(key) === "object") {
8249			chainable = true;
8250			for (i in key) {
8251				access(elems, fn, i, key[i], true, emptyGet, raw);
8252			}
8253
8254			// Sets one value
8255		} else if (value !== undefined) {
8256			chainable = true;
8257
8258			if (!jQuery.isFunction(value)) {
8259				raw = true;
8260			}
8261
8262			if (bulk) {
8263
8264				// Bulk operations run against the entire set
8265				if (raw) {
8266					fn.call(elems, value);
8267					fn = null;
8268
8269					// ...except when executing function values
8270				} else {
8271					bulk = fn;
8272					fn = function fn(elem, key, value) {
8273						return bulk.call(jQuery(elem), value);
8274					};
8275				}
8276			}
8277
8278			if (fn) {
8279				for (; i < len; i++) {
8280					fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));
8281				}
8282			}
8283		}
8284
8285		if (chainable) {
8286			return elems;
8287		}
8288
8289		// Gets
8290		if (bulk) {
8291			return fn.call(elems);
8292		}
8293
8294		return len ? fn(elems[0], key) : emptyGet;
8295	};
8296	var acceptData = function acceptData(owner) {
8297
8298		// Accepts only:
8299		//  - Node
8300		//    - Node.ELEMENT_NODE
8301		//    - Node.DOCUMENT_NODE
8302		//  - Object
8303		//    - Any
8304		return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;
8305	};
8306
8307	function Data() {
8308		this.expando = jQuery.expando + Data.uid++;
8309	}
8310
8311	Data.uid = 1;
8312
8313	Data.prototype = {
8314
8315		cache: function cache(owner) {
8316
8317			// Check if the owner object already has a cache
8318			var value = owner[this.expando];
8319
8320			// If not, create one
8321			if (!value) {
8322				value = {};
8323
8324				// We can accept data for non-element nodes in modern browsers,
8325				// but we should not, see #8335.
8326				// Always return an empty object.
8327				if (acceptData(owner)) {
8328
8329					// If it is a node unlikely to be stringify-ed or looped over
8330					// use plain assignment
8331					if (owner.nodeType) {
8332						owner[this.expando] = value;
8333
8334						// Otherwise secure it in a non-enumerable property
8335						// configurable must be true to allow the property to be
8336						// deleted when data is removed
8337					} else {
8338						Object.defineProperty(owner, this.expando, {
8339							value: value,
8340							configurable: true
8341						});
8342					}
8343				}
8344			}
8345
8346			return value;
8347		},
8348		set: function set(owner, data, value) {
8349			var prop,
8350			    cache = this.cache(owner);
8351
8352			// Handle: [ owner, key, value ] args
8353			// Always use camelCase key (gh-2257)
8354			if (typeof data === "string") {
8355				cache[jQuery.camelCase(data)] = value;
8356
8357				// Handle: [ owner, { properties } ] args
8358			} else {
8359
8360				// Copy the properties one-by-one to the cache object
8361				for (prop in data) {
8362					cache[jQuery.camelCase(prop)] = data[prop];
8363				}
8364			}
8365			return cache;
8366		},
8367		get: function get(owner, key) {
8368			return key === undefined ? this.cache(owner) :
8369
8370			// Always use camelCase key (gh-2257)
8371			owner[this.expando] && owner[this.expando][jQuery.camelCase(key)];
8372		},
8373		access: function access(owner, key, value) {
8374
8375			// In cases where either:
8376			//
8377			//   1. No key was specified
8378			//   2. A string key was specified, but no value provided
8379			//
8380			// Take the "read" path and allow the get method to determine
8381			// which value to return, respectively either:
8382			//
8383			//   1. The entire cache object
8384			//   2. The data stored at the key
8385			//
8386			if (key === undefined || key && typeof key === "string" && value === undefined) {
8387
8388				return this.get(owner, key);
8389			}
8390
8391			// When the key is not a string, or both a key and value
8392			// are specified, set or extend (existing objects) with either:
8393			//
8394			//   1. An object of properties
8395			//   2. A key and value
8396			//
8397			this.set(owner, key, value);
8398
vendor: 8,892 bytes, lines 8399-8759
8399			// Since the "set" path can have two possible entry points
8400			// return the expected data based on which path was taken[*]
8401			return value !== undefined ? value : key;
8402		},
8403		remove: function remove(owner, key) {
8404			var i,
8405			    cache = owner[this.expando];
8406
8407			if (cache === undefined) {
8408				return;
8409			}
8410
8411			if (key !== undefined) {
8412
8413				// Support array or space separated string of keys
8414				if (Array.isArray(key)) {
8415
8416					// If key is an array of keys...
8417					// We always set camelCase keys, so remove that.
8418					key = key.map(jQuery.camelCase);
8419				} else {
8420					key = jQuery.camelCase(key);
8421
8422					// If a key with the spaces exists, use it.
8423					// Otherwise, create an array by matching non-whitespace
8424					key = key in cache ? [key] : key.match(rnothtmlwhite) || [];
8425				}
8426
8427				i = key.length;
8428
8429				while (i--) {
8430					delete cache[key[i]];
8431				}
8432			}
8433
8434			// Remove the expando if there's no more data
8435			if (key === undefined || jQuery.isEmptyObject(cache)) {
8436
8437				// Support: Chrome <=35 - 45
8438				// Webkit & Blink performance suffers when deleting properties
8439				// from DOM nodes, so set to undefined instead
8440				// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
8441				if (owner.nodeType) {
8442					owner[this.expando] = undefined;
8443				} else {
8444					delete owner[this.expando];
8445				}
8446			}
8447		},
8448		hasData: function hasData(owner) {
8449			var cache = owner[this.expando];
8450			return cache !== undefined && !jQuery.isEmptyObject(cache);
8451		}
8452	};
8453	var dataPriv = new Data();
8454
8455	var dataUser = new Data();
8456
8457	//	Implementation Summary
8458	//
8459	//	1. Enforce API surface and semantic compatibility with 1.9.x branch
8460	//	2. Improve the module's maintainability by reducing the storage
8461	//		paths to a single mechanism.
8462	//	3. Use the same single mechanism to support "private" and "user" data.
8463	//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
8464	//	5. Avoid exposing implementation details on user objects (eg. expando properties)
8465	//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
8466
8467	var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
8468	    rmultiDash = /[A-Z]/g;
8469
8470	function getData(data) {
8471		if (data === "true") {
8472			return true;
8473		}
8474
8475		if (data === "false") {
8476			return false;
8477		}
8478
8479		if (data === "null") {
8480			return null;
8481		}
8482
8483		// Only convert to a number if it doesn't change the string
8484		if (data === +data + "") {
8485			return +data;
8486		}
8487
8488		if (rbrace.test(data)) {
8489			return JSON.parse(data);
8490		}
8491
8492		return data;
8493	}
8494
8495	function dataAttr(elem, key, data) {
8496		var name;
8497
8498		// If nothing was found internally, try to fetch any
8499		// data from the HTML5 data-* attribute
8500		if (data === undefined && elem.nodeType === 1) {
8501			name = "data-" + key.replace(rmultiDash, "-$&").toLowerCase();
8502			data = elem.getAttribute(name);
8503
8504			if (typeof data === "string") {
8505				try {
8506					data = getData(data);
8507				} catch (e) {}
8508
8509				// Make sure we set the data so it isn't changed later
8510				dataUser.set(elem, key, data);
8511			} else {
8512				data = undefined;
8513			}
8514		}
8515		return data;
8516	}
8517
8518	jQuery.extend({
8519		hasData: function hasData(elem) {
8520			return dataUser.hasData(elem) || dataPriv.hasData(elem);
8521		},
8522
8523		data: function data(elem, name, _data) {
8524			return dataUser.access(elem, name, _data);
8525		},
8526
8527		removeData: function removeData(elem, name) {
8528			dataUser.remove(elem, name);
8529		},
8530
8531		// TODO: Now that all calls to _data and _removeData have been replaced
8532		// with direct calls to dataPriv methods, these can be deprecated.
8533		_data: function _data(elem, name, data) {
8534			return dataPriv.access(elem, name, data);
8535		},
8536
8537		_removeData: function _removeData(elem, name) {
8538			dataPriv.remove(elem, name);
8539		}
8540	});
8541
8542	jQuery.fn.extend({
8543		data: function data(key, value) {
8544			var i,
8545			    name,
8546			    data,
8547			    elem = this[0],
8548			    attrs = elem && elem.attributes;
8549
8550			// Gets all values
8551			if (key === undefined) {
8552				if (this.length) {
8553					data = dataUser.get(elem);
8554
8555					if (elem.nodeType === 1 && !dataPriv.get(elem, "hasDataAttrs")) {
8556						i = attrs.length;
8557						while (i--) {
8558
8559							// Support: IE 11 only
8560							// The attrs elements can be null (#14894)
8561							if (attrs[i]) {
8562								name = attrs[i].name;
8563								if (name.indexOf("data-") === 0) {
8564									name = jQuery.camelCase(name.slice(5));
8565									dataAttr(elem, name, data[name]);
8566								}
8567							}
8568						}
8569						dataPriv.set(elem, "hasDataAttrs", true);
8570					}
8571				}
8572
8573				return data;
8574			}
8575
8576			// Sets multiple values
8577			if ((typeof key === "undefined" ? "undefined" : _typeof(key)) === "object") {
8578				return this.each(function () {
8579					dataUser.set(this, key);
8580				});
8581			}
8582
8583			return access(this, function (value) {
8584				var data;
8585
8586				// The calling jQuery object (element matches) is not empty
8587				// (and therefore has an element appears at this[ 0 ]) and the
8588				// `value` parameter was not undefined. An empty jQuery object
8589				// will result in `undefined` for elem = this[ 0 ] which will
8590				// throw an exception if an attempt to read a data cache is made.
8591				if (elem && value === undefined) {
8592
8593					// Attempt to get data from the cache
8594					// The key will always be camelCased in Data
8595					data = dataUser.get(elem, key);
8596					if (data !== undefined) {
8597						return data;
8598					}
8599
8600					// Attempt to "discover" the data in
8601					// HTML5 custom data-* attrs
8602					data = dataAttr(elem, key);
8603					if (data !== undefined) {
8604						return data;
8605					}
8606
8607					// We tried really hard, but the data doesn't exist.
8608					return;
8609				}
8610
8611				// Set the data...
8612				this.each(function () {
8613
8614					// We always store the camelCased key
8615					dataUser.set(this, key, value);
8616				});
8617			}, null, value, arguments.length > 1, null, true);
8618		},
8619
8620		removeData: function removeData(key) {
8621			return this.each(function () {
8622				dataUser.remove(this, key);
8623			});
8624		}
8625	});
8626
8627	jQuery.extend({
8628		queue: function queue(elem, type, data) {
8629			var queue;
8630
8631			if (elem) {
8632				type = (type || "fx") + "queue";
8633				queue = dataPriv.get(elem, type);
8634
8635				// Speed up dequeue by getting out quickly if this is just a lookup
8636				if (data) {
8637					if (!queue || Array.isArray(data)) {
8638						queue = dataPriv.access(elem, type, jQuery.makeArray(data));
8639					} else {
8640						queue.push(data);
8641					}
8642				}
8643				return queue || [];
8644			}
8645		},
8646
8647		dequeue: function dequeue(elem, type) {
8648			type = type || "fx";
8649
8650			var queue = jQuery.queue(elem, type),
8651			    startLength = queue.length,
8652			    fn = queue.shift(),
8653			    hooks = jQuery._queueHooks(elem, type),
8654			    next = function next() {
8655				jQuery.dequeue(elem, type);
8656			};
8657
8658			// If the fx queue is dequeued, always remove the progress sentinel
8659			if (fn === "inprogress") {
8660				fn = queue.shift();
8661				startLength--;
8662			}
8663
8664			if (fn) {
8665
8666				// Add a progress sentinel to prevent the fx queue from being
8667				// automatically dequeued
8668				if (type === "fx") {
8669					queue.unshift("inprogress");
8670				}
8671
8672				// Clear up the last queue stop function
8673				delete hooks.stop;
8674				fn.call(elem, next, hooks);
8675			}
8676
8677			if (!startLength && hooks) {
8678				hooks.empty.fire();
8679			}
8680		},
8681
8682		// Not public - generate a queueHooks object, or return the current one
8683		_queueHooks: function _queueHooks(elem, type) {
8684			var key = type + "queueHooks";
8685			return dataPriv.get(elem, key) || dataPriv.access(elem, key, {
8686				empty: jQuery.Callbacks("once memory").add(function () {
8687					dataPriv.remove(elem, [type + "queue", key]);
8688				})
8689			});
8690		}
8691	});
8692
8693	jQuery.fn.extend({
8694		queue: function queue(type, data) {
8695			var setter = 2;
8696
8697			if (typeof type !== "string") {
8698				data = type;
8699				type = "fx";
8700				setter--;
8701			}
8702
8703			if (arguments.length < setter) {
8704				return jQuery.queue(this[0], type);
8705			}
8706
8707			return data === undefined ? this : this.each(function () {
8708				var queue = jQuery.queue(this, type, data);
8709
8710				// Ensure a hooks for this queue
8711				jQuery._queueHooks(this, type);
8712
8713				if (type === "fx" && queue[0] !== "inprogress") {
8714					jQuery.dequeue(this, type);
8715				}
8716			});
8717		},
8718		dequeue: function dequeue(type) {
8719			return this.each(function () {
8720				jQuery.dequeue(this, type);
8721			});
8722		},
8723		clearQueue: function clearQueue(type) {
8724			return this.queue(type || "fx", []);
8725		},
8726
8727		// Get a promise resolved when queues of a certain type
8728		// are emptied (fx is the type by default)
8729		promise: function promise(type, obj) {
8730			var tmp,
8731			    count = 1,
8732			    defer = jQuery.Deferred(),
8733			    elements = this,
8734			    i = this.length,
8735			    resolve = function resolve() {
8736				if (! --count) {
8737					defer.resolveWith(elements, [elements]);
8738				}
8739			};
8740
8741			if (typeof type !== "string") {
8742				obj = type;
8743				type = undefined;
8744			}
8745			type = type || "fx";
8746
8747			while (i--) {
8748				tmp = dataPriv.get(elements[i], type + "queueHooks");
8749				if (tmp && tmp.empty) {
8750					count++;
8751					tmp.empty.add(resolve);
8752				}
8753			}
8754			resolve();
8755			return defer.promise(obj);
8756		}
8757	});
8758	var pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source;
8759
vendor: 3,357 bytes, lines 8760-8878
8760	var rcssNum = new RegExp("^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i");
8761
8762	var cssExpand = ["Top", "Right", "Bottom", "Left"];
8763
8764	var isHiddenWithinTree = function isHiddenWithinTree(elem, el) {
8765
8766		// isHiddenWithinTree might be called from jQuery#filter function;
8767		// in that case, element will be second argument
8768		elem = el || elem;
8769
8770		// Inline style trumps all
8771		return elem.style.display === "none" || elem.style.display === "" &&
8772
8773		// Otherwise, check computed style
8774		// Support: Firefox <=43 - 45
8775		// Disconnected elements can have computed display: none, so first confirm that elem is
8776		// in the document.
8777		jQuery.contains(elem.ownerDocument, elem) && jQuery.css(elem, "display") === "none";
8778	};
8779
8780	var swap = function swap(elem, options, callback, args) {
8781		var ret,
8782		    name,
8783		    old = {};
8784
8785		// Remember the old values, and insert the new ones
8786		for (name in options) {
8787			old[name] = elem.style[name];
8788			elem.style[name] = options[name];
8789		}
8790
8791		ret = callback.apply(elem, args || []);
8792
8793		// Revert the old values
8794		for (name in options) {
8795			elem.style[name] = old[name];
8796		}
8797
8798		return ret;
8799	};
8800
8801	function adjustCSS(elem, prop, valueParts, tween) {
8802		var adjusted,
8803		    scale = 1,
8804		    maxIterations = 20,
8805		    currentValue = tween ? function () {
8806			return tween.cur();
8807		} : function () {
8808			return jQuery.css(elem, prop, "");
8809		},
8810		    initial = currentValue(),
8811		    unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? "" : "px"),
8812
8813
8814		// Starting value computation is required for potential unit mismatches
8815		initialInUnit = (jQuery.cssNumber[prop] || unit !== "px" && +initial) && rcssNum.exec(jQuery.css(elem, prop));
8816
8817		if (initialInUnit && initialInUnit[3] !== unit) {
8818
8819			// Trust units reported by jQuery.css
8820			unit = unit || initialInUnit[3];
8821
8822			// Make sure we update the tween properties later on
8823			valueParts = valueParts || [];
8824
8825			// Iteratively approximate from a nonzero starting point
8826			initialInUnit = +initial || 1;
8827
8828			do {
8829
8830				// If previous iteration zeroed out, double until we get *something*.
8831				// Use string for doubling so we don't accidentally see scale as unchanged below
8832				scale = scale || ".5";
8833
8834				// Adjust and apply
8835				initialInUnit = initialInUnit / scale;
8836				jQuery.style(elem, prop, initialInUnit + unit);
8837
8838				// Update scale, tolerating zero or NaN from tween.cur()
8839				// Break the loop if scale is unchanged or perfect, or if we've just had enough.
8840			} while (scale !== (scale = currentValue() / initial) && scale !== 1 && --maxIterations);
8841		}
8842
8843		if (valueParts) {
8844			initialInUnit = +initialInUnit || +initial || 0;
8845
8846			// Apply relative offset (+=/-=) if specified
8847			adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];
8848			if (tween) {
8849				tween.unit = unit;
8850				tween.start = initialInUnit;
8851				tween.end = adjusted;
8852			}
8853		}
8854		return adjusted;
8855	}
8856
8857	var defaultDisplayMap = {};
8858
8859	function getDefaultDisplay(elem) {
8860		var temp,
8861		    doc = elem.ownerDocument,
8862		    nodeName = elem.nodeName,
8863		    display = defaultDisplayMap[nodeName];
8864
8865		if (display) {
8866			return display;
8867		}
8868
8869		temp = doc.body.appendChild(doc.createElement(nodeName));
8870		display = jQuery.css(temp, "display");
8871
8872		temp.parentNode.removeChild(temp);
8873
8874		if (display === "none") {
8875			display = "block";
8876		}
8877		defaultDisplayMap[nodeName] = display;
8878
vendor: 4,584 bytes, lines 8879-9056
8879		return display;
8880	}
8881
8882	function showHide(elements, show) {
8883		var display,
8884		    elem,
8885		    values = [],
8886		    index = 0,
8887		    length = elements.length;
8888
8889		// Determine new display value for elements that need to change
8890		for (; index < length; index++) {
8891			elem = elements[index];
8892			if (!elem.style) {
8893				continue;
8894			}
8895
8896			display = elem.style.display;
8897			if (show) {
8898
8899				// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
8900				// check is required in this first loop unless we have a nonempty display value (either
8901				// inline or about-to-be-restored)
8902				if (display === "none") {
8903					values[index] = dataPriv.get(elem, "display") || null;
8904					if (!values[index]) {
8905						elem.style.display = "";
8906					}
8907				}
8908				if (elem.style.display === "" && isHiddenWithinTree(elem)) {
8909					values[index] = getDefaultDisplay(elem);
8910				}
8911			} else {
8912				if (display !== "none") {
8913					values[index] = "none";
8914
8915					// Remember what we're overwriting
8916					dataPriv.set(elem, "display", display);
8917				}
8918			}
8919		}
8920
8921		// Set the display of the elements in a second loop to avoid constant reflow
8922		for (index = 0; index < length; index++) {
8923			if (values[index] != null) {
8924				elements[index].style.display = values[index];
8925			}
8926		}
8927
8928		return elements;
8929	}
8930
8931	jQuery.fn.extend({
8932		show: function show() {
8933			return showHide(this, true);
8934		},
8935		hide: function hide() {
8936			return showHide(this);
8937		},
8938		toggle: function toggle(state) {
8939			if (typeof state === "boolean") {
8940				return state ? this.show() : this.hide();
8941			}
8942
8943			return this.each(function () {
8944				if (isHiddenWithinTree(this)) {
8945					jQuery(this).show();
8946				} else {
8947					jQuery(this).hide();
8948				}
8949			});
8950		}
8951	});
8952	var rcheckableType = /^(?:checkbox|radio)$/i;
8953
8954	var rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i;
8955
8956	var rscriptType = /^$|\/(?:java|ecma)script/i;
8957
8958	// We have to close these tags to support XHTML (#13200)
8959	var wrapMap = {
8960
8961		// Support: IE <=9 only
8962		option: [1, "<select multiple='multiple'>", "</select>"],
8963
8964		// XHTML parsers do not magically insert elements in the
8965		// same way that tag soup parsers do. So we cannot shorten
8966		// this by omitting <tbody> or other required elements.
8967		thead: [1, "<table>", "</table>"],
8968		col: [2, "<table><colgroup>", "</colgroup></table>"],
8969		tr: [2, "<table><tbody>", "</tbody></table>"],
8970		td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
8971
8972		_default: [0, "", ""]
8973	};
8974
8975	// Support: IE <=9 only
8976	wrapMap.optgroup = wrapMap.option;
8977
8978	wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
8979	wrapMap.th = wrapMap.td;
8980
8981	function getAll(context, tag) {
8982
8983		// Support: IE <=9 - 11 only
8984		// Use typeof to avoid zero-argument method invocation on host objects (#15151)
8985		var ret;
8986
8987		if (typeof context.getElementsByTagName !== "undefined") {
8988			ret = context.getElementsByTagName(tag || "*");
8989		} else if (typeof context.querySelectorAll !== "undefined") {
8990			ret = context.querySelectorAll(tag || "*");
8991		} else {
8992			ret = [];
8993		}
8994
8995		if (tag === undefined || tag && nodeName(context, tag)) {
8996			return jQuery.merge([context], ret);
8997		}
8998
8999		return ret;
9000	}
9001
9002	// Mark scripts as having already been evaluated
9003	function setGlobalEval(elems, refElements) {
9004		var i = 0,
9005		    l = elems.length;
9006
9007		for (; i < l; i++) {
9008			dataPriv.set(elems[i], "globalEval", !refElements || dataPriv.get(refElements[i], "globalEval"));
9009		}
9010	}
9011
9012	var rhtml = /<|&#?\w+;/;
9013
9014	function buildFragment(elems, context, scripts, selection, ignored) {
9015		var elem,
9016		    tmp,
9017		    tag,
9018		    wrap,
9019		    contains,
9020		    j,
9021		    fragment = context.createDocumentFragment(),
9022		    nodes = [],
9023		    i = 0,
9024		    l = elems.length;
9025
9026		for (; i < l; i++) {
9027			elem = elems[i];
9028
9029			if (elem || elem === 0) {
9030
9031				// Add nodes directly
9032				if (jQuery.type(elem) === "object") {
9033
9034					// Support: Android <=4.0 only, PhantomJS 1 only
9035					// push.apply(_, arraylike) throws on ancient WebKit
9036					jQuery.merge(nodes, elem.nodeType ? [elem] : elem);
9037
9038					// Convert non-html into a text node
9039				} else if (!rhtml.test(elem)) {
9040					nodes.push(context.createTextNode(elem));
9041
9042					// Convert html into DOM nodes
9043				} else {
9044					tmp = tmp || fragment.appendChild(context.createElement("div"));
9045
9046					// Deserialize a standard representation
9047					tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase();
9048					wrap = wrapMap[tag] || wrapMap._default;
9049					tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2];
9050
9051					// Descend through wrappers to the right content
9052					j = wrap[0];
9053					while (j--) {
9054						tmp = tmp.lastChild;
9055					}
9056
9057					// Support: Android <=4.0 only, PhantomJS 1 only
9058					// push.apply(_, arraylike) throws on ancient WebKit
9059					jQuery.merge(nodes, tmp.childNodes);
9060
9061					// Remember the top-level container
9062					tmp = fragment.firstChild;
9063
9064					// Ensure the created nodes are orphaned (#12392)
9065					tmp.textContent = "";
9066				}
9067			}
9068		}
9069
9070		// Remove wrapper from fragment
9071		fragment.textContent = "";
9072
9073		i = 0;
9074		while (elem = nodes[i++]) {
9075
9076			// Skip elements already in the context collection (trac-4087)
9077			if (selection && jQuery.inArray(elem, selection) > -1) {
9078				if (ignored) {
9079					ignored.push(elem);
9080				}
9081				continue;
9082			}
9083
9084			contains = jQuery.contains(elem.ownerDocument, elem);
9085
9086			// Append to fragment
9087			tmp = getAll(fragment.appendChild(elem), "script");
9088
9089			// Preserve script evaluation history
9090			if (contains) {
9091				setGlobalEval(tmp);
9092			}
9093
9094			// Capture executables
9095			if (scripts) {
9096				j = 0;
9097				while (elem = tmp[j++]) {
9098					if (rscriptType.test(elem.type || "")) {
9099						scripts.push(elem);
9100					}
9101				}
9102			}
9103		}
9104
9105		return fragment;
9106	}
9107
9108	(function () {
9109		var fragment = document.createDocumentFragment(),
9110		    div = fragment.appendChild(document.createElement("div")),
9111		    input = document.createElement("input");
9112
9113		// Support: Android 4.0 - 4.3 only
9114		// Check state lost if the name is set (#11217)
9115		// Support: Windows Web Apps (WWA)
9116		// `name` and `type` must use .setAttribute for WWA (#14901)
9117		input.setAttribute("type", "radio");
9118		input.setAttribute("checked", "checked");
9119		input.setAttribute("name", "t");
9120
9121		div.appendChild(input);
9122
9123		// Support: Android <=4.1 only
vendor: 10,460 bytes, lines 9124-9497
9124		// Older WebKit doesn't clone checked state correctly in fragments
9125		support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked;
9126
9127		// Support: IE <=11 only
9128		// Make sure textarea (and checkbox) defaultValue is properly cloned
9129		div.innerHTML = "<textarea>x</textarea>";
9130		support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue;
9131	})();
9132	var documentElement = document.documentElement;
9133
9134	var rkeyEvent = /^key/,
9135	    rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
9136	    rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
9137
9138	function returnTrue() {
9139		return true;
9140	}
9141
9142	function returnFalse() {
9143		return false;
9144	}
9145
9146	// Support: IE <=9 only
9147	// See #13393 for more info
9148	function safeActiveElement() {
9149		try {
9150			return document.activeElement;
9151		} catch (err) {}
9152	}
9153
9154	function _on(elem, types, selector, data, fn, one) {
9155		var origFn, type;
9156
9157		// Types can be a map of types/handlers
9158		if ((typeof types === "undefined" ? "undefined" : _typeof(types)) === "object") {
9159
9160			// ( types-Object, selector, data )
9161			if (typeof selector !== "string") {
9162
9163				// ( types-Object, data )
9164				data = data || selector;
9165				selector = undefined;
9166			}
9167			for (type in types) {
9168				_on(elem, type, selector, data, types[type], one);
9169			}
9170			return elem;
9171		}
9172
9173		if (data == null && fn == null) {
9174
9175			// ( types, fn )
9176			fn = selector;
9177			data = selector = undefined;
9178		} else if (fn == null) {
9179			if (typeof selector === "string") {
9180
9181				// ( types, selector, fn )
9182				fn = data;
9183				data = undefined;
9184			} else {
9185
9186				// ( types, data, fn )
9187				fn = data;
9188				data = selector;
9189				selector = undefined;
9190			}
9191		}
9192		if (fn === false) {
9193			fn = returnFalse;
9194		} else if (!fn) {
9195			return elem;
9196		}
9197
9198		if (one === 1) {
9199			origFn = fn;
9200			fn = function fn(event) {
9201
9202				// Can use an empty set, since event contains the info
9203				jQuery().off(event);
9204				return origFn.apply(this, arguments);
9205			};
9206
9207			// Use same guid so caller can remove using origFn
9208			fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);
9209		}
9210		return elem.each(function () {
9211			jQuery.event.add(this, types, fn, data, selector);
9212		});
9213	}
9214
9215	/*
9216  * Helper functions for managing events -- not part of the public interface.
9217  * Props to Dean Edwards' addEvent library for many of the ideas.
9218  */
9219	jQuery.event = {
9220
9221		global: {},
9222
9223		add: function add(elem, types, handler, data, selector) {
9224
9225			var handleObjIn,
9226			    eventHandle,
9227			    tmp,
9228			    events,
9229			    t,
9230			    handleObj,
9231			    special,
9232			    handlers,
9233			    type,
9234			    namespaces,
9235			    origType,
9236			    elemData = dataPriv.get(elem);
9237
9238			// Don't attach events to noData or text/comment nodes (but allow plain objects)
9239			if (!elemData) {
9240				return;
9241			}
9242
9243			// Caller can pass in an object of custom data in lieu of the handler
9244			if (handler.handler) {
9245				handleObjIn = handler;
9246				handler = handleObjIn.handler;
9247				selector = handleObjIn.selector;
9248			}
9249
9250			// Ensure that invalid selectors throw exceptions at attach time
9251			// Evaluate against documentElement in case elem is a non-element node (e.g., document)
9252			if (selector) {
9253				jQuery.find.matchesSelector(documentElement, selector);
9254			}
9255
9256			// Make sure that the handler has a unique ID, used to find/remove it later
9257			if (!handler.guid) {
9258				handler.guid = jQuery.guid++;
9259			}
9260
9261			// Init the element's event structure and main handler, if this is the first
9262			if (!(events = elemData.events)) {
9263				events = elemData.events = {};
9264			}
9265			if (!(eventHandle = elemData.handle)) {
9266				eventHandle = elemData.handle = function (e) {
9267
9268					// Discard the second event of a jQuery.event.trigger() and
9269					// when an event is called after a page has unloaded
9270					return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;
9271				};
9272			}
9273
9274			// Handle multiple events separated by a space
9275			types = (types || "").match(rnothtmlwhite) || [""];
9276			t = types.length;
9277			while (t--) {
9278				tmp = rtypenamespace.exec(types[t]) || [];
9279				type = origType = tmp[1];
9280				namespaces = (tmp[2] || "").split(".").sort();
9281
9282				// There *must* be a type, no attaching namespace-only handlers
9283				if (!type) {
9284					continue;
9285				}
9286
9287				// If event changes its type, use the special event handlers for the changed type
9288				special = jQuery.event.special[type] || {};
9289
9290				// If selector defined, determine special event api type, otherwise given type
9291				type = (selector ? special.delegateType : special.bindType) || type;
9292
9293				// Update special based on newly reset type
9294				special = jQuery.event.special[type] || {};
9295
9296				// handleObj is passed to all event handlers
9297				handleObj = jQuery.extend({
9298					type: type,
9299					origType: origType,
9300					data: data,
9301					handler: handler,
9302					guid: handler.guid,
9303					selector: selector,
9304					needsContext: selector && jQuery.expr.match.needsContext.test(selector),
9305					namespace: namespaces.join(".")
9306				}, handleObjIn);
9307
9308				// Init the event handler queue if we're the first
9309				if (!(handlers = events[type])) {
9310					handlers = events[type] = [];
9311					handlers.delegateCount = 0;
9312
9313					// Only use addEventListener if the special events handler returns false
9314					if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {
9315
9316						if (elem.addEventListener) {
9317							elem.addEventListener(type, eventHandle);
9318						}
9319					}
9320				}
9321
9322				if (special.add) {
9323					special.add.call(elem, handleObj);
9324
9325					if (!handleObj.handler.guid) {
9326						handleObj.handler.guid = handler.guid;
9327					}
9328				}
9329
9330				// Add to the element's handler list, delegates in front
9331				if (selector) {
9332					handlers.splice(handlers.delegateCount++, 0, handleObj);
9333				} else {
9334					handlers.push(handleObj);
9335				}
9336
9337				// Keep track of which events have ever been used, for event optimization
9338				jQuery.event.global[type] = true;
9339			}
9340		},
9341
9342		// Detach an event or set of events from an element
9343		remove: function remove(elem, types, handler, selector, mappedTypes) {
9344
9345			var j,
9346			    origCount,
9347			    tmp,
9348			    events,
9349			    t,
9350			    handleObj,
9351			    special,
9352			    handlers,
9353			    type,
9354			    namespaces,
9355			    origType,
9356			    elemData = dataPriv.hasData(elem) && dataPriv.get(elem);
9357
9358			if (!elemData || !(events = elemData.events)) {
9359				return;
9360			}
9361
9362			// Once for each type.namespace in types; type may be omitted
9363			types = (types || "").match(rnothtmlwhite) || [""];
9364			t = types.length;
9365			while (t--) {
9366				tmp = rtypenamespace.exec(types[t]) || [];
9367				type = origType = tmp[1];
9368				namespaces = (tmp[2] || "").split(".").sort();
9369
9370				// Unbind all events (on this namespace, if provided) for the element
9371				if (!type) {
9372					for (type in events) {
9373						jQuery.event.remove(elem, type + types[t], handler, selector, true);
9374					}
9375					continue;
9376				}
9377
9378				special = jQuery.event.special[type] || {};
9379				type = (selector ? special.delegateType : special.bindType) || type;
9380				handlers = events[type] || [];
9381				tmp = tmp[2] && new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)");
9382
9383				// Remove matching events
9384				origCount = j = handlers.length;
9385				while (j--) {
9386					handleObj = handlers[j];
9387
9388					if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === "**" && handleObj.selector)) {
9389						handlers.splice(j, 1);
9390
9391						if (handleObj.selector) {
9392							handlers.delegateCount--;
9393						}
9394						if (special.remove) {
9395							special.remove.call(elem, handleObj);
9396						}
9397					}
9398				}
9399
9400				// Remove generic event handler if we removed something and no more handlers exist
9401				// (avoids potential for endless recursion during removal of special event handlers)
9402				if (origCount && !handlers.length) {
9403					if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {
9404
9405						jQuery.removeEvent(elem, type, elemData.handle);
9406					}
9407
9408					delete events[type];
9409				}
9410			}
9411
9412			// Remove data and the expando if it's no longer used
9413			if (jQuery.isEmptyObject(events)) {
9414				dataPriv.remove(elem, "handle events");
9415			}
9416		},
9417
9418		dispatch: function dispatch(nativeEvent) {
9419
9420			// Make a writable jQuery.Event from the native event object
9421			var event = jQuery.event.fix(nativeEvent);
9422
9423			var i,
9424			    j,
9425			    ret,
9426			    matched,
9427			    handleObj,
9428			    handlerQueue,
9429			    args = new Array(arguments.length),
9430			    handlers = (dataPriv.get(this, "events") || {})[event.type] || [],
9431			    special = jQuery.event.special[event.type] || {};
9432
9433			// Use the fix-ed jQuery.Event rather than the (read-only) native event
9434			args[0] = event;
9435
9436			for (i = 1; i < arguments.length; i++) {
9437				args[i] = arguments[i];
9438			}
9439
9440			event.delegateTarget = this;
9441
9442			// Call the preDispatch hook for the mapped type, and let it bail if desired
9443			if (special.preDispatch && special.preDispatch.call(this, event) === false) {
9444				return;
9445			}
9446
9447			// Determine handlers
9448			handlerQueue = jQuery.event.handlers.call(this, event, handlers);
9449
9450			// Run delegates first; they may want to stop propagation beneath us
9451			i = 0;
9452			while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {
9453				event.currentTarget = matched.elem;
9454
9455				j = 0;
9456				while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {
9457
9458					// Triggered event must either 1) have no namespace, or 2) have namespace(s)
9459					// a subset or equal to those in the bound event (both can have no namespace).
9460					if (!event.rnamespace || event.rnamespace.test(handleObj.namespace)) {
9461
9462						event.handleObj = handleObj;
9463						event.data = handleObj.data;
9464
9465						ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);
9466
9467						if (ret !== undefined) {
9468							if ((event.result = ret) === false) {
9469								event.preventDefault();
9470								event.stopPropagation();
9471							}
9472						}
9473					}
9474				}
9475			}
9476
9477			// Call the postDispatch hook for the mapped type
9478			if (special.postDispatch) {
9479				special.postDispatch.call(this, event);
9480			}
9481
9482			return event.result;
9483		},
9484
9485		handlers: function handlers(event, _handlers) {
9486			var i,
9487			    handleObj,
9488			    sel,
9489			    matchedHandlers,
9490			    matchedSelectors,
9491			    handlerQueue = [],
9492			    delegateCount = _handlers.delegateCount,
9493			    cur = event.target;
9494
9495			// Find delegate handlers
9496			if (delegateCount &&
9497
vendor: 4,294 bytes, lines 9498-9653
9498			// Support: IE <=9
9499			// Black-hole SVG <use> instance trees (trac-13180)
9500			cur.nodeType &&
9501
9502			// Support: Firefox <=42
9503			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
9504			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
9505			// Support: IE 11 only
9506			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
9507			!(event.type === "click" && event.button >= 1)) {
9508
9509				for (; cur !== this; cur = cur.parentNode || this) {
9510
9511					// Don't check non-elements (#13208)
9512					// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
9513					if (cur.nodeType === 1 && !(event.type === "click" && cur.disabled === true)) {
9514						matchedHandlers = [];
9515						matchedSelectors = {};
9516						for (i = 0; i < delegateCount; i++) {
9517							handleObj = _handlers[i];
9518
9519							// Don't conflict with Object.prototype properties (#13203)
9520							sel = handleObj.selector + " ";
9521
9522							if (matchedSelectors[sel] === undefined) {
9523								matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;
9524							}
9525							if (matchedSelectors[sel]) {
9526								matchedHandlers.push(handleObj);
9527							}
9528						}
9529						if (matchedHandlers.length) {
9530							handlerQueue.push({ elem: cur, handlers: matchedHandlers });
9531						}
9532					}
9533				}
9534			}
9535
9536			// Add the remaining (directly-bound) handlers
9537			cur = this;
9538			if (delegateCount < _handlers.length) {
9539				handlerQueue.push({ elem: cur, handlers: _handlers.slice(delegateCount) });
9540			}
9541
9542			return handlerQueue;
9543		},
9544
9545		addProp: function addProp(name, hook) {
9546			Object.defineProperty(jQuery.Event.prototype, name, {
9547				enumerable: true,
9548				configurable: true,
9549
9550				get: jQuery.isFunction(hook) ? function () {
9551					if (this.originalEvent) {
9552						return hook(this.originalEvent);
9553					}
9554				} : function () {
9555					if (this.originalEvent) {
9556						return this.originalEvent[name];
9557					}
9558				},
9559
9560				set: function set(value) {
9561					Object.defineProperty(this, name, {
9562						enumerable: true,
9563						configurable: true,
9564						writable: true,
9565						value: value
9566					});
9567				}
9568			});
9569		},
9570
9571		fix: function fix(originalEvent) {
9572			return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);
9573		},
9574
9575		special: {
9576			load: {
9577
9578				// Prevent triggered image.load events from bubbling to window.load
9579				noBubble: true
9580			},
9581			focus: {
9582
9583				// Fire native event if possible so blur/focus sequence is correct
9584				trigger: function trigger() {
9585					if (this !== safeActiveElement() && this.focus) {
9586						this.focus();
9587						return false;
9588					}
9589				},
9590				delegateType: "focusin"
9591			},
9592			blur: {
9593				trigger: function trigger() {
9594					if (this === safeActiveElement() && this.blur) {
9595						this.blur();
9596						return false;
9597					}
9598				},
9599				delegateType: "focusout"
9600			},
9601			click: {
9602
9603				// For checkbox, fire native event so checked state will be right
9604				trigger: function trigger() {
9605					if (this.type === "checkbox" && this.click && nodeName(this, "input")) {
9606						this.click();
9607						return false;
9608					}
9609				},
9610
9611				// For cross-browser consistency, don't fire native .click() on links
9612				_default: function _default(event) {
9613					return nodeName(event.target, "a");
9614				}
9615			},
9616
9617			beforeunload: {
9618				postDispatch: function postDispatch(event) {
9619
9620					// Support: Firefox 20+
9621					// Firefox doesn't alert if the returnValue field is not set.
9622					if (event.result !== undefined && event.originalEvent) {
9623						event.originalEvent.returnValue = event.result;
9624					}
9625				}
9626			}
9627		}
9628	};
9629
9630	jQuery.removeEvent = function (elem, type, handle) {
9631
9632		// This "if" is needed for plain objects
9633		if (elem.removeEventListener) {
9634			elem.removeEventListener(type, handle);
9635		}
9636	};
9637
9638	jQuery.Event = function (src, props) {
9639
9640		// Allow instantiation without the 'new' keyword
9641		if (!(this instanceof jQuery.Event)) {
9642			return new jQuery.Event(src, props);
9643		}
9644
9645		// Event object
9646		if (src && src.type) {
9647			this.originalEvent = src;
9648			this.type = src.type;
9649
9650			// Events bubbling up the document may have been marked as prevented
9651			// by a handler lower down the tree; reflect the correct value.
9652			this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined &&
9653
9654			// Support: Android <=2.3 only
9655			src.returnValue === false ? returnTrue : returnFalse;
9656
9657			// Create target properties
9658			// Support: Safari <=6 - 7 only
9659			// Target should not be a text node (#504, #13143)
9660			this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;
9661
9662			this.currentTarget = src.currentTarget;
9663			this.relatedTarget = src.relatedTarget;
9664
9665			// Event type
9666		} else {
9667			this.type = src;
9668		}
9669
9670		// Put explicitly provided properties onto the event object
9671		if (props) {
9672			jQuery.extend(this, props);
9673		}
9674
9675		// Create a timestamp if incoming event doesn't have one
9676		this.timeStamp = src && src.timeStamp || jQuery.now();
9677
9678		// Mark it as fixed
9679		this[jQuery.expando] = true;
9680	};
9681
9682	// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
9683	// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
9684	jQuery.Event.prototype = {
9685		constructor: jQuery.Event,
9686		isDefaultPrevented: returnFalse,
9687		isPropagationStopped: returnFalse,
9688		isImmediatePropagationStopped: returnFalse,
9689		isSimulated: false,
9690
9691		preventDefault: function preventDefault() {
9692			var e = this.originalEvent;
9693
9694			this.isDefaultPrevented = returnTrue;
9695
9696			if (e && !this.isSimulated) {
9697				e.preventDefault();
9698			}
9699		},
9700		stopPropagation: function stopPropagation() {
9701			var e = this.originalEvent;
9702
9703			this.isPropagationStopped = returnTrue;
9704
9705			if (e && !this.isSimulated) {
9706				e.stopPropagation();
9707			}
9708		},
9709		stopImmediatePropagation: function stopImmediatePropagation() {
9710			var e = this.originalEvent;
9711
9712			this.isImmediatePropagationStopped = returnTrue;
9713
9714			if (e && !this.isSimulated) {
9715				e.stopImmediatePropagation();
9716			}
9717
9718			this.stopPropagation();
9719		}
9720	};
9721
9722	// Includes all common event props including KeyEvent and MouseEvent specific props
9723	jQuery.each({
9724		altKey: true,
9725		bubbles: true,
9726		cancelable: true,
9727		changedTouches: true,
9728		ctrlKey: true,
9729		detail: true,
9730		eventPhase: true,
9731		metaKey: true,
9732		pageX: true,
9733		pageY: true,
9734		shiftKey: true,
9735		view: true,
9736		"char": true,
9737		charCode: true,
9738		key: true,
9739		keyCode: true,
9740		button: true,
9741		buttons: true,
9742		clientX: true,
9743		clientY: true,
9744		offsetX: true,
9745		offsetY: true,
9746		pointerId: true,
9747		pointerType: true,
9748		screenX: true,
9749		screenY: true,
9750		targetTouches: true,
9751		toElement: true,
9752		touches: true,
9753
9754		which: function which(event) {
9755			var button = event.button;
9756
9757			// Add which for key events
9758			if (event.which == null && rkeyEvent.test(event.type)) {
9759				return event.charCode != null ? event.charCode : event.keyCode;
9760			}
9761
9762			// Add which for click: 1 === left; 2 === middle; 3 === right
9763			if (!event.which && button !== undefined && rmouseEvent.test(event.type)) {
9764				if (button & 1) {
9765					return 1;
9766				}
9767
9768				if (button & 2) {
9769					return 3;
9770				}
9771
9772				if (button & 4) {
9773					return 2;
9774				}
9775
9776				return 0;
9777			}
9778
9779			return event.which;
9780		}
9781	}, jQuery.event.addProp);
9782
9783	// Create mouseenter/leave events using mouseover/out and event-time checks
9784	// so that event delegation works in jQuery.
9785	// Do the same for pointerenter/pointerleave and pointerover/pointerout
9786	//
9787	// Support: Safari 7 only
9788	// Safari sends mouseenter too often; see:
9789	// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
9790	// for the description of the bug (it existed in older Chrome versions as well).
9791	jQuery.each({
9792		mouseenter: "mouseover",
9793		mouseleave: "mouseout",
9794		pointerenter: "pointerover",
9795		pointerleave: "pointerout"
9796	}, function (orig, fix) {
9797		jQuery.event.special[orig] = {
9798			delegateType: fix,
9799			bindType: fix,
9800
9801			handle: function handle(event) {
9802				var ret,
9803				    target = this,
9804				    related = event.relatedTarget,
9805				    handleObj = event.handleObj;
9806
9807				// For mouseenter/leave call the handler if related is outside the target.
9808				// NB: No relatedTarget if the mouse left/entered the browser window
9809				if (!related || related !== target && !jQuery.contains(target, related)) {
9810					event.type = handleObj.origType;
9811					ret = handleObj.handler.apply(this, arguments);
9812					event.type = fix;
9813				}
9814				return ret;
9815			}
9816		};
9817	});
9818
9819	jQuery.fn.extend({
9820
9821		on: function on(types, selector, data, fn) {
9822			return _on(this, types, selector, data, fn);
9823		},
9824		one: function one(types, selector, data, fn) {
9825			return _on(this, types, selector, data, fn, 1);
9826		},
9827		off: function off(types, selector, fn) {
9828			var handleObj, type;
9829			if (types && types.preventDefault && types.handleObj) {
9830
9831				// ( event )  dispatched jQuery.Event
9832				handleObj = types.handleObj;
9833				jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);
9834				return this;
9835			}
9836			if ((typeof types === "undefined" ? "undefined" : _typeof(types)) === "object") {
9837
9838				// ( types-object [, selector] )
9839				for (type in types) {
9840					this.off(type, selector, types[type]);
9841				}
9842				return this;
9843			}
9844			if (selector === false || typeof selector === "function") {
9845
9846				// ( types [, fn] )
9847				fn = selector;
9848				selector = undefined;
9849			}
9850			if (fn === false) {
9851				fn = returnFalse;
9852			}
9853			return this.each(function () {
9854				jQuery.event.remove(this, types, fn, selector);
9855			});
9856		}
9857	});
9858
9859	var
9860
9861	/* eslint-disable max-len */
9862
9863	// See https://github.com/eslint/eslint/issues/3229
9864	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
9865
9866
9867	/* eslint-enable */
9868
9869	// Support: IE <=10 - 11, Edge 12 - 13
9870	// In IE/Edge using regex groups here causes severe slowdowns.
9871	// See https://connect.microsoft.com/IE/feedback/details/1736512/
9872	rnoInnerhtml = /<script|<style|<link/i,
9873
9874
9875	// checked="checked" or checked
9876	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
9877	    rscriptTypeMasked = /^true\/(.*)/,
9878	    rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
9879
9880	// Prefer a tbody over its parent table for containing new rows
9881	function manipulationTarget(elem, content) {
9882		if (nodeName(elem, "table") && nodeName(content.nodeType !== 11 ? content : content.firstChild, "tr")) {
9883
9884			return jQuery(">tbody", elem)[0] || elem;
9885		}
9886
9887		return elem;
9888	}
9889
9890	// Replace/restore the type attribute of script elements for safe DOM manipulation
9891	function disableScript(elem) {
9892		elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;
9893		return elem;
9894	}
9895	function restoreScript(elem) {
9896		var match = rscriptTypeMasked.exec(elem.type);
9897
9898		if (match) {
9899			elem.type = match[1];
9900		} else {
9901			elem.removeAttribute("type");
9902		}
9903
9904		return elem;
9905	}
9906
9907	function cloneCopyEvent(src, dest) {
9908		var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
9909
9910		if (dest.nodeType !== 1) {
9911			return;
9912		}
9913
9914		// 1. Copy private data: events, handlers, etc.
9915		if (dataPriv.hasData(src)) {
9916			pdataOld = dataPriv.access(src);
9917			pdataCur = dataPriv.set(dest, pdataOld);
9918			events = pdataOld.events;
9919
9920			if (events) {
9921				delete pdataCur.handle;
9922				pdataCur.events = {};
9923
9924				for (type in events) {
9925					for (i = 0, l = events[type].length; i < l; i++) {
9926						jQuery.event.add(dest, type, events[type][i]);
9927					}
9928				}
9929			}
9930		}
9931
9932		// 2. Copy user data
9933		if (dataUser.hasData(src)) {
9934			udataOld = dataUser.access(src);
9935			udataCur = jQuery.extend({}, udataOld);
9936
9937			dataUser.set(dest, udataCur);
9938		}
9939	}
9940
9941	// Fix IE bugs, see support tests
vendor: 4,113 bytes, lines 9942-10087
9942	function fixInput(src, dest) {
9943		var nodeName = dest.nodeName.toLowerCase();
9944
9945		// Fails to persist the checked state of a cloned checkbox or radio button.
9946		if (nodeName === "input" && rcheckableType.test(src.type)) {
9947			dest.checked = src.checked;
9948
9949			// Fails to return the selected option to the default selected state when cloning options
9950		} else if (nodeName === "input" || nodeName === "textarea") {
9951			dest.defaultValue = src.defaultValue;
9952		}
9953	}
9954
9955	function domManip(collection, args, callback, ignored) {
9956
9957		// Flatten any nested arrays
9958		args = concat.apply([], args);
9959
9960		var fragment,
9961		    first,
9962		    scripts,
9963		    hasScripts,
9964		    node,
9965		    doc,
9966		    i = 0,
9967		    l = collection.length,
9968		    iNoClone = l - 1,
9969		    value = args[0],
9970		    isFunction = jQuery.isFunction(value);
9971
9972		// We can't cloneNode fragments that contain checked, in WebKit
9973		if (isFunction || l > 1 && typeof value === "string" && !support.checkClone && rchecked.test(value)) {
9974			return collection.each(function (index) {
9975				var self = collection.eq(index);
9976				if (isFunction) {
9977					args[0] = value.call(this, index, self.html());
9978				}
9979				domManip(self, args, callback, ignored);
9980			});
9981		}
9982
9983		if (l) {
9984			fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);
9985			first = fragment.firstChild;
9986
9987			if (fragment.childNodes.length === 1) {
9988				fragment = first;
9989			}
9990
9991			// Require either new content or an interest in ignored elements to invoke the callback
9992			if (first || ignored) {
9993				scripts = jQuery.map(getAll(fragment, "script"), disableScript);
9994				hasScripts = scripts.length;
9995
9996				// Use the original fragment for the last item
9997				// instead of the first because it can end up
9998				// being emptied incorrectly in certain situations (#8070).
9999				for (; i < l; i++) {
10000					node = fragment;
10001
10002					if (i !== iNoClone) {
10003						node = jQuery.clone(node, true, true);
10004
10005						// Keep references to cloned scripts for later restoration
10006						if (hasScripts) {
10007
10008							// Support: Android <=4.0 only, PhantomJS 1 only
10009							// push.apply(_, arraylike) throws on ancient WebKit
10010							jQuery.merge(scripts, getAll(node, "script"));
10011						}
10012					}
10013
10014					callback.call(collection[i], node, i);
10015				}
10016
10017				if (hasScripts) {
10018					doc = scripts[scripts.length - 1].ownerDocument;
10019
10020					// Reenable scripts
10021					jQuery.map(scripts, restoreScript);
10022
10023					// Evaluate executable scripts on first document insertion
10024					for (i = 0; i < hasScripts; i++) {
10025						node = scripts[i];
10026						if (rscriptType.test(node.type || "") && !dataPriv.access(node, "globalEval") && jQuery.contains(doc, node)) {
10027
10028							if (node.src) {
10029
10030								// Optional AJAX dependency, but won't run scripts if not present
10031								if (jQuery._evalUrl) {
10032									jQuery._evalUrl(node.src);
10033								}
10034							} else {
10035								DOMEval(node.textContent.replace(rcleanScript, ""), doc);
10036							}
10037						}
10038					}
10039				}
10040			}
10041		}
10042
10043		return collection;
10044	}
10045
10046	function _remove(elem, selector, keepData) {
10047		var node,
10048		    nodes = selector ? jQuery.filter(selector, elem) : elem,
10049		    i = 0;
10050
10051		for (; (node = nodes[i]) != null; i++) {
10052			if (!keepData && node.nodeType === 1) {
10053				jQuery.cleanData(getAll(node));
10054			}
10055
10056			if (node.parentNode) {
10057				if (keepData && jQuery.contains(node.ownerDocument, node)) {
10058					setGlobalEval(getAll(node, "script"));
10059				}
10060				node.parentNode.removeChild(node);
10061			}
10062		}
10063
10064		return elem;
10065	}
10066
10067	jQuery.extend({
10068		htmlPrefilter: function htmlPrefilter(html) {
10069			return html.replace(rxhtmlTag, "<$1></$2>");
10070		},
10071
10072		clone: function clone(elem, dataAndEvents, deepDataAndEvents) {
10073			var i,
10074			    l,
10075			    srcElements,
10076			    destElements,
10077			    clone = elem.cloneNode(true),
10078			    inPage = jQuery.contains(elem.ownerDocument, elem);
10079
10080			// Fix IE cloning issues
10081			if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {
10082
10083				// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
10084				destElements = getAll(clone);
10085				srcElements = getAll(elem);
10086
10087				for (i = 0, l = srcElements.length; i < l; i++) {
vendor: 5,078 bytes, lines 10088-10291
10088					fixInput(srcElements[i], destElements[i]);
10089				}
10090			}
10091
10092			// Copy the events from the original to the clone
10093			if (dataAndEvents) {
10094				if (deepDataAndEvents) {
10095					srcElements = srcElements || getAll(elem);
10096					destElements = destElements || getAll(clone);
10097
10098					for (i = 0, l = srcElements.length; i < l; i++) {
10099						cloneCopyEvent(srcElements[i], destElements[i]);
10100					}
10101				} else {
10102					cloneCopyEvent(elem, clone);
10103				}
10104			}
10105
10106			// Preserve script evaluation history
10107			destElements = getAll(clone, "script");
10108			if (destElements.length > 0) {
10109				setGlobalEval(destElements, !inPage && getAll(elem, "script"));
10110			}
10111
10112			// Return the cloned set
10113			return clone;
10114		},
10115
10116		cleanData: function cleanData(elems) {
10117			var data,
10118			    elem,
10119			    type,
10120			    special = jQuery.event.special,
10121			    i = 0;
10122
10123			for (; (elem = elems[i]) !== undefined; i++) {
10124				if (acceptData(elem)) {
10125					if (data = elem[dataPriv.expando]) {
10126						if (data.events) {
10127							for (type in data.events) {
10128								if (special[type]) {
10129									jQuery.event.remove(elem, type);
10130
10131									// This is a shortcut to avoid jQuery.event.remove's overhead
10132								} else {
10133									jQuery.removeEvent(elem, type, data.handle);
10134								}
10135							}
10136						}
10137
10138						// Support: Chrome <=35 - 45+
10139						// Assign undefined instead of using delete, see Data#remove
10140						elem[dataPriv.expando] = undefined;
10141					}
10142					if (elem[dataUser.expando]) {
10143
10144						// Support: Chrome <=35 - 45+
10145						// Assign undefined instead of using delete, see Data#remove
10146						elem[dataUser.expando] = undefined;
10147					}
10148				}
10149			}
10150		}
10151	});
10152
10153	jQuery.fn.extend({
10154		detach: function detach(selector) {
10155			return _remove(this, selector, true);
10156		},
10157
10158		remove: function remove(selector) {
10159			return _remove(this, selector);
10160		},
10161
10162		text: function text(value) {
10163			return access(this, function (value) {
10164				return value === undefined ? jQuery.text(this) : this.empty().each(function () {
10165					if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
10166						this.textContent = value;
10167					}
10168				});
10169			}, null, value, arguments.length);
10170		},
10171
10172		append: function append() {
10173			return domManip(this, arguments, function (elem) {
10174				if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
10175					var target = manipulationTarget(this, elem);
10176					target.appendChild(elem);
10177				}
10178			});
10179		},
10180
10181		prepend: function prepend() {
10182			return domManip(this, arguments, function (elem) {
10183				if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
10184					var target = manipulationTarget(this, elem);
10185					target.insertBefore(elem, target.firstChild);
10186				}
10187			});
10188		},
10189
10190		before: function before() {
10191			return domManip(this, arguments, function (elem) {
10192				if (this.parentNode) {
10193					this.parentNode.insertBefore(elem, this);
10194				}
10195			});
10196		},
10197
10198		after: function after() {
10199			return domManip(this, arguments, function (elem) {
10200				if (this.parentNode) {
10201					this.parentNode.insertBefore(elem, this.nextSibling);
10202				}
10203			});
10204		},
10205
10206		empty: function empty() {
10207			var elem,
10208			    i = 0;
10209
10210			for (; (elem = this[i]) != null; i++) {
10211				if (elem.nodeType === 1) {
10212
10213					// Prevent memory leaks
10214					jQuery.cleanData(getAll(elem, false));
10215
10216					// Remove any remaining nodes
10217					elem.textContent = "";
10218				}
10219			}
10220
10221			return this;
10222		},
10223
10224		clone: function clone(dataAndEvents, deepDataAndEvents) {
10225			dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
10226			deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
10227
10228			return this.map(function () {
10229				return jQuery.clone(this, dataAndEvents, deepDataAndEvents);
10230			});
10231		},
10232
10233		html: function html(value) {
10234			return access(this, function (value) {
10235				var elem = this[0] || {},
10236				    i = 0,
10237				    l = this.length;
10238
10239				if (value === undefined && elem.nodeType === 1) {
10240					return elem.innerHTML;
10241				}
10242
10243				// See if we can take a shortcut and just use innerHTML
10244				if (typeof value === "string" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) {
10245
10246					value = jQuery.htmlPrefilter(value);
10247
10248					try {
10249						for (; i < l; i++) {
10250							elem = this[i] || {};
10251
10252							// Remove element nodes and prevent memory leaks
10253							if (elem.nodeType === 1) {
10254								jQuery.cleanData(getAll(elem, false));
10255								elem.innerHTML = value;
10256							}
10257						}
10258
10259						elem = 0;
10260
10261						// If using innerHTML throws an exception, use the fallback method
10262					} catch (e) {}
10263				}
10264
10265				if (elem) {
10266					this.empty().append(value);
10267				}
10268			}, null, value, arguments.length);
10269		},
10270
10271		replaceWith: function replaceWith() {
10272			var ignored = [];
10273
10274			// Make the changes, replacing each non-ignored context element with the new content
10275			return domManip(this, arguments, function (elem) {
10276				var parent = this.parentNode;
10277
10278				if (jQuery.inArray(this, ignored) < 0) {
10279					jQuery.cleanData(getAll(this));
10280					if (parent) {
10281						parent.replaceChild(elem, this);
10282					}
10283				}
10284
10285				// Force callback invocation
10286			}, ignored);
10287		}
10288	});
10289
10290	jQuery.each({
10291		appendTo: "append",
vendor: 4,844 bytes, lines 10292-10458
10292		prependTo: "prepend",
10293		insertBefore: "before",
10294		insertAfter: "after",
10295		replaceAll: "replaceWith"
10296	}, function (name, original) {
10297		jQuery.fn[name] = function (selector) {
10298			var elems,
10299			    ret = [],
10300			    insert = jQuery(selector),
10301			    last = insert.length - 1,
10302			    i = 0;
10303
10304			for (; i <= last; i++) {
10305				elems = i === last ? this : this.clone(true);
10306				jQuery(insert[i])[original](elems);
10307
10308				// Support: Android <=4.0 only, PhantomJS 1 only
10309				// .get() because push.apply(_, arraylike) throws on ancient WebKit
10310				push.apply(ret, elems.get());
10311			}
10312
10313			return this.pushStack(ret);
10314		};
10315	});
10316	var rmargin = /^margin/;
10317
10318	var rnumnonpx = new RegExp("^(" + pnum + ")(?!px)[a-z%]+$", "i");
10319
10320	var getStyles = function getStyles(elem) {
10321
10322		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
10323		// IE throws on elements created in popups
10324		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
10325		var view = elem.ownerDocument.defaultView;
10326
10327		if (!view || !view.opener) {
10328			view = window;
10329		}
10330
10331		return view.getComputedStyle(elem);
10332	};
10333
10334	(function () {
10335
10336		// Executing both pixelPosition & boxSizingReliable tests require only one layout
10337		// so they're executed at the same time to save the second computation.
10338		function computeStyleTests() {
10339
10340			// This is a singleton, we need to execute it only once
10341			if (!div) {
10342				return;
10343			}
10344
10345			div.style.cssText = "box-sizing:border-box;" + "position:relative;display:block;" + "margin:auto;border:1px;padding:1px;" + "top:1%;width:50%";
10346			div.innerHTML = "";
10347			documentElement.appendChild(container);
10348
10349			var divStyle = window.getComputedStyle(div);
10350			pixelPositionVal = divStyle.top !== "1%";
10351
10352			// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
10353			reliableMarginLeftVal = divStyle.marginLeft === "2px";
10354			boxSizingReliableVal = divStyle.width === "4px";
10355
10356			// Support: Android 4.0 - 4.3 only
10357			// Some styles come back with percentage values, even though they shouldn't
10358			div.style.marginRight = "50%";
10359			pixelMarginRightVal = divStyle.marginRight === "4px";
10360
10361			documentElement.removeChild(container);
10362
10363			// Nullify the div so it wouldn't be stored in the memory and
10364			// it will also be a sign that checks already performed
10365			div = null;
10366		}
10367
10368		var pixelPositionVal,
10369		    boxSizingReliableVal,
10370		    pixelMarginRightVal,
10371		    reliableMarginLeftVal,
10372		    container = document.createElement("div"),
10373		    div = document.createElement("div");
10374
10375		// Finish early in limited (non-browser) environments
10376		if (!div.style) {
10377			return;
10378		}
10379
10380		// Support: IE <=9 - 11 only
10381		// Style of cloned element affects source element cloned (#8908)
10382		div.style.backgroundClip = "content-box";
10383		div.cloneNode(true).style.backgroundClip = "";
10384		support.clearCloneStyle = div.style.backgroundClip === "content-box";
10385
10386		container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + "padding:0;margin-top:1px;position:absolute";
10387		container.appendChild(div);
10388
10389		jQuery.extend(support, {
10390			pixelPosition: function pixelPosition() {
10391				computeStyleTests();
10392				return pixelPositionVal;
10393			},
10394			boxSizingReliable: function boxSizingReliable() {
10395				computeStyleTests();
10396				return boxSizingReliableVal;
10397			},
10398			pixelMarginRight: function pixelMarginRight() {
10399				computeStyleTests();
10400				return pixelMarginRightVal;
10401			},
10402			reliableMarginLeft: function reliableMarginLeft() {
10403				computeStyleTests();
10404				return reliableMarginLeftVal;
10405			}
10406		});
10407	})();
10408
10409	function curCSS(elem, name, computed) {
10410		var width,
10411		    minWidth,
10412		    maxWidth,
10413		    ret,
10414
10415
10416		// Support: Firefox 51+
10417		// Retrieving style before computed somehow
10418		// fixes an issue with getting wrong values
10419		// on detached elements
10420		style = elem.style;
10421
10422		computed = computed || getStyles(elem);
10423
10424		// getPropertyValue is needed for:
10425		//   .css('filter') (IE 9 only, #12537)
10426		//   .css('--customProperty) (#3144)
10427		if (computed) {
10428			ret = computed.getPropertyValue(name) || computed[name];
10429
10430			if (ret === "" && !jQuery.contains(elem.ownerDocument, elem)) {
10431				ret = jQuery.style(elem, name);
10432			}
10433
10434			// A tribute to the "awesome hack by Dean Edwards"
10435			// Android Browser returns percentage for some values,
10436			// but width seems to be reliably pixels.
10437			// This is against the CSSOM draft spec:
10438			// https://drafts.csswg.org/cssom/#resolved-values
10439			if (!support.pixelMarginRight() && rnumnonpx.test(ret) && rmargin.test(name)) {
10440
10441				// Remember the original values
10442				width = style.width;
10443				minWidth = style.minWidth;
10444				maxWidth = style.maxWidth;
10445
10446				// Put in the new values to get a computed value out
10447				style.minWidth = style.maxWidth = style.width = ret;
10448				ret = computed.width;
10449
10450				// Revert the changed values
10451				style.width = width;
10452				style.minWidth = minWidth;
10453				style.maxWidth = maxWidth;
10454			}
10455		}
10456
10457		return ret !== undefined ?
10458
vendor: 9,168 bytes, lines 10459-10778
10459		// Support: IE <=9 - 11 only
10460		// IE returns zIndex value as an integer.
10461		ret + "" : ret;
10462	}
10463
10464	function addGetHookIf(conditionFn, hookFn) {
10465
10466		// Define the hook, we'll check on the first run if it's really needed.
10467		return {
10468			get: function get() {
10469				if (conditionFn()) {
10470
10471					// Hook not needed (or it's not possible to use it due
10472					// to missing dependency), remove it.
10473					delete this.get;
10474					return;
10475				}
10476
10477				// Hook needed; redefine it so that the support test is not executed again.
10478				return (this.get = hookFn).apply(this, arguments);
10479			}
10480		};
10481	}
10482
10483	var
10484
10485	// Swappable if display is none or starts with table
10486	// except "table", "table-cell", or "table-caption"
10487	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
10488	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
10489	    rcustomProp = /^--/,
10490	    cssShow = { position: "absolute", visibility: "hidden", display: "block" },
10491	    cssNormalTransform = {
10492		letterSpacing: "0",
10493		fontWeight: "400"
10494	},
10495	    cssPrefixes = ["Webkit", "Moz", "ms"],
10496	    emptyStyle = document.createElement("div").style;
10497
10498	// Return a css property mapped to a potentially vendor prefixed property
10499	function vendorPropName(name) {
10500
10501		// Shortcut for names that are not vendor prefixed
10502		if (name in emptyStyle) {
10503			return name;
10504		}
10505
10506		// Check for vendor prefixed names
10507		var capName = name[0].toUpperCase() + name.slice(1),
10508		    i = cssPrefixes.length;
10509
10510		while (i--) {
10511			name = cssPrefixes[i] + capName;
10512			if (name in emptyStyle) {
10513				return name;
10514			}
10515		}
10516	}
10517
10518	// Return a property mapped along what jQuery.cssProps suggests or to
10519	// a vendor prefixed property.
10520	function finalPropName(name) {
10521		var ret = jQuery.cssProps[name];
10522		if (!ret) {
10523			ret = jQuery.cssProps[name] = vendorPropName(name) || name;
10524		}
10525		return ret;
10526	}
10527
10528	function setPositiveNumber(elem, value, subtract) {
10529
10530		// Any relative (+/-) values have already been
10531		// normalized at this point
10532		var matches = rcssNum.exec(value);
10533		return matches ?
10534
10535		// Guard against undefined "subtract", e.g., when used as in cssHooks
10536		Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || "px") : value;
10537	}
10538
10539	function augmentWidthOrHeight(elem, name, extra, isBorderBox, styles) {
10540		var i,
10541		    val = 0;
10542
10543		// If we already have the right measurement, avoid augmentation
10544		if (extra === (isBorderBox ? "border" : "content")) {
10545			i = 4;
10546
10547			// Otherwise initialize for horizontal or vertical properties
10548		} else {
10549			i = name === "width" ? 1 : 0;
10550		}
10551
10552		for (; i < 4; i += 2) {
10553
10554			// Both box models exclude margin, so add it if we want it
10555			if (extra === "margin") {
10556				val += jQuery.css(elem, extra + cssExpand[i], true, styles);
10557			}
10558
10559			if (isBorderBox) {
10560
10561				// border-box includes padding, so remove it if we want content
10562				if (extra === "content") {
10563					val -= jQuery.css(elem, "padding" + cssExpand[i], true, styles);
10564				}
10565
10566				// At this point, extra isn't border nor margin, so remove border
10567				if (extra !== "margin") {
10568					val -= jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles);
10569				}
10570			} else {
10571
10572				// At this point, extra isn't content, so add padding
10573				val += jQuery.css(elem, "padding" + cssExpand[i], true, styles);
10574
10575				// At this point, extra isn't content nor padding, so add border
10576				if (extra !== "padding") {
10577					val += jQuery.css(elem, "border" + cssExpand[i] + "Width", true, styles);
10578				}
10579			}
10580		}
10581
10582		return val;
10583	}
10584
10585	function getWidthOrHeight(elem, name, extra) {
10586
10587		// Start with computed style
10588		var valueIsBorderBox,
10589		    styles = getStyles(elem),
10590		    val = curCSS(elem, name, styles),
10591		    isBorderBox = jQuery.css(elem, "boxSizing", false, styles) === "border-box";
10592
10593		// Computed unit is not pixels. Stop here and return.
10594		if (rnumnonpx.test(val)) {
10595			return val;
10596		}
10597
10598		// Check for style in case a browser which returns unreliable values
10599		// for getComputedStyle silently falls back to the reliable elem.style
10600		valueIsBorderBox = isBorderBox && (support.boxSizingReliable() || val === elem.style[name]);
10601
10602		// Fall back to offsetWidth/Height when value is "auto"
10603		// This happens for inline elements with no explicit setting (gh-3571)
10604		if (val === "auto") {
10605			val = elem["offset" + name[0].toUpperCase() + name.slice(1)];
10606		}
10607
10608		// Normalize "", auto, and prepare for extra
10609		val = parseFloat(val) || 0;
10610
10611		// Use the active box-sizing model to add/subtract irrelevant styles
10612		return val + augmentWidthOrHeight(elem, name, extra || (isBorderBox ? "border" : "content"), valueIsBorderBox, styles) + "px";
10613	}
10614
10615	jQuery.extend({
10616
10617		// Add in style property hooks for overriding the default
10618		// behavior of getting and setting a style property
10619		cssHooks: {
10620			opacity: {
10621				get: function get(elem, computed) {
10622					if (computed) {
10623
10624						// We should always get a number back from opacity
10625						var ret = curCSS(elem, "opacity");
10626						return ret === "" ? "1" : ret;
10627					}
10628				}
10629			}
10630		},
10631
10632		// Don't automatically add "px" to these possibly-unitless properties
10633		cssNumber: {
10634			"animationIterationCount": true,
10635			"columnCount": true,
10636			"fillOpacity": true,
10637			"flexGrow": true,
10638			"flexShrink": true,
10639			"fontWeight": true,
10640			"lineHeight": true,
10641			"opacity": true,
10642			"order": true,
10643			"orphans": true,
10644			"widows": true,
10645			"zIndex": true,
10646			"zoom": true
10647		},
10648
10649		// Add in properties whose names you wish to fix before
10650		// setting or getting the value
10651		cssProps: {
10652			"float": "cssFloat"
10653		},
10654
10655		// Get and set the style property on a DOM Node
10656		style: function style(elem, name, value, extra) {
10657
10658			// Don't set styles on text and comment nodes
10659			if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) {
10660				return;
10661			}
10662
10663			// Make sure that we're working with the right name
10664			var ret,
10665			    type,
10666			    hooks,
10667			    origName = jQuery.camelCase(name),
10668			    isCustomProp = rcustomProp.test(name),
10669			    style = elem.style;
10670
10671			// Make sure that we're working with the right name. We don't
10672			// want to query the value if it is a CSS custom property
10673			// since they are user-defined.
10674			if (!isCustomProp) {
10675				name = finalPropName(origName);
10676			}
10677
10678			// Gets hook for the prefixed version, then unprefixed version
10679			hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];
10680
10681			// Check if we're setting a value
10682			if (value !== undefined) {
10683				type = typeof value === "undefined" ? "undefined" : _typeof(value);
10684
10685				// Convert "+=" or "-=" to relative numbers (#7345)
10686				if (type === "string" && (ret = rcssNum.exec(value)) && ret[1]) {
10687					value = adjustCSS(elem, name, ret);
10688
10689					// Fixes bug #9237
10690					type = "number";
10691				}
10692
10693				// Make sure that null and NaN values aren't set (#7116)
10694				if (value == null || value !== value) {
10695					return;
10696				}
10697
10698				// If a number was passed in, add the unit (except for certain CSS properties)
10699				if (type === "number") {
10700					value += ret && ret[3] || (jQuery.cssNumber[origName] ? "" : "px");
10701				}
10702
10703				// background-* props affect original clone's values
10704				if (!support.clearCloneStyle && value === "" && name.indexOf("background") === 0) {
10705					style[name] = "inherit";
10706				}
10707
10708				// If a hook was provided, use that value, otherwise just set the specified value
10709				if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {
10710
10711					if (isCustomProp) {
10712						style.setProperty(name, value);
10713					} else {
10714						style[name] = value;
10715					}
10716				}
10717			} else {
10718
10719				// If a hook was provided get the non-computed value from there
10720				if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) {
10721
10722					return ret;
10723				}
10724
10725				// Otherwise just get the value from the style object
10726				return style[name];
10727			}
10728		},
10729
10730		css: function css(elem, name, extra, styles) {
10731			var val,
10732			    num,
10733			    hooks,
10734			    origName = jQuery.camelCase(name),
10735			    isCustomProp = rcustomProp.test(name);
10736
10737			// Make sure that we're working with the right name. We don't
10738			// want to modify the value if it is a CSS custom property
10739			// since they are user-defined.
10740			if (!isCustomProp) {
10741				name = finalPropName(origName);
10742			}
10743
10744			// Try prefixed name followed by the unprefixed name
10745			hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];
10746
10747			// If a hook was provided get the computed value from there
10748			if (hooks && "get" in hooks) {
10749				val = hooks.get(elem, true, extra);
10750			}
10751
10752			// Otherwise, if a way to get the computed value exists, use that
10753			if (val === undefined) {
10754				val = curCSS(elem, name, styles);
10755			}
10756
10757			// Convert "normal" to computed value
10758			if (val === "normal" && name in cssNormalTransform) {
10759				val = cssNormalTransform[name];
10760			}
10761
10762			// Make numeric if forced or a qualifier was provided and val looks numeric
10763			if (extra === "" || extra) {
10764				num = parseFloat(val);
10765				return extra === true || isFinite(num) ? num || 0 : val;
10766			}
10767
10768			return val;
10769		}
10770	});
10771
10772	jQuery.each(["height", "width"], function (i, name) {
10773		jQuery.cssHooks[name] = {
10774			get: function get(elem, computed, extra) {
10775				if (computed) {
10776
10777					// Certain elements can have dimension info if we invisibly show them
10778					// but it must have a current display style that would benefit
vendor: 4,691 bytes, lines 10779-10936
10779					return rdisplayswap.test(jQuery.css(elem, "display")) && (
10780
10781					// Support: Safari 8+
10782					// Table columns in Safari have non-zero offsetWidth & zero
10783					// getBoundingClientRect().width unless display is changed.
10784					// Support: IE <=11 only
10785					// Running getBoundingClientRect on a disconnected node
10786					// in IE throws an error.
10787					!elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function () {
10788						return getWidthOrHeight(elem, name, extra);
10789					}) : getWidthOrHeight(elem, name, extra);
10790				}
10791			},
10792
10793			set: function set(elem, value, extra) {
10794				var matches,
10795				    styles = extra && getStyles(elem),
10796				    subtract = extra && augmentWidthOrHeight(elem, name, extra, jQuery.css(elem, "boxSizing", false, styles) === "border-box", styles);
10797
10798				// Convert to pixels if value adjustment is needed
10799				if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || "px") !== "px") {
10800
10801					elem.style[name] = value;
10802					value = jQuery.css(elem, name);
10803				}
10804
10805				return setPositiveNumber(elem, value, subtract);
10806			}
10807		};
10808	});
10809
10810	jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function (elem, computed) {
10811		if (computed) {
10812			return (parseFloat(curCSS(elem, "marginLeft")) || elem.getBoundingClientRect().left - swap(elem, { marginLeft: 0 }, function () {
10813				return elem.getBoundingClientRect().left;
10814			})) + "px";
10815		}
10816	});
10817
10818	// These hooks are used by animate to expand properties
10819	jQuery.each({
10820		margin: "",
10821		padding: "",
10822		border: "Width"
10823	}, function (prefix, suffix) {
10824		jQuery.cssHooks[prefix + suffix] = {
10825			expand: function expand(value) {
10826				var i = 0,
10827				    expanded = {},
10828
10829
10830				// Assumes a single number if not a string
10831				parts = typeof value === "string" ? value.split(" ") : [value];
10832
10833				for (; i < 4; i++) {
10834					expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];
10835				}
10836
10837				return expanded;
10838			}
10839		};
10840
10841		if (!rmargin.test(prefix)) {
10842			jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;
10843		}
10844	});
10845
10846	jQuery.fn.extend({
10847		css: function css(name, value) {
10848			return access(this, function (elem, name, value) {
10849				var styles,
10850				    len,
10851				    map = {},
10852				    i = 0;
10853
10854				if (Array.isArray(name)) {
10855					styles = getStyles(elem);
10856					len = name.length;
10857
10858					for (; i < len; i++) {
10859						map[name[i]] = jQuery.css(elem, name[i], false, styles);
10860					}
10861
10862					return map;
10863				}
10864
10865				return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);
10866			}, name, value, arguments.length > 1);
10867		}
10868	});
10869
10870	function Tween(elem, options, prop, end, easing) {
10871		return new Tween.prototype.init(elem, options, prop, end, easing);
10872	}
10873	jQuery.Tween = Tween;
10874
10875	Tween.prototype = {
10876		constructor: Tween,
10877		init: function init(elem, options, prop, end, easing, unit) {
10878			this.elem = elem;
10879			this.prop = prop;
10880			this.easing = easing || jQuery.easing._default;
10881			this.options = options;
10882			this.start = this.now = this.cur();
10883			this.end = end;
10884			this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px");
10885		},
10886		cur: function cur() {
10887			var hooks = Tween.propHooks[this.prop];
10888
10889			return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this);
10890		},
10891		run: function run(percent) {
10892			var eased,
10893			    hooks = Tween.propHooks[this.prop];
10894
10895			if (this.options.duration) {
10896				this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration);
10897			} else {
10898				this.pos = eased = percent;
10899			}
10900			this.now = (this.end - this.start) * eased + this.start;
10901
10902			if (this.options.step) {
10903				this.options.step.call(this.elem, this.now, this);
10904			}
10905
10906			if (hooks && hooks.set) {
10907				hooks.set(this);
10908			} else {
10909				Tween.propHooks._default.set(this);
10910			}
10911			return this;
10912		}
10913	};
10914
10915	Tween.prototype.init.prototype = Tween.prototype;
10916
10917	Tween.propHooks = {
10918		_default: {
10919			get: function get(tween) {
10920				var result;
10921
10922				// Use a property on the element directly when it is not a DOM element,
10923				// or when there is no matching style property that exists.
10924				if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) {
10925					return tween.elem[tween.prop];
10926				}
10927
10928				// Passing an empty string as a 3rd parameter to .css will automatically
10929				// attempt a parseFloat and fallback to a string if the parse fails.
10930				// Simple values such as "10px" are parsed to Float;
10931				// complex values such as "rotate(1rad)" are returned as-is.
10932				result = jQuery.css(tween.elem, tween.prop, "");
10933
10934				// Empty strings, null, undefined and "auto" are converted to 0.
10935				return !result || result === "auto" ? 0 : result;
10936			},
vendor: 4,362 bytes, lines 10937-11110
10937			set: function set(tween) {
10938
10939				// Use step hook for back compat.
10940				// Use cssHook if its there.
10941				// Use .style if available and use plain properties where available.
10942				if (jQuery.fx.step[tween.prop]) {
10943					jQuery.fx.step[tween.prop](tween);
10944				} else if (tween.elem.nodeType === 1 && (tween.elem.style[jQuery.cssProps[tween.prop]] != null || jQuery.cssHooks[tween.prop])) {
10945					jQuery.style(tween.elem, tween.prop, tween.now + tween.unit);
10946				} else {
10947					tween.elem[tween.prop] = tween.now;
10948				}
10949			}
10950		}
10951	};
10952
10953	// Support: IE <=9 only
10954	// Panic based approach to setting things on disconnected nodes
10955	Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
10956		set: function set(tween) {
10957			if (tween.elem.nodeType && tween.elem.parentNode) {
10958				tween.elem[tween.prop] = tween.now;
10959			}
10960		}
10961	};
10962
10963	jQuery.easing = {
10964		linear: function linear(p) {
10965			return p;
10966		},
10967		swing: function swing(p) {
10968			return 0.5 - Math.cos(p * Math.PI) / 2;
10969		},
10970		_default: "swing"
10971	};
10972
10973	jQuery.fx = Tween.prototype.init;
10974
10975	// Back compat <1.8 extension point
10976	jQuery.fx.step = {};
10977
10978	var fxNow,
10979	    inProgress,
10980	    rfxtypes = /^(?:toggle|show|hide)$/,
10981	    rrun = /queueHooks$/;
10982
10983	function schedule() {
10984		if (inProgress) {
10985			if (document.hidden === false && window.requestAnimationFrame) {
10986				window.requestAnimationFrame(schedule);
10987			} else {
10988				window.setTimeout(schedule, jQuery.fx.interval);
10989			}
10990
10991			jQuery.fx.tick();
10992		}
10993	}
10994
10995	// Animations created synchronously will run synchronously
10996	function createFxNow() {
10997		window.setTimeout(function () {
10998			fxNow = undefined;
10999		});
11000		return fxNow = jQuery.now();
11001	}
11002
11003	// Generate parameters to create a standard animation
11004	function genFx(type, includeWidth) {
11005		var which,
11006		    i = 0,
11007		    attrs = { height: type };
11008
11009		// If we include width, step value is 1 to do all cssExpand values,
11010		// otherwise step value is 2 to skip over Left and Right
11011		includeWidth = includeWidth ? 1 : 0;
11012		for (; i < 4; i += 2 - includeWidth) {
11013			which = cssExpand[i];
11014			attrs["margin" + which] = attrs["padding" + which] = type;
11015		}
11016
11017		if (includeWidth) {
11018			attrs.opacity = attrs.width = type;
11019		}
11020
11021		return attrs;
11022	}
11023
11024	function createTween(value, prop, animation) {
11025		var tween,
11026		    collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners["*"]),
11027		    index = 0,
11028		    length = collection.length;
11029		for (; index < length; index++) {
11030			if (tween = collection[index].call(animation, prop, value)) {
11031
11032				// We're done with this property
11033				return tween;
11034			}
11035		}
11036	}
11037
11038	function defaultPrefilter(elem, props, opts) {
11039		var prop,
11040		    value,
11041		    toggle,
11042		    hooks,
11043		    oldfire,
11044		    propTween,
11045		    restoreDisplay,
11046		    display,
11047		    isBox = "width" in props || "height" in props,
11048		    anim = this,
11049		    orig = {},
11050		    style = elem.style,
11051		    hidden = elem.nodeType && isHiddenWithinTree(elem),
11052		    dataShow = dataPriv.get(elem, "fxshow");
11053
11054		// Queue-skipping animations hijack the fx hooks
11055		if (!opts.queue) {
11056			hooks = jQuery._queueHooks(elem, "fx");
11057			if (hooks.unqueued == null) {
11058				hooks.unqueued = 0;
11059				oldfire = hooks.empty.fire;
11060				hooks.empty.fire = function () {
11061					if (!hooks.unqueued) {
11062						oldfire();
11063					}
11064				};
11065			}
11066			hooks.unqueued++;
11067
11068			anim.always(function () {
11069
11070				// Ensure the complete handler is called before this completes
11071				anim.always(function () {
11072					hooks.unqueued--;
11073					if (!jQuery.queue(elem, "fx").length) {
11074						hooks.empty.fire();
11075					}
11076				});
11077			});
11078		}
11079
11080		// Detect show/hide animations
11081		for (prop in props) {
11082			value = props[prop];
11083			if (rfxtypes.test(value)) {
11084				delete props[prop];
11085				toggle = toggle || value === "toggle";
11086				if (value === (hidden ? "hide" : "show")) {
11087
11088					// Pretend to be hidden if this is a "show" and
11089					// there is still data from a stopped show/hide
11090					if (value === "show" && dataShow && dataShow[prop] !== undefined) {
11091						hidden = true;
11092
11093						// Ignore all other no-op show/hide data
11094					} else {
11095						continue;
11096					}
11097				}
11098				orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop);
11099			}
11100		}
11101
11102		// Bail out if this is a no-op like .hide().hide()
11103		propTween = !jQuery.isEmptyObject(props);
11104		if (!propTween && jQuery.isEmptyObject(orig)) {
11105			return;
11106		}
11107
11108		// Restrict "overflow" and "display" styles during box animations
11109		if (isBox && elem.nodeType === 1) {
11110
vendor: 3,019 bytes, lines 11111-11221
11111			// Support: IE <=9 - 11, Edge 12 - 13
11112			// Record all 3 overflow attributes because IE does not infer the shorthand
11113			// from identically-valued overflowX and overflowY
11114			opts.overflow = [style.overflow, style.overflowX, style.overflowY];
11115
11116			// Identify a display type, preferring old show/hide data over the CSS cascade
11117			restoreDisplay = dataShow && dataShow.display;
11118			if (restoreDisplay == null) {
11119				restoreDisplay = dataPriv.get(elem, "display");
11120			}
11121			display = jQuery.css(elem, "display");
11122			if (display === "none") {
11123				if (restoreDisplay) {
11124					display = restoreDisplay;
11125				} else {
11126
11127					// Get nonempty value(s) by temporarily forcing visibility
11128					showHide([elem], true);
11129					restoreDisplay = elem.style.display || restoreDisplay;
11130					display = jQuery.css(elem, "display");
11131					showHide([elem]);
11132				}
11133			}
11134
11135			// Animate inline elements as inline-block
11136			if (display === "inline" || display === "inline-block" && restoreDisplay != null) {
11137				if (jQuery.css(elem, "float") === "none") {
11138
11139					// Restore the original display value at the end of pure show/hide animations
11140					if (!propTween) {
11141						anim.done(function () {
11142							style.display = restoreDisplay;
11143						});
11144						if (restoreDisplay == null) {
11145							display = style.display;
11146							restoreDisplay = display === "none" ? "" : display;
11147						}
11148					}
11149					style.display = "inline-block";
11150				}
11151			}
11152		}
11153
11154		if (opts.overflow) {
11155			style.overflow = "hidden";
11156			anim.always(function () {
11157				style.overflow = opts.overflow[0];
11158				style.overflowX = opts.overflow[1];
11159				style.overflowY = opts.overflow[2];
11160			});
11161		}
11162
11163		// Implement show/hide animations
11164		propTween = false;
11165		for (prop in orig) {
11166
11167			// General show/hide setup for this element animation
11168			if (!propTween) {
11169				if (dataShow) {
11170					if ("hidden" in dataShow) {
11171						hidden = dataShow.hidden;
11172					}
11173				} else {
11174					dataShow = dataPriv.access(elem, "fxshow", { display: restoreDisplay });
11175				}
11176
11177				// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
11178				if (toggle) {
11179					dataShow.hidden = !hidden;
11180				}
11181
11182				// Show elements before animating them
11183				if (hidden) {
11184					showHide([elem], true);
11185				}
11186
11187				/* eslint-disable no-loop-func */
11188
11189				anim.done(function () {
11190
11191					/* eslint-enable no-loop-func */
11192
11193					// The final step of a "hide" animation is actually hiding the element
11194					if (!hidden) {
11195						showHide([elem]);
11196					}
11197					dataPriv.remove(elem, "fxshow");
11198					for (prop in orig) {
11199						jQuery.style(elem, prop, orig[prop]);
11200					}
11201				});
11202			}
11203
11204			// Per-property setup
11205			propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim);
11206			if (!(prop in dataShow)) {
11207				dataShow[prop] = propTween.start;
11208				if (hidden) {
11209					propTween.end = propTween.start;
11210					propTween.start = 0;
11211				}
11212			}
11213		}
11214	}
11215
11216	function propFilter(props, specialEasing) {
11217		var index, name, easing, value, hooks;
11218
11219		// camelCase, specialEasing and expand cssHook pass
11220		for (index in props) {
11221			name = jQuery.camelCase(index);
vendor: 6,541 bytes, lines 11222-11468
11222			easing = specialEasing[name];
11223			value = props[index];
11224			if (Array.isArray(value)) {
11225				easing = value[1];
11226				value = props[index] = value[0];
11227			}
11228
11229			if (index !== name) {
11230				props[name] = value;
11231				delete props[index];
11232			}
11233
11234			hooks = jQuery.cssHooks[name];
11235			if (hooks && "expand" in hooks) {
11236				value = hooks.expand(value);
11237				delete props[name];
11238
11239				// Not quite $.extend, this won't overwrite existing keys.
11240				// Reusing 'index' because we have the correct "name"
11241				for (index in value) {
11242					if (!(index in props)) {
11243						props[index] = value[index];
11244						specialEasing[index] = easing;
11245					}
11246				}
11247			} else {
11248				specialEasing[name] = easing;
11249			}
11250		}
11251	}
11252
11253	function Animation(elem, properties, options) {
11254		var result,
11255		    stopped,
11256		    index = 0,
11257		    length = Animation.prefilters.length,
11258		    deferred = jQuery.Deferred().always(function () {
11259
11260			// Don't match elem in the :animated selector
11261			delete tick.elem;
11262		}),
11263		    tick = function tick() {
11264			if (stopped) {
11265				return false;
11266			}
11267			var currentTime = fxNow || createFxNow(),
11268			    remaining = Math.max(0, animation.startTime + animation.duration - currentTime),
11269
11270
11271			// Support: Android 2.3 only
11272			// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
11273			temp = remaining / animation.duration || 0,
11274			    percent = 1 - temp,
11275			    index = 0,
11276			    length = animation.tweens.length;
11277
11278			for (; index < length; index++) {
11279				animation.tweens[index].run(percent);
11280			}
11281
11282			deferred.notifyWith(elem, [animation, percent, remaining]);
11283
11284			// If there's more to do, yield
11285			if (percent < 1 && length) {
11286				return remaining;
11287			}
11288
11289			// If this was an empty animation, synthesize a final progress notification
11290			if (!length) {
11291				deferred.notifyWith(elem, [animation, 1, 0]);
11292			}
11293
11294			// Resolve the animation and report its conclusion
11295			deferred.resolveWith(elem, [animation]);
11296			return false;
11297		},
11298		    animation = deferred.promise({
11299			elem: elem,
11300			props: jQuery.extend({}, properties),
11301			opts: jQuery.extend(true, {
11302				specialEasing: {},
11303				easing: jQuery.easing._default
11304			}, options),
11305			originalProperties: properties,
11306			originalOptions: options,
11307			startTime: fxNow || createFxNow(),
11308			duration: options.duration,
11309			tweens: [],
11310			createTween: function createTween(prop, end) {
11311				var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);
11312				animation.tweens.push(tween);
11313				return tween;
11314			},
11315			stop: function stop(gotoEnd) {
11316				var index = 0,
11317
11318
11319				// If we are going to the end, we want to run all the tweens
11320				// otherwise we skip this part
11321				length = gotoEnd ? animation.tweens.length : 0;
11322				if (stopped) {
11323					return this;
11324				}
11325				stopped = true;
11326				for (; index < length; index++) {
11327					animation.tweens[index].run(1);
11328				}
11329
11330				// Resolve when we played the last frame; otherwise, reject
11331				if (gotoEnd) {
11332					deferred.notifyWith(elem, [animation, 1, 0]);
11333					deferred.resolveWith(elem, [animation, gotoEnd]);
11334				} else {
11335					deferred.rejectWith(elem, [animation, gotoEnd]);
11336				}
11337				return this;
11338			}
11339		}),
11340		    props = animation.props;
11341
11342		propFilter(props, animation.opts.specialEasing);
11343
11344		for (; index < length; index++) {
11345			result = Animation.prefilters[index].call(animation, elem, props, animation.opts);
11346			if (result) {
11347				if (jQuery.isFunction(result.stop)) {
11348					jQuery._queueHooks(animation.elem, animation.opts.queue).stop = jQuery.proxy(result.stop, result);
11349				}
11350				return result;
11351			}
11352		}
11353
11354		jQuery.map(props, createTween, animation);
11355
11356		if (jQuery.isFunction(animation.opts.start)) {
11357			animation.opts.start.call(elem, animation);
11358		}
11359
11360		// Attach callbacks from options
11361		animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);
11362
11363		jQuery.fx.timer(jQuery.extend(tick, {
11364			elem: elem,
11365			anim: animation,
11366			queue: animation.opts.queue
11367		}));
11368
11369		return animation;
11370	}
11371
11372	jQuery.Animation = jQuery.extend(Animation, {
11373
11374		tweeners: {
11375			"*": [function (prop, value) {
11376				var tween = this.createTween(prop, value);
11377				adjustCSS(tween.elem, prop, rcssNum.exec(value), tween);
11378				return tween;
11379			}]
11380		},
11381
11382		tweener: function tweener(props, callback) {
11383			if (jQuery.isFunction(props)) {
11384				callback = props;
11385				props = ["*"];
11386			} else {
11387				props = props.match(rnothtmlwhite);
11388			}
11389
11390			var prop,
11391			    index = 0,
11392			    length = props.length;
11393
11394			for (; index < length; index++) {
11395				prop = props[index];
11396				Animation.tweeners[prop] = Animation.tweeners[prop] || [];
11397				Animation.tweeners[prop].unshift(callback);
11398			}
11399		},
11400
11401		prefilters: [defaultPrefilter],
11402
11403		prefilter: function prefilter(callback, prepend) {
11404			if (prepend) {
11405				Animation.prefilters.unshift(callback);
11406			} else {
11407				Animation.prefilters.push(callback);
11408			}
11409		}
11410	});
11411
11412	jQuery.speed = function (speed, easing, fn) {
11413		var opt = speed && (typeof speed === "undefined" ? "undefined" : _typeof(speed)) === "object" ? jQuery.extend({}, speed) : {
11414			complete: fn || !fn && easing || jQuery.isFunction(speed) && speed,
11415			duration: speed,
11416			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
11417		};
11418
11419		// Go to the end state if fx are off
11420		if (jQuery.fx.off) {
11421			opt.duration = 0;
11422		} else {
11423			if (typeof opt.duration !== "number") {
11424				if (opt.duration in jQuery.fx.speeds) {
11425					opt.duration = jQuery.fx.speeds[opt.duration];
11426				} else {
11427					opt.duration = jQuery.fx.speeds._default;
11428				}
11429			}
11430		}
11431
11432		// Normalize opt.queue - true/undefined/null -> "fx"
11433		if (opt.queue == null || opt.queue === true) {
11434			opt.queue = "fx";
11435		}
11436
11437		// Queueing
11438		opt.old = opt.complete;
11439
11440		opt.complete = function () {
11441			if (jQuery.isFunction(opt.old)) {
11442				opt.old.call(this);
11443			}
11444
11445			if (opt.queue) {
11446				jQuery.dequeue(this, opt.queue);
11447			}
11448		};
11449
11450		return opt;
11451	};
11452
11453	jQuery.fn.extend({
11454		fadeTo: function fadeTo(speed, to, easing, callback) {
11455
11456			// Show any hidden elements after setting opacity to 0
11457			return this.filter(isHiddenWithinTree).css("opacity", 0).show()
11458
11459			// Animate to the value specified
11460			.end().animate({ opacity: to }, speed, easing, callback);
11461		},
11462		animate: function animate(prop, speed, easing, callback) {
11463			var empty = jQuery.isEmptyObject(prop),
11464			    optall = jQuery.speed(speed, easing, callback),
11465			    doAnimation = function doAnimation() {
11466
11467				// Operate on a copy of prop so per-property easing won't be lost
11468				var anim = Animation(this, jQuery.extend({}
vendor: 4,367 bytes, lines 11468-11645
11468, prop), optall);
11469
11470				// Empty animations, or finishing resolves immediately
11471				if (empty || dataPriv.get(this, "finish")) {
11472					anim.stop(true);
11473				}
11474			};
11475			doAnimation.finish = doAnimation;
11476
11477			return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation);
11478		},
11479		stop: function stop(type, clearQueue, gotoEnd) {
11480			var stopQueue = function stopQueue(hooks) {
11481				var stop = hooks.stop;
11482				delete hooks.stop;
11483				stop(gotoEnd);
11484			};
11485
11486			if (typeof type !== "string") {
11487				gotoEnd = clearQueue;
11488				clearQueue = type;
11489				type = undefined;
11490			}
11491			if (clearQueue && type !== false) {
11492				this.queue(type || "fx", []);
11493			}
11494
11495			return this.each(function () {
11496				var dequeue = true,
11497				    index = type != null && type + "queueHooks",
11498				    timers = jQuery.timers,
11499				    data = dataPriv.get(this);
11500
11501				if (index) {
11502					if (data[index] && data[index].stop) {
11503						stopQueue(data[index]);
11504					}
11505				} else {
11506					for (index in data) {
11507						if (data[index] && data[index].stop && rrun.test(index)) {
11508							stopQueue(data[index]);
11509						}
11510					}
11511				}
11512
11513				for (index = timers.length; index--;) {
11514					if (timers[index].elem === this && (type == null || timers[index].queue === type)) {
11515
11516						timers[index].anim.stop(gotoEnd);
11517						dequeue = false;
11518						timers.splice(index, 1);
11519					}
11520				}
11521
11522				// Start the next in the queue if the last step wasn't forced.
11523				// Timers currently will call their complete callbacks, which
11524				// will dequeue but only if they were gotoEnd.
11525				if (dequeue || !gotoEnd) {
11526					jQuery.dequeue(this, type);
11527				}
11528			});
11529		},
11530		finish: function finish(type) {
11531			if (type !== false) {
11532				type = type || "fx";
11533			}
11534			return this.each(function () {
11535				var index,
11536				    data = dataPriv.get(this),
11537				    queue = data[type + "queue"],
11538				    hooks = data[type + "queueHooks"],
11539				    timers = jQuery.timers,
11540				    length = queue ? queue.length : 0;
11541
11542				// Enable finishing flag on private data
11543				data.finish = true;
11544
11545				// Empty the queue first
11546				jQuery.queue(this, type, []);
11547
11548				if (hooks && hooks.stop) {
11549					hooks.stop.call(this, true);
11550				}
11551
11552				// Look for any active animations, and finish them
11553				for (index = timers.length; index--;) {
11554					if (timers[index].elem === this && timers[index].queue === type) {
11555						timers[index].anim.stop(true);
11556						timers.splice(index, 1);
11557					}
11558				}
11559
11560				// Look for any animations in the old queue and finish them
11561				for (index = 0; index < length; index++) {
11562					if (queue[index] && queue[index].finish) {
11563						queue[index].finish.call(this);
11564					}
11565				}
11566
11567				// Turn off finishing flag
11568				delete data.finish;
11569			});
11570		}
11571	});
11572
11573	jQuery.each(["toggle", "show", "hide"], function (i, name) {
11574		var cssFn = jQuery.fn[name];
11575		jQuery.fn[name] = function (speed, easing, callback) {
11576			return speed == null || typeof speed === "boolean" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback);
11577		};
11578	});
11579
11580	// Generate shortcuts for custom animations
11581	jQuery.each({
11582		slideDown: genFx("show"),
11583		slideUp: genFx("hide"),
11584		slideToggle: genFx("toggle"),
11585		fadeIn: { opacity: "show" },
11586		fadeOut: { opacity: "hide" },
11587		fadeToggle: { opacity: "toggle" }
11588	}, function (name, props) {
11589		jQuery.fn[name] = function (speed, easing, callback) {
11590			return this.animate(props, speed, easing, callback);
11591		};
11592	});
11593
11594	jQuery.timers = [];
11595	jQuery.fx.tick = function () {
11596		var timer,
11597		    i = 0,
11598		    timers = jQuery.timers;
11599
11600		fxNow = jQuery.now();
11601
11602		for (; i < timers.length; i++) {
11603			timer = timers[i];
11604
11605			// Run the timer and safely remove it when done (allowing for external removal)
11606			if (!timer() && timers[i] === timer) {
11607				timers.splice(i--, 1);
11608			}
11609		}
11610
11611		if (!timers.length) {
11612			jQuery.fx.stop();
11613		}
11614		fxNow = undefined;
11615	};
11616
11617	jQuery.fx.timer = function (timer) {
11618		jQuery.timers.push(timer);
11619		jQuery.fx.start();
11620	};
11621
11622	jQuery.fx.interval = 13;
11623	jQuery.fx.start = function () {
11624		if (inProgress) {
11625			return;
11626		}
11627
11628		inProgress = true;
11629		schedule();
11630	};
11631
11632	jQuery.fx.stop = function () {
11633		inProgress = null;
11634	};
11635
11636	jQuery.fx.speeds = {
11637		slow: 600,
11638		fast: 200,
11639
11640		// Default speed
11641		_default: 400
11642	};
11643
11644	// Based off of the plugin by Clint Helfers, with permission.
11645	// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
vendor: 5,245 bytes, lines 11646-11859
11646	jQuery.fn.delay = function (time, type) {
11647		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
11648		type = type || "fx";
11649
11650		return this.queue(type, function (next, hooks) {
11651			var timeout = window.setTimeout(next, time);
11652			hooks.stop = function () {
11653				window.clearTimeout(timeout);
11654			};
11655		});
11656	};
11657
11658	(function () {
11659		var input = document.createElement("input"),
11660		    select = document.createElement("select"),
11661		    opt = select.appendChild(document.createElement("option"));
11662
11663		input.type = "checkbox";
11664
11665		// Support: Android <=4.3 only
11666		// Default value for a checkbox should be "on"
11667		support.checkOn = input.value !== "";
11668
11669		// Support: IE <=11 only
11670		// Must access selectedIndex to make default options select
11671		support.optSelected = opt.selected;
11672
11673		// Support: IE <=11 only
11674		// An input loses its value after becoming a radio
11675		input = document.createElement("input");
11676		input.value = "t";
11677		input.type = "radio";
11678		support.radioValue = input.value === "t";
11679	})();
11680
11681	var boolHook,
11682	    attrHandle = jQuery.expr.attrHandle;
11683
11684	jQuery.fn.extend({
11685		attr: function attr(name, value) {
11686			return access(this, jQuery.attr, name, value, arguments.length > 1);
11687		},
11688
11689		removeAttr: function removeAttr(name) {
11690			return this.each(function () {
11691				jQuery.removeAttr(this, name);
11692			});
11693		}
11694	});
11695
11696	jQuery.extend({
11697		attr: function attr(elem, name, value) {
11698			var ret,
11699			    hooks,
11700			    nType = elem.nodeType;
11701
11702			// Don't get/set attributes on text, comment and attribute nodes
11703			if (nType === 3 || nType === 8 || nType === 2) {
11704				return;
11705			}
11706
11707			// Fallback to prop when attributes are not supported
11708			if (typeof elem.getAttribute === "undefined") {
11709				return jQuery.prop(elem, name, value);
11710			}
11711
11712			// Attribute hooks are determined by the lowercase version
11713			// Grab necessary hook if one is defined
11714			if (nType !== 1 || !jQuery.isXMLDoc(elem)) {
11715				hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined);
11716			}
11717
11718			if (value !== undefined) {
11719				if (value === null) {
11720					jQuery.removeAttr(elem, name);
11721					return;
11722				}
11723
11724				if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {
11725					return ret;
11726				}
11727
11728				elem.setAttribute(name, value + "");
11729				return value;
11730			}
11731
11732			if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) {
11733				return ret;
11734			}
11735
11736			ret = jQuery.find.attr(elem, name);
11737
11738			// Non-existent attributes return null, we normalize to undefined
11739			return ret == null ? undefined : ret;
11740		},
11741
11742		attrHooks: {
11743			type: {
11744				set: function set(elem, value) {
11745					if (!support.radioValue && value === "radio" && nodeName(elem, "input")) {
11746						var val = elem.value;
11747						elem.setAttribute("type", value);
11748						if (val) {
11749							elem.value = val;
11750						}
11751						return value;
11752					}
11753				}
11754			}
11755		},
11756
11757		removeAttr: function removeAttr(elem, value) {
11758			var name,
11759			    i = 0,
11760
11761
11762			// Attribute names can contain non-HTML whitespace characters
11763			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
11764			attrNames = value && value.match(rnothtmlwhite);
11765
11766			if (attrNames && elem.nodeType === 1) {
11767				while (name = attrNames[i++]) {
11768					elem.removeAttribute(name);
11769				}
11770			}
11771		}
11772	});
11773
11774	// Hooks for boolean attributes
11775	boolHook = {
11776		set: function set(elem, value, name) {
11777			if (value === false) {
11778
11779				// Remove boolean attributes when set to false
11780				jQuery.removeAttr(elem, name);
11781			} else {
11782				elem.setAttribute(name, name);
11783			}
11784			return name;
11785		}
11786	};
11787
11788	jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g), function (i, name) {
11789		var getter = attrHandle[name] || jQuery.find.attr;
11790
11791		attrHandle[name] = function (elem, name, isXML) {
11792			var ret,
11793			    handle,
11794			    lowercaseName = name.toLowerCase();
11795
11796			if (!isXML) {
11797
11798				// Avoid an infinite loop by temporarily removing this function from the getter
11799				handle = attrHandle[lowercaseName];
11800				attrHandle[lowercaseName] = ret;
11801				ret = getter(elem, name, isXML) != null ? lowercaseName : null;
11802				attrHandle[lowercaseName] = handle;
11803			}
11804			return ret;
11805		};
11806	});
11807
11808	var rfocusable = /^(?:input|select|textarea|button)$/i,
11809	    rclickable = /^(?:a|area)$/i;
11810
11811	jQuery.fn.extend({
11812		prop: function prop(name, value) {
11813			return access(this, jQuery.prop, name, value, arguments.length > 1);
11814		},
11815
11816		removeProp: function removeProp(name) {
11817			return this.each(function () {
11818				delete this[jQuery.propFix[name] || name];
11819			});
11820		}
11821	});
11822
11823	jQuery.extend({
11824		prop: function prop(elem, name, value) {
11825			var ret,
11826			    hooks,
11827			    nType = elem.nodeType;
11828
11829			// Don't get/set properties on text, comment and attribute nodes
11830			if (nType === 3 || nType === 8 || nType === 2) {
11831				return;
11832			}
11833
11834			if (nType !== 1 || !jQuery.isXMLDoc(elem)) {
11835
11836				// Fix name and attach hooks
11837				name = jQuery.propFix[name] || name;
11838				hooks = jQuery.propHooks[name];
11839			}
11840
11841			if (value !== undefined) {
11842				if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {
11843					return ret;
11844				}
11845
11846				return elem[name] = value;
11847			}
11848
11849			if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) {
11850				return ret;
11851			}
11852
11853			return elem[name];
11854		},
11855
11856		propHooks: {
11857			tabIndex: {
11858				get: function get(elem) {
11859
11860					// Support: IE <=9 - 11 only
11861					// elem.tabIndex doesn't always return the
11862					// correct value when it hasn't been explicitly set
11863					// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
11864					// Use proper attribute retrieval(#12072)
11865					var tabindex = jQuery.find.attr(elem, "tabindex");
11866
11867					if (tabindex) {
11868						return parseInt(tabindex, 10);
11869					}
11870
11871					if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) {
11872						return 0;
11873					}
11874
11875					return -1;
11876				}
11877			}
11878		},
11879
11880		propFix: {
11881			"for": "htmlFor",
11882			"class": "className"
11883		}
11884	});
11885
11886	// Support: IE <=11 only
11887	// Accessing the selectedIndex property
11888	// forces the browser to respect setting selected
11889	// on the option
11890	// The getter ensures a default option is selected
11891	// when in an optgroup
11892	// eslint rule "no-unused-expressions" is disabled for this code
11893	// since it considers such accessions noop
11894	if (!support.optSelected) {
11895		jQuery.propHooks.selected = {
11896			get: function get(elem) {
11897
11898				/* eslint no-unused-expressions: "off" */
11899
11900				var parent = elem.parentNode;
11901				if (parent && parent.parentNode) {
11902					parent.parentNode.selectedIndex;
11903				}
11904				return null;
11905			},
11906			set: function set(elem) {
11907
11908				/* eslint no-unused-expressions: "off" */
11909
11910				var parent = elem.parentNode;
11911				if (parent) {
11912					parent.selectedIndex;
11913
11914					if (parent.parentNode) {
11915						parent.parentNode.selectedIndex;
11916					}
11917				}
11918			}
11919		};
11920	}
11921
11922	jQuery.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
11923		jQuery.propFix[this.toLowerCase()] = this;
11924	});
11925
11926	// Strip and collapse whitespace according to HTML spec
11927	// https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
11928	function stripAndCollapse(value) {
11929		var tokens = value.match(rnothtmlwhite) || [];
11930		return tokens.join(" ");
11931	}
11932
11933	function getClass(elem) {
11934		return elem.getAttribute && elem.getAttribute("class") || "";
11935	}
11936
11937	jQuery.fn.extend({
11938		addClass: function addClass(value) {
11939			var classes,
11940			    elem,
11941			    cur,
11942			    curValue,
11943			    clazz,
11944			    j,
11945			    finalValue,
11946			    i = 0;
11947
11948			if (jQuery.isFunction(value)) {
11949				return this.each(function (j) {
11950					jQuery(this).addClass(value.call(this, j, getClass(this)));
11951				});
11952			}
11953
11954			if (typeof value === "string" && value) {
11955				classes = value.match(rnothtmlwhite) || [];
11956
11957				while (elem = this[i++]) {
11958					curValue = getClass(elem);
11959					cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " ";
11960
11961					if (cur) {
11962						j = 0;
11963						while (clazz = classes[j++]) {
11964							if (cur.indexOf(" " + clazz + " ") < 0) {
11965								cur += clazz + " ";
11966							}
11967						}
11968
11969						// Only assign if different to avoid unneeded rendering.
11970						finalValue = stripAndCollapse(cur);
11971						if (curValue !== finalValue) {
11972							elem.setAttribute("class", finalValue);
11973						}
11974					}
11975				}
11976			}
11977
11978			return this;
11979		},
11980
11981		removeClass: function removeClass(value) {
11982			var classes,
11983			    elem,
11984			    cur,
11985			    curValue,
11986			    clazz,
11987			    j,
11988			    finalValue,
11989			    i = 0;
11990
11991			if (jQuery.isFunction(value)) {
11992				return this.each(function (j) {
11993					jQuery(this).removeClass(value.call(this, j, getClass(this)));
11994				});
11995			}
11996
11997			if (!arguments.length) {
11998				return this.attr("class", "");
11999			}
12000
12001			if (typeof value === "string" && value) {
12002				classes = value.match(rnothtmlwhite) || [];
12003
12004				while (elem = this[i++]) {
12005					curValue = getClass(elem);
12006
12007					// This expression is here for better compressibility (see addClass)
12008					cur = elem.nodeType === 1 && " " + stripAndCollapse(curValue) + " ";
12009
12010					if (cur) {
12011						j = 0;
12012						while (clazz = classes[j++]) {
12013
12014							// Remove *all* instances
12015							while (cur.indexOf(" " + clazz + " ") > -1) {
12016								cur = cur.replace(" " + clazz + " ", " ");
12017							}
12018						}
12019
12020						// Only assign if different to avoid unneeded rendering.
12021						finalValue = stripAndCollapse(cur);
12022						if (curValue !== finalValue) {
12023							elem.setAttribute("class", finalValue);
12024						}
12025					}
12026				}
12027			}
12028
12029			return this;
12030		},
12031
12032		toggleClass: function toggleClass(value, stateVal) {
12033			var type = typeof value === "undefined" ? "undefined" : _typeof(value);
12034
12035			if (typeof stateVal === "boolean" && type === "string") {
12036				return stateVal ? this.addClass(value) : this.removeClass(value);
12037			}
12038
12039			if (jQuery.isFunction(value)) {
12040				return this.each(function (i) {
12041					jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal);
12042				});
12043			}
12044
12045			return this.each(function () {
12046				var className, i, self, classNames;
12047
12048				if (type === "string") {
12049
12050					// Toggle individual class names
12051					i = 0;
12052					self = jQuery(this);
12053					classNames = value.match(rnothtmlwhite) || [];
12054
12055					while (className = classNames[i++]) {
12056
12057						// Check each className given, space separated list
12058						if (self.hasClass(className)) {
12059							self.removeClass(className);
12060						} else {
12061							self.addClass(className);
12062						}
12063					}
12064
12065					// Toggle whole class name
12066				} else if (value === undefined || type === "boolean") {
12067					className = getClass(this);
12068					if (className) {
12069
12070						// Store className if set
12071						dataPriv.set(this, "__className__", className);
12072					}
12073
12074					// If the element has a class name or if we're passed `false`,
12075					// then remove the whole classname (if there was one, the above saved it).
12076					// Otherwise bring back whatever was previously saved (if anything),
12077					// falling back to the empty string if nothing was stored.
12078					if (this.setAttribute) {
12079						this.setAttribute("class", className || value === false ? "" : dataPriv.get(this, "__className__") || "");
12080					}
12081				}
12082			});
12083		},
12084
12085		hasClass: function hasClass(selector) {
12086			var className,
12087			    elem,
12088			    i = 0;
12089
12090			className = " " + selector + " ";
12091			while (elem = this[i++]) {
12092				if (elem.nodeType === 1 && (" " + stripAndCollapse(getClass(elem)) + " ").indexOf(className) > -1) {
12093					return true;
12094				}
12095			}
12096
12097			return false;
vendor: 5,066 bytes, lines 12098-12310
12098		}
12099	});
12100
12101	var rreturn = /\r/g;
12102
12103	jQuery.fn.extend({
12104		val: function val(value) {
12105			var hooks,
12106			    ret,
12107			    isFunction,
12108			    elem = this[0];
12109
12110			if (!arguments.length) {
12111				if (elem) {
12112					hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()];
12113
12114					if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== undefined) {
12115						return ret;
12116					}
12117
12118					ret = elem.value;
12119
12120					// Handle most common string cases
12121					if (typeof ret === "string") {
12122						return ret.replace(rreturn, "");
12123					}
12124
12125					// Handle cases where value is null/undef or number
12126					return ret == null ? "" : ret;
12127				}
12128
12129				return;
12130			}
12131
12132			isFunction = jQuery.isFunction(value);
12133
12134			return this.each(function (i) {
12135				var val;
12136
12137				if (this.nodeType !== 1) {
12138					return;
12139				}
12140
12141				if (isFunction) {
12142					val = value.call(this, i, jQuery(this).val());
12143				} else {
12144					val = value;
12145				}
12146
12147				// Treat null/undefined as ""; convert numbers to string
12148				if (val == null) {
12149					val = "";
12150				} else if (typeof val === "number") {
12151					val += "";
12152				} else if (Array.isArray(val)) {
12153					val = jQuery.map(val, function (value) {
12154						return value == null ? "" : value + "";
12155					});
12156				}
12157
12158				hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()];
12159
12160				// If set returns undefined, fall back to normal setting
12161				if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === undefined) {
12162					this.value = val;
12163				}
12164			});
12165		}
12166	});
12167
12168	jQuery.extend({
12169		valHooks: {
12170			option: {
12171				get: function get(elem) {
12172
12173					var val = jQuery.find.attr(elem, "value");
12174					return val != null ? val :
12175
12176					// Support: IE <=10 - 11 only
12177					// option.text throws exceptions (#14686, #14858)
12178					// Strip and collapse whitespace
12179					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
12180					stripAndCollapse(jQuery.text(elem));
12181				}
12182			},
12183			select: {
12184				get: function get(elem) {
12185					var value,
12186					    option,
12187					    i,
12188					    options = elem.options,
12189					    index = elem.selectedIndex,
12190					    one = elem.type === "select-one",
12191					    values = one ? null : [],
12192					    max = one ? index + 1 : options.length;
12193
12194					if (index < 0) {
12195						i = max;
12196					} else {
12197						i = one ? index : 0;
12198					}
12199
12200					// Loop through all the selected options
12201					for (; i < max; i++) {
12202						option = options[i];
12203
12204						// Support: IE <=9 only
12205						// IE8-9 doesn't update selected after form reset (#2551)
12206						if ((option.selected || i === index) &&
12207
12208						// Don't return options that are disabled or in a disabled optgroup
12209						!option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, "optgroup"))) {
12210
12211							// Get the specific value for the option
12212							value = jQuery(option).val();
12213
12214							// We don't need an array for one selects
12215							if (one) {
12216								return value;
12217							}
12218
12219							// Multi-Selects return an array
12220							values.push(value);
12221						}
12222					}
12223
12224					return values;
12225				},
12226
12227				set: function set(elem, value) {
12228					var optionSet,
12229					    option,
12230					    options = elem.options,
12231					    values = jQuery.makeArray(value),
12232					    i = options.length;
12233
12234					while (i--) {
12235						option = options[i];
12236
12237						/* eslint-disable no-cond-assign */
12238
12239						if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) {
12240							optionSet = true;
12241						}
12242
12243						/* eslint-enable no-cond-assign */
12244					}
12245
12246					// Force browsers to behave consistently when non-matching value is set
12247					if (!optionSet) {
12248						elem.selectedIndex = -1;
12249					}
12250					return values;
12251				}
12252			}
12253		}
12254	});
12255
12256	// Radios and checkboxes getter/setter
12257	jQuery.each(["radio", "checkbox"], function () {
12258		jQuery.valHooks[this] = {
12259			set: function set(elem, value) {
12260				if (Array.isArray(value)) {
12261					return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1;
12262				}
12263			}
12264		};
12265		if (!support.checkOn) {
12266			jQuery.valHooks[this].get = function (elem) {
12267				return elem.getAttribute("value") === null ? "on" : elem.value;
12268			};
12269		}
12270	});
12271
12272	// Return jQuery for attributes-only inclusion
12273
12274
12275	var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
12276
12277	jQuery.extend(jQuery.event, {
12278
12279		trigger: function trigger(event, data, elem, onlyHandlers) {
12280
12281			var i,
12282			    cur,
12283			    tmp,
12284			    bubbleType,
12285			    ontype,
12286			    handle,
12287			    special,
12288			    eventPath = [elem || document],
12289			    type = hasOwn.call(event, "type") ? event.type : event,
12290			    namespaces = hasOwn.call(event, "namespace") ? event.namespace.split(".") : [];
12291
12292			cur = tmp = elem = elem || document;
12293
12294			// Don't do events on text and comment nodes
12295			if (elem.nodeType === 3 || elem.nodeType === 8) {
12296				return;
12297			}
12298
12299			// focus/blur morphs to focusin/out; ensure we're not firing them right now
12300			if (rfocusMorph.test(type + jQuery.event.triggered)) {
12301				return;
12302			}
12303
12304			if (type.indexOf(".") > -1) {
12305
12306				// Namespaced trigger; create a regexp to match event type in handle()
12307				namespaces = type.split(".");
12308				type = namespaces.shift();
12309				namespaces.sort();
12310			}
vendor: 4,541 bytes, lines 12311-12454
12311			ontype = type.indexOf(":") < 0 && "on" + type;
12312
12313			// Caller can pass in a jQuery.Event object, Object, or just an event type string
12314			event = event[jQuery.expando] ? event : new jQuery.Event(type, (typeof event === "undefined" ? "undefined" : _typeof(event)) === "object" && event);
12315
12316			// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
12317			event.isTrigger = onlyHandlers ? 2 : 3;
12318			event.namespace = namespaces.join(".");
12319			event.rnamespace = event.namespace ? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
12320
12321			// Clean up the event in case it is being reused
12322			event.result = undefined;
12323			if (!event.target) {
12324				event.target = elem;
12325			}
12326
12327			// Clone any incoming data and prepend the event, creating the handler arg list
12328			data = data == null ? [event] : jQuery.makeArray(data, [event]);
12329
12330			// Allow special events to draw outside the lines
12331			special = jQuery.event.special[type] || {};
12332			if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) {
12333				return;
12334			}
12335
12336			// Determine event propagation path in advance, per W3C events spec (#9951)
12337			// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
12338			if (!onlyHandlers && !special.noBubble && !jQuery.isWindow(elem)) {
12339
12340				bubbleType = special.delegateType || type;
12341				if (!rfocusMorph.test(bubbleType + type)) {
12342					cur = cur.parentNode;
12343				}
12344				for (; cur; cur = cur.parentNode) {
12345					eventPath.push(cur);
12346					tmp = cur;
12347				}
12348
12349				// Only add window if we got to document (e.g., not plain obj or detached DOM)
12350				if (tmp === (elem.ownerDocument || document)) {
12351					eventPath.push(tmp.defaultView || tmp.parentWindow || window);
12352				}
12353			}
12354
12355			// Fire handlers on the event path
12356			i = 0;
12357			while ((cur = eventPath[i++]) && !event.isPropagationStopped()) {
12358
12359				event.type = i > 1 ? bubbleType : special.bindType || type;
12360
12361				// jQuery handler
12362				handle = (dataPriv.get(cur, "events") || {})[event.type] && dataPriv.get(cur, "handle");
12363				if (handle) {
12364					handle.apply(cur, data);
12365				}
12366
12367				// Native handler
12368				handle = ontype && cur[ontype];
12369				if (handle && handle.apply && acceptData(cur)) {
12370					event.result = handle.apply(cur, data);
12371					if (event.result === false) {
12372						event.preventDefault();
12373					}
12374				}
12375			}
12376			event.type = type;
12377
12378			// If nobody prevented the default action, do it now
12379			if (!onlyHandlers && !event.isDefaultPrevented()) {
12380
12381				if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) {
12382
12383					// Call a native DOM method on the target with the same name as the event.
12384					// Don't do default actions on window, that's where global variables be (#6170)
12385					if (ontype && jQuery.isFunction(elem[type]) && !jQuery.isWindow(elem)) {
12386
12387						// Don't re-trigger an onFOO event when we call its FOO() method
12388						tmp = elem[ontype];
12389
12390						if (tmp) {
12391							elem[ontype] = null;
12392						}
12393
12394						// Prevent re-triggering of the same event, since we already bubbled it above
12395						jQuery.event.triggered = type;
12396						elem[type]();
12397						jQuery.event.triggered = undefined;
12398
12399						if (tmp) {
12400							elem[ontype] = tmp;
12401						}
12402					}
12403				}
12404			}
12405
12406			return event.result;
12407		},
12408
12409		// Piggyback on a donor event to simulate a different one
12410		// Used only for `focus(in | out)` events
12411		simulate: function simulate(type, elem, event) {
12412			var e = jQuery.extend(new jQuery.Event(), event, {
12413				type: type,
12414				isSimulated: true
12415			});
12416
12417			jQuery.event.trigger(e, null, elem);
12418		}
12419
12420	});
12421
12422	jQuery.fn.extend({
12423
12424		trigger: function trigger(type, data) {
12425			return this.each(function () {
12426				jQuery.event.trigger(type, data, this);
12427			});
12428		},
12429		triggerHandler: function triggerHandler(type, data) {
12430			var elem = this[0];
12431			if (elem) {
12432				return jQuery.event.trigger(type, data, elem, true);
12433			}
12434		}
12435	});
12436
12437	jQuery.each(("blur focus focusin focusout resize scroll click dblclick " + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + "change select submit keydown keypress keyup contextmenu").split(" "), function (i, name) {
12438
12439		// Handle event binding
12440		jQuery.fn[name] = function (data, fn) {
12441			return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
12442		};
12443	});
12444
12445	jQuery.fn.extend({
12446		hover: function hover(fnOver, fnOut) {
12447			return this.mouseenter(fnOver).mouseleave(fnOut || fnOver);
12448		}
12449	});
12450
12451	support.focusin = "onfocusin" in window;
12452
12453	// Support: Firefox <=44
12454	// Firefox doesn't have focus(in | out) events
12455	// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
12456	//
12457	// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
12458	// focus(in | out) events fire after focus & blur events,
12459	// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
12460	// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
12461	if (!support.focusin) {
12462		jQuery.each({ focus: "focusin", blur: "focusout" }, function (orig, fix) {
12463
12464			// Attach a single capturing handler on the document while someone wants focusin/focusout
12465			var handler = function handler(event) {
12466				jQuery.event.simulate(fix, event.target, jQuery.event.fix(event));
12467			};
12468
12469			jQuery.event.special[fix] = {
12470				setup: function setup() {
12471					var doc = this.ownerDocument || this,
12472					    attaches = dataPriv.access(doc, fix);
12473
12474					if (!attaches) {
12475						doc.addEventListener(orig, handler, true);
12476					}
12477					dataPriv.access(doc, fix, (attaches || 0) + 1);
12478				},
12479				teardown: function teardown() {
12480					var doc = this.ownerDocument || this,
12481					    attaches = dataPriv.access(doc, fix) - 1;
12482
12483					if (!attaches) {
12484						doc.removeEventListener(orig, handler, true);
12485						dataPriv.remove(doc, fix);
12486					} else {
12487						dataPriv.access(doc, fix, attaches);
12488					}
12489				}
12490			};
12491		});
12492	}
12493	var location = window.location;
12494
12495	var nonce = jQuery.now();
12496
12497	var rquery = /\?/;
12498
12499	// Cross-browser xml parsing
12500	jQuery.parseXML = function (data) {
12501		var xml;
12502		if (!data || typeof data !== "string") {
12503			return null;
12504		}
12505
12506		// Support: IE 9 - 11 only
12507		// IE throws on parseFromString with invalid input.
12508		try {
12509			xml = new window.DOMParser().parseFromString(data, "text/xml");
12510		} catch (e) {
12511			xml = undefined;
12512		}
12513
12514		if (!xml || xml.getElementsByTagName("parsererror").length) {
12515			jQuery.error("Invalid XML: " + data);
12516		}
12517		return xml;
12518	};
12519
12520	var rbracket = /\[\]$/,
12521	    rCRLF = /\r?\n/g,
12522	    rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
12523	    rsubmittable = /^(?:input|select|textarea|keygen)/i;
12524
12525	function buildParams(prefix, obj, traditional, add) {
12526		var name;
12527
12528		if (Array.isArray(obj)) {
12529
12530			// Serialize array item.
12531			jQuery.each(obj, function (i, v) {
12532				if (traditional || rbracket.test(prefix)) {
12533
12534					// Treat each array item as a scalar.
12535					add(prefix, v);
12536				} else {
12537
12538					// Item is non-scalar (array or object), encode its numeric index.
12539					buildParams(prefix + "[" + ((typeof v === "undefined" ? "undefined" : _typeof(v)) === "object" && v != null ? i : "") + "]", v, traditional, add);
12540				}
12541			});
12542		} else if (!traditional && jQuery.type(obj) === "object") {
12543
12544			// Serialize object item.
12545			for (name in obj) {
12546				buildParams(prefix + "[" + name + "]", obj[name], traditional, add);
12547			}
12548		} else {
12549
12550			// Serialize scalar item.
12551			add(prefix, obj);
12552		}
12553	}
12554
12555	// Serialize an array of form elements or a set of
12556	// key/values into a query string
12557	jQuery.param = function (a, traditional) {
12558		var prefix,
12559		    s = [],
12560		    add = function add(key, valueOrFunction) {
12561
12562			// If value is a function, invoke it and use its return value
12563			var value = jQuery.isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;
12564
12565			s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value == null ? "" : value);
12566		};
12567
12568		// If an array was passed in, assume that it is an array of form elements.
12569		if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) {
12570
12571			// Serialize the form elements
12572			jQuery.each(a, function () {
12573				add(this.name, this.value);
12574			});
12575		} else {
12576
12577			// If traditional, encode the "old" way (the way 1.3.2 or older
12578			// did it), otherwise encode params recursively.
12579			for (prefix in a) {
12580				buildParams(prefix, a[prefix], traditional, add);
12581			}
12582		}
12583
12584		// Return the resulting serialization
12585		return s.join("&");
12586	};
12587
12588	jQuery.fn.extend({
12589		serialize: function serialize() {
12590			return jQuery.param(this.serializeArray());
12591		},
12592		serializeArray: function serializeArray() {
12593			return this.map(function () {
12594
12595				// Can add propHook for "elements" to filter or add form elements
12596				var elements = jQuery.prop(this, "elements");
12597				return elements ? jQuery.makeArray(elements) : this;
12598			}).filter(function () {
12599				var type = this.type;
12600
12601				// Use .is( ":disabled" ) so that fieldset[disabled] works
12602				return this.name && !jQuery(this).is(":disabled") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type));
12603			}).map(function (i, elem) {
12604				var val = jQuery(this).val();
12605
12606				if (val == null) {
12607					return null;
12608				}
12609
12610				if (Array.isArray(val)) {
12611					return jQuery.map(val, function (val) {
12612						return { name: elem.name, value: val.replace(rCRLF, "\r\n") };
12613					});
12614				}
12615
12616				return { name: elem.name, value: val.replace(rCRLF, "\r\n") };
12617			}).get();
12618		}
12619	});
12620
12621	var r20 = /%20/g,
12622	    rhash = /#.*$/,
12623	    rantiCache = /([?&])_=[^&]*/,
12624	    rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
12625
12626
12627	// #7653, #8125, #8152: local protocol detection
12628	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
12629	    rnoContent = /^(?:GET|HEAD)$/,
12630	    rprotocol = /^\/\//,
12631
12632
12633	/* Prefilters
12634  * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
12635  * 2) These are called:
12636  *    - BEFORE asking for a transport
vendor: 5,394 bytes, lines 12637-12843
12637  *    - AFTER param serialization (s.data is a string if s.processData is true)
12638  * 3) key is the dataType
12639  * 4) the catchall symbol "*" can be used
12640  * 5) execution will start with transport dataType and THEN continue down to "*" if needed
12641  */
12642	prefilters = {},
12643
12644
12645	/* Transports bindings
12646  * 1) key is the dataType
12647  * 2) the catchall symbol "*" can be used
12648  * 3) selection will start with transport dataType and THEN go to "*" if needed
12649  */
12650	transports = {},
12651
12652
12653	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
12654	allTypes = "*/".concat("*"),
12655
12656
12657	// Anchor tag for parsing the document origin
12658	originAnchor = document.createElement("a");
12659	originAnchor.href = location.href;
12660
12661	// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
12662	function addToPrefiltersOrTransports(structure) {
12663
12664		// dataTypeExpression is optional and defaults to "*"
12665		return function (dataTypeExpression, func) {
12666
12667			if (typeof dataTypeExpression !== "string") {
12668				func = dataTypeExpression;
12669				dataTypeExpression = "*";
12670			}
12671
12672			var dataType,
12673			    i = 0,
12674			    dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];
12675
12676			if (jQuery.isFunction(func)) {
12677
12678				// For each dataType in the dataTypeExpression
12679				while (dataType = dataTypes[i++]) {
12680
12681					// Prepend if requested
12682					if (dataType[0] === "+") {
12683						dataType = dataType.slice(1) || "*";
12684						(structure[dataType] = structure[dataType] || []).unshift(func);
12685
12686						// Otherwise append
12687					} else {
12688						(structure[dataType] = structure[dataType] || []).push(func);
12689					}
12690				}
12691			}
12692		};
12693	}
12694
12695	// Base inspection function for prefilters and transports
12696	function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {
12697
12698		var inspected = {},
12699		    seekingTransport = structure === transports;
12700
12701		function inspect(dataType) {
12702			var selected;
12703			inspected[dataType] = true;
12704			jQuery.each(structure[dataType] || [], function (_, prefilterOrFactory) {
12705				var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);
12706				if (typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[dataTypeOrTransport]) {
12707
12708					options.dataTypes.unshift(dataTypeOrTransport);
12709					inspect(dataTypeOrTransport);
12710					return false;
12711				} else if (seekingTransport) {
12712					return !(selected = dataTypeOrTransport);
12713				}
12714			});
12715			return selected;
12716		}
12717
12718		return inspect(options.dataTypes[0]) || !inspected["*"] && inspect("*");
12719	}
12720
12721	// A special extend for ajax options
12722	// that takes "flat" options (not to be deep extended)
12723	// Fixes #9887
12724	function ajaxExtend(target, src) {
12725		var key,
12726		    deep,
12727		    flatOptions = jQuery.ajaxSettings.flatOptions || {};
12728
12729		for (key in src) {
12730			if (src[key] !== undefined) {
12731				(flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];
12732			}
12733		}
12734		if (deep) {
12735			jQuery.extend(true, target, deep);
12736		}
12737
12738		return target;
12739	}
12740
12741	/* Handles responses to an ajax request:
12742  * - finds the right dataType (mediates between content-type and expected dataType)
12743  * - returns the corresponding response
12744  */
12745	function ajaxHandleResponses(s, jqXHR, responses) {
12746
12747		var ct,
12748		    type,
12749		    finalDataType,
12750		    firstDataType,
12751		    contents = s.contents,
12752		    dataTypes = s.dataTypes;
12753
12754		// Remove auto dataType and get content-type in the process
12755		while (dataTypes[0] === "*") {
12756			dataTypes.shift();
12757			if (ct === undefined) {
12758				ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");
12759			}
12760		}
12761
12762		// Check if we're dealing with a known content-type
12763		if (ct) {
12764			for (type in contents) {
12765				if (contents[type] && contents[type].test(ct)) {
12766					dataTypes.unshift(type);
12767					break;
12768				}
12769			}
12770		}
12771
12772		// Check to see if we have a response for the expected dataType
12773		if (dataTypes[0] in responses) {
12774			finalDataType = dataTypes[0];
12775		} else {
12776
12777			// Try convertible dataTypes
12778			for (type in responses) {
12779				if (!dataTypes[0] || s.converters[type + " " + dataTypes[0]]) {
12780					finalDataType = type;
12781					break;
12782				}
12783				if (!firstDataType) {
12784					firstDataType = type;
12785				}
12786			}
12787
12788			// Or just use first one
12789			finalDataType = finalDataType || firstDataType;
12790		}
12791
12792		// If we found a dataType
12793		// We add the dataType to the list if needed
12794		// and return the corresponding response
12795		if (finalDataType) {
12796			if (finalDataType !== dataTypes[0]) {
12797				dataTypes.unshift(finalDataType);
12798			}
12799			return responses[finalDataType];
12800		}
12801	}
12802
12803	/* Chain conversions given the request and the original response
12804  * Also sets the responseXXX fields on the jqXHR instance
12805  */
12806	function ajaxConvert(s, response, jqXHR, isSuccess) {
12807		var conv2,
12808		    current,
12809		    conv,
12810		    tmp,
12811		    prev,
12812		    converters = {},
12813
12814
12815		// Work with a copy of dataTypes in case we need to modify it for conversion
12816		dataTypes = s.dataTypes.slice();
12817
12818		// Create converters map with lowercased keys
12819		if (dataTypes[1]) {
12820			for (conv in s.converters) {
12821				converters[conv.toLowerCase()] = s.converters[conv];
12822			}
12823		}
12824
12825		current = dataTypes.shift();
12826
12827		// Convert to each sequential dataType
12828		while (current) {
12829
12830			if (s.responseFields[current]) {
12831				jqXHR[s.responseFields[current]] = response;
12832			}
12833
12834			// Apply the dataFilter if provided
12835			if (!prev && isSuccess && s.dataFilter) {
12836				response = s.dataFilter(response, s.dataType);
12837			}
12838
12839			prev = current;
12840			current = dataTypes.shift();
12841
12842			if (current) {
12843
vendor: 7,646 bytes, lines 12844-13165
12844				// There's only work to do if current dataType is non-auto
12845				if (current === "*") {
12846
12847					current = prev;
12848
12849					// Convert response if prev dataType is non-auto and differs from current
12850				} else if (prev !== "*" && prev !== current) {
12851
12852					// Seek a direct converter
12853					conv = converters[prev + " " + current] || converters["* " + current];
12854
12855					// If none found, seek a pair
12856					if (!conv) {
12857						for (conv2 in converters) {
12858
12859							// If conv2 outputs current
12860							tmp = conv2.split(" ");
12861							if (tmp[1] === current) {
12862
12863								// If prev can be converted to accepted input
12864								conv = converters[prev + " " + tmp[0]] || converters["* " + tmp[0]];
12865								if (conv) {
12866
12867									// Condense equivalence converters
12868									if (conv === true) {
12869										conv = converters[conv2];
12870
12871										// Otherwise, insert the intermediate dataType
12872									} else if (converters[conv2] !== true) {
12873										current = tmp[0];
12874										dataTypes.unshift(tmp[1]);
12875									}
12876									break;
12877								}
12878							}
12879						}
12880					}
12881
12882					// Apply converter (if not an equivalence)
12883					if (conv !== true) {
12884
12885						// Unless errors are allowed to bubble, catch and return them
12886						if (conv && s.throws) {
12887							response = conv(response);
12888						} else {
12889							try {
12890								response = conv(response);
12891							} catch (e) {
12892								return {
12893									state: "parsererror",
12894									error: conv ? e : "No conversion from " + prev + " to " + current
12895								};
12896							}
12897						}
12898					}
12899				}
12900			}
12901		}
12902
12903		return { state: "success", data: response };
12904	}
12905
12906	jQuery.extend({
12907
12908		// Counter for holding the number of active queries
12909		active: 0,
12910
12911		// Last-Modified header cache for next request
12912		lastModified: {},
12913		etag: {},
12914
12915		ajaxSettings: {
12916			url: location.href,
12917			type: "GET",
12918			isLocal: rlocalProtocol.test(location.protocol),
12919			global: true,
12920			processData: true,
12921			async: true,
12922			contentType: "application/x-www-form-urlencoded; charset=UTF-8",
12923
12924			/*
12925   timeout: 0,
12926   data: null,
12927   dataType: null,
12928   username: null,
12929   password: null,
12930   cache: null,
12931   throws: false,
12932   traditional: false,
12933   headers: {},
12934   */
12935
12936			accepts: {
12937				"*": allTypes,
12938				text: "text/plain",
12939				html: "text/html",
12940				xml: "application/xml, text/xml",
12941				json: "application/json, text/javascript"
12942			},
12943
12944			contents: {
12945				xml: /\bxml\b/,
12946				html: /\bhtml/,
12947				json: /\bjson\b/
12948			},
12949
12950			responseFields: {
12951				xml: "responseXML",
12952				text: "responseText",
12953				json: "responseJSON"
12954			},
12955
12956			// Data converters
12957			// Keys separate source (or catchall "*") and destination types with a single space
12958			converters: {
12959
12960				// Convert anything to text
12961				"* text": String,
12962
12963				// Text to html (true = no transformation)
12964				"text html": true,
12965
12966				// Evaluate text as a json expression
12967				"text json": JSON.parse,
12968
12969				// Parse text as xml
12970				"text xml": jQuery.parseXML
12971			},
12972
12973			// For options that shouldn't be deep extended:
12974			// you can add your own custom options here if
12975			// and when you create one that shouldn't be
12976			// deep extended (see ajaxExtend)
12977			flatOptions: {
12978				url: true,
12979				context: true
12980			}
12981		},
12982
12983		// Creates a full fledged settings object into target
12984		// with both ajaxSettings and settings fields.
12985		// If target is omitted, writes into ajaxSettings.
12986		ajaxSetup: function ajaxSetup(target, settings) {
12987			return settings ?
12988
12989			// Building a settings object
12990			ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) :
12991
12992			// Extending ajaxSettings
12993			ajaxExtend(jQuery.ajaxSettings, target);
12994		},
12995
12996		ajaxPrefilter: addToPrefiltersOrTransports(prefilters),
12997		ajaxTransport: addToPrefiltersOrTransports(transports),
12998
12999		// Main method
13000		ajax: function ajax(url, options) {
13001
13002			// If url is an object, simulate pre-1.5 signature
13003			if ((typeof url === "undefined" ? "undefined" : _typeof(url)) === "object") {
13004				options = url;
13005				url = undefined;
13006			}
13007
13008			// Force options to be an object
13009			options = options || {};
13010
13011			var transport,
13012
13013
13014			// URL without anti-cache param
13015			cacheURL,
13016
13017
13018			// Response headers
13019			responseHeadersString,
13020			    responseHeaders,
13021
13022
13023			// timeout handle
13024			timeoutTimer,
13025
13026
13027			// Url cleanup var
13028			urlAnchor,
13029
13030
13031			// Request state (becomes false upon send and true upon completion)
13032			completed,
13033
13034
13035			// To know if global events are to be dispatched
13036			fireGlobals,
13037
13038
13039			// Loop variable
13040			i,
13041
13042
13043			// uncached part of the url
13044			uncached,
13045
13046
13047			// Create the final options object
13048			s = jQuery.ajaxSetup({}, options),
13049
13050
13051			// Callbacks context
13052			callbackContext = s.context || s,
13053
13054
13055			// Context for global events is callbackContext if it is a DOM node or jQuery collection
13056			globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event,
13057
13058
13059			// Deferreds
13060			deferred = jQuery.Deferred(),
13061			    completeDeferred = jQuery.Callbacks("once memory"),
13062
13063
13064			// Status-dependent callbacks
13065			_statusCode = s.statusCode || {},
13066
13067
13068			// Headers (they are sent all at once)
13069			requestHeaders = {},
13070			    requestHeadersNames = {},
13071
13072
13073			// Default abort message
13074			strAbort = "canceled",
13075
13076
13077			// Fake xhr
13078			jqXHR = {
13079				readyState: 0,
13080
13081				// Builds headers hashtable if needed
13082				getResponseHeader: function getResponseHeader(key) {
13083					var match;
13084					if (completed) {
13085						if (!responseHeaders) {
13086							responseHeaders = {};
13087							while (match = rheaders.exec(responseHeadersString)) {
13088								responseHeaders[match[1].toLowerCase()] = match[2];
13089							}
13090						}
13091						match = responseHeaders[key.toLowerCase()];
13092					}
13093					return match == null ? null : match;
13094				},
13095
13096				// Raw string
13097				getAllResponseHeaders: function getAllResponseHeaders() {
13098					return completed ? responseHeadersString : null;
13099				},
13100
13101				// Caches the header
13102				setRequestHeader: function setRequestHeader(name, value) {
13103					if (completed == null) {
13104						name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;
13105						requestHeaders[name] = value;
13106					}
13107					return this;
13108				},
13109
13110				// Overrides response content-type header
13111				overrideMimeType: function overrideMimeType(type) {
13112					if (completed == null) {
13113						s.mimeType = type;
13114					}
13115					return this;
13116				},
13117
13118				// Status-dependent callbacks
13119				statusCode: function statusCode(map) {
13120					var code;
13121					if (map) {
13122						if (completed) {
13123
13124							// Execute the appropriate callbacks
13125							jqXHR.always(map[jqXHR.status]);
13126						} else {
13127
13128							// Lazy-add the new callbacks in a way that preserves old ones
13129							for (code in map) {
13130								_statusCode[code] = [_statusCode[code], map[code]];
13131							}
13132						}
13133					}
13134					return this;
13135				},
13136
13137				// Cancel the request
13138				abort: function abort(statusText) {
13139					var finalText = statusText || strAbort;
13140					if (transport) {
13141						transport.abort(finalText);
13142					}
13143					done(0, finalText);
13144					return this;
13145				}
13146			};
13147
13148			// Attach deferreds
13149			deferred.promise(jqXHR);
13150
13151			// Add protocol if not provided (prefilters might expect it)
13152			// Handle falsy url in the settings object (#10093: consistency with old signature)
13153			// We also use the url parameter if available
13154			s.url = ((url || s.url || location.href) + "").replace(rprotocol, location.protocol + "//");
13155
13156			// Alias method option to type as per ticket #12004
13157			s.type = options.method || options.type || s.method || s.type;
13158
13159			// Extract dataTypes list
13160			s.dataTypes = (s.dataType || "*").toLowerCase().match(rnothtmlwhite) || [""];
13161
13162			// A cross-domain request is in order when the origin doesn't match the current origin.
13163			if (s.crossDomain == null) {
13164				urlAnchor = document.createElement("a");
13165
vendor: 4,602 bytes, lines 13166-13310
13166				// Support: IE <=8 - 11, Edge 12 - 13
13167				// IE throws exception on accessing the href property if url is malformed,
13168				// e.g. http://example.com:80x/
13169				try {
13170					urlAnchor.href = s.url;
13171
13172					// Support: IE <=8 - 11 only
13173					// Anchor's host property isn't correctly set when s.url is relative
13174					urlAnchor.href = urlAnchor.href;
13175					s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host;
13176				} catch (e) {
13177
13178					// If there is an error parsing the URL, assume it is crossDomain,
13179					// it can be rejected by the transport if it is invalid
13180					s.crossDomain = true;
13181				}
13182			}
13183
13184			// Convert data if not already a string
13185			if (s.data && s.processData && typeof s.data !== "string") {
13186				s.data = jQuery.param(s.data, s.traditional);
13187			}
13188
13189			// Apply prefilters
13190			inspectPrefiltersOrTransports(prefilters, s, options, jqXHR);
13191
13192			// If request was aborted inside a prefilter, stop there
13193			if (completed) {
13194				return jqXHR;
13195			}
13196
13197			// We can fire global events as of now if asked to
13198			// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
13199			fireGlobals = jQuery.event && s.global;
13200
13201			// Watch for a new set of requests
13202			if (fireGlobals && jQuery.active++ === 0) {
13203				jQuery.event.trigger("ajaxStart");
13204			}
13205
13206			// Uppercase the type
13207			s.type = s.type.toUpperCase();
13208
13209			// Determine if request has content
13210			s.hasContent = !rnoContent.test(s.type);
13211
13212			// Save the URL in case we're toying with the If-Modified-Since
13213			// and/or If-None-Match header later on
13214			// Remove hash to simplify url manipulation
13215			cacheURL = s.url.replace(rhash, "");
13216
13217			// More options handling for requests with no content
13218			if (!s.hasContent) {
13219
13220				// Remember the hash so we can put it back
13221				uncached = s.url.slice(cacheURL.length);
13222
13223				// If data is available, append data to url
13224				if (s.data) {
13225					cacheURL += (rquery.test(cacheURL) ? "&" : "?") + s.data;
13226
13227					// #9682: remove data so that it's not used in an eventual retry
13228					delete s.data;
13229				}
13230
13231				// Add or update anti-cache param if needed
13232				if (s.cache === false) {
13233					cacheURL = cacheURL.replace(rantiCache, "$1");
13234					uncached = (rquery.test(cacheURL) ? "&" : "?") + "_=" + nonce++ + uncached;
13235				}
13236
13237				// Put hash and anti-cache on the URL that will be requested (gh-1732)
13238				s.url = cacheURL + uncached;
13239
13240				// Change '%20' to '+' if this is encoded form body content (gh-2658)
13241			} else if (s.data && s.processData && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) {
13242				s.data = s.data.replace(r20, "+");
13243			}
13244
13245			// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
13246			if (s.ifModified) {
13247				if (jQuery.lastModified[cacheURL]) {
13248					jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]);
13249				}
13250				if (jQuery.etag[cacheURL]) {
13251					jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL]);
13252				}
13253			}
13254
13255			// Set the correct header, if data is being sent
13256			if (s.data && s.hasContent && s.contentType !== false || options.contentType) {
13257				jqXHR.setRequestHeader("Content-Type", s.contentType);
13258			}
13259
13260			// Set the Accepts header for the server, depending on the dataType
13261			jqXHR.setRequestHeader("Accept", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : s.accepts["*"]);
13262
13263			// Check for headers option
13264			for (i in s.headers) {
13265				jqXHR.setRequestHeader(i, s.headers[i]);
13266			}
13267
13268			// Allow custom headers/mimetypes and early abort
13269			if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) {
13270
13271				// Abort if not done already and return
13272				return jqXHR.abort();
13273			}
13274
13275			// Aborting is no longer a cancellation
13276			strAbort = "abort";
13277
13278			// Install callbacks on deferreds
13279			completeDeferred.add(s.complete);
13280			jqXHR.done(s.success);
13281			jqXHR.fail(s.error);
13282
13283			// Get transport
13284			transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR);
13285
13286			// If no transport, we auto-abort
13287			if (!transport) {
13288				done(-1, "No Transport");
13289			} else {
13290				jqXHR.readyState = 1;
13291
13292				// Send global event
13293				if (fireGlobals) {
13294					globalEventContext.trigger("ajaxSend", [jqXHR, s]);
13295				}
13296
13297				// If request was aborted inside ajaxSend, stop there
13298				if (completed) {
13299					return jqXHR;
13300				}
13301
13302				// Timeout
13303				if (s.async && s.timeout > 0) {
13304					timeoutTimer = window.setTimeout(function () {
13305						jqXHR.abort("timeout");
13306					}, s.timeout);
13307				}
13308
13309				try {
13310					completed = false;
vendor: 6,000 bytes, lines 13311-13569
13311					transport.send(requestHeaders, done);
13312				} catch (e) {
13313
13314					// Rethrow post-completion exceptions
13315					if (completed) {
13316						throw e;
13317					}
13318
13319					// Propagate others as results
13320					done(-1, e);
13321				}
13322			}
13323
13324			// Callback for when everything is done
13325			function done(status, nativeStatusText, responses, headers) {
13326				var isSuccess,
13327				    success,
13328				    error,
13329				    response,
13330				    modified,
13331				    statusText = nativeStatusText;
13332
13333				// Ignore repeat invocations
13334				if (completed) {
13335					return;
13336				}
13337
13338				completed = true;
13339
13340				// Clear timeout if it exists
13341				if (timeoutTimer) {
13342					window.clearTimeout(timeoutTimer);
13343				}
13344
13345				// Dereference transport for early garbage collection
13346				// (no matter how long the jqXHR object will be used)
13347				transport = undefined;
13348
13349				// Cache response headers
13350				responseHeadersString = headers || "";
13351
13352				// Set readyState
13353				jqXHR.readyState = status > 0 ? 4 : 0;
13354
13355				// Determine if successful
13356				isSuccess = status >= 200 && status < 300 || status === 304;
13357
13358				// Get response data
13359				if (responses) {
13360					response = ajaxHandleResponses(s, jqXHR, responses);
13361				}
13362
13363				// Convert no matter what (that way responseXXX fields are always set)
13364				response = ajaxConvert(s, response, jqXHR, isSuccess);
13365
13366				// If successful, handle type chaining
13367				if (isSuccess) {
13368
13369					// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
13370					if (s.ifModified) {
13371						modified = jqXHR.getResponseHeader("Last-Modified");
13372						if (modified) {
13373							jQuery.lastModified[cacheURL] = modified;
13374						}
13375						modified = jqXHR.getResponseHeader("etag");
13376						if (modified) {
13377							jQuery.etag[cacheURL] = modified;
13378						}
13379					}
13380
13381					// if no content
13382					if (status === 204 || s.type === "HEAD") {
13383						statusText = "nocontent";
13384
13385						// if not modified
13386					} else if (status === 304) {
13387						statusText = "notmodified";
13388
13389						// If we have data, let's convert it
13390					} else {
13391						statusText = response.state;
13392						success = response.data;
13393						error = response.error;
13394						isSuccess = !error;
13395					}
13396				} else {
13397
13398					// Extract error from statusText and normalize for non-aborts
13399					error = statusText;
13400					if (status || !statusText) {
13401						statusText = "error";
13402						if (status < 0) {
13403							status = 0;
13404						}
13405					}
13406				}
13407
13408				// Set data for the fake xhr object
13409				jqXHR.status = status;
13410				jqXHR.statusText = (nativeStatusText || statusText) + "";
13411
13412				// Success/Error
13413				if (isSuccess) {
13414					deferred.resolveWith(callbackContext, [success, statusText, jqXHR]);
13415				} else {
13416					deferred.rejectWith(callbackContext, [jqXHR, statusText, error]);
13417				}
13418
13419				// Status-dependent callbacks
13420				jqXHR.statusCode(_statusCode);
13421				_statusCode = undefined;
13422
13423				if (fireGlobals) {
13424					globalEventContext.trigger(isSuccess ? "ajaxSuccess" : "ajaxError", [jqXHR, s, isSuccess ? success : error]);
13425				}
13426
13427				// Complete
13428				completeDeferred.fireWith(callbackContext, [jqXHR, statusText]);
13429
13430				if (fireGlobals) {
13431					globalEventContext.trigger("ajaxComplete", [jqXHR, s]);
13432
13433					// Handle the global AJAX counter
13434					if (! --jQuery.active) {
13435						jQuery.event.trigger("ajaxStop");
13436					}
13437				}
13438			}
13439
13440			return jqXHR;
13441		},
13442
13443		getJSON: function getJSON(url, data, callback) {
13444			return jQuery.get(url, data, callback, "json");
13445		},
13446
13447		getScript: function getScript(url, callback) {
13448			return jQuery.get(url, undefined, callback, "script");
13449		}
13450	});
13451
13452	jQuery.each(["get", "post"], function (i, method) {
13453		jQuery[method] = function (url, data, callback, type) {
13454
13455			// Shift arguments if data argument was omitted
13456			if (jQuery.isFunction(data)) {
13457				type = type || callback;
13458				callback = data;
13459				data = undefined;
13460			}
13461
13462			// The url can be an options object (which then must have .url)
13463			return jQuery.ajax(jQuery.extend({
13464				url: url,
13465				type: method,
13466				dataType: type,
13467				data: data,
13468				success: callback
13469			}, jQuery.isPlainObject(url) && url));
13470		};
13471	});
13472
13473	jQuery._evalUrl = function (url) {
13474		return jQuery.ajax({
13475			url: url,
13476
13477			// Make this explicit, since user can override this through ajaxSetup (#11264)
13478			type: "GET",
13479			dataType: "script",
13480			cache: true,
13481			async: false,
13482			global: false,
13483			"throws": true
13484		});
13485	};
13486
13487	jQuery.fn.extend({
13488		wrapAll: function wrapAll(html) {
13489			var wrap;
13490
13491			if (this[0]) {
13492				if (jQuery.isFunction(html)) {
13493					html = html.call(this[0]);
13494				}
13495
13496				// The elements to wrap the target around
13497				wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true);
13498
13499				if (this[0].parentNode) {
13500					wrap.insertBefore(this[0]);
13501				}
13502
13503				wrap.map(function () {
13504					var elem = this;
13505
13506					while (elem.firstElementChild) {
13507						elem = elem.firstElementChild;
13508					}
13509
13510					return elem;
13511				}).append(this);
13512			}
13513
13514			return this;
13515		},
13516
13517		wrapInner: function wrapInner(html) {
13518			if (jQuery.isFunction(html)) {
13519				return this.each(function (i) {
13520					jQuery(this).wrapInner(html.call(this, i));
13521				});
13522			}
13523
13524			return this.each(function () {
13525				var self = jQuery(this),
13526				    contents = self.contents();
13527
13528				if (contents.length) {
13529					contents.wrapAll(html);
13530				} else {
13531					self.append(html);
13532				}
13533			});
13534		},
13535
13536		wrap: function wrap(html) {
13537			var isFunction = jQuery.isFunction(html);
13538
13539			return this.each(function (i) {
13540				jQuery(this).wrapAll(isFunction ? html.call(this, i) : html);
13541			});
13542		},
13543
13544		unwrap: function unwrap(selector) {
13545			this.parent(selector).not("body").each(function () {
13546				jQuery(this).replaceWith(this.childNodes);
13547			});
13548			return this;
13549		}
13550	});
13551
13552	jQuery.expr.pseudos.hidden = function (elem) {
13553		return !jQuery.expr.pseudos.visible(elem);
13554	};
13555	jQuery.expr.pseudos.visible = function (elem) {
13556		return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
13557	};
13558
13559	jQuery.ajaxSettings.xhr = function () {
13560		try {
13561			return new window.XMLHttpRequest();
13562		} catch (e) {}
13563	};
13564
13565	var xhrSuccessStatus = {
13566
13567		// File protocol always yields status code 0, assume 200
13568		0: 200,
13569
13570		// Support: IE <=9 only
13571		// #1450: sometimes IE returns 1223 when it should be 204
13572		1223: 204
13573	},
13574	    xhrSupported = jQuery.ajaxSettings.xhr();
13575
13576	support.cors = !!xhrSupported && "withCredentials" in xhrSupported;
13577	support.ajax = xhrSupported = !!xhrSupported;
13578
13579	jQuery.ajaxTransport(function (options) {
13580		var _callback, errorCallback;
13581
13582		// Cross domain only allowed if supported through XMLHttpRequest
13583		if (support.cors || xhrSupported && !options.crossDomain) {
13584			return {
13585				send: function send(headers, complete) {
13586					var i,
13587					    xhr = options.xhr();
13588
13589					xhr.open(options.type, options.url, options.async, options.username, options.password);
13590
13591					// Apply custom fields if provided
13592					if (options.xhrFields) {
13593						for (i in options.xhrFields) {
13594							xhr[i] = options.xhrFields[i];
13595						}
13596					}
13597
13598					// Override mime type if needed
13599					if (options.mimeType && xhr.overrideMimeType) {
13600						xhr.overrideMimeType(options.mimeType);
13601					}
13602
13603					// X-Requested-With header
13604					// For cross-domain requests, seeing as conditions for a preflight are
13605					// akin to a jigsaw puzzle, we simply never set it to be sure.
13606					// (it can always be set on a per-request basis or even using ajaxSetup)
vendor: 5,016 bytes, lines 13607-13788
13607					// For same-domain requests, won't change header if already provided.
13608					if (!options.crossDomain && !headers["X-Requested-With"]) {
13609						headers["X-Requested-With"] = "XMLHttpRequest";
13610					}
13611
13612					// Set headers
13613					for (i in headers) {
13614						xhr.setRequestHeader(i, headers[i]);
13615					}
13616
13617					// Callback
13618					_callback = function callback(type) {
13619						return function () {
13620							if (_callback) {
13621								_callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
13622
13623								if (type === "abort") {
13624									xhr.abort();
13625								} else if (type === "error") {
13626
13627									// Support: IE <=9 only
13628									// On a manual native abort, IE9 throws
13629									// errors on any property access that is not readyState
13630									if (typeof xhr.status !== "number") {
13631										complete(0, "error");
13632									} else {
13633										complete(
13634
13635										// File: protocol always yields status 0; see #8605, #14207
13636										xhr.status, xhr.statusText);
13637									}
13638								} else {
13639									complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText,
13640
13641									// Support: IE <=9 only
13642									// IE9 has no XHR2 but throws on binary (trac-11426)
13643									// For XHR2 non-text, let the caller handle it (gh-2498)
13644									(xhr.responseType || "text") !== "text" || typeof xhr.responseText !== "string" ? { binary: xhr.response } : { text: xhr.responseText }, xhr.getAllResponseHeaders());
13645								}
13646							}
13647						};
13648					};
13649
13650					// Listen to events
13651					xhr.onload = _callback();
13652					errorCallback = xhr.onerror = _callback("error");
13653
13654					// Support: IE 9 only
13655					// Use onreadystatechange to replace onabort
13656					// to handle uncaught aborts
13657					if (xhr.onabort !== undefined) {
13658						xhr.onabort = errorCallback;
13659					} else {
13660						xhr.onreadystatechange = function () {
13661
13662							// Check readyState before timeout as it changes
13663							if (xhr.readyState === 4) {
13664
13665								// Allow onerror to be called first,
13666								// but that will not handle a native abort
13667								// Also, save errorCallback to a variable
13668								// as xhr.onerror cannot be accessed
13669								window.setTimeout(function () {
13670									if (_callback) {
13671										errorCallback();
13672									}
13673								});
13674							}
13675						};
13676					}
13677
13678					// Create the abort callback
13679					_callback = _callback("abort");
13680
13681					try {
13682
13683						// Do send the request (this may raise an exception)
13684						xhr.send(options.hasContent && options.data || null);
13685					} catch (e) {
13686
13687						// #14683: Only rethrow if this hasn't been notified as an error yet
13688						if (_callback) {
13689							throw e;
13690						}
13691					}
13692				},
13693
13694				abort: function abort() {
13695					if (_callback) {
13696						_callback();
13697					}
13698				}
13699			};
13700		}
13701	});
13702
13703	// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
13704	jQuery.ajaxPrefilter(function (s) {
13705		if (s.crossDomain) {
13706			s.contents.script = false;
13707		}
13708	});
13709
13710	// Install script dataType
13711	jQuery.ajaxSetup({
13712		accepts: {
13713			script: "text/javascript, application/javascript, " + "application/ecmascript, application/x-ecmascript"
13714		},
13715		contents: {
13716			script: /\b(?:java|ecma)script\b/
13717		},
13718		converters: {
13719			"text script": function textScript(text) {
13720				jQuery.globalEval(text);
13721				return text;
13722			}
13723		}
13724	});
13725
13726	// Handle cache's special case and crossDomain
13727	jQuery.ajaxPrefilter("script", function (s) {
13728		if (s.cache === undefined) {
13729			s.cache = false;
13730		}
13731		if (s.crossDomain) {
13732			s.type = "GET";
13733		}
13734	});
13735
13736	// Bind script tag hack transport
13737	jQuery.ajaxTransport("script", function (s) {
13738
13739		// This transport only deals with cross domain requests
13740		if (s.crossDomain) {
13741			var script, _callback2;
13742			return {
13743				send: function send(_, complete) {
13744					script = jQuery("<script>").prop({
13745						charset: s.scriptCharset,
13746						src: s.url
13747					}).on("load error", _callback2 = function callback(evt) {
13748						script.remove();
13749						_callback2 = null;
13750						if (evt) {
13751							complete(evt.type === "error" ? 404 : 200, evt.type);
13752						}
13753					});
13754
13755					// Use native DOM manipulation to avoid our domManip AJAX trickery
13756					document.head.appendChild(script[0]);
13757				},
13758				abort: function abort() {
13759					if (_callback2) {
13760						_callback2();
13761					}
13762				}
13763			};
13764		}
13765	});
13766
13767	var oldCallbacks = [],
13768	    rjsonp = /(=)\?(?=&|$)|\?\?/;
13769
13770	// Default jsonp settings
13771	jQuery.ajaxSetup({
13772		jsonp: "callback",
13773		jsonpCallback: function jsonpCallback() {
13774			var callback = oldCallbacks.pop() || jQuery.expando + "_" + nonce++;
13775			this[callback] = true;
13776			return callback;
13777		}
13778	});
13779
13780	// Detect, normalize options and install callbacks for jsonp requests
13781	jQuery.ajaxPrefilter("json jsonp", function (s, originalSettings, jqXHR) {
13782
13783		var callbackName,
13784		    overwritten,
13785		    responseContainer,
13786		    jsonProp = s.jsonp !== false && (rjsonp.test(s.url) ? "url" : typeof s.data === "string" && (s.contentType || "").indexOf("application/x-www-form-urlencoded") === 0 && rjsonp.test(s.data) && "data");
13787
13788		// Handle iff the expected data type is "jsonp" or we have a parameter to set
vendor: 5,606 bytes, lines 13789-13981
13789		if (jsonProp || s.dataTypes[0] === "jsonp") {
13790
13791			// Get callback name, remembering preexisting value associated with it
13792			callbackName = s.jsonpCallback = jQuery.isFunction(s.jsonpCallback) ? s.jsonpCallback() : s.jsonpCallback;
13793
13794			// Insert callback into url or form data
13795			if (jsonProp) {
13796				s[jsonProp] = s[jsonProp].replace(rjsonp, "$1" + callbackName);
13797			} else if (s.jsonp !== false) {
13798				s.url += (rquery.test(s.url) ? "&" : "?") + s.jsonp + "=" + callbackName;
13799			}
13800
13801			// Use data converter to retrieve json after script execution
13802			s.converters["script json"] = function () {
13803				if (!responseContainer) {
13804					jQuery.error(callbackName + " was not called");
13805				}
13806				return responseContainer[0];
13807			};
13808
13809			// Force json dataType
13810			s.dataTypes[0] = "json";
13811
13812			// Install callback
13813			overwritten = window[callbackName];
13814			window[callbackName] = function () {
13815				responseContainer = arguments;
13816			};
13817
13818			// Clean-up function (fires after converters)
13819			jqXHR.always(function () {
13820
13821				// If previous value didn't exist - remove it
13822				if (overwritten === undefined) {
13823					jQuery(window).removeProp(callbackName);
13824
13825					// Otherwise restore preexisting value
13826				} else {
13827					window[callbackName] = overwritten;
13828				}
13829
13830				// Save back as free
13831				if (s[callbackName]) {
13832
13833					// Make sure that re-using the options doesn't screw things around
13834					s.jsonpCallback = originalSettings.jsonpCallback;
13835
13836					// Save the callback name for future use
13837					oldCallbacks.push(callbackName);
13838				}
13839
13840				// Call if it was a function and we have a response
13841				if (responseContainer && jQuery.isFunction(overwritten)) {
13842					overwritten(responseContainer[0]);
13843				}
13844
13845				responseContainer = overwritten = undefined;
13846			});
13847
13848			// Delegate to script
13849			return "script";
13850		}
13851	});
13852
13853	// Support: Safari 8 only
13854	// In Safari 8 documents created via document.implementation.createHTMLDocument
13855	// collapse sibling forms: the second one becomes a child of the first one.
13856	// Because of that, this security measure has to be disabled in Safari 8.
13857	// https://bugs.webkit.org/show_bug.cgi?id=137337
13858	support.createHTMLDocument = function () {
13859		var body = document.implementation.createHTMLDocument("").body;
13860		body.innerHTML = "<form></form><form></form>";
13861		return body.childNodes.length === 2;
13862	}();
13863
13864	// Argument "data" should be string of html
13865	// context (optional): If specified, the fragment will be created in this context,
13866	// defaults to document
13867	// keepScripts (optional): If true, will include scripts passed in the html string
13868	jQuery.parseHTML = function (data, context, keepScripts) {
13869		if (typeof data !== "string") {
13870			return [];
13871		}
13872		if (typeof context === "boolean") {
13873			keepScripts = context;
13874			context = false;
13875		}
13876
13877		var base, parsed, scripts;
13878
13879		if (!context) {
13880
13881			// Stop scripts or inline event handlers from being executed immediately
13882			// by using document.implementation
13883			if (support.createHTMLDocument) {
13884				context = document.implementation.createHTMLDocument("");
13885
13886				// Set the base href for the created document
13887				// so any parsed elements with URLs
13888				// are based on the document's URL (gh-2965)
13889				base = context.createElement("base");
13890				base.href = document.location.href;
13891				context.head.appendChild(base);
13892			} else {
13893				context = document;
13894			}
13895		}
13896
13897		parsed = rsingleTag.exec(data);
13898		scripts = !keepScripts && [];
13899
13900		// Single tag
13901		if (parsed) {
13902			return [context.createElement(parsed[1])];
13903		}
13904
13905		parsed = buildFragment([data], context, scripts);
13906
13907		if (scripts && scripts.length) {
13908			jQuery(scripts).remove();
13909		}
13910
13911		return jQuery.merge([], parsed.childNodes);
13912	};
13913
13914	/**
13915  * Load a url into a page
13916  */
13917	jQuery.fn.load = function (url, params, callback) {
13918		var selector,
13919		    type,
13920		    response,
13921		    self = this,
13922		    off = url.indexOf(" ");
13923
13924		if (off > -1) {
13925			selector = stripAndCollapse(url.slice(off));
13926			url = url.slice(0, off);
13927		}
13928
13929		// If it's a function
13930		if (jQuery.isFunction(params)) {
13931
13932			// We assume that it's the callback
13933			callback = params;
13934			params = undefined;
13935
13936			// Otherwise, build a param string
13937		} else if (params && (typeof params === "undefined" ? "undefined" : _typeof(params)) === "object") {
13938			type = "POST";
13939		}
13940
13941		// If we have elements to modify, make the request
13942		if (self.length > 0) {
13943			jQuery.ajax({
13944				url: url,
13945
13946				// If "type" variable is undefined, then "GET" method will be used.
13947				// Make value of this field explicit since
13948				// user can override it through ajaxSetup method
13949				type: type || "GET",
13950				dataType: "html",
13951				data: params
13952			}).done(function (responseText) {
13953
13954				// Save response for use in complete callback
13955				response = arguments;
13956
13957				self.html(selector ?
13958
13959				// If a selector was specified, locate the right elements in a dummy div
13960				// Exclude scripts to avoid IE 'Permission Denied' errors
13961				jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector) :
13962
13963				// Otherwise use the full result
13964				responseText);
13965
13966				// If the request succeeds, this function gets "data", "status", "jqXHR"
13967				// but they are ignored because response was set above.
13968				// If it fails, this function gets "jqXHR", "status", "error"
13969			}).always(callback && function (jqXHR, status) {
13970				self.each(function () {
13971					callback.apply(this, response || [jqXHR.responseText, status, jqXHR]);
13972				});
13973			});
13974		}
13975
13976		return this;
13977	};
13978
13979	// Attach a bunch of functions for handling common AJAX events
13980	jQuery.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (i, type) {
13981		jQuery.fn[type] = function (fn) {
13982			return this.on(type, fn);
13983		};
13984	});
13985
13986	jQuery.expr.pseudos.animated = function (elem) {
13987		return jQuery.grep(jQuery.timers, function (fn) {
13988			return elem === fn.elem;
13989		}).length;
13990	};
13991
13992	jQuery.offset = {
13993		setOffset: function setOffset(elem, options, i) {
13994			var curPosition,
13995			    curLeft,
13996			    curCSSTop,
13997			    curTop,
13998			    curOffset,
13999			    curCSSLeft,
14000			    calculatePosition,
14001			    position = jQuery.css(elem, "position"),
14002			    curElem = jQuery(elem),
14003			    props = {};
14004
14005			// Set position first, in-case top/left are set even on static elem
14006			if (position === "static") {
14007				elem.style.position = "relative";
14008			}
14009
14010			curOffset = curElem.offset();
14011			curCSSTop = jQuery.css(elem, "top");
14012			curCSSLeft = jQuery.css(elem, "left");
14013			calculatePosition = (position === "absolute" || position === "fixed") && (curCSSTop + curCSSLeft).indexOf("auto") > -1;
14014
14015			// Need to be able to calculate position if either
14016			// top or left is auto and position is either absolute or fixed
14017			if (calculatePosition) {
14018				curPosition = curElem.position();
14019				curTop = curPosition.top;
14020				curLeft = curPosition.left;
14021			} else {
14022				curTop = parseFloat(curCSSTop) || 0;
14023				curLeft = parseFloat(curCSSLeft) || 0;
14024			}
14025
14026			if (jQuery.isFunction(options)) {
14027
14028				// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
14029				options = options.call(elem, i, jQuery.extend({}, curOffset));
14030			}
14031
14032			if (options.top != null) {
14033				props.top = options.top - curOffset.top + curTop;
14034			}
14035			if (options.left != null) {
14036				props.left = options.left - curOffset.left + curLeft;
14037			}
14038
14039			if ("using" in options) {
14040				options.using.call(elem, props);
14041			} else {
14042				curElem.css(props);
14043			}
14044		}
14045	};
14046
14047	jQuery.fn.extend({
14048		offset: function offset(options) {
14049
14050			// Preserve chaining for setter
14051			if (arguments.length) {
14052				return options === undefined ? this : this.each(function (i) {
14053					jQuery.offset.setOffset(this, options, i);
14054				});
14055			}
14056
14057			var doc,
14058			    docElem,
14059			    rect,
14060			    win,
14061			    elem = this[0];
14062
14063			if (!elem) {
14064				return;
14065			}
14066
14067			// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
14068			// Support: IE <=11 only
14069			// Running getBoundingClientRect on a
14070			// disconnected node in IE throws an error
14071			if (!elem.getClientRects().length) {
14072				return { top: 0, left: 0 };
14073			}
14074
14075			rect = elem.getBoundingClientRect();
14076
14077			doc = elem.ownerDocument;
14078			docElem = doc.documentElement;
14079			win = doc.defaultView;
14080
14081			return {
14082				top: rect.top + win.pageYOffset - docElem.clientTop,
14083				left: rect.left + win.pageXOffset - docElem.clientLeft
14084			};
14085		},
14086
14087		position: function position() {
14088			if (!this[0]) {
14089				return;
14090			}
14091
14092			var offsetParent,
14093			    offset,
14094			    elem = this[0],
14095			    parentOffset = { top: 0, left: 0 };
14096
14097			// Fixed elements are offset from window (parentOffset = {top:0, left: 0},
14098			// because it is its only offset parent
14099			if (jQuery.css(elem, "position") === "fixed") {
14100
14101				// Assume getBoundingClientRect is there when computed position is fixed
14102				offset = elem.getBoundingClientRect();
14103			} else {
14104
14105				// Get *real* offsetParent
14106				offsetParent = this.offsetParent();
14107
14108				// Get correct offsets
14109				offset = this.offset();
14110				if (!nodeName(offsetParent[0], "html")) {
14111					parentOffset = offsetParent.offset();
14112				}
14113
14114				// Add offsetParent borders
14115				parentOffset = {
14116					top: parentOffset.top + jQuery.css(offsetParent[0], "borderTopWidth", true),
14117					left: parentOffset.left + jQuery.css(offsetParent[0], "borderLeftWidth", true)
14118				};
14119			}
14120
14121			// Subtract parent offsets and element margins
14122			return {
14123				top: offset.top - parentOffset.top - jQuery.css(elem, "marginTop", true),
14124				left: offset.left - parentOffset.left - jQuery.css(elem, "marginLeft", true)
14125			};
14126		},
14127
14128		// This method will return documentElement in the following cases:
14129		// 1) For the element inside the iframe without offsetParent, this method will return
14130		//    documentElement of the parent window
14131		// 2) For the hidden or detached element
14132		// 3) For body or html element, i.e. in case of the html node - it will return itself
14133		//
14134		// but those exceptions were never presented as a real life use-cases
14135		// and might be considered as more preferable results.
14136		//
14137		// This logic, however, is not guaranteed and can change at any point in the future
14138		offsetParent: function offsetParent() {
14139			return this.map(function () {
14140				var offsetParent = this.offsetParent;
14141
14142				while (offsetParent && jQuery.css(offsetParent, "position") === "static") {
14143					offsetParent = offsetParent.offsetParent;
14144				}
14145
14146				return offsetParent || documentElement;
14147			});
14148		}
14149	});
14150
14151	// Create scrollLeft and scrollTop methods
14152	jQuery.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (method, prop) {
14153		var top = "pageYOffset" === prop;
14154
14155		jQuery.fn[method] = function (val) {
14156			return access(this, function (elem, method, val) {
14157
14158				// Coalesce documents and windows
14159				var win;
14160				if (jQuery.isWindow(elem)) {
14161					win = elem;
14162				} else if (elem.nodeType === 9) {
14163					win = elem.defaultView;
14164				}
14165
14166				if (val === undefined) {
14167					return win ? win[prop] : elem[method];
14168				}
14169
14170				if (win) {
14171					win.scrollTo(!top ? val : win.pageXOffset, top ? val : win.pageYOffset);
14172				} else {
14173					elem[method] = val;
14174				}
14175			}, method, val, arguments.length);
14176		};
14177	});
14178
14179	// Support: Safari <=7 - 9.1, Chrome <=37 - 49
14180	// Add the top/left cssHooks using jQuery.fn.position
14181	// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
14182	// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
14183	// getComputedStyle returns percent when specified for top/left/bottom/right;
14184	// rather than make the css module depend on the offset module, just check for it here
vendor: 4,721 bytes, lines 14185-14330
14185	jQuery.each(["top", "left"], function (i, prop) {
14186		jQuery.cssHooks[prop] = addGetHookIf(support.pixelPosition, function (elem, computed) {
14187			if (computed) {
14188				computed = curCSS(elem, prop);
14189
14190				// If curCSS returns percentage, fallback to offset
14191				return rnumnonpx.test(computed) ? jQuery(elem).position()[prop] + "px" : computed;
14192			}
14193		});
14194	});
14195
14196	// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
14197	jQuery.each({ Height: "height", Width: "width" }, function (name, type) {
14198		jQuery.each({ padding: "inner" + name, content: type, "": "outer" + name }, function (defaultExtra, funcName) {
14199
14200			// Margin is only for outerHeight, outerWidth
14201			jQuery.fn[funcName] = function (margin, value) {
14202				var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"),
14203				    extra = defaultExtra || (margin === true || value === true ? "margin" : "border");
14204
14205				return access(this, function (elem, type, value) {
14206					var doc;
14207
14208					if (jQuery.isWindow(elem)) {
14209
14210						// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
14211						return funcName.indexOf("outer") === 0 ? elem["inner" + name] : elem.document.documentElement["client" + name];
14212					}
14213
14214					// Get document width or height
14215					if (elem.nodeType === 9) {
14216						doc = elem.documentElement;
14217
14218						// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
14219						// whichever is greatest
14220						return Math.max(elem.body["scroll" + name], doc["scroll" + name], elem.body["offset" + name], doc["offset" + name], doc["client" + name]);
14221					}
14222
14223					return value === undefined ?
14224
14225					// Get width or height on the element, requesting but not forcing parseFloat
14226					jQuery.css(elem, type, extra) :
14227
14228					// Set width or height on the element
14229					jQuery.style(elem, type, value, extra);
14230				}, type, chainable ? margin : undefined, chainable);
14231			};
14232		});
14233	});
14234
14235	jQuery.fn.extend({
14236
14237		bind: function bind(types, data, fn) {
14238			return this.on(types, null, data, fn);
14239		},
14240		unbind: function unbind(types, fn) {
14241			return this.off(types, null, fn);
14242		},
14243
14244		delegate: function delegate(selector, types, data, fn) {
14245			return this.on(types, selector, data, fn);
14246		},
14247		undelegate: function undelegate(selector, types, fn) {
14248
14249			// ( namespace ) or ( selector, types [, fn] )
14250			return arguments.length === 1 ? this.off(selector, "**") : this.off(types, selector || "**", fn);
14251		}
14252	});
14253
14254	jQuery.holdReady = function (hold) {
14255		if (hold) {
14256			jQuery.readyWait++;
14257		} else {
14258			jQuery.ready(true);
14259		}
14260	};
14261	jQuery.isArray = Array.isArray;
14262	jQuery.parseJSON = JSON.parse;
14263	jQuery.nodeName = nodeName;
14264
14265	// Register as a named AMD module, since jQuery can be concatenated with other
14266	// files that may use define, but not via a proper concatenation script that
14267	// understands anonymous AMD modules. A named AMD is safest and most robust
14268	// way to register. Lowercase jquery is used because AMD module names are
14269	// derived from file names, and jQuery is normally delivered in a lowercase
14270	// file name. Do this after creating the global so that if an AMD module wants
14271	// to call noConflict to hide this version of jQuery, it will work.
14272
14273	// Note that for maximum portability, libraries that are not jQuery should
14274	// declare themselves as anonymous modules, and avoid setting a global if an
14275	// AMD loader is present. jQuery is a special case. For more information, see
14276	// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
14277
14278	if (true) {
14279		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
14280			return jQuery;
14281		}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
14282				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
14283	}
14284
14285	var
14286
14287	// Map over jQuery in case of overwrite
14288	_jQuery = window.jQuery,
14289
14290
14291	// Map over the $ in case of overwrite
14292	_$ = window.$;
14293
14294	jQuery.noConflict = function (deep) {
14295		if (window.$ === jQuery) {
14296			window.$ = _$;
14297		}
14298
14299		if (deep && window.jQuery === jQuery) {
14300			window.jQuery = _jQuery;
14301		}
14302
14303		return jQuery;
14304	};
14305
14306	// Expose jQuery and $ identifiers, even in AMD
14307	// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
14308	// and CommonJS for browser emulators (#13566)
14309	if (!noGlobal) {
14310		window.jQuery = window.$ = jQuery;
14311	}
14312
14313	return jQuery;
14314});
14315/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(44)(module)))
14316
14317/***/ }),
14318/* 2 */
14319/***/ (function(module, exports, __webpack_require__) {
14320
14321"use strict";
14322
14323
14324var global = __webpack_require__(10);
14325var core = __webpack_require__(14);
14326var hide = __webpack_require__(16);
14327var redefine = __webpack_require__(54);
14328var ctx = __webpack_require__(28);
14329var PROTOTYPE = 'prototype';
14330
14331var $export = function $export(type, name, source) {
14332  var IS_FORCED = type & $export.F;
14333  var IS_GLOBAL = type & $export.G;
14334  var IS_STATIC = type & $export.S;
14335  var IS_PROTO = type & $export.P;
14336  var IS_BIND = type & $export.B;
14337  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
14338  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
14339  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
14340  var key, own, out, exp;
14341  if (IS_GLOBAL) source = name;
14342  for (key in source) {
14343    // contains in native
14344    own = !IS_FORCED && target && target[key] !== undefined;
14345    // export native or passed
14346    out = (own ? target : source)[key];
14347    // bind timers to global for call from export context
14348    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
14349    // extend global
14350    if (target) redefine(target, key, out, type & $export.U);
14351    // export
14352    if (exports[key] != out) hide(exports, key, exp);
14353    if (IS_PROTO && expProto[key] != out) expProto[key] = out;
14354  }
14355};
14356global.core = core;
14357// type bitmap
14358$export.F = 1; // forced
14359$export.G = 2; // global
14360$export.S = 4; // static
14361$export.P = 8; // proto
14362$export.B = 16; // bind
14363$export.W = 32; // wrap
14364$export.U = 64; // safe
14365$export.R = 128; // real proto method for `library`
14366module.exports = $export;
14367
14368/***/ }),
14369/* 3 */
14370/***/ (function(module, exports, __webpack_require__) {
14371
14372"use strict";
14373
14374
14375var fails = __webpack_require__(12);
14376
14377module.exports = function (method, arg) {
14378  return !!method && fails(function () {
14379    // eslint-disable-next-line no-useless-call
14380    arg ? method.call(null, function () {/* empty */}, 1) : method.call(null);
14381  });
14382};
14383
14384/***/ }),
14385/* 4 */
14386/***/ (function(module, exports, __webpack_require__) {
14387
14388"use strict";
14389
14390
14391// 7.1.15 ToLength
14392var toInteger = __webpack_require__(19);
14393var min = Math.min;
14394module.exports = function (it) {
14395  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
14396};
14397
14398/***/ }),
14399/* 5 */
14400/***/ (function(module, exports, __webpack_require__) {
14401
14402"use strict";
14403
14404
14405var store = __webpack_require__(56)('wks');
14406var uid = __webpack_require__(43);
14407var _Symbol = __webpack_require__(10).Symbol;
14408var USE_SYMBOL = typeof _Symbol == 'function';
14409
14410var $exports = module.exports = function (name) {
14411  return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));
14412};
14413
14414$exports.store = store;
14415
14416/***/ }),
14417/* 6 */
14418/***/ (function(module, exports, __webpack_require__) {
14419
14420"use strict";
14421
14422
14423Object.defineProperty(exports, "__esModule", {
14424  value: true
14425});
14426exports.transitionend = exports.GetYoDigits = exports.rtl = undefined;
14427
14428var _jquery = __webpack_require__(1);
14429
14430var _jquery2 = _interopRequireDefault(_jquery);
14431
14432function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14433
14434// Core Foundation Utilities, utilized in a number of places.
14435
14436/**
14437 * Returns a boolean for RTL support
14438 */
14439function rtl() {
14440  return (0, _jquery2.default)('html').attr('dir') === 'rtl';
14441}
14442
14443/**
14444 * returns a random base-36 uid with namespacing
14445 * @function
14446 * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
14447 * @param {String} namespace - name of plugin to be incorporated in uid, optional.
14448 * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
14449 * @returns {String} - unique id
14450 */
14451function GetYoDigits(length, namespace) {
14452  length = length || 6;
14453  return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');
14454}
14455
14456function transitionend($elem) {
14457  var transitions = {
14458    'transition': 'transitionend',
14459    'WebkitTransition': 'webkitTransitionEnd',
14460    'MozTransition': 'transitionend',
14461    'OTransition': 'otransitionend'
14462  };
14463  var elem = document.createElement('div'),
14464      end;
14465
14466  for (var t in transitions) {
14467    if (typeof elem.style[t] !== 'undefined') {
14468      end = transitions[t];
14469    }
14470  }
14471  if (end) {
14472    return end;
14473  } else {
14474    end = setTimeout(function () {
14475      $elem.triggerHandler('transitionend', [$elem]);
14476    }, 1);
14477    return 'transitionend';
14478  }
14479}
14480
14481exports.rtl = rtl;
14482exports.GetYoDigits = GetYoDigits;
14483exports.transitionend = transitionend;
14484
14485/***/ }),
14486/* 7 */
14487/***/ (function(module, exports, __webpack_require__) {
14488
14489"use strict";
14490
14491
14492// 7.1.13 ToObject(argument)
14493var defined = __webpack_require__(39);
14494module.exports = function (it) {
14495  return Object(defined(it));
14496};
14497
14498/***/ }),
14499/* 8 */
14500/***/ (function(module, exports, __webpack_require__) {
14501
14502"use strict";
14503
14504
14505// 22.1.3.31 Array.prototype[@@unscopables]
14506var UNSCOPABLES = __webpack_require__(5)('unscopables');
14507var ArrayProto = Array.prototype;
14508if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(16)(ArrayProto, UNSCOPABLES, {});
14509module.exports = function (key) {
14510  ArrayProto[UNSCOPABLES][key] = true;
14511};
14512
14513/***/ }),
14514/* 9 */
14515/***/ (function(module, exports, __webpack_require__) {
14516
14517"use strict";
14518
14519
14520// 0 -> Array#forEach
14521// 1 -> Array#map
14522// 2 -> Array#filter
14523// 3 -> Array#some
14524// 4 -> Array#every
14525// 5 -> Array#find
14526// 6 -> Array#findIndex
14527var ctx = __webpack_require__(28);
14528var IObject = __webpack_require__(30);
14529var toObject = __webpack_require__(7);
vendor: 5,336 bytes, lines 14530-14728
14530var toLength = __webpack_require__(4);
14531var asc = __webpack_require__(38);
14532module.exports = function (TYPE, $create) {
14533  var IS_MAP = TYPE == 1;
14534  var IS_FILTER = TYPE == 2;
14535  var IS_SOME = TYPE == 3;
14536  var IS_EVERY = TYPE == 4;
14537  var IS_FIND_INDEX = TYPE == 6;
14538  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
14539  var create = $create || asc;
14540  return function ($this, callbackfn, that) {
14541    var O = toObject($this);
14542    var self = IObject(O);
14543    var f = ctx(callbackfn, that, 3);
14544    var length = toLength(self.length);
14545    var index = 0;
14546    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
14547    var val, res;
14548    for (; length > index; index++) {
14549      if (NO_HOLES || index in self) {
14550        val = self[index];
14551        res = f(val, index, O);
14552        if (TYPE) {
14553          if (IS_MAP) result[index] = res; // map
14554          else if (res) switch (TYPE) {
14555              case 3:
14556                return true; // some
14557              case 5:
14558                return val; // find
14559              case 6:
14560                return index; // findIndex
14561              case 2:
14562                result.push(val); // filter
14563            } else if (IS_EVERY) return false; // every
14564        }
14565      }
14566    }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
14567  };
14568};
14569
14570/***/ }),
14571/* 10 */
14572/***/ (function(module, exports, __webpack_require__) {
14573
14574"use strict";
14575
14576
14577// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
14578var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self
14579// eslint-disable-next-line no-new-func
14580: Function('return this')();
14581if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
14582
14583/***/ }),
14584/* 11 */
14585/***/ (function(module, exports, __webpack_require__) {
14586
14587"use strict";
14588var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
14589
14590(function (factory) {
14591	if (true) {
14592
14593		// AMD. Register as an anonymous module.
14594		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
14595				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
14596				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
14597				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
14598	} else {
14599
14600		// Browser globals
14601		factory(jQuery);
14602	}
14603})(function ($) {
14604
14605	$.ui = $.ui || {};
14606
14607	return $.ui.version = "1.12.1";
14608});
14609
14610/***/ }),
14611/* 12 */
14612/***/ (function(module, exports, __webpack_require__) {
14613
14614"use strict";
14615
14616
14617module.exports = function (exec) {
14618  try {
14619    return !!exec();
14620  } catch (e) {
14621    return true;
14622  }
14623};
14624
14625/***/ }),
14626/* 13 */
14627/***/ (function(module, exports, __webpack_require__) {
14628
14629"use strict";
14630
14631
14632Object.defineProperty(exports, "__esModule", {
14633    value: true
14634});
14635exports.default = {
14636    isDesktopView: function isDesktopView() {
14637        return window.innerWidth > 1024;
14638    },
14639    keyboardEnterPressed: function keyboardEnterPressed(e) {
14640        return e.which === 13;
14641    }
14642};
14643
14644/***/ }),
14645/* 14 */
14646/***/ (function(module, exports, __webpack_require__) {
14647
14648"use strict";
14649
14650
14651var core = module.exports = { version: '2.5.5' };
14652if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
14653
14654/***/ }),
14655/* 15 */
14656/***/ (function(module, exports, __webpack_require__) {
14657
14658"use strict";
14659
14660
14661// Thank's IE8 for his funny defineProperty
14662module.exports = !__webpack_require__(12)(function () {
14663  return Object.defineProperty({}, 'a', { get: function get() {
14664      return 7;
14665    } }).a != 7;
14666});
14667
14668/***/ }),
14669/* 16 */
14670/***/ (function(module, exports, __webpack_require__) {
14671
14672"use strict";
14673
14674
14675var dP = __webpack_require__(18);
14676var createDesc = __webpack_require__(41);
14677module.exports = __webpack_require__(15) ? function (object, key, value) {
14678  return dP.f(object, key, createDesc(1, value));
14679} : function (object, key, value) {
14680  object[key] = value;
14681  return object;
14682};
14683
14684/***/ }),
14685/* 17 */
14686/***/ (function(module, exports, __webpack_require__) {
14687
14688"use strict";
14689
14690
14691var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
14692
14693module.exports = function (it) {
14694  return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';
14695};
14696
14697/***/ }),
14698/* 18 */
14699/***/ (function(module, exports, __webpack_require__) {
14700
14701"use strict";
14702
14703
14704var anObject = __webpack_require__(26);
14705var IE8_DOM_DEFINE = __webpack_require__(234);
14706var toPrimitive = __webpack_require__(248);
14707var dP = Object.defineProperty;
14708
14709exports.f = __webpack_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
14710  anObject(O);
14711  P = toPrimitive(P, true);
14712  anObject(Attributes);
14713  if (IE8_DOM_DEFINE) try {
14714    return dP(O, P, Attributes);
14715  } catch (e) {/* empty */}
14716  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
14717  if ('value' in Attributes) O[P] = Attributes.value;
14718  return O;
14719};
14720
14721/***/ }),
14722/* 19 */
14723/***/ (function(module, exports, __webpack_require__) {
14724
14725"use strict";
14726
14727
14728// 7.1.4 ToInteger
14729var ceil = Math.ceil;
14730var floor = Math.floor;
14731module.exports = function (it) {
14732  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
14733};
14734
14735/***/ }),
14736/* 20 */
14737/***/ (function(module, exports, __webpack_require__) {
14738
14739"use strict";
14740
14741
14742// to indexed object, toObject with fallback for non-array-like ES3 strings
14743var IObject = __webpack_require__(30);
14744var defined = __webpack_require__(39);
14745module.exports = function (it) {
14746  return IObject(defined(it));
14747};
14748
14749/***/ }),
14750/* 21 */
14751/***/ (function(module, exports, __webpack_require__) {
14752
14753"use strict";
14754
14755
14756Object.defineProperty(exports, "__esModule", {
14757  value: true
14758});
14759exports.Plugin = undefined;
14760
14761var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
14762
14763var _jquery = __webpack_require__(1);
14764
14765var _jquery2 = _interopRequireDefault(_jquery);
14766
14767var _foundationUtil = __webpack_require__(6);
14768
14769function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14770
14771function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14772
14773// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST
14774// {function} _setup (replaces previous constructor),
14775// {function} _destroy (replaces previous destroy)
14776var Plugin = function () {
14777  function Plugin(element, options) {
14778    _classCallCheck(this, Plugin);
14779
14780    this._setup(element, options);
14781    var pluginName = getPluginName(this);
14782    this.uuid = (0, _foundationUtil.GetYoDigits)(6, pluginName);
14783
14784    if (!this.$element.attr('data-' + pluginName)) {
14785      this.$element.attr('data-' + pluginName, this.uuid);
14786    }
14787    if (!this.$element.data('zfPlugin')) {
14788      this.$element.data('zfPlugin', this);
14789    }
14790    /**
14791     * Fires when the plugin has initialized.
14792     * @event Plugin#init
14793     */
14794    this.$element.trigger('init.zf.' + pluginName);
14795  }
14796
14797  _createClass(Plugin, [{
14798    key: 'destroy',
14799    value: function destroy() {
14800      this._destroy();
14801      var pluginName = getPluginName(this);
14802      this.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')
14803      /**
14804       * Fires when the plugin has been destroyed.
14805       * @event Plugin#destroyed
14806       */
14807      .trigger('destroyed.zf.' + pluginName);
14808      for (var prop in this) {
14809        this[prop] = null; //clean up script to prep for garbage collection.
14810      }
14811    }
14812  }]);
14813
14814  return Plugin;
14815}();
14816
14817// Convert PascalCase to kebab-case
14818// Thank you: http://stackoverflow.com/a/8955580
14819
14820
14821function hyphenate(str) {
14822  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
14823}
14824
14825function getPluginName(obj) {
14826  if (typeof obj.constructor.name !== 'undefined') {
14827    return hyphenate(obj.constructor.name);
14828  } else {
14829    return hyphenate(obj.className);
14830  }
14831}
14832
14833exports.Plugin = Plugin;
14834
14835/***/ }),
14836/* 22 */
14837/***/ (function(module, exports, __webpack_require__) {
14838
14839"use strict";
14840
14841
14842Object.defineProperty(exports, "__esModule", {
14843  value: true
14844});
14845exports.MediaQuery = undefined;
14846
14847var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
14848
14849var _jquery = __webpack_require__(1);
14850
14851var _jquery2 = _interopRequireDefault(_jquery);
14852
14853function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14854
14855// Default set of media queries
14856var defaultQueries = {
14857  'default': 'only screen',
14858  landscape: 'only screen and (orientation: landscape)',
14859  portrait: 'only screen and (orientation: portrait)',
14860  retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
14861};
14862
14863// matchMedia() polyfill - Test a CSS media type/query in JS.
14864// Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
14865var matchMedia = window.matchMedia || function () {
14866  'use strict';
14867
14868  // For browsers that support matchMedium api such as IE 9 and webkit
14869
14870  var styleMedia = window.styleMedia || window.media;
14871
14872  // For those that don't support matchMedium
14873  if (!styleMedia) {
14874    var style = document.createElement('style'),
14875        script = document.getElementsByTagName('script')[0],
14876        info = null;
14877
14878    style.type = 'text/css';
14879    style.id = 'matchmediajs-test';
14880
14881    script && script.parentNode && script.parentNode.insertBefore(style, script);
14882
14883    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
14884    info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
14885
14886    styleMedia = {
14887      matchMedium: function matchMedium(media) {
14888        var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
14889
14890        // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
14891        if (style.styleSheet) {
14892          style.styleSheet.cssText = text;
14893        } else {
14894          style.textContent = text;
14895        }
14896
14897        // Test if media query is true or false
14898        return info.width === '1px';
14899      }
14900    };
14901  }
14902
14903  return function (media) {
14904    return {
14905      matches: styleMedia.matchMedium(media || 'all'),
14906      media: media || 'all'
14907    };
14908  };
14909}();
14910
14911var MediaQuery = {
14912  queries: [],
14913
14914  current: '',
14915
14916  /**
14917   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
14918   * @function
14919   * @private
14920   */
14921  _init: function _init() {
14922    var self = this;
14923    var $meta = (0, _jquery2.default)('meta.foundation-mq');
14924    if (!$meta.length) {
14925      (0, _jquery2.default)('<meta class="foundation-mq">').appendTo(document.head);
14926    }
14927
14928    var extractedStyles = (0, _jquery2.default)('.foundation-mq').css('font-family');
14929    var namedQueries;
14930
14931    namedQueries = parseStyleToObject(extractedStyles);
14932
14933    for (var key in namedQueries) {
14934      if (namedQueries.hasOwnProperty(key)) {
14935        self.queries.push({
14936          name: key,
14937          value: 'only screen and (min-width: ' + namedQueries[key] + ')'
14938        });
14939      }
14940    }
14941
14942    this.current = this._getCurrentSize();
14943
14944    this._watcher();
14945  },
14946
14947
14948  /**
14949   * Checks if the screen is at least as wide as a breakpoint.
14950   * @function
14951   * @param {String} size - Name of the breakpoint to check.
14952   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
14953   */
14954  atLeast: function atLeast(size) {
14955    var query = this.get(size);
14956
14957    if (query) {
14958      return matchMedia(query).matches;
14959    }
14960
14961    return false;
14962  },
14963
14964
14965  /**
14966   * Checks if the screen matches to a breakpoint.
14967   * @function
14968   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
14969   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
14970   */
14971  is: function is(size) {
14972    size = size.trim().split(' ');
14973    if (size.length > 1 && size[1] === 'only') {
14974      if (size[0] === this._getCurrentSize()) return true;
14975    } else {
14976      return this.atLeast(size[0]);
14977    }
14978    return false;
14979  },
14980
14981
14982  /**
14983   * Gets the media query of a breakpoint.
14984   * @function
14985   * @param {String} size - Name of the breakpoint to get.
14986   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
14987   */
14988  get: function get(size) {
14989    for (var i in this.queries) {
14990      if (this.queries.hasOwnProperty(i)) {
14991        var query = this.queries[i];
14992        if (size === query.name) return query.value;
14993      }
14994    }
14995
14996    return null;
14997  },
14998
14999
15000  /**
15001   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
15002   * @function
15003   * @private
15004   * @returns {String} Name of the current breakpoint.
15005   */
15006  _getCurrentSize: function _getCurrentSize() {
15007    var matched;
15008
15009    for (var i = 0; i < this.queries.length; i++) {
15010      var query = this.queries[i];
15011
15012      if (matchMedia(query.value).matches) {
15013        matched = query;
15014      }
15015    }
15016
15017    if ((typeof matched === 'undefined' ? 'undefined' : _typeof(matched)) === 'object') {
15018      return matched.name;
15019    } else {
15020      return matched;
15021    }
15022  },
15023
15024
15025  /**
15026   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
15027   * @function
15028   * @private
15029   */
15030  _watcher: function _watcher() {
15031    var _this = this;
15032
15033    (0, _jquery2.default)(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () {
15034      var newSize = _this._getCurrentSize(),
15035          currentSize = _this.current;
15036
15037      if (newSize !== currentSize) {
15038        // Change the current media query
15039        _this.current = newSize;
15040
15041        // Broadcast the media query change on the window
15042        (0, _jquery2.default)(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
15043      }
15044    });
15045  }
15046};
15047
15048// Thank you: https://github.com/sindresorhus/query-string
15049function parseStyleToObject(str) {
15050  var styleObject = {};
15051
15052  if (typeof str !== 'string') {
15053    return styleObject;
15054  }
15055
15056  str = str.trim().slice(1, -1); // browsers re-quote string style values
15057
15058  if (!str) {
15059    return styleObject;
15060  }
15061
15062  styleObject = str.split('&').reduce(function (ret, param) {
15063    var parts = param.replace(/\+/g, ' ').split('=');
15064    var key = parts[0];
15065    var val = parts[1];
15066    key = decodeURIComponent(key);
15067
15068    // missing `=` should be `null`:
15069    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
15070    val = val === undefined ? null : decodeURIComponent(val);
15071
15072    if (!ret.hasOwnProperty(key)) {
15073      ret[key] = val;
15074    } else if (Array.isArray(ret[key])) {
15075      ret[key].push(val);
15076    } else {
15077      ret[key] = [ret[key], val];
15078    }
15079    return ret;
15080  }, {});
15081
15082  return styleObject;
15083}
15084
15085exports.MediaQuery = MediaQuery;
15086
15087/***/ }),
15088/* 23 */
15089/***/ (function(module, exports, __webpack_require__) {
15090
15091"use strict";
15092
15093
15094Object.defineProperty(exports, "__esModule", {
15095  value: true
15096});
15097exports.Triggers = undefined;
15098
15099var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
15100
15101var _jquery = __webpack_require__(1);
15102
15103var _jquery2 = _interopRequireDefault(_jquery);
15104
15105var _foundationUtil = __webpack_require__(34);
15106
15107function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15108
15109var MutationObserver = function () {
15110  var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
15111  for (var i = 0; i < prefixes.length; i++) {
15112    if (prefixes[i] + 'MutationObserver' in window) {
15113      return window[prefixes[i] + 'MutationObserver'];
15114    }
15115  }
15116  return false;
15117}();
15118
15119var triggers = function triggers(el, type) {
15120  el.data(type).split(' ').forEach(function (id) {
15121    (0, _jquery2.default)('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
15122  });
15123};
15124
15125var Triggers = {
15126  Listeners: {
15127    Basic: {},
15128    Global: {}
15129  },
15130  Initializers: {}
15131};
15132
15133Triggers.Listeners.Basic = {
15134  openListener: function openListener() {
15135    triggers((0, _jquery2.default)(this), 'open');
15136  },
15137  closeListener: function closeListener() {
15138    var id = (0, _jquery2.default)(this).data('close');
15139    if (id) {
15140      triggers((0, _jquery2.default)(this), 'close');
15141    } else {
15142      (0, _jquery2.default)(this).trigger('close.zf.trigger');
15143    }
15144  },
15145  toggleListener: function toggleListener() {
15146    var id = (0, _jquery2.default)(this).data('toggle');
15147    if (id) {
15148      triggers((0, _jquery2.default)(this), 'toggle');
15149    } else {
15150      (0, _jquery2.default)(this).trigger('toggle.zf.trigger');
15151    }
15152  },
15153  closeableListener: function closeableListener(e) {
15154    e.stopPropagation();
15155    var animation = (0, _jquery2.default)(this).data('closable');
15156
15157    if (animation !== '') {
15158      _foundationUtil.Motion.animateOut((0, _jquery2.default)(this), animation, function () {
15159        (0, _jquery2.default)(this).trigger('closed.zf');
15160      });
15161    } else {
15162      (0, _jquery2.default)(this).fadeOut().trigger('closed.zf');
15163    }
15164  },
15165  toggleFocusListener: function toggleFocusListener() {
15166    var id = (0, _jquery2.default)(this).data('toggle-focus');
15167    (0, _jquery2.default)('#' + id).triggerHandler('toggle.zf.trigger', [(0, _jquery2.default)(this)]);
15168  }
15169};
15170
15171// Elements with [data-open] will reveal a plugin that supports it when clicked.
15172Triggers.Initializers.addOpenListener = function ($elem) {
15173  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);
15174  $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);
15175};
15176
15177// Elements with [data-close] will close a plugin that supports it when clicked.
15178// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
15179Triggers.Initializers.addCloseListener = function ($elem) {
15180  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);
15181  $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);
15182};
15183
15184// Elements with [data-toggle] will toggle a plugin that supports it when clicked.
15185Triggers.Initializers.addToggleListener = function ($elem) {
15186  $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);
15187  $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);
15188};
15189
15190// Elements with [data-closable] will respond to close.zf.trigger events.
15191Triggers.Initializers.addCloseableListener = function ($elem) {
15192  $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);
15193  $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);
15194};
15195
15196// Elements with [data-toggle-focus] will respond to coming in and out of focus
15197Triggers.Initializers.addToggleFocusListener = function ($elem) {
15198  $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);
15199  $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);
15200};
15201
15202// More Global/complex listeners and triggers
15203Triggers.Listeners.Global = {
15204  resizeListener: function resizeListener($nodes) {
15205    if (!MutationObserver) {
15206      //fallback for IE 9
15207      $nodes.each(function () {
15208        (0, _jquery2.default)(this).triggerHandler('resizeme.zf.trigger');
15209      });
15210    }
15211    //trigger all listening elements and signal a resize event
15212    $nodes.attr('data-events', "resize");
15213  },
15214  scrollListener: function scrollListener($nodes) {
15215    if (!MutationObserver) {
15216      //fallback for IE 9
15217      $nodes.each(function () {
15218        (0, _jquery2.default)(this).triggerHandler('scrollme.zf.trigger');
15219      });
15220    }
15221    //trigger all listening elements and signal a scroll event
15222    $nodes.attr('data-events', "scroll");
15223  },
15224  closeMeListener: function closeMeListener(e, pluginId) {
15225    var plugin = e.namespace.split('.')[0];
15226    var plugins = (0, _jquery2.default)('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
15227
15228    plugins.each(function () {
15229      var _this = (0, _jquery2.default)(this);
15230      _this.triggerHandler('close.zf.trigger', [_this]);
15231    });
15232  }
15233
15234  // Global, parses whole document.
15235};
15235Triggers.Initializers.addClosemeListener = function (pluginName) {
15236  var yetiBoxes = (0, _jquery2.default)('[data-yeti-box]'),
15237      plugNames = ['dropdown', 'tooltip', 'reveal'];
15238
15239  if (pluginName) {
15240    if (typeof pluginName === 'string') {
15241      plugNames.push(pluginName);
15242    } else if ((typeof pluginName === 'undefined' ? 'undefined' : _typeof(pluginName)) === 'object' && typeof pluginName[0] === 'string') {
15243      plugNames.concat(pluginName);
15244    } else {
15245      console.error('Plugin names must be strings');
15246    }
15247  }
15248  if (yetiBoxes.length) {
15249    var listeners = plugNames.map(function (name) {
15250      return 'closeme.zf.' + name;
15251    }).join(' ');
15252
15253    (0, _jquery2.default)(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);
15254  }
15255};
15256
15257function debounceGlobalListener(debounce, trigger, listener) {
15258  var timer = void 0,
15259      args = Array.prototype.slice.call(arguments, 3);
15260  (0, _jquery2.default)(window).off(trigger).on(trigger, function (e) {
15261    if (timer) {
15262      clearTimeout(timer);
15263    }
15264    timer = setTimeout(function () {
15265      listener.apply(null, args);
15266    }, debounce || 10); //default time to emit scroll event
15267  });
15268}
15269
15270Triggers.Initializers.addResizeListener = function (debounce) {
15271  var $nodes = (0, _jquery2.default)('[data-resize]');
15272  if ($nodes.length) {
15273    debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);
15274  }
15275};
15276
15277Triggers.Initializers.addScrollListener = function (debounce) {
15278  var $nodes = (0, _jquery2.default)('[data-scroll]');
15279  if ($nodes.length) {
15280    debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);
15281  }
15282};
15283
15284Triggers.Initializers.addMutationEventsListener = function ($elem) {
15285  if (!MutationObserver) {
15286    return false;
15287  }
15288  var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');
15289
15290  //element callback
15291  var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {
15292    var $target = (0, _jquery2.default)(mutationRecordsList[0].target);
15293
15294    //trigger the event handler for the element depending on type
15295    switch (mutationRecordsList[0].type) {
15296      case "attributes":
15297        if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") {
15298          $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
15299        }
15300        if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") {
15301          $target.triggerHandler('resizeme.zf.trigger', [$target]);
15302        }
15303        if (mutationRecordsList[0].attributeName === "style") {
15304          $target.closest("[data-mutate]").attr("data-events", "mutate");
15305          $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
15306        }
15307        break;
15308
15309      case "childList":
15310        $target.closest("[data-mutate]").attr("data-events", "mutate");
15311        $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]);
15312        break;
15313
15314      default:
15315        return false;
15316      //nothing
15317    }
15318  };
15319
15320  if ($nodes.length) {
15321    //for each element that needs to listen for resizing, scrolling, or mutation add a single observer
15322    for (var i = 0; i <= $nodes.length - 1; i++) {
15323      var elementObserver = new MutationObserver(listeningElementsMutation);
15324      elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] });
15325    }
15326  }
15327};
15328
15329Triggers.Initializers.addSimpleListeners = function () {
15330  var $document = (0, _jquery2.default)(document);
15331
15332  Triggers.Initializers.addOpenListener($document);
15333  Triggers.Initializers.addCloseListener($document);
15334  Triggers.Initializers.addToggleListener($document);
15335  Triggers.Initializers.addCloseableListener($document);
15336  Triggers.Initializers.addToggleFocusListener($document);
15337};
15338
15339Triggers.Initializers.addGlobalListeners = function () {
15340  var $document = (0, _jquery2.default)(document);
vendor: 4,626 bytes, lines 15341-15545
15341  Triggers.Initializers.addMutationEventsListener($document);
15342  Triggers.Initializers.addResizeListener();
15343  Triggers.Initializers.addScrollListener();
15344  Triggers.Initializers.addClosemeListener();
15345};
15346
15347Triggers.init = function ($, Foundation) {
15348  if (typeof $.triggersInitialized === 'undefined') {
15349    var $document = $(document);
15350
15351    if (document.readyState === "complete") {
15352      Triggers.Initializers.addSimpleListeners();
15353      Triggers.Initializers.addGlobalListeners();
15354    } else {
15355      $(window).on('load', function () {
15356        Triggers.Initializers.addSimpleListeners();
15357        Triggers.Initializers.addGlobalListeners();
15358      });
15359    }
15360
15361    $.triggersInitialized = true;
15362  }
15363
15364  if (Foundation) {
15365    Foundation.Triggers = Triggers;
15366    // Legacy included to be backwards compatible for now.
15367    Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;
15368  }
15369};
15370
15371exports.Triggers = Triggers;
15372
15373/***/ }),
15374/* 24 */
15375/***/ (function(module, exports, __webpack_require__) {
15376
15377"use strict";
15378
15379
15380// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
15381var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self
15382// eslint-disable-next-line no-new-func
15383: Function('return this')();
15384if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
15385
15386/***/ }),
15387/* 25 */
15388/***/ (function(module, exports, __webpack_require__) {
15389
15390"use strict";
15391
15392
15393module.exports = function (it) {
15394  if (typeof it != 'function') throw TypeError(it + ' is not a function!');
15395  return it;
15396};
15397
15398/***/ }),
15399/* 26 */
15400/***/ (function(module, exports, __webpack_require__) {
15401
15402"use strict";
15403
15404
15405var isObject = __webpack_require__(17);
15406module.exports = function (it) {
15407  if (!isObject(it)) throw TypeError(it + ' is not an object!');
15408  return it;
15409};
15410
15411/***/ }),
15412/* 27 */
15413/***/ (function(module, exports, __webpack_require__) {
15414
15415"use strict";
15416
15417
15418var toString = {}.toString;
15419
15420module.exports = function (it) {
15421  return toString.call(it).slice(8, -1);
15422};
15423
15424/***/ }),
15425/* 28 */
15426/***/ (function(module, exports, __webpack_require__) {
15427
15428"use strict";
15429
15430
15431// optional / simple context binding
15432var aFunction = __webpack_require__(25);
15433module.exports = function (fn, that, length) {
15434  aFunction(fn);
15435  if (that === undefined) return fn;
15436  switch (length) {
15437    case 1:
15438      return function (a) {
15439        return fn.call(that, a);
15440      };
15441    case 2:
15442      return function (a, b) {
15443        return fn.call(that, a, b);
15444      };
15445    case 3:
15446      return function (a, b, c) {
15447        return fn.call(that, a, b, c);
15448      };
15449  }
15450  return function () /* ...args */{
15451    return fn.apply(that, arguments);
15452  };
15453};
15454
15455/***/ }),
15456/* 29 */
15457/***/ (function(module, exports, __webpack_require__) {
15458
15459"use strict";
15460
15461
15462var hasOwnProperty = {}.hasOwnProperty;
15463module.exports = function (it, key) {
15464  return hasOwnProperty.call(it, key);
15465};
15466
15467/***/ }),
15468/* 30 */
15469/***/ (function(module, exports, __webpack_require__) {
15470
15471"use strict";
15472
15473
15474// fallback for non-array-like ES3 and non-enumerable old V8 strings
15475var cof = __webpack_require__(27);
15476// eslint-disable-next-line no-prototype-builtins
15477module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
15478  return cof(it) == 'String' ? it.split('') : Object(it);
15479};
15480
15481/***/ }),
15482/* 31 */
15483/***/ (function(module, exports, __webpack_require__) {
15484
15485"use strict";
15486
15487
15488module.exports = {};
15489
15490/***/ }),
15491/* 32 */
15492/***/ (function(module, exports, __webpack_require__) {
15493
15494"use strict";
15495
15496
15497var toInteger = __webpack_require__(19);
15498var max = Math.max;
15499var min = Math.min;
15500module.exports = function (index, length) {
15501  index = toInteger(index);
15502  return index < 0 ? max(index + length, 0) : min(index, length);
15503};
15504
15505/***/ }),
15506/* 33 */
15507/***/ (function(module, exports, __webpack_require__) {
15508
15509"use strict";
15510/*******************************************
15511 *                                         *
15512 * This util was created by Marius Olbertz *
15513 * Please thank Marius on GitHub /owlbertz *
15514 * or the web http://www.mariusolbertz.de/ *
15515 *                                         *
15516 ******************************************/
15517
15518
15519
15520Object.defineProperty(exports, "__esModule", {
15521  value: true
15522});
15523exports.Keyboard = undefined;
15524
15525var _jquery = __webpack_require__(1);
15526
15527var _jquery2 = _interopRequireDefault(_jquery);
15528
15529var _foundationUtil = __webpack_require__(6);
15530
15531function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15532
15533var keyCodes = {
15534  9: 'TAB',
15535  13: 'ENTER',
15536  27: 'ESCAPE',
15537  32: 'SPACE',
15538  35: 'END',
15539  36: 'HOME',
15540  37: 'ARROW_LEFT',
15541  38: 'ARROW_UP',
15542  39: 'ARROW_RIGHT',
15543  40: 'ARROW_DOWN'
15544};
15545
15546var commands = {};
15547
15548// Functions pulled out to be referenceable from internals
15549function findFocusable($element) {
15550  if (!$element) {
15551    return false;
15552  }
15553  return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {
15554    if (!(0, _jquery2.default)(this).is(':visible') || (0, _jquery2.default)(this).attr('tabindex') < 0) {
15555      return false;
15556    } //only have visible elements and those that have a tabindex greater or equal 0
15557    return true;
15558  });
15559}
15560
15561function parseKey(event) {
15562  var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
15563
15564  // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events
15565  key = key.replace(/\W+/, '');
15566
15567  if (event.shiftKey) key = 'SHIFT_' + key;
15568  if (event.ctrlKey) key = 'CTRL_' + key;
15569  if (event.altKey) key = 'ALT_' + key;
15570
15571  // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)
15572  key = key.replace(/_$/, '');
15573
15574  return key;
15575}
15576
15577var Keyboard = {
15578  keys: getKeyCodes(keyCodes),
15579
15580  /**
15581   * Parses the (keyboard) event and returns a String that represents its key
15582   * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
15583   * @param {Event} event - the event generated by the event handler
15584   * @return String key - String that represents the key pressed
15585   */
15586  parseKey: parseKey,
15587
15588  /**
15589   * Handles the given (keyboard) event
15590   * @param {Event} event - the event generated by the event handler
15591   * @param {String} component - Foundation component's name, e.g. Slider or Reveal
15592   * @param {Objects} functions - collection of functions that are to be executed
15593   */
15594  handleKey: function handleKey(event, component, functions) {
15595    var commandList = commands[component],
15596        keyCode = this.parseKey(event),
15597        cmds,
15598        command,
15599        fn;
15600
15601    if (!commandList) return console.warn('Component not defined!');
15602
15603    if (typeof commandList.ltr === 'undefined') {
15604      // this component does not differentiate between ltr and rtl
15605      cmds = commandList; // use plain list
15606    } else {
15607      // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
15608      if ((0, _foundationUtil.rtl)()) cmds = _jquery2.default.extend({}, commandList.ltr, commandList.rtl);else cmds = _jquery2.default.extend({}, commandList.rtl, commandList.ltr);
15609    }
15610    command = cmds[keyCode];
15611
15612    fn = functions[command];
15613    if (fn && typeof fn === 'function') {
15614      // execute function  if exists
15615      var returnValue = fn.apply();
15616      if (functions.handled || typeof functions.handled === 'function') {
15617        // execute function when event was handled
15618        functions.handled(returnValue);
15619      }
15620    } else {
15621      if (functions.unhandled || typeof functions.unhandled === 'function') {
15622        // execute function when event was not handled
15623        functions.unhandled();
15624      }
15625    }
15626  },
15627
15628
15629  /**
15630   * Finds all focusable elements within the given `$element`
15631   * @param {jQuery} $element - jQuery object to search within
15632   * @return {jQuery} $focusable - all focusable elements within `$element`
15633   */
15634
15635  findFocusable: findFocusable,
15636
15637  /**
15638   * Returns the component name name
15639   * @param {Object} component - Foundation component, e.g. Slider or Reveal
15640   * @return String componentName
15641   */
15642
15643  register: function register(componentName, cmds) {
15644    commands[componentName] = cmds;
15645  },
15646
15647
15648  // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?
15649  //
15650  /**
15651   * Traps the focus in the given element.
15652   * @param  {jQuery} $element  jQuery object to trap the foucs into.
15653   */
15654  trapFocus: function trapFocus($element) {
15655    var $focusable = findFocusable($element),
15656        $firstFocusable = $focusable.eq(0),
15657        $lastFocusable = $focusable.eq(-1);
15658
15659    $element.on('keydown.zf.trapfocus', function (event) {
15660      if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {
15661        event.preventDefault();
15662        $firstFocusable.focus();
15663      } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {
15664        event.preventDefault();
15665        $lastFocusable.focus();
15666      }
15667    });
15668  },
15669
15670  /**
15671   * Releases the trapped focus from the given element.
15672   * @param  {jQuery} $element  jQuery object to release the focus for.
15673   */
15674  releaseFocus: function releaseFocus($element) {
15675    $element.off('keydown.zf.trapfocus');
15676  }
15677};
15678
15679/*
15680 * Constants for easier comparing.
15681 * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
15682 */
15683function getKeyCodes(kcs) {
15684  var k = {};
15685  for (var kc in kcs) {
15686    k[kcs[kc]] = kcs[kc];
15687  }return k;
15688}
15689
15690exports.Keyboard = Keyboard;
15691
15692/***/ }),
15693/* 34 */
15694/***/ (function(module, exports, __webpack_require__) {
15695
15696"use strict";
15697
15698
15699Object.defineProperty(exports, "__esModule", {
15700  value: true
15701});
15702exports.Motion = exports.Move = undefined;
15703
15704var _jquery = __webpack_require__(1);
15705
15706var _jquery2 = _interopRequireDefault(_jquery);
15707
15708var _foundationUtil = __webpack_require__(6);
15709
15710function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15711
15712/**
15713 * Motion module.
15714 * @module foundation.motion
15715 */
15716
15717var initClasses = ['mui-enter', 'mui-leave'];
15718var activeClasses = ['mui-enter-active', 'mui-leave-active'];
15719
15720var Motion = {
15721  animateIn: function animateIn(element, animation, cb) {
15722    animate(true, element, animation, cb);
15723  },
15724
15725  animateOut: function animateOut(element, animation, cb) {
15726    animate(false, element, animation, cb);
15727  }
15728};
15729
15730function Move(duration, elem, fn) {
15731  var anim,
15732      prog,
15733      start = null;
15734  // console.log('called');
15735
15736  if (duration === 0) {
15737    fn.apply(elem);
15738    elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
15739    return;
15740  }
15741
15742  function move(ts) {
15743    if (!start) start = ts;
15744    // console.log(start, ts);
15745    prog = ts - start;
15746    fn.apply(elem);
15747
15748    if (prog < duration) {
15749      anim = window.requestAnimationFrame(move, elem);
15750    } else {
15751      window.cancelAnimationFrame(anim);
15752      elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
15753    }
15754  }
15755  anim = window.requestAnimationFrame(move);
15756}
15757
15758/**
15759 * Animates an element in or out using a CSS transition class.
15760 * @function
15761 * @private
15762 * @param {Boolean} isIn - Defines if the animation is in or out.
15763 * @param {Object} element - jQuery or HTML object to animate.
15764 * @param {String} animation - CSS class to use.
15765 * @param {Function} cb - Callback to run when animation is finished.
15766 */
15767function animate(isIn, element, animation, cb) {
15768  element = (0, _jquery2.default)(element).eq(0);
15769
15770  if (!element.length) return;
15771
15772  var initClass = isIn ? initClasses[0] : initClasses[1];
15773  var activeClass = isIn ? activeClasses[0] : activeClasses[1];
15774
15775  // Set up the animation
15776  reset();
15777
15778  element.addClass(animation).css('transition', 'none');
15779
15780  requestAnimationFrame(function () {
15781    element.addClass(initClass);
15782    if (isIn) element.show();
15783  });
15784
15785  // Start the animation
15786  requestAnimationFrame(function () {
15787    element[0].offsetWidth;
15788    element.css('transition', '').addClass(activeClass);
15789  });
15790
15791  // Clean up the animation when it finishes
15792  element.one((0, _foundationUtil.transitionend)(element), finish);
15793
15794  // Hides the element (for out animations), resets the element, and runs a callback
15795  function finish() {
15796    if (!isIn) element.hide();
15797    reset();
15798    if (cb) cb.apply(element);
15799  }
15800
15801  // Resets transitions and removes motion-specific classes
15802  function reset() {
15803    element[0].style.transitionDuration = 0;
15804    element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
15805  }
15806}
15807
15808exports.Move = Move;
15809exports.Motion = Motion;
15810
15811/***/ }),
15812/* 35 */
15813/***/ (function(module, exports, __webpack_require__) {
15814
15815"use strict";
15816
15817
15818// Thank's IE8 for his funny defineProperty
15819module.exports = !__webpack_require__(46)(function () {
15820  return Object.defineProperty({}, 'a', { get: function get() {
15821      return 7;
15822    } }).a != 7;
15823});
15824
15825/***/ }),
15826/* 36 */
15827/***/ (function(module, exports, __webpack_require__) {
15828
15829"use strict";
15830
15831
15832var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
15833
15834module.exports = function (it) {
15835  return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';
15836};
15837
15838/***/ }),
15839/* 37 */
15840/***/ (function(module, exports, __webpack_require__) {
15841
15842"use strict";
15843
15844
15845// false -> Array#indexOf
15846// true  -> Array#includes
15847var toIObject = __webpack_require__(20);
vendor: 2,116 bytes, lines 15848-15936
15848var toLength = __webpack_require__(4);
15849var toAbsoluteIndex = __webpack_require__(32);
15850module.exports = function (IS_INCLUDES) {
15851  return function ($this, el, fromIndex) {
15852    var O = toIObject($this);
15853    var length = toLength(O.length);
15854    var index = toAbsoluteIndex(fromIndex, length);
15855    var value;
15856    // Array#includes uses SameValueZero equality algorithm
15857    // eslint-disable-next-line no-self-compare
15858    if (IS_INCLUDES && el != el) while (length > index) {
15859      value = O[index++];
15860      // eslint-disable-next-line no-self-compare
15861      if (value != value) return true;
15862      // Array#indexOf ignores holes, Array#includes - not
15863    } else for (; length > index; index++) {
15864      if (IS_INCLUDES || index in O) {
15865        if (O[index] === el) return IS_INCLUDES || index || 0;
15866      }
15867    }return !IS_INCLUDES && -1;
15868  };
15869};
15870
15871/***/ }),
15872/* 38 */
15873/***/ (function(module, exports, __webpack_require__) {
15874
15875"use strict";
15876
15877
15878// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
15879var speciesConstructor = __webpack_require__(232);
15880
15881module.exports = function (original, length) {
15882  return new (speciesConstructor(original))(length);
15883};
15884
15885/***/ }),
15886/* 39 */
15887/***/ (function(module, exports, __webpack_require__) {
15888
15889"use strict";
15890
15891
15892// 7.2.1 RequireObjectCoercible(argument)
15893module.exports = function (it) {
15894  if (it == undefined) throw TypeError("Can't call method on  " + it);
15895  return it;
15896};
15897
15898/***/ }),
15899/* 40 */
15900/***/ (function(module, exports, __webpack_require__) {
15901
15902"use strict";
15903
15904
15905// 7.2.2 IsArray(argument)
15906var cof = __webpack_require__(27);
15907module.exports = Array.isArray || function isArray(arg) {
15908  return cof(arg) == 'Array';
15909};
15910
15911/***/ }),
15912/* 41 */
15913/***/ (function(module, exports, __webpack_require__) {
15914
15915"use strict";
15916
15917
15918module.exports = function (bitmap, value) {
15919  return {
15920    enumerable: !(bitmap & 1),
15921    configurable: !(bitmap & 2),
15922    writable: !(bitmap & 4),
15923    value: value
15924  };
15925};
15926
15927/***/ }),
15928/* 42 */
15929/***/ (function(module, exports, __webpack_require__) {
15930
15931"use strict";
15932
15933
15934var shared = __webpack_require__(56)('keys');
15935var uid = __webpack_require__(43);
15936module.exports = function (key) {
15937  return shared[key] || (shared[key] = uid(key));
15938};
15939
15940/***/ }),
15941/* 43 */
15942/***/ (function(module, exports, __webpack_require__) {
15943
15944"use strict";
15945
15946
15947var id = 0;
15948var px = Math.random();
15949module.exports = function (key) {
15950  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
15951};
15952
15953/***/ }),
15954/* 44 */
15955/***/ (function(module, exports, __webpack_require__) {
15956
15957"use strict";
15958
15959
15960module.exports = function (module) {
15961	if (!module.webpackPolyfill) {
15962		module.deprecate = function () {};
15963		module.paths = [];
15964		// module.parent = undefined by default
15965		if (!module.children) module.children = [];
15966		Object.defineProperty(module, "loaded", {
15967			enumerable: true,
15968			get: function get() {
15969				return module.l;
15970			}
15971		});
15972		Object.defineProperty(module, "id", {
15973			enumerable: true,
15974			get: function get() {
15975				return module.i;
15976			}
15977		});
15978		module.webpackPolyfill = 1;
15979	}
15980	return module;
15981};
15982
15983/***/ }),
15984/* 45 */
15985/***/ (function(module, exports, __webpack_require__) {
15986
15987"use strict";
15988
15989
15990var core = module.exports = { version: '2.5.5' };
15991if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
15992
15993/***/ }),
15994/* 46 */
15995/***/ (function(module, exports, __webpack_require__) {
15996
15997"use strict";
15998
15999
16000module.exports = function (exec) {
16001  try {
16002    return !!exec();
16003  } catch (e) {
16004    return true;
16005  }
16006};
16007
16008/***/ }),
16009/* 47 */
16010/***/ (function(module, exports, __webpack_require__) {
16011
16012"use strict";
16013
16014
16015var aFunction = __webpack_require__(25);
16016var toObject = __webpack_require__(7);
16017var IObject = __webpack_require__(30);
16018var toLength = __webpack_require__(4);
16019
16020module.exports = function (that, callbackfn, aLen, memo, isRight) {
16021  aFunction(callbackfn);
16022  var O = toObject(that);
16023  var self = IObject(O);
16024  var length = toLength(O.length);
16025  var index = isRight ? length - 1 : 0;
16026  var i = isRight ? -1 : 1;
16027  if (aLen < 2) for (;;) {
16028    if (index in self) {
16029      memo = self[index];
16030      index += i;
16031      break;
16032    }
16033    index += i;
16034    if (isRight ? index < 0 : length <= index) {
16035      throw TypeError('Reduce of empty array with no initial value');
16036    }
16037  }
16038  for (; isRight ? index >= 0 : length > index; index += i) {
16039    if (index in self) {
16040      memo = callbackfn(memo, self[index], index, O);
16041    }
16042  }return memo;
16043};
16044
16045/***/ }),
16046/* 48 */
16047/***/ (function(module, exports, __webpack_require__) {
16048
16049"use strict";
16050
16051
16052var $defineProperty = __webpack_require__(18);
16053var createDesc = __webpack_require__(41);
16054
16055module.exports = function (object, index, value) {
16056  if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;
16057};
16058
16059/***/ }),
16060/* 49 */
16061/***/ (function(module, exports, __webpack_require__) {
16062
16063"use strict";
16064
16065
16066var isObject = __webpack_require__(17);
16067var document = __webpack_require__(10).document;
16068// typeof document.createElement is 'object' in old IE
16069var is = isObject(document) && isObject(document.createElement);
16070module.exports = function (it) {
16071  return is ? document.createElement(it) : {};
16072};
16073
16074/***/ }),
16075/* 50 */
16076/***/ (function(module, exports, __webpack_require__) {
16077
16078"use strict";
16079
16080
16081// IE 8- don't enum bug keys
16082module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');
16083
16084/***/ }),
16085/* 51 */
16086/***/ (function(module, exports, __webpack_require__) {
16087
16088"use strict";
16089
16090// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
16091
16092var isArray = __webpack_require__(40);
16093var isObject = __webpack_require__(17);
16094var toLength = __webpack_require__(4);
16095var ctx = __webpack_require__(28);
16096var IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable');
16097
16098function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
16099  var targetIndex = start;
16100  var sourceIndex = 0;
16101  var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;
16102  var element, spreadable;
16103
16104  while (sourceIndex < sourceLen) {
16105    if (sourceIndex in source) {
16106      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
16107
16108      spreadable = false;
16109      if (isObject(element)) {
16110        spreadable = element[IS_CONCAT_SPREADABLE];
16111        spreadable = spreadable !== undefined ? !!spreadable : isArray(element);
16112      }
16113
16114      if (spreadable && depth > 0) {
16115        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
16116      } else {
16117        if (targetIndex >= 0x1fffffffffffff) throw TypeError();
16118        target[targetIndex] = element;
16119      }
16120
16121      targetIndex++;
16122    }
16123    sourceIndex++;
16124  }
16125  return targetIndex;
16126}
16127
16128module.exports = flattenIntoArray;
16129
16130/***/ }),
16131/* 52 */
16132/***/ (function(module, exports, __webpack_require__) {
16133
16134"use strict";
16135
16136
16137var document = __webpack_require__(10).document;
16138module.exports = document && document.documentElement;
16139
16140/***/ }),
16141/* 53 */
16142/***/ (function(module, exports, __webpack_require__) {
16143
16144"use strict";
16145
16146
16147var LIBRARY = __webpack_require__(240);
vendor: 4,478 bytes, lines 16148-16289
16148var $export = __webpack_require__(2);
16149var redefine = __webpack_require__(54);
16150var hide = __webpack_require__(16);
16151var Iterators = __webpack_require__(31);
16152var $iterCreate = __webpack_require__(237);
16153var setToStringTag = __webpack_require__(55);
16154var getPrototypeOf = __webpack_require__(243);
16155var ITERATOR = __webpack_require__(5)('iterator');
16156var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
16157var FF_ITERATOR = '@@iterator';
16158var KEYS = 'keys';
16159var VALUES = 'values';
16160
16161var returnThis = function returnThis() {
16162  return this;
16163};
16164
16165module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
16166  $iterCreate(Constructor, NAME, next);
16167  var getMethod = function getMethod(kind) {
16168    if (!BUGGY && kind in proto) return proto[kind];
16169    switch (kind) {
16170      case KEYS:
16171        return function keys() {
16172          return new Constructor(this, kind);
16173        };
16174      case VALUES:
16175        return function values() {
16176          return new Constructor(this, kind);
16177        };
16178    }return function entries() {
16179      return new Constructor(this, kind);
16180    };
16181  };
16182  var TAG = NAME + ' Iterator';
16183  var DEF_VALUES = DEFAULT == VALUES;
16184  var VALUES_BUG = false;
16185  var proto = Base.prototype;
16186  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
16187  var $default = $native || getMethod(DEFAULT);
16188  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
16189  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
16190  var methods, key, IteratorPrototype;
16191  // Fix native
16192  if ($anyNative) {
16193    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
16194    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
16195      // Set @@toStringTag to native iterators
16196      setToStringTag(IteratorPrototype, TAG, true);
16197      // fix for some old engines
16198      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
16199    }
16200  }
16201  // fix Array#{values, @@iterator}.name in V8 / FF
16202  if (DEF_VALUES && $native && $native.name !== VALUES) {
16203    VALUES_BUG = true;
16204    $default = function values() {
16205      return $native.call(this);
16206    };
16207  }
16208  // Define iterator
16209  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
16210    hide(proto, ITERATOR, $default);
16211  }
16212  // Plug for library
16213  Iterators[NAME] = $default;
16214  Iterators[TAG] = returnThis;
16215  if (DEFAULT) {
16216    methods = {
16217      values: DEF_VALUES ? $default : getMethod(VALUES),
16218      keys: IS_SET ? $default : getMethod(KEYS),
16219      entries: $entries
16220    };
16221    if (FORCED) for (key in methods) {
16222      if (!(key in proto)) redefine(proto, key, methods[key]);
16223    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
16224  }
16225  return methods;
16226};
16227
16228/***/ }),
16229/* 54 */
16230/***/ (function(module, exports, __webpack_require__) {
16231
16232"use strict";
16233
16234
16235var global = __webpack_require__(10);
16236var hide = __webpack_require__(16);
16237var has = __webpack_require__(29);
16238var SRC = __webpack_require__(43)('src');
16239var TO_STRING = 'toString';
16240var $toString = Function[TO_STRING];
16241var TPL = ('' + $toString).split(TO_STRING);
16242
16243__webpack_require__(14).inspectSource = function (it) {
16244  return $toString.call(it);
16245};
16246
16247(module.exports = function (O, key, val, safe) {
16248  var isFunction = typeof val == 'function';
16249  if (isFunction) has(val, 'name') || hide(val, 'name', key);
16250  if (O[key] === val) return;
16251  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
16252  if (O === global) {
16253    O[key] = val;
16254  } else if (!safe) {
16255    delete O[key];
16256    hide(O, key, val);
16257  } else if (O[key]) {
16258    O[key] = val;
16259  } else {
16260    hide(O, key, val);
16261  }
16262  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
16263})(Function.prototype, TO_STRING, function toString() {
16264  return typeof this == 'function' && this[SRC] || $toString.call(this);
16265});
16266
16267/***/ }),
16268/* 55 */
16269/***/ (function(module, exports, __webpack_require__) {
16270
16271"use strict";
16272
16273
16274var def = __webpack_require__(18).f;
16275var has = __webpack_require__(29);
16276var TAG = __webpack_require__(5)('toStringTag');
16277
16278module.exports = function (it, tag, stat) {
16279  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
16280};
16281
16282/***/ }),
16283/* 56 */
16284/***/ (function(module, exports, __webpack_require__) {
16285
16286"use strict";
16287
16288
16289var global = __webpack_require__(10);
16290var SHARED = '__core-js_shared__';
16291var store = global[SHARED] || (global[SHARED] = {});
16292module.exports = function (key) {
16293  return store[key] || (store[key] = {});
16294};
16295
16296/***/ }),
16297/* 57 */
16298/***/ (function(module, exports, __webpack_require__) {
16299
16300"use strict";
16301
16302
16303Object.defineProperty(exports, "__esModule", {
16304  value: true
16305});
16306exports.Positionable = undefined;
16307
16308var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
16309
16310var _foundationUtil = __webpack_require__(58);
16311
16312var _foundation = __webpack_require__(21);
16313
16314var _foundationUtil2 = __webpack_require__(6);
16315
16316function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
16317
16318function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
16319
16320function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
16321
16322var POSITIONS = ['left', 'right', 'top', 'bottom'];
16323var VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];
16324var HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];
16325
16326var ALIGNMENTS = {
16327  'left': VERTICAL_ALIGNMENTS,
16328  'right': VERTICAL_ALIGNMENTS,
16329  'top': HORIZONTAL_ALIGNMENTS,
16330  'bottom': HORIZONTAL_ALIGNMENTS
16331};
16332
16333function nextItem(item, array) {
16334  var currentIdx = array.indexOf(item);
16335  if (currentIdx === array.length - 1) {
16336    return array[0];
16337  } else {
16338    return array[currentIdx + 1];
16339  }
16340}
16341
16342var Positionable = function (_Plugin) {
16343  _inherits(Positionable, _Plugin);
16344
16345  function Positionable() {
16346    _classCallCheck(this, Positionable);
16347
16348    return _possibleConstructorReturn(this, (Positionable.__proto__ || Object.getPrototypeOf(Positionable)).apply(this, arguments));
16349  }
16350
16351  _createClass(Positionable, [{
16352    key: '_init',
16353
16354    /**
16355     * Abstract class encapsulating the tether-like explicit positioning logic
16356     * including repositioning based on overlap.
16357     * Expects classes to define defaults for vOffset, hOffset, position,
16358     * alignment, allowOverlap, and allowBottomOverlap. They can do this by
16359     * extending the defaults, or (for now recommended due to the way docs are
16360     * generated) by explicitly declaring them.
16361     *
16362     **/
16363
16364    value: function _init() {
16365      this.triedPositions = {};
16366      this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;
16367      this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;
16368      this.originalPosition = this.position;
16369      this.originalAlignment = this.alignment;
16370    }
16371  }, {
16372    key: '_getDefaultPosition',
16373    value: function _getDefaultPosition() {
16374      return 'bottom';
16375    }
16376  }, {
16377    key: '_getDefaultAlignment',
16378    value: function _getDefaultAlignment() {
16379      switch (this.position) {
16380        case 'bottom':
16381        case 'top':
16382          return (0, _foundationUtil2.rtl)() ? 'right' : 'left';
16383        case 'left':
16384        case 'right':
16385          return 'bottom';
16386      }
16387    }
16388
16389    /**
16390     * Adjusts the positionable possible positions by iterating through alignments
16391     * and positions.
16392     * @function
16393     * @private
16394     */
16395
16396  }, {
16397    key: '_reposition',
16398    value: function _reposition() {
16399      if (this._alignmentsExhausted(this.position)) {
16400        this.position = nextItem(this.position, POSITIONS);
16401        this.alignment = ALIGNMENTS[this.position][0];
16402      } else {
16403        this._realign();
16404      }
16405    }
16406
16407    /**
16408     * Adjusts the dropdown pane possible positions by iterating through alignments
16409     * on the current position.
16410     * @function
16411     * @private
16412     */
16413
16414  }, {
16415    key: '_realign',
16416    value: function _realign() {
16417      this._addTriedPosition(this.position, this.alignment);
16418      this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]);
16419    }
16420  }, {
16421    key: '_addTriedPosition',
16422    value: function _addTriedPosition(position, alignment) {
16423      this.triedPositions[position] = this.triedPositions[position] || [];
16424      this.triedPositions[position].push(alignment);
16425    }
16426  }, {
16427    key: '_positionsExhausted',
16428    value: function _positionsExhausted() {
16429      var isExhausted = true;
16430      for (var i = 0; i < POSITIONS.length; i++) {
16431        isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);
16432      }
16433      return isExhausted;
16434    }
16435  }, {
16436    key: '_alignmentsExhausted',
16437    value: function _alignmentsExhausted(position) {
16438      return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;
16439    }
16440
16441    // When we're trying to center, we don't want to apply offset that's going to
16442    // take us just off center, so wrap around to return 0 for the appropriate
16443    // offset in those alignments.  TODO: Figure out if we want to make this
16444    // configurable behavior... it feels more intuitive, especially for tooltips, but
16445    // it's possible someone might actually want to start from center and then nudge
16446    // slightly off.
16447
16448  }, {
16449    key: '_getVOffset',
16450    value: function _getVOffset() {
16451      return this.options.vOffset;
16452    }
16453  }, {
16454    key: '_getHOffset',
16455    value: function _getHOffset() {
16456      return this.options.hOffset;
16457    }
16458  }, {
16459    key: '_setPosition',
16460    value: function _setPosition($anchor, $element, $parent) {
16461      if ($anchor.attr('aria-expanded') === 'false') {
16462        return false;
vendor: 5,997 bytes, lines 16463-16633
16463      }
16464      var $eleDims = _foundationUtil.Box.GetDimensions($element),
16465          $anchorDims = _foundationUtil.Box.GetDimensions($anchor);
16466
16467      if (!this.options.allowOverlap) {
16468        // restore original position & alignment before checking overlap
16469        this.position = this.originalPosition;
16470        this.alignment = this.originalAlignment;
16471      }
16472
16473      $element.offset(_foundationUtil.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
16474
16475      if (!this.options.allowOverlap) {
16476        var overlaps = {};
16477        var minOverlap = 100000000;
16478        // default coordinates to how we start, in case we can't figure out better
16479        var minCoordinates = { position: this.position, alignment: this.alignment };
16480        while (!this._positionsExhausted()) {
16481          var overlap = _foundationUtil.Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);
16482          if (overlap === 0) {
16483            return;
16484          }
16485
16486          if (overlap < minOverlap) {
16487            minOverlap = overlap;
16488            minCoordinates = { position: this.position, alignment: this.alignment };
16489          }
16490
16491          this._reposition();
16492
16493          $element.offset(_foundationUtil.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
16494        }
16495        // If we get through the entire loop, there was no non-overlapping
16496        // position available. Pick the version with least overlap.
16497        this.position = minCoordinates.position;
16498        this.alignment = minCoordinates.alignment;
16499        $element.offset(_foundationUtil.Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));
16500      }
16501    }
16502  }]);
16503
16504  return Positionable;
16505}(_foundation.Plugin);
16506
16507Positionable.defaults = {
16508  /**
16509   * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.
16510   * @option
16511   * @type {string}
16512   * @default 'auto'
16513   */
16514  position: 'auto',
16515  /**
16516   * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.
16517   * @option
16518   * @type {string}
16519   * @default 'auto'
16520   */
16521  alignment: 'auto',
16522  /**
16523   * Allow overlap of container/window. If false, dropdown positionable first
16524   * try to position as defined by data-position and data-alignment, but
16525   * reposition if it would cause an overflow.
16526   * @option
16527   * @type {boolean}
16528   * @default false
16529   */
16530  allowOverlap: false,
16531  /**
16532   * Allow overlap of only the bottom of the container. This is the most common
16533   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
16534   * screen but not otherwise influence or break out of the container.
16535   * @option
16536   * @type {boolean}
16537   * @default true
16538   */
16539  allowBottomOverlap: true,
16540  /**
16541   * Number of pixels the positionable should be separated vertically from anchor
16542   * @option
16543   * @type {number}
16544   * @default 0
16545   */
16546  vOffset: 0,
16547  /**
16548   * Number of pixels the positionable should be separated horizontally from anchor
16549   * @option
16550   * @type {number}
16551   * @default 0
16552   */
16553  hOffset: 0
16554};
16555
16556exports.Positionable = Positionable;
16557
16558/***/ }),
16559/* 58 */
16560/***/ (function(module, exports, __webpack_require__) {
16561
16562"use strict";
16563
16564
16565Object.defineProperty(exports, "__esModule", {
16566  value: true
16567});
16568exports.Box = undefined;
16569
16570var _foundationUtil = __webpack_require__(6);
16571
16572var Box = {
16573  ImNotTouchingYou: ImNotTouchingYou,
16574  OverlapArea: OverlapArea,
16575  GetDimensions: GetDimensions,
16576  GetOffsets: GetOffsets,
16577  GetExplicitOffsets: GetExplicitOffsets
16578
16579  /**
16580   * Compares the dimensions of an element to a container and determines collision events with container.
16581   * @function
16582   * @param {jQuery} element - jQuery object to test for collisions.
16583   * @param {jQuery} parent - jQuery object to use as bounding container.
16584   * @param {Boolean} lrOnly - set to true to check left and right values only.
16585   * @param {Boolean} tbOnly - set to true to check top and bottom values only.
16586   * @default if no parent object passed, detects collisions with `window`.
16587   * @returns {Boolean} - true if collision free, false if a collision in any direction.
16588   */
16589};function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {
16590  return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;
16591};
16592
16593function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {
16594  var eleDims = GetDimensions(element),
16595      topOver,
16596      bottomOver,
16597      leftOver,
16598      rightOver;
16599  if (parent) {
16600    var parDims = GetDimensions(parent);
16601
16602    bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height);
16603    topOver = eleDims.offset.top - parDims.offset.top;
16604    leftOver = eleDims.offset.left - parDims.offset.left;
16605    rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width);
16606  } else {
16607    bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height);
16608    topOver = eleDims.offset.top - eleDims.windowDims.offset.top;
16609    leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;
16610    rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);
16611  }
16612
16613  bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);
16614  topOver = Math.min(topOver, 0);
16615  leftOver = Math.min(leftOver, 0);
16616  rightOver = Math.min(rightOver, 0);
16617
16618  if (lrOnly) {
16619    return leftOver + rightOver;
16620  }
16621  if (tbOnly) {
16622    return topOver + bottomOver;
16623  }
16624
16625  // use sum of squares b/c we care about overlap area.
16626  return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver);
16627}
16628
16629/**
16630 * Uses native methods to return an object of dimension values.
16631 * @function
16632 * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
16633 * @returns {Object} - nested object of integer pixel values
16634 * TODO - if element is window, return only those values.
16635 */
16636function GetDimensions(elem) {
16637  elem = elem.length ? elem[0] : elem;
16638
16639  if (elem === window || elem === document) {
16640    throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
16641  }
16642
16643  var rect = elem.getBoundingClientRect(),
16644      parRect = elem.parentNode.getBoundingClientRect(),
16645      winRect = document.body.getBoundingClientRect(),
16646      winY = window.pageYOffset,
16647      winX = window.pageXOffset;
16648
16649  return {
16650    width: rect.width,
16651    height: rect.height,
16652    offset: {
16653      top: rect.top + winY,
16654      left: rect.left + winX
16655    },
16656    parentDims: {
16657      width: parRect.width,
16658      height: parRect.height,
16659      offset: {
16660        top: parRect.top + winY,
16661        left: parRect.left + winX
16662      }
16663    },
16664    windowDims: {
16665      width: winRect.width,
16666      height: winRect.height,
16667      offset: {
16668        top: winY,
16669        left: winX
16670      }
16671    }
16672  };
16673}
16674
16675/**
16676 * Returns an object of top and left integer pixel values for dynamically rendered elements,
16677 * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where
16678 * you don't know alignment, but generally from
16679 * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.
16680 * @function
16681 * @param {jQuery} element - jQuery object for the element being positioned.
16682 * @param {jQuery} anchor - jQuery object for the element's anchor point.
16683 * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
16684 * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
16685 * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
16686 * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
16687 * TODO alter/rewrite to work with `em` values as well/instead of pixels
16688 */
16689function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
16690  console.log("NOTE: GetOffsets is deprecated in favor of GetExplicitOffsets and will be removed in 6.5");
16691  switch (position) {
16692    case 'top':
16693      return (0, _foundationUtil.rtl)() ? GetExplicitOffsets(element, anchor, 'top', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'top', 'right', vOffset, hOffset, isOverflow);
16694    case 'bottom':
16695      return (0, _foundationUtil.rtl)() ? GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow) : GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);
16696    case 'center top':
16697      return GetExplicitOffsets(element, anchor, 'top', 'center', vOffset, hOffset, isOverflow);
16698    case 'center bottom':
16699      return GetExplicitOffsets(element, anchor, 'bottom', 'center', vOffset, hOffset, isOverflow);
16700    case 'center left':
16701      return GetExplicitOffsets(element, anchor, 'left', 'center', vOffset, hOffset, isOverflow);
16702    case 'center right':
16703      return GetExplicitOffsets(element, anchor, 'right', 'center', vOffset, hOffset, isOverflow);
16704    case 'left bottom':
16705      return GetExplicitOffsets(element, anchor, 'bottom', 'left', vOffset, hOffset, isOverflow);
16706    case 'right bottom':
16707      return GetExplicitOffsets(element, anchor, 'bottom', 'right', vOffset, hOffset, isOverflow);
16708    // Backwards compatibility... this along with the reveal and reveal full
16709    // classes are the only ones that didn't reference anchor
16710    case 'center':
16711      return {
16712        left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2 + hOffset,
16713        top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - ($eleDims.height / 2 + vOffset)
16714      };
16715    case 'reveal':
16716      return {
16717        left: ($eleDims.windowDims.width - $eleDims.width) / 2 + hOffset,
16718        top: $eleDims.windowDims.offset.top + vOffset
16719      };
16720    case 'reveal full':
16721      return {
16722        left: $eleDims.windowDims.offset.left,
16723        top: $eleDims.windowDims.offset.top
16724      };
16725      break;
16726    default:
16727      return {
16728        left: (0, _foundationUtil.rtl)() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset : $anchorDims.offset.left + hOffset,
16729        top: $anchorDims.offset.top + $anchorDims.height + vOffset
16730      };
16731
16732  }
16733}
16734
16735function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {
16736  var $eleDims = GetDimensions(element),
16737      $anchorDims = anchor ? GetDimensions(anchor) : null;
16738
16739  var topVal, leftVal;
16740
16741  // set position related attribute
16742
16743  switch (position) {
16744    case 'top':
16745      topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);
16746      break;
16747    case 'bottom':
16748      topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;
16749      break;
16750    case 'left':
16751      leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);
16752      break;
16753    case 'right':
16754      leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;
16755      break;
16756  }
16757
16758  // set alignment related attribute
16759  switch (position) {
16760    case 'top':
16761    case 'bottom':
16762      switch (alignment) {
16763        case 'left':
16764          leftVal = $anchorDims.offset.left + hOffset;
16765          break;
16766        case 'right':
16767          leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;
16768          break;
16769        case 'center':
16770          leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;
16771          break;
16772      }
16773      break;
16774    case 'right':
16775    case 'left':
16776      switch (alignment) {
16777        case 'bottom':
16778          topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;
16779          break;
16780        case 'top':
16781          topVal = $anchorDims.offset.top + vOffset;
16782          break;
16783        case 'center':
16784          topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;
16785          break;
16786      }
16787      break;
16788  }
16789  return { top: topVal, left: leftVal };
16790}
16791
16792exports.Box = Box;
16793
16794/***/ }),
16795/* 59 */
16796/***/ (function(module, exports, __webpack_require__) {
16797
16798"use strict";
16799var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
16800
16801/*!
16802 * jQuery UI Keycode 1.12.1
16803 * http://jqueryui.com
16804 *
16805 * Copyright jQuery Foundation and other contributors
16806 * Released under the MIT license.
16807 * http://jquery.org/license
16808 */
16809
16810//>>label: Keycode
16811//>>group: Core
16812//>>description: Provide keycodes as keynames
16813//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/
16814
16815(function (factory) {
16816	if (true) {
16817
16818		// AMD. Register as an anonymous module.
16819		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
16820				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
16821				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
16822				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
16823	} else {
16824
16825		// Browser globals
16826		factory(jQuery);
16827	}
16828})(function ($) {
16829	return $.ui.keyCode = {
16830		BACKSPACE: 8,
16831		COMMA: 188,
16832		DELETE: 46,
16833		DOWN: 40,
16834		END: 35,
16835		ENTER: 13,
16836		ESCAPE: 27,
16837		HOME: 36,
16838		LEFT: 37,
16839		PAGE_DOWN: 34,
16840		PAGE_UP: 33,
16841		PERIOD: 190,
16842		RIGHT: 39,
16843		SPACE: 32,
16844		TAB: 9,
16845		UP: 38
16846	};
16847});
16848
16849/***/ }),
16850/* 60 */
16851/***/ (function(module, exports, __webpack_require__) {
16852
16853"use strict";
16854var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
16855
16856/*!
16857 * jQuery UI Position 1.12.1
16858 * http://jqueryui.com
16859 *
16860 * Copyright jQuery Foundation and other contributors
16861 * Released under the MIT license.
16862 * http://jquery.org/license
16863 *
16864 * http://api.jqueryui.com/position/
16865 */
16866
16867//>>label: Position
16868//>>group: Core
16869//>>description: Positions elements relative to other elements.
16870//>>docs: http://api.jqueryui.com/position/
16871//>>demos: http://jqueryui.com/position/
16872
16873(function (factory) {
16874	if (true) {
16875
16876		// AMD. Register as an anonymous module.
16877		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
16878				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
16879				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
vendor: 5,109 bytes, lines 16880-17042
16880				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
16881	} else {
16882
16883		// Browser globals
16884		factory(jQuery);
16885	}
16886})(function ($) {
16887	(function () {
16888		var cachedScrollbarWidth,
16889		    max = Math.max,
16890		    abs = Math.abs,
16891		    rhorizontal = /left|center|right/,
16892		    rvertical = /top|center|bottom/,
16893		    roffset = /[\+\-]\d+(\.[\d]+)?%?/,
16894		    rposition = /^\w+/,
16895		    rpercent = /%$/,
16896		    _position = $.fn.position;
16897
16898		function getOffsets(offsets, width, height) {
16899			return [parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1), parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)];
16900		}
16901
16902		function parseCss(element, property) {
16903			return parseInt($.css(element, property), 10) || 0;
16904		}
16905
16906		function getDimensions(elem) {
16907			var raw = elem[0];
16908			if (raw.nodeType === 9) {
16909				return {
16910					width: elem.width(),
16911					height: elem.height(),
16912					offset: { top: 0, left: 0 }
16913				};
16914			}
16915			if ($.isWindow(raw)) {
16916				return {
16917					width: elem.width(),
16918					height: elem.height(),
16919					offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
16920				};
16921			}
16922			if (raw.preventDefault) {
16923				return {
16924					width: 0,
16925					height: 0,
16926					offset: { top: raw.pageY, left: raw.pageX }
16927				};
16928			}
16929			return {
16930				width: elem.outerWidth(),
16931				height: elem.outerHeight(),
16932				offset: elem.offset()
16933			};
16934		}
16935
16936		$.position = {
16937			scrollbarWidth: function scrollbarWidth() {
16938				if (cachedScrollbarWidth !== undefined) {
16939					return cachedScrollbarWidth;
16940				}
16941				var w1,
16942				    w2,
16943				    div = $("<div " + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + "<div style='height:100px;width:auto;'></div></div>"),
16944				    innerDiv = div.children()[0];
16945
16946				$("body").append(div);
16947				w1 = innerDiv.offsetWidth;
16948				div.css("overflow", "scroll");
16949
16950				w2 = innerDiv.offsetWidth;
16951
16952				if (w1 === w2) {
16953					w2 = div[0].clientWidth;
16954				}
16955
16956				div.remove();
16957
16958				return cachedScrollbarWidth = w1 - w2;
16959			},
16960			getScrollInfo: function getScrollInfo(within) {
16961				var overflowX = within.isWindow || within.isDocument ? "" : within.element.css("overflow-x"),
16962				    overflowY = within.isWindow || within.isDocument ? "" : within.element.css("overflow-y"),
16963				    hasOverflowX = overflowX === "scroll" || overflowX === "auto" && within.width < within.element[0].scrollWidth,
16964				    hasOverflowY = overflowY === "scroll" || overflowY === "auto" && within.height < within.element[0].scrollHeight;
16965				return {
16966					width: hasOverflowY ? $.position.scrollbarWidth() : 0,
16967					height: hasOverflowX ? $.position.scrollbarWidth() : 0
16968				};
16969			},
16970			getWithinInfo: function getWithinInfo(element) {
16971				var withinElement = $(element || window),
16972				    isWindow = $.isWindow(withinElement[0]),
16973				    isDocument = !!withinElement[0] && withinElement[0].nodeType === 9,
16974				    hasOffset = !isWindow && !isDocument;
16975				return {
16976					element: withinElement,
16977					isWindow: isWindow,
16978					isDocument: isDocument,
16979					offset: hasOffset ? $(element).offset() : { left: 0, top: 0 },
16980					scrollLeft: withinElement.scrollLeft(),
16981					scrollTop: withinElement.scrollTop(),
16982					width: withinElement.outerWidth(),
16983					height: withinElement.outerHeight()
16984				};
16985			}
16986		};
16987
16988		$.fn.position = function (options) {
16989			if (!options || !options.of) {
16990				return _position.apply(this, arguments);
16991			}
16992
16993			// Make a copy, we don't want to modify arguments
16994			options = $.extend({}, options);
16995
16996			var atOffset,
16997			    targetWidth,
16998			    targetHeight,
16999			    targetOffset,
17000			    basePosition,
17001			    dimensions,
17002			    target = $(options.of),
17003			    within = $.position.getWithinInfo(options.within),
17004			    scrollInfo = $.position.getScrollInfo(within),
17005			    collision = (options.collision || "flip").split(" "),
17006			    offsets = {};
17007
17008			dimensions = getDimensions(target);
17009			if (target[0].preventDefault) {
17010
17011				// Force left top to allow flipping
17012				options.at = "left top";
17013			}
17014			targetWidth = dimensions.width;
17015			targetHeight = dimensions.height;
17016			targetOffset = dimensions.offset;
17017
17018			// Clone to reuse original targetOffset later
17019			basePosition = $.extend({}, targetOffset);
17020
17021			// Force my and at to have valid horizontal and vertical positions
17022			// if a value is missing or invalid, it will be converted to center
17023			$.each(["my", "at"], function () {
17024				var pos = (options[this] || "").split(" "),
17025				    horizontalOffset,
17026				    verticalOffset;
17027
17028				if (pos.length === 1) {
17029					pos = rhorizontal.test(pos[0]) ? pos.concat(["center"]) : rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
17030				}
17031				pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
17032				pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
17033
17034				// Calculate offsets
17035				horizontalOffset = roffset.exec(pos[0]);
17036				verticalOffset = roffset.exec(pos[1]);
17037				offsets[this] = [horizontalOffset ? horizontalOffset[0] : 0, verticalOffset ? verticalOffset[0] : 0];
17038
17039				// Reduce to just the positions without the offsets
17040				options[this] = [rposition.exec(pos[0])[0], rposition.exec(pos[1])[0]];
17041			});
17042
vendor: 9,583 bytes, lines 17043-17308
17043			// Normalize collision option
17044			if (collision.length === 1) {
17045				collision[1] = collision[0];
17046			}
17047
17048			if (options.at[0] === "right") {
17049				basePosition.left += targetWidth;
17050			} else if (options.at[0] === "center") {
17051				basePosition.left += targetWidth / 2;
17052			}
17053
17054			if (options.at[1] === "bottom") {
17055				basePosition.top += targetHeight;
17056			} else if (options.at[1] === "center") {
17057				basePosition.top += targetHeight / 2;
17058			}
17059
17060			atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
17061			basePosition.left += atOffset[0];
17062			basePosition.top += atOffset[1];
17063
17064			return this.each(function () {
17065				var collisionPosition,
17066				    using,
17067				    elem = $(this),
17068				    elemWidth = elem.outerWidth(),
17069				    elemHeight = elem.outerHeight(),
17070				    marginLeft = parseCss(this, "marginLeft"),
17071				    marginTop = parseCss(this, "marginTop"),
17072				    collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width,
17073				    collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height,
17074				    position = $.extend({}, basePosition),
17075				    myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
17076
17077				if (options.my[0] === "right") {
17078					position.left -= elemWidth;
17079				} else if (options.my[0] === "center") {
17080					position.left -= elemWidth / 2;
17081				}
17082
17083				if (options.my[1] === "bottom") {
17084					position.top -= elemHeight;
17085				} else if (options.my[1] === "center") {
17086					position.top -= elemHeight / 2;
17087				}
17088
17089				position.left += myOffset[0];
17090				position.top += myOffset[1];
17091
17092				collisionPosition = {
17093					marginLeft: marginLeft,
17094					marginTop: marginTop
17095				};
17096
17097				$.each(["left", "top"], function (i, dir) {
17098					if ($.ui.position[collision[i]]) {
17099						$.ui.position[collision[i]][dir](position, {
17100							targetWidth: targetWidth,
17101							targetHeight: targetHeight,
17102							elemWidth: elemWidth,
17103							elemHeight: elemHeight,
17104							collisionPosition: collisionPosition,
17105							collisionWidth: collisionWidth,
17106							collisionHeight: collisionHeight,
17107							offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
17108							my: options.my,
17109							at: options.at,
17110							within: within,
17111							elem: elem
17112						});
17113					}
17114				});
17115
17116				if (options.using) {
17117
17118					// Adds feedback as second argument to using callback, if present
17119					using = function using(props) {
17120						var left = targetOffset.left - position.left,
17121						    right = left + targetWidth - elemWidth,
17122						    top = targetOffset.top - position.top,
17123						    bottom = top + targetHeight - elemHeight,
17124						    feedback = {
17125							target: {
17126								element: target,
17127								left: targetOffset.left,
17128								top: targetOffset.top,
17129								width: targetWidth,
17130								height: targetHeight
17131							},
17132							element: {
17133								element: elem,
17134								left: position.left,
17135								top: position.top,
17136								width: elemWidth,
17137								height: elemHeight
17138							},
17139							horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
17140							vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
17141						};
17142						if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
17143							feedback.horizontal = "center";
17144						}
17145						if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
17146							feedback.vertical = "middle";
17147						}
17148						if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
17149							feedback.important = "horizontal";
17150						} else {
17151							feedback.important = "vertical";
17152						}
17153						options.using.call(this, props, feedback);
17154					};
17155				}
17156
17157				elem.offset($.extend(position, { using: using }));
17158			});
17159		};
17160
17161		$.ui.position = {
17162			fit: {
17163				left: function left(position, data) {
17164					var within = data.within,
17165					    withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
17166					    outerWidth = within.width,
17167					    collisionPosLeft = position.left - data.collisionPosition.marginLeft,
17168					    overLeft = withinOffset - collisionPosLeft,
17169					    overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
17170					    newOverRight;
17171
17172					// Element is wider than within
17173					if (data.collisionWidth > outerWidth) {
17174
17175						// Element is initially over the left side of within
17176						if (overLeft > 0 && overRight <= 0) {
17177							newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
17178							position.left += overLeft - newOverRight;
17179
17180							// Element is initially over right side of within
17181						} else if (overRight > 0 && overLeft <= 0) {
17182							position.left = withinOffset;
17183
17184							// Element is initially over both left and right sides of within
17185						} else {
17186							if (overLeft > overRight) {
17187								position.left = withinOffset + outerWidth - data.collisionWidth;
17188							} else {
17189								position.left = withinOffset;
17190							}
17191						}
17192
17193						// Too far left -> align with left edge
17194					} else if (overLeft > 0) {
17195						position.left += overLeft;
17196
17197						// Too far right -> align with right edge
17198					} else if (overRight > 0) {
17199						position.left -= overRight;
17200
17201						// Adjust based on position and margin
17202					} else {
17203						position.left = max(position.left - collisionPosLeft, position.left);
17204					}
17205				},
17206				top: function top(position, data) {
17207					var within = data.within,
17208					    withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
17209					    outerHeight = data.within.height,
17210					    collisionPosTop = position.top - data.collisionPosition.marginTop,
17211					    overTop = withinOffset - collisionPosTop,
17212					    overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
17213					    newOverBottom;
17214
17215					// Element is taller than within
17216					if (data.collisionHeight > outerHeight) {
17217
17218						// Element is initially over the top of within
17219						if (overTop > 0 && overBottom <= 0) {
17220							newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
17221							position.top += overTop - newOverBottom;
17222
17223							// Element is initially over bottom of within
17224						} else if (overBottom > 0 && overTop <= 0) {
17225							position.top = withinOffset;
17226
17227							// Element is initially over both top and bottom of within
17228						} else {
17229							if (overTop > overBottom) {
17230								position.top = withinOffset + outerHeight - data.collisionHeight;
17231							} else {
17232								position.top = withinOffset;
17233							}
17234						}
17235
17236						// Too far up -> align with top
17237					} else if (overTop > 0) {
17238						position.top += overTop;
17239
17240						// Too far down -> align with bottom edge
17241					} else if (overBottom > 0) {
17242						position.top -= overBottom;
17243
17244						// Adjust based on position and margin
17245					} else {
17246						position.top = max(position.top - collisionPosTop, position.top);
17247					}
17248				}
17249			},
17250			flip: {
17251				left: function left(position, data) {
17252					var within = data.within,
17253					    withinOffset = within.offset.left + within.scrollLeft,
17254					    outerWidth = within.width,
17255					    offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
17256					    collisionPosLeft = position.left - data.collisionPosition.marginLeft,
17257					    overLeft = collisionPosLeft - offsetLeft,
17258					    overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
17259					    myOffset = data.my[0] === "left" ? -data.elemWidth : data.my[0] === "right" ? data.elemWidth : 0,
17260					    atOffset = data.at[0] === "left" ? data.targetWidth : data.at[0] === "right" ? -data.targetWidth : 0,
17261					    offset = -2 * data.offset[0],
17262					    newOverRight,
17263					    newOverLeft;
17264
17265					if (overLeft < 0) {
17266						newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
17267						if (newOverRight < 0 || newOverRight < abs(overLeft)) {
17268							position.left += myOffset + atOffset + offset;
17269						}
17270					} else if (overRight > 0) {
17271						newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
17272						if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
17273							position.left += myOffset + atOffset + offset;
17274						}
17275					}
17276				},
17277				top: function top(position, data) {
17278					var within = data.within,
17279					    withinOffset = within.offset.top + within.scrollTop,
17280					    outerHeight = within.height,
17281					    offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
17282					    collisionPosTop = position.top - data.collisionPosition.marginTop,
17283					    overTop = collisionPosTop - offsetTop,
17284					    overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
17285					    top = data.my[1] === "top",
17286					    myOffset = top ? -data.elemHeight : data.my[1] === "bottom" ? data.elemHeight : 0,
17287					    atOffset = data.at[1] === "top" ? data.targetHeight : data.at[1] === "bottom" ? -data.targetHeight : 0,
17288					    offset = -2 * data.offset[1],
17289					    newOverTop,
17290					    newOverBottom;
17291					if (overTop < 0) {
17292						newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
17293						if (newOverBottom < 0 || newOverBottom < abs(overTop)) {
17294							position.top += myOffset + atOffset + offset;
17295						}
17296					} else if (overBottom > 0) {
17297						newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
17298						if (newOverTop > 0 || abs(newOverTop) < overBottom) {
17299							position.top += myOffset + atOffset + offset;
17300						}
17301					}
17302				}
17303			},
17304			flipfit: {
17305				left: function left() {
17306					$.ui.position.flip.left.apply(this, arguments);
17307					$.ui.position.fit.left.apply(this, arguments);
17308				},
17309				top: function top() {
17310					$.ui.position.flip.top.apply(this, arguments);
17311					$.ui.position.fit.top.apply(this, arguments);
17312				}
17313			}
17314		};
17315	})();
17316
17317	return $.ui.position;
17318});
17319
17320/***/ }),
17321/* 61 */
17322/***/ (function(module, exports, __webpack_require__) {
17323
17324"use strict";
17325var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
17326
17327(function (factory) {
17328	if (true) {
17329
17330		// AMD. Register as an anonymous module.
17331		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
17332				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
17333				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
17334				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
17335	} else {
17336
17337		// Browser globals
17338		factory(jQuery);
17339	}
17340})(function ($) {
17341	return $.ui.safeActiveElement = function (document) {
17342		var activeElement;
17343
17344		// Support: IE 9 only
17345		// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
17346		try {
17347			activeElement = document.activeElement;
17348		} catch (error) {
17349			activeElement = document.body;
17350		}
17351
17352		// Support: IE 9 - 11 only
17353		// IE may return null instead of an element
17354		// Interestingly, this only seems to occur when NOT in an iframe
17355		if (!activeElement) {
17356			activeElement = document.body;
17357		}
17358
17359		// Support: IE 11 only
17360		// IE11 returns a seemingly empty object in some cases when accessing
17361		// document.activeElement from an <iframe>
17362		if (!activeElement.nodeName) {
17363			activeElement = document.body;
17364		}
17365
17366		return activeElement;
17367	};
17368});
17369
17370/***/ }),
17371/* 62 */
17372/***/ (function(module, exports, __webpack_require__) {
17373
17374"use strict";
17375var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
17376
17377/*!
17378 * jQuery UI Widget 1.12.1
17379 * http://jqueryui.com
17380 *
17381 * Copyright jQuery Foundation and other contributors
17382 * Released under the MIT license.
17383 * http://jquery.org/license
17384 */
17385
17386//>>label: Widget
17387//>>group: Core
17388//>>description: Provides a factory for creating stateful widgets with a common API.
17389//>>docs: http://api.jqueryui.com/jQuery.widget/
17390//>>demos: http://jqueryui.com/widget/
17391
17392(function (factory) {
17393	if (true) {
17394
17395		// AMD. Register as an anonymous module.
17396		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
17397				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
17398				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
17399				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
17400	} else {
17401
17402		// Browser globals
17403		factory(jQuery);
17404	}
17405})(function ($) {
17406
17407	var widgetUuid = 0;
17408	var widgetSlice = Array.prototype.slice;
17409
17410	$.cleanData = function (orig) {
17411		return function (elems) {
17412			var events, elem, i;
17413			for (i = 0; (elem = elems[i]) != null; i++) {
17414				try {
17415
17416					// Only trigger remove when necessary to save time
17417					events = $._data(elem, "events");
17418					if (events && events.remove) {
17419						$(elem).triggerHandler("remove");
17420					}
17421
17422					// Http://bugs.jquery.com/ticket/8235
17423				} catch (e) {}
17424			}
17425			orig(elems);
17426		};
17427	}($.cleanData);
17428
17429	$.widget = function (name, base, prototype) {
17430		var existingConstructor, constructor, basePrototype;
17431
17432		// ProxiedPrototype allows the provided prototype to remain unmodified
17433		// so that it can be used as a mixin for multiple widgets (#8876)
17434		var proxiedPrototype = {};
17435
17436		var namespace = name.split(".")[0];
17437		name = name.split(".")[1];
17438		var fullName = namespace + "-" + name;
17439
17440		if (!prototype) {
17441			prototype = base;
17442			base = $.Widget;
17443		}
17444
17445		if ($.isArray(prototype)) {
17446			prototype = $.extend.apply(null, [{}].concat(prototype));
17447		}
17448
17449		// Create selector for plugin
17450		$.expr[":"][fullName.toLowerCase()] = function (elem) {
17451			return !!$.data(elem, fullName);
17452		};
17453
17454		$[namespace] = $[namespace] || {};
17455		existingConstructor = $[namespace][name];
vendor: 4,702 bytes, lines 17456-17607
17456		constructor = $[namespace][name] = function (options, element) {
17457
17458			// Allow instantiation without "new" keyword
17459			if (!this._createWidget) {
17460				return new constructor(options, element);
17461			}
17462
17463			// Allow instantiation without initializing for simple inheritance
17464			// must use "new" keyword (the code above always passes args)
17465			if (arguments.length) {
17466				this._createWidget(options, element);
17467			}
17468		};
17469
17470		// Extend with the existing constructor to carry over any static properties
17471		$.extend(constructor, existingConstructor, {
17472			version: prototype.version,
17473
17474			// Copy the object used to create the prototype in case we need to
17475			// redefine the widget later
17476			_proto: $.extend({}, prototype),
17477
17478			// Track widgets that inherit from this widget in case this widget is
17479			// redefined after a widget inherits from it
17480			_childConstructors: []
17481		});
17482
17483		basePrototype = new base();
17484
17485		// We need to make the options hash a property directly on the new instance
17486		// otherwise we'll modify the options hash on the prototype that we're
17487		// inheriting from
17488		basePrototype.options = $.widget.extend({}, basePrototype.options);
17489		$.each(prototype, function (prop, value) {
17490			if (!$.isFunction(value)) {
17491				proxiedPrototype[prop] = value;
17492				return;
17493			}
17494			proxiedPrototype[prop] = function () {
17495				function _super() {
17496					return base.prototype[prop].apply(this, arguments);
17497				}
17498
17499				function _superApply(args) {
17500					return base.prototype[prop].apply(this, args);
17501				}
17502
17503				return function () {
17504					var __super = this._super;
17505					var __superApply = this._superApply;
17506					var returnValue;
17507
17508					this._super = _super;
17509					this._superApply = _superApply;
17510
17511					returnValue = value.apply(this, arguments);
17512
17513					this._super = __super;
17514					this._superApply = __superApply;
17515
17516					return returnValue;
17517				};
17518			}();
17519		});
17520		constructor.prototype = $.widget.extend(basePrototype, {
17521
17522			// TODO: remove support for widgetEventPrefix
17523			// always use the name + a colon as the prefix, e.g., draggable:start
17524			// don't prefix for widgets that aren't DOM-based
17525			widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix || name : name
17526		}, proxiedPrototype, {
17527			constructor: constructor,
17528			namespace: namespace,
17529			widgetName: name,
17530			widgetFullName: fullName
17531		});
17532
17533		// If this widget is being redefined then we need to find all widgets that
17534		// are inheriting from it and redefine all of them so that they inherit from
17535		// the new version of this widget. We're essentially trying to replace one
17536		// level in the prototype chain.
17537		if (existingConstructor) {
17538			$.each(existingConstructor._childConstructors, function (i, child) {
17539				var childPrototype = child.prototype;
17540
17541				// Redefine the child widget using the same prototype that was
17542				// originally used, but inherit from the new version of the base
17543				$.widget(childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto);
17544			});
17545
17546			// Remove the list of existing child constructors from the old constructor
17547			// so the old child constructors can be garbage collected
17548			delete existingConstructor._childConstructors;
17549		} else {
17550			base._childConstructors.push(constructor);
17551		}
17552
17553		$.widget.bridge(name, constructor);
17554
17555		return constructor;
17556	};
17557
17558	$.widget.extend = function (target) {
17559		var input = widgetSlice.call(arguments, 1);
17560		var inputIndex = 0;
17561		var inputLength = input.length;
17562		var key;
17563		var value;
17564
17565		for (; inputIndex < inputLength; inputIndex++) {
17566			for (key in input[inputIndex]) {
17567				value = input[inputIndex][key];
17568				if (input[inputIndex].hasOwnProperty(key) && value !== undefined) {
17569
17570					// Clone objects
17571					if ($.isPlainObject(value)) {
17572						target[key] = $.isPlainObject(target[key]) ? $.widget.extend({}, target[key], value) :
17573
17574						// Don't extend strings, arrays, etc. with objects
17575						$.widget.extend({}, value);
17576
17577						// Copy everything else by reference
17578					} else {
17579						target[key] = value;
17580					}
17581				}
17582			}
17583		}
17584		return target;
17585	};
17586
17587	$.widget.bridge = function (name, object) {
17588		var fullName = object.prototype.widgetFullName || name;
17589		$.fn[name] = function (options) {
17590			var isMethodCall = typeof options === "string";
17591			var args = widgetSlice.call(arguments, 1);
17592			var returnValue = this;
17593
17594			if (isMethodCall) {
17595
17596				// If this is an empty collection, we need to have the instance method
17597				// return undefined instead of the jQuery instance
17598				if (!this.length && options === "instance") {
17599					returnValue = undefined;
17600				} else {
17601					this.each(function () {
17602						var methodValue;
17603						var instance = $.data(this, fullName);
17604
17605						if (options === "instance") {
17606							returnValue = instance;
17607							return false;
vendor: 14,196 bytes, lines 17608-18097
17608						}
17609
17610						if (!instance) {
17611							return $.error("cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'");
17612						}
17613
17614						if (!$.isFunction(instance[options]) || options.charAt(0) === "_") {
17615							return $.error("no such method '" + options + "' for " + name + " widget instance");
17616						}
17617
17618						methodValue = instance[options].apply(instance, args);
17619
17620						if (methodValue !== instance && methodValue !== undefined) {
17621							returnValue = methodValue && methodValue.jquery ? returnValue.pushStack(methodValue.get()) : methodValue;
17622							return false;
17623						}
17624					});
17625				}
17626			} else {
17627
17628				// Allow multiple hashes to be passed on init
17629				if (args.length) {
17630					options = $.widget.extend.apply(null, [options].concat(args));
17631				}
17632
17633				this.each(function () {
17634					var instance = $.data(this, fullName);
17635					if (instance) {
17636						instance.option(options || {});
17637						if (instance._init) {
17638							instance._init();
17639						}
17640					} else {
17641						$.data(this, fullName, new object(options, this));
17642					}
17643				});
17644			}
17645
17646			return returnValue;
17647		};
17648	};
17649
17650	$.Widget = function () /* options, element */{};
17651	$.Widget._childConstructors = [];
17652
17653	$.Widget.prototype = {
17654		widgetName: "widget",
17655		widgetEventPrefix: "",
17656		defaultElement: "<div>",
17657
17658		options: {
17659			classes: {},
17660			disabled: false,
17661
17662			// Callbacks
17663			create: null
17664		},
17665
17666		_createWidget: function _createWidget(options, element) {
17667			element = $(element || this.defaultElement || this)[0];
17668			this.element = $(element);
17669			this.uuid = widgetUuid++;
17670			this.eventNamespace = "." + this.widgetName + this.uuid;
17671
17672			this.bindings = $();
17673			this.hoverable = $();
17674			this.focusable = $();
17675			this.classesElementLookup = {};
17676
17677			if (element !== this) {
17678				$.data(element, this.widgetFullName, this);
17679				this._on(true, this.element, {
17680					remove: function remove(event) {
17681						if (event.target === element) {
17682							this.destroy();
17683						}
17684					}
17685				});
17686				this.document = $(element.style ?
17687
17688				// Element within the document
17689				element.ownerDocument :
17690
17691				// Element is window or document
17692				element.document || element);
17693				this.window = $(this.document[0].defaultView || this.document[0].parentWindow);
17694			}
17695
17696			this.options = $.widget.extend({}, this.options, this._getCreateOptions(), options);
17697
17698			this._create();
17699
17700			if (this.options.disabled) {
17701				this._setOptionDisabled(this.options.disabled);
17702			}
17703
17704			this._trigger("create", null, this._getCreateEventData());
17705			this._init();
17706		},
17707
17708		_getCreateOptions: function _getCreateOptions() {
17709			return {};
17710		},
17711
17712		_getCreateEventData: $.noop,
17713
17714		_create: $.noop,
17715
17716		_init: $.noop,
17717
17718		destroy: function destroy() {
17719			var that = this;
17720
17721			this._destroy();
17722			$.each(this.classesElementLookup, function (key, value) {
17723				that._removeClass(value, key);
17724			});
17725
17726			// We can probably remove the unbind calls in 2.0
17727			// all event bindings should go through this._on()
17728			this.element.off(this.eventNamespace).removeData(this.widgetFullName);
17729			this.widget().off(this.eventNamespace).removeAttr("aria-disabled");
17730
17731			// Clean up events and states
17732			this.bindings.off(this.eventNamespace);
17733		},
17734
17735		_destroy: $.noop,
17736
17737		widget: function widget() {
17738			return this.element;
17739		},
17740
17741		option: function option(key, value) {
17742			var options = key;
17743			var parts;
17744			var curOption;
17745			var i;
17746
17747			if (arguments.length === 0) {
17748
17749				// Don't return a reference to the internal hash
17750				return $.widget.extend({}, this.options);
17751			}
17752
17753			if (typeof key === "string") {
17754
17755				// Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
17756				options = {};
17757				parts = key.split(".");
17758				key = parts.shift();
17759				if (parts.length) {
17760					curOption = options[key] = $.widget.extend({}, this.options[key]);
17761					for (i = 0; i < parts.length - 1; i++) {
17762						curOption[parts[i]] = curOption[parts[i]] || {};
17763						curOption = curOption[parts[i]];
17764					}
17765					key = parts.pop();
17766					if (arguments.length === 1) {
17767						return curOption[key] === undefined ? null : curOption[key];
17768					}
17769					curOption[key] = value;
17770				} else {
17771					if (arguments.length === 1) {
17772						return this.options[key] === undefined ? null : this.options[key];
17773					}
17774					options[key] = value;
17775				}
17776			}
17777
17778			this._setOptions(options);
17779
17780			return this;
17781		},
17782
17783		_setOptions: function _setOptions(options) {
17784			var key;
17785
17786			for (key in options) {
17787				this._setOption(key, options[key]);
17788			}
17789
17790			return this;
17791		},
17792
17793		_setOption: function _setOption(key, value) {
17794			if (key === "classes") {
17795				this._setOptionClasses(value);
17796			}
17797
17798			this.options[key] = value;
17799
17800			if (key === "disabled") {
17801				this._setOptionDisabled(value);
17802			}
17803
17804			return this;
17805		},
17806
17807		_setOptionClasses: function _setOptionClasses(value) {
17808			var classKey, elements, currentElements;
17809
17810			for (classKey in value) {
17811				currentElements = this.classesElementLookup[classKey];
17812				if (value[classKey] === this.options.classes[classKey] || !currentElements || !currentElements.length) {
17813					continue;
17814				}
17815
17816				// We are doing this to create a new jQuery object because the _removeClass() call
17817				// on the next line is going to destroy the reference to the current elements being
17818				// tracked. We need to save a copy of this collection so that we can add the new classes
17819				// below.
17820				elements = $(currentElements.get());
17821				this._removeClass(currentElements, classKey);
17822
17823				// We don't use _addClass() here, because that uses this.options.classes
17824				// for generating the string of classes. We want to use the value passed in from
17825				// _setOption(), this is the new value of the classes option which was passed to
17826				// _setOption(). We pass this value directly to _classes().
17827				elements.addClass(this._classes({
17828					element: elements,
17829					keys: classKey,
17830					classes: value,
17831					add: true
17832				}));
17833			}
17834		},
17835
17836		_setOptionDisabled: function _setOptionDisabled(value) {
17837			this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!value);
17838
17839			// If the widget is becoming disabled, then nothing is interactive
17840			if (value) {
17841				this._removeClass(this.hoverable, null, "ui-state-hover");
17842				this._removeClass(this.focusable, null, "ui-state-focus");
17843			}
17844		},
17845
17846		enable: function enable() {
17847			return this._setOptions({ disabled: false });
17848		},
17849
17850		disable: function disable() {
17851			return this._setOptions({ disabled: true });
17852		},
17853
17854		_classes: function _classes(options) {
17855			var full = [];
17856			var that = this;
17857
17858			options = $.extend({
17859				element: this.element,
17860				classes: this.options.classes || {}
17861			}, options);
17862
17863			function processClassString(classes, checkOption) {
17864				var current, i;
17865				for (i = 0; i < classes.length; i++) {
17866					current = that.classesElementLookup[classes[i]] || $();
17867					if (options.add) {
17868						current = $($.unique(current.get().concat(options.element.get())));
17869					} else {
17870						current = $(current.not(options.element).get());
17871					}
17872					that.classesElementLookup[classes[i]] = current;
17873					full.push(classes[i]);
17874					if (checkOption && options.classes[classes[i]]) {
17875						full.push(options.classes[classes[i]]);
17876					}
17877				}
17878			}
17879
17880			this._on(options.element, {
17881				"remove": "_untrackClassesElement"
17882			});
17883
17884			if (options.keys) {
17885				processClassString(options.keys.match(/\S+/g) || [], true);
17886			}
17887			if (options.extra) {
17888				processClassString(options.extra.match(/\S+/g) || []);
17889			}
17890
17891			return full.join(" ");
17892		},
17893
17894		_untrackClassesElement: function _untrackClassesElement(event) {
17895			var that = this;
17896			$.each(that.classesElementLookup, function (key, value) {
17897				if ($.inArray(event.target, value) !== -1) {
17898					that.classesElementLookup[key] = $(value.not(event.target).get());
17899				}
17900			});
17901		},
17902
17903		_removeClass: function _removeClass(element, keys, extra) {
17904			return this._toggleClass(element, keys, extra, false);
17905		},
17906
17907		_addClass: function _addClass(element, keys, extra) {
17908			return this._toggleClass(element, keys, extra, true);
17909		},
17910
17911		_toggleClass: function _toggleClass(element, keys, extra, add) {
17912			add = typeof add === "boolean" ? add : extra;
17913			var shift = typeof element === "string" || element === null,
17914			    options = {
17915				extra: shift ? keys : extra,
17916				keys: shift ? element : keys,
17917				element: shift ? this.element : element,
17918				add: add
17919			};
17920			options.element.toggleClass(this._classes(options), add);
17921			return this;
17922		},
17923
17924		_on: function _on(suppressDisabledCheck, element, handlers) {
17925			var delegateElement;
17926			var instance = this;
17927
17928			// No suppressDisabledCheck flag, shuffle arguments
17929			if (typeof suppressDisabledCheck !== "boolean") {
17930				handlers = element;
17931				element = suppressDisabledCheck;
17932				suppressDisabledCheck = false;
17933			}
17934
17935			// No element argument, shuffle and use this.element
17936			if (!handlers) {
17937				handlers = element;
17938				element = this.element;
17939				delegateElement = this.widget();
17940			} else {
17941				element = delegateElement = $(element);
17942				this.bindings = this.bindings.add(element);
17943			}
17944
17945			$.each(handlers, function (event, handler) {
17946				function handlerProxy() {
17947
17948					// Allow widgets to customize the disabled handling
17949					// - disabled as an array instead of boolean
17950					// - disabled class as method for disabling individual parts
17951					if (!suppressDisabledCheck && (instance.options.disabled === true || $(this).hasClass("ui-state-disabled"))) {
17952						return;
17953					}
17954					return (typeof handler === "string" ? instance[handler] : handler).apply(instance, arguments);
17955				}
17956
17957				// Copy the guid so direct unbinding works
17958				if (typeof handler !== "string") {
17959					handlerProxy.guid = handler.guid = handler.guid || handlerProxy.guid || $.guid++;
17960				}
17961
17962				var match = event.match(/^([\w:-]*)\s*(.*)$/);
17963				var eventName = match[1] + instance.eventNamespace;
17964				var selector = match[2];
17965
17966				if (selector) {
17967					delegateElement.on(eventName, selector, handlerProxy);
17968				} else {
17969					element.on(eventName, handlerProxy);
17970				}
17971			});
17972		},
17973
17974		_off: function _off(element, eventName) {
17975			eventName = (eventName || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace;
17976			element.off(eventName).off(eventName);
17977
17978			// Clear the stack to avoid memory leaks (#10056)
17979			this.bindings = $(this.bindings.not(element).get());
17980			this.focusable = $(this.focusable.not(element).get());
17981			this.hoverable = $(this.hoverable.not(element).get());
17982		},
17983
17984		_delay: function _delay(handler, delay) {
17985			function handlerProxy() {
17986				return (typeof handler === "string" ? instance[handler] : handler).apply(instance, arguments);
17987			}
17988			var instance = this;
17989			return setTimeout(handlerProxy, delay || 0);
17990		},
17991
17992		_hoverable: function _hoverable(element) {
17993			this.hoverable = this.hoverable.add(element);
17994			this._on(element, {
17995				mouseenter: function mouseenter(event) {
17996					this._addClass($(event.currentTarget), null, "ui-state-hover");
17997				},
17998				mouseleave: function mouseleave(event) {
17999					this._removeClass($(event.currentTarget), null, "ui-state-hover");
18000				}
18001			});
18002		},
18003
18004		_focusable: function _focusable(element) {
18005			this.focusable = this.focusable.add(element);
18006			this._on(element, {
18007				focusin: function focusin(event) {
18008					this._addClass($(event.currentTarget), null, "ui-state-focus");
18009				},
18010				focusout: function focusout(event) {
18011					this._removeClass($(event.currentTarget), null, "ui-state-focus");
18012				}
18013			});
18014		},
18015
18016		_trigger: function _trigger(type, event, data) {
18017			var prop, orig;
18018			var callback = this.options[type];
18019
18020			data = data || {};
18021			event = $.Event(event);
18022			event.type = (type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type).toLowerCase();
18023
18024			// The original event may come from any element
18025			// so we need to reset the target on the new event
18026			event.target = this.element[0];
18027
18028			// Copy original event properties over to the new event
18029			orig = event.originalEvent;
18030			if (orig) {
18031				for (prop in orig) {
18032					if (!(prop in event)) {
18033						event[prop] = orig[prop];
18034					}
18035				}
18036			}
18037
18038			this.element.trigger(event, data);
18039			return !($.isFunction(callback) && callback.apply(this.element[0], [event].concat(data)) === false || event.isDefaultPrevented());
18040		}
18041	};
18042
18043	$.each({ show: "fadeIn", hide: "fadeOut" }, function (method, defaultEffect) {
18044		$.Widget.prototype["_" + method] = function (element, options, callback) {
18045			if (typeof options === "string") {
18046				options = { effect: options };
18047			}
18048
18049			var hasOptions;
18050			var effectName = !options ? method : options === true || typeof options === "number" ? defaultEffect : options.effect || defaultEffect;
18051
18052			options = options || {};
18053			if (typeof options === "number") {
18054				options = { duration: options };
18055			}
18056
18057			hasOptions = !$.isEmptyObject(options);
18058			options.complete = callback;
18059
18060			if (options.delay) {
18061				element.delay(options.delay);
18062			}
18063
18064			if (hasOptions && $.effects && $.effects.effect[effectName]) {
18065				element[method](options);
18066			} else if (effectName !== method && element[effectName]) {
18067				element[effectName](options.duration, options.easing, callback);
18068			} else {
18069				element.queue(function (next) {
18070					$(this)[method]();
18071					if (callback) {
18072						callback.call(element[0]);
18073					}
18074					next();
18075				});
18076			}
18077		};
18078	});
18079
18080	return $.widget;
18081});
18082
18083/***/ }),
18084/* 63 */
18085/***/ (function(module, exports, __webpack_require__) {
18086
18087"use strict";
18088var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18089
18090var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18091
18092//! moment.js locale configuration
18093
18094;(function (global, factory) {
18095    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18096				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18097				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18098				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18099})(undefined, function (moment) {
18100    'use strict';
18101
18102    var af = moment.defineLocale('af', {
18103        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
18104        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
18105        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
18106        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
18107        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
18108        meridiemParse: /vm|nm/i,
18109        isPM: function isPM(input) {
18110            return (/^nm$/i.test(input)
18111            );
18112        },
18113        meridiem: function meridiem(hours, minutes, isLower) {
18114            if (hours < 12) {
18115                return isLower ? 'vm' : 'VM';
18116            } else {
18117                return isLower ? 'nm' : 'NM';
18118            }
18119        },
18120        longDateFormat: {
18121            LT: 'HH:mm',
18122            LTS: 'HH:mm:ss',
18123            L: 'DD/MM/YYYY',
18124            LL: 'D MMMM YYYY',
18125            LLL: 'D MMMM YYYY HH:mm',
18126            LLLL: 'dddd, D MMMM YYYY HH:mm'
18127        },
18128        calendar: {
18129            sameDay: '[Vandag om] LT',
18130            nextDay: '[Môre om] LT',
18131            nextWeek: 'dddd [om] LT',
18132            lastDay: '[Gister om] LT',
18133            lastWeek: '[Laas] dddd [om] LT',
18134            sameElse: 'L'
18135        },
18136        relativeTime: {
18137            future: 'oor %s',
18138            past: '%s gelede',
18139            s: '\'n paar sekondes',
18140            ss: '%d sekondes',
18141            m: '\'n minuut',
18142            mm: '%d minute',
18143            h: '\'n uur',
18144            hh: '%d ure',
18145            d: '\'n dag',
18146            dd: '%d dae',
18147            M: '\'n maand',
18148            MM: '%d maande',
18149            y: '\'n jaar',
18150            yy: '%d jaar'
18151        },
18152        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
18153        ordinal: function ordinal(number) {
18154            return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
18155        },
18156        week: {
18157            dow: 1, // Maandag is die eerste dag van die week.
18158            doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
18159        }
18160    });
18161
18162    return af;
18163});
18164
18165/***/ }),
18166/* 64 */
18167/***/ (function(module, exports, __webpack_require__) {
18168
18169"use strict";
18170var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18171
18172var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18173
18174//! moment.js locale configuration
18175
18176;(function (global, factory) {
18177    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18178				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18179				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18180				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18181})(undefined, function (moment) {
18182    'use strict';
18183
18184    var arDz = moment.defineLocale('ar-dz', {
18185        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18186        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18187        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18188        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
18189        weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
18190        weekdaysParseExact: true,
18191        longDateFormat: {
18192            LT: 'HH:mm',
18193            LTS: 'HH:mm:ss',
18194            L: 'DD/MM/YYYY',
18195            LL: 'D MMMM YYYY',
18196            LLL: 'D MMMM YYYY HH:mm',
18197            LLLL: 'dddd D MMMM YYYY HH:mm'
18198        },
18199        calendar: {
18200            sameDay: '[اليوم على الساعة] LT',
18201            nextDay: '[غدا على الساعة] LT',
18202            nextWeek: 'dddd [على الساعة] LT',
18203            lastDay: '[أمس على الساعة] LT',
18204            lastWeek: 'dddd [على الساعة] LT',
18205            sameElse: 'L'
18206        },
18207        relativeTime: {
18208            future: 'في %s',
18209            past: 'منذ %s',
18210            s: 'ثوان',
18211            ss: '%d ثانية',
18212            m: 'دقيقة',
18213            mm: '%d دقائق',
18214            h: 'ساعة',
18215            hh: '%d ساعات',
18216            d: 'يوم',
18217            dd: '%d أيام',
18218            M: 'شهر',
18219            MM: '%d أشهر',
18220            y: 'سنة',
18221            yy: '%d سنوات'
18222        },
18223        week: {
18224            dow: 0, // Sunday is the first day of the week.
18225            doy: 4 // The week that contains Jan 1st is the first week of the year.
18226        }
18227    });
18228
18229    return arDz;
18230});
18231
18232/***/ }),
18233/* 65 */
18234/***/ (function(module, exports, __webpack_require__) {
18235
18236"use strict";
18237var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18238
18239var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18240
18241//! moment.js locale configuration
18242
18243;(function (global, factory) {
18244    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18245				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18246				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18247				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18248})(undefined, function (moment) {
18249    'use strict';
18250
18251    var arKw = moment.defineLocale('ar-kw', {
18252        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
18253        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
18254        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18255        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
18256        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18257        weekdaysParseExact: true,
18258        longDateFormat: {
18259            LT: 'HH:mm',
18260            LTS: 'HH:mm:ss',
18261            L: 'DD/MM/YYYY',
18262            LL: 'D MMMM YYYY',
18263            LLL: 'D MMMM YYYY HH:mm',
18264            LLLL: 'dddd D MMMM YYYY HH:mm'
18265        },
18266        calendar: {
18267            sameDay: '[اليوم على الساعة] LT',
18268            nextDay: '[غدا على الساعة] LT',
18269            nextWeek: 'dddd [على الساعة] LT',
18270            lastDay: '[أمس على الساعة] LT',
18271            lastWeek: 'dddd [على الساعة] LT',
18272            sameElse: 'L'
18273        },
18274        relativeTime: {
18275            future: 'في %s',
18276            past: 'منذ %s',
18277            s: 'ثوان',
18278            ss: '%d ثانية',
18279            m: 'دقيقة',
18280            mm: '%d دقائق',
18281            h: 'ساعة',
18282            hh: '%d ساعات',
18283            d: 'يوم',
18284            dd: '%d أيام',
18285            M: 'شهر',
18286            MM: '%d أشهر',
18287            y: 'سنة',
18288            yy: '%d سنوات'
18289        },
18290        week: {
18291            dow: 0, // Sunday is the first day of the week.
18292            doy: 12 // The week that contains Jan 1st is the first week of the year.
18293        }
18294    });
18295
18296    return arKw;
18297});
18298
18299/***/ }),
18300/* 66 */
18301/***/ (function(module, exports, __webpack_require__) {
18302
18303"use strict";
18304var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18305
18306var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18307
18308//! moment.js locale configuration
18309
18310;(function (global, factory) {
18311    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18312				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18313				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18314				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18315})(undefined, function (moment) {
18316    'use strict';
18317
18318    var symbolMap = {
18319        '1': '1',
18320        '2': '2',
18321        '3': '3',
18322        '4': '4',
18323        '5': '5',
18324        '6': '6',
18325        '7': '7',
18326        '8': '8',
18327        '9': '9',
18328        '0': '0'
18329    },
18330        pluralForm = function pluralForm(n) {
18331        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
18332    },
18333        plurals = {
18334        s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
18335        m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
18336        h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
18337        d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
18338        M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
18339        y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
18340    },
18341        pluralize = function pluralize(u) {
18342        return function (number, withoutSuffix, string, isFuture) {
18343            var f = pluralForm(number),
18344                str = plurals[u][pluralForm(number)];
18345            if (f === 2) {
18346                str = str[withoutSuffix ? 0 : 1];
18347            }
18348            return str.replace(/%d/i, number);
18349        };
18350    },
18351        months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];
18352
18353    var arLy = moment.defineLocale('ar-ly', {
18354        months: months,
18355        monthsShort: months,
18356        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18357        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18358        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18359        weekdaysParseExact: true,
18360        longDateFormat: {
18361            LT: 'HH:mm',
18362            LTS: 'HH:mm:ss',
18363            L: 'D/\u200FM/\u200FYYYY',
18364            LL: 'D MMMM YYYY',
18365            LLL: 'D MMMM YYYY HH:mm',
18366            LLLL: 'dddd D MMMM YYYY HH:mm'
18367        },
18368        meridiemParse: /ص|م/,
18369        isPM: function isPM(input) {
18370            return 'م' === input;
18371        },
18372        meridiem: function meridiem(hour, minute, isLower) {
18373            if (hour < 12) {
18374                return 'ص';
18375            } else {
18376                return 'م';
18377            }
18378        },
18379        calendar: {
18380            sameDay: '[اليوم عند الساعة] LT',
18381            nextDay: '[غدًا عند الساعة] LT',
18382            nextWeek: 'dddd [عند الساعة] LT',
18383            lastDay: '[أمس عند الساعة] LT',
18384            lastWeek: 'dddd [عند الساعة] LT',
18385            sameElse: 'L'
18386        },
18387        relativeTime: {
18388            future: 'بعد %s',
18389            past: 'منذ %s',
18390            s: pluralize('s'),
18391            ss: pluralize('s'),
18392            m: pluralize('m'),
18393            mm: pluralize('m'),
18394            h: pluralize('h'),
18395            hh: pluralize('h'),
18396            d: pluralize('d'),
18397            dd: pluralize('d'),
18398            M: pluralize('M'),
18399            MM: pluralize('M'),
18400            y: pluralize('y'),
18401            yy: pluralize('y')
18402        },
18403        preparse: function preparse(string) {
18404            return string.replace(/،/g, ',');
18405        },
18406        postformat: function postformat(string) {
18407            return string.replace(/\d/g, function (match) {
18408                return symbolMap[match];
18409            }).replace(/,/g, '،');
18410        },
18411        week: {
18412            dow: 6, // Saturday is the first day of the week.
18413            doy: 12 // The week that contains Jan 1st is the first week of the year.
18414        }
18415    });
18416
18417    return arLy;
18418});
18419
18420/***/ }),
18421/* 67 */
18422/***/ (function(module, exports, __webpack_require__) {
18423
18424"use strict";
18425var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18426
18427var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18428
18429//! moment.js locale configuration
18430
18431;(function (global, factory) {
18432    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18433				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18434				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18435				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18436})(undefined, function (moment) {
18437    'use strict';
18438
18439    var arMa = moment.defineLocale('ar-ma', {
18440        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
18441        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
18442        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18443        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
18444        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18445        weekdaysParseExact: true,
18446        longDateFormat: {
18447            LT: 'HH:mm',
18448            LTS: 'HH:mm:ss',
18449            L: 'DD/MM/YYYY',
18450            LL: 'D MMMM YYYY',
18451            LLL: 'D MMMM YYYY HH:mm',
18452            LLLL: 'dddd D MMMM YYYY HH:mm'
18453        },
18454        calendar: {
18455            sameDay: '[اليوم على الساعة] LT',
18456            nextDay: '[غدا على الساعة] LT',
18457            nextWeek: 'dddd [على الساعة] LT',
18458            lastDay: '[أمس على الساعة] LT',
18459            lastWeek: 'dddd [على الساعة] LT',
18460            sameElse: 'L'
18461        },
18462        relativeTime: {
18463            future: 'في %s',
18464            past: 'منذ %s',
18465            s: 'ثوان',
18466            ss: '%d ثانية',
18467            m: 'دقيقة',
18468            mm: '%d دقائق',
18469            h: 'ساعة',
18470            hh: '%d ساعات',
18471            d: 'يوم',
18472            dd: '%d أيام',
18473            M: 'شهر',
18474            MM: '%d أشهر',
18475            y: 'سنة',
18476            yy: '%d سنوات'
18477        },
18478        week: {
18479            dow: 6, // Saturday is the first day of the week.
18480            doy: 12 // The week that contains Jan 1st is the first week of the year.
18481        }
18482    });
18483
18484    return arMa;
18485});
18486
18487/***/ }),
18488/* 68 */
18489/***/ (function(module, exports, __webpack_require__) {
18490
18491"use strict";
18492var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18493
18494var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18495
18496//! moment.js locale configuration
18497
18498;(function (global, factory) {
18499    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18500				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18501				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18502				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18503})(undefined, function (moment) {
18504    'use strict';
18505
18506    var symbolMap = {
18507        '1': 'Ù¡',
18508        '2': 'Ù¢',
18509        '3': 'Ù£',
18510        '4': 'Ù¤',
18511        '5': 'Ù¥',
18512        '6': 'Ù¦',
18513        '7': 'Ù§',
18514        '8': 'Ù¨',
18515        '9': 'Ù©',
18516        '0': 'Ù '
18517    },
18518        numberMap = {
18519        'Ù¡': '1',
18520        'Ù¢': '2',
18521        'Ù£': '3',
18522        'Ù¤': '4',
18523        'Ù¥': '5',
18524        'Ù¦': '6',
18525        'Ù§': '7',
18526        'Ù¨': '8',
18527        'Ù©': '9',
18528        'Ù ': '0'
18529    };
18530
18531    var arSa = moment.defineLocale('ar-sa', {
18532        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18533        monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18534        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18535        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18536        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18537        weekdaysParseExact: true,
18538        longDateFormat: {
18539            LT: 'HH:mm',
18540            LTS: 'HH:mm:ss',
18541            L: 'DD/MM/YYYY',
18542            LL: 'D MMMM YYYY',
18543            LLL: 'D MMMM YYYY HH:mm',
18544            LLLL: 'dddd D MMMM YYYY HH:mm'
18545        },
18546        meridiemParse: /ص|م/,
18547        isPM: function isPM(input) {
18548            return 'م' === input;
18549        },
18550        meridiem: function meridiem(hour, minute, isLower) {
18551            if (hour < 12) {
18552                return 'ص';
18553            } else {
18554                return 'م';
18555            }
18556        },
18557        calendar: {
18558            sameDay: '[اليوم على الساعة] LT',
18559            nextDay: '[غدا على الساعة] LT',
18560            nextWeek: 'dddd [على الساعة] LT',
18561            lastDay: '[أمس على الساعة] LT',
18562            lastWeek: 'dddd [على الساعة] LT',
18563            sameElse: 'L'
18564        },
18565        relativeTime: {
18566            future: 'في %s',
18567            past: 'منذ %s',
18568            s: 'ثوان',
18569            ss: '%d ثانية',
18570            m: 'دقيقة',
18571            mm: '%d دقائق',
18572            h: 'ساعة',
18573            hh: '%d ساعات',
18574            d: 'يوم',
18575            dd: '%d أيام',
18576            M: 'شهر',
18577            MM: '%d أشهر',
18578            y: 'سنة',
18579            yy: '%d سنوات'
18580        },
18581        preparse: function preparse(string) {
18582            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
18583                return numberMap[match];
18584            }).replace(/،/g, ',');
18585        },
18586        postformat: function postformat(string) {
18587            return string.replace(/\d/g, function (match) {
18588                return symbolMap[match];
18589            }).replace(/,/g, '،');
18590        },
18591        week: {
18592            dow: 0, // Sunday is the first day of the week.
18593            doy: 6 // The week that contains Jan 1st is the first week of the year.
18594        }
18595    });
18596
18597    return arSa;
18598});
18599
18600/***/ }),
18601/* 69 */
18602/***/ (function(module, exports, __webpack_require__) {
18603
18604"use strict";
18605var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18606
18607var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18608
18609//! moment.js locale configuration
18610
18611;(function (global, factory) {
18612    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18613				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18614				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18615				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18616})(undefined, function (moment) {
18617    'use strict';
18618
18619    var arTn = moment.defineLocale('ar-tn', {
18620        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18621        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
18622        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18623        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18624        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18625        weekdaysParseExact: true,
18626        longDateFormat: {
18627            LT: 'HH:mm',
18628            LTS: 'HH:mm:ss',
18629            L: 'DD/MM/YYYY',
18630            LL: 'D MMMM YYYY',
18631            LLL: 'D MMMM YYYY HH:mm',
18632            LLLL: 'dddd D MMMM YYYY HH:mm'
18633        },
18634        calendar: {
18635            sameDay: '[اليوم على الساعة] LT',
18636            nextDay: '[غدا على الساعة] LT',
18637            nextWeek: 'dddd [على الساعة] LT',
18638            lastDay: '[أمس على الساعة] LT',
18639            lastWeek: 'dddd [على الساعة] LT',
18640            sameElse: 'L'
18641        },
18642        relativeTime: {
18643            future: 'في %s',
18644            past: 'منذ %s',
18645            s: 'ثوان',
18646            ss: '%d ثانية',
18647            m: 'دقيقة',
18648            mm: '%d دقائق',
18649            h: 'ساعة',
18650            hh: '%d ساعات',
18651            d: 'يوم',
18652            dd: '%d أيام',
18653            M: 'شهر',
18654            MM: '%d أشهر',
18655            y: 'سنة',
18656            yy: '%d سنوات'
18657        },
18658        week: {
18659            dow: 1, // Monday is the first day of the week.
18660            doy: 4 // The week that contains Jan 4th is the first week of the year.
18661        }
18662    });
18663
18664    return arTn;
18665});
18666
18667/***/ }),
18668/* 70 */
18669/***/ (function(module, exports, __webpack_require__) {
18670
18671"use strict";
18672var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18673
18674var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18675
18676//! moment.js locale configuration
18677
18678;(function (global, factory) {
18679    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18680				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18681				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18682				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18683})(undefined, function (moment) {
18684    'use strict';
18685
18686    var symbolMap = {
18687        '1': 'Ù¡',
18688        '2': 'Ù¢',
18689        '3': 'Ù£',
18690        '4': 'Ù¤',
18691        '5': 'Ù¥',
18692        '6': 'Ù¦',
18693        '7': 'Ù§',
18694        '8': 'Ù¨',
18695        '9': 'Ù©',
18696        '0': 'Ù '
18697    },
18698        numberMap = {
18699        'Ù¡': '1',
18700        'Ù¢': '2',
18701        'Ù£': '3',
18702        'Ù¤': '4',
18703        'Ù¥': '5',
18704        'Ù¦': '6',
18705        'Ù§': '7',
18706        'Ù¨': '8',
18707        'Ù©': '9',
18708        'Ù ': '0'
18709    },
18710        pluralForm = function pluralForm(n) {
18711        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
18712    },
18713        plurals = {
18714        s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
18715        m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
18716        h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
18717        d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
18718        M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
18719        y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
18720    },
18721        pluralize = function pluralize(u) {
18722        return function (number, withoutSuffix, string, isFuture) {
18723            var f = pluralForm(number),
18724                str = plurals[u][pluralForm(number)];
18725            if (f === 2) {
18726                str = str[withoutSuffix ? 0 : 1];
18727            }
18728            return str.replace(/%d/i, number);
18729        };
18730    },
18731        months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];
18732
18733    var ar = moment.defineLocale('ar', {
18734        months: months,
18735        monthsShort: months,
18736        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
18737        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18738        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
18739        weekdaysParseExact: true,
18740        longDateFormat: {
18741            LT: 'HH:mm',
18742            LTS: 'HH:mm:ss',
18743            L: 'D/\u200FM/\u200FYYYY',
18744            LL: 'D MMMM YYYY',
18745            LLL: 'D MMMM YYYY HH:mm',
18746            LLLL: 'dddd D MMMM YYYY HH:mm'
18747        },
18748        meridiemParse: /ص|م/,
18749        isPM: function isPM(input) {
18750            return 'م' === input;
18751        },
18752        meridiem: function meridiem(hour, minute, isLower) {
18753            if (hour < 12) {
18754                return 'ص';
18755            } else {
18756                return 'م';
18757            }
18758        },
18759        calendar: {
18760            sameDay: '[اليوم عند الساعة] LT',
18761            nextDay: '[غدًا عند الساعة] LT',
18762            nextWeek: 'dddd [عند الساعة] LT',
18763            lastDay: '[أمس عند الساعة] LT',
18764            lastWeek: 'dddd [عند الساعة] LT',
18765            sameElse: 'L'
18766        },
18767        relativeTime: {
18768            future: 'بعد %s',
18769            past: 'منذ %s',
18770            s: pluralize('s'),
18771            ss: pluralize('s'),
18772            m: pluralize('m'),
18773            mm: pluralize('m'),
18774            h: pluralize('h'),
18775            hh: pluralize('h'),
18776            d: pluralize('d'),
18777            dd: pluralize('d'),
18778            M: pluralize('M'),
18779            MM: pluralize('M'),
18780            y: pluralize('y'),
18781            yy: pluralize('y')
18782        },
18783        preparse: function preparse(string) {
18784            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
18785                return numberMap[match];
18786            }).replace(/،/g, ',');
18787        },
18788        postformat: function postformat(string) {
18789            return string.replace(/\d/g, function (match) {
18790                return symbolMap[match];
18791            }).replace(/,/g, '،');
18792        },
18793        week: {
18794            dow: 6, // Saturday is the first day of the week.
18795            doy: 12 // The week that contains Jan 1st is the first week of the year.
18796        }
18797    });
18798
18799    return ar;
18800});
18801
18802/***/ }),
18803/* 71 */
18804/***/ (function(module, exports, __webpack_require__) {
18805
18806"use strict";
18807var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18808
18809var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18810
18811//! moment.js locale configuration
18812
18813;(function (global, factory) {
18814    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18815				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18816				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18817				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18818})(undefined, function (moment) {
18819    'use strict';
18820
18821    var suffixes = {
18822        1: '-inci',
18823        5: '-inci',
18824        8: '-inci',
18825        70: '-inci',
18826        80: '-inci',
18827        2: '-nci',
18828        7: '-nci',
18829        20: '-nci',
18830        50: '-nci',
18831        3: '-üncü',
18832        4: '-üncü',
18833        100: '-üncü',
18834        6: '-ncı',
18835        9: '-uncu',
18836        10: '-uncu',
18837        30: '-uncu',
18838        60: '-ıncı',
18839        90: '-ıncı'
18840    };
18841
18842    var az = moment.defineLocale('az', {
18843        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
18844        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
18845        weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
18846        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
18847        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
18848        weekdaysParseExact: true,
18849        longDateFormat: {
18850            LT: 'HH:mm',
18851            LTS: 'HH:mm:ss',
18852            L: 'DD.MM.YYYY',
18853            LL: 'D MMMM YYYY',
18854            LLL: 'D MMMM YYYY HH:mm',
18855            LLLL: 'dddd, D MMMM YYYY HH:mm'
18856        },
18857        calendar: {
18858            sameDay: '[bugün saat] LT',
18859            nextDay: '[sabah saat] LT',
18860            nextWeek: '[gələn həftə] dddd [saat] LT',
18861            lastDay: '[dünən] LT',
18862            lastWeek: '[keçən həftə] dddd [saat] LT',
18863            sameElse: 'L'
18864        },
18865        relativeTime: {
18866            future: '%s sonra',
18867            past: '%s əvvəl',
18868            s: 'birneçə saniyyə',
18869            ss: '%d saniyə',
18870            m: 'bir dəqiqə',
18871            mm: '%d dəqiqə',
18872            h: 'bir saat',
18873            hh: '%d saat',
18874            d: 'bir gün',
18875            dd: '%d gün',
18876            M: 'bir ay',
18877            MM: '%d ay',
18878            y: 'bir il',
18879            yy: '%d il'
18880        },
18881        meridiemParse: /gecə|səhər|gündüz|axşam/,
18882        isPM: function isPM(input) {
18883            return (/^(gündüz|axşam)$/.test(input)
18884            );
18885        },
18886        meridiem: function meridiem(hour, minute, isLower) {
18887            if (hour < 4) {
18888                return 'gecə';
18889            } else if (hour < 12) {
18890                return 'səhər';
18891            } else if (hour < 17) {
18892                return 'gündüz';
18893            } else {
18894                return 'axşam';
18895            }
18896        },
18897        dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
18898        ordinal: function ordinal(number) {
18899            if (number === 0) {
18900                // special case for zero
18901                return number + '-ıncı';
18902            }
18903            var a = number % 10,
18904                b = number % 100 - a,
18905                c = number >= 100 ? 100 : null;
18906            return number + (suffixes[a] || suffixes[b] || suffixes[c]);
18907        },
18908        week: {
18909            dow: 1, // Monday is the first day of the week.
18910            doy: 7 // The week that contains Jan 1st is the first week of the year.
18911        }
18912    });
18913
18914    return az;
18915});
18916
18917/***/ }),
18918/* 72 */
18919/***/ (function(module, exports, __webpack_require__) {
18920
18921"use strict";
18922var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
18923
18924var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
18925
18926//! moment.js locale configuration
18927
18928;(function (global, factory) {
18929    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
18930				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
18931				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
18932				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
18933})(undefined, function (moment) {
18934    'use strict';
18935
18936    function plural(word, num) {
18937        var forms = word.split('_');
18938        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];
18939    }
18940    function relativeTimeWithPlural(number, withoutSuffix, key) {
18941        var format = {
18942            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
18943            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
18944            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
18945            'dd': 'дзень_дні_дзён',
18946            'MM': 'месяц_месяцы_месяцаў',
18947            'yy': 'год_гады_гадоў'
18948        };
18949        if (key === 'm') {
18950            return withoutSuffix ? 'хвіліна' : 'хвіліну';
18951        } else if (key === 'h') {
18952            return withoutSuffix ? 'гадзіна' : 'гадзіну';
18953        } else {
18954            return number + ' ' + plural(format[key], +number);
18955        }
18956    }
18957
18958    var be = moment.defineLocale('be', {
18959        months: {
18960            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
18961            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
18962        },
18963        monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
18964        weekdays: {
18965            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
18966            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
18967            isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/
18968        },
18969        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
18970        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
18971        longDateFormat: {
18972            LT: 'HH:mm',
18973            LTS: 'HH:mm:ss',
18974            L: 'DD.MM.YYYY',
18975            LL: 'D MMMM YYYY г.',
18976            LLL: 'D MMMM YYYY г., HH:mm',
18977            LLLL: 'dddd, D MMMM YYYY г., HH:mm'
18978        },
18979        calendar: {
18980            sameDay: '[Сёння ў] LT',
18981            nextDay: '[Заўтра ў] LT',
18982            lastDay: '[Учора ў] LT',
18983            nextWeek: function nextWeek() {
18984                return '[У] dddd [ў] LT';
18985            },
18986            lastWeek: function lastWeek() {
18987                switch (this.day()) {
18988                    case 0:
18989                    case 3:
18990                    case 5:
18991                    case 6:
18992                        return '[У мінулую] dddd [ў] LT';
18993                    case 1:
18994                    case 2:
18995                    case 4:
18996                        return '[У мінулы] dddd [ў] LT';
18997                }
18998            },
18999            sameElse: 'L'
19000        },
19001        relativeTime: {
19002            future: 'праз %s',
19003            past: '%s таму',
19004            s: 'некалькі секунд',
19005            m: relativeTimeWithPlural,
19006            mm: relativeTimeWithPlural,
19007            h: relativeTimeWithPlural,
19008            hh: relativeTimeWithPlural,
19009            d: 'дзень',
19010            dd: relativeTimeWithPlural,
19011            M: 'месяц',
19012            MM: relativeTimeWithPlural,
19013            y: 'год',
19014            yy: relativeTimeWithPlural
19015        },
19016        meridiemParse: /ночы|раніцы|дня|вечара/,
19017        isPM: function isPM(input) {
19018            return (/^(дня|вечара)$/.test(input)
19019            );
19020        },
19021        meridiem: function meridiem(hour, minute, isLower) {
19022            if (hour < 4) {
19023                return 'ночы';
19024            } else if (hour < 12) {
19025                return 'раніцы';
19026            } else if (hour < 17) {
19027                return 'дня';
19028            } else {
19029                return 'вечара';
19030            }
19031        },
19032        dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
19033        ordinal: function ordinal(number, period) {
19034            switch (period) {
19035                case 'M':
19036                case 'd':
19037                case 'DDD':
19038                case 'w':
19039                case 'W':
19040                    return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы';
19041                case 'D':
19042                    return number + '-га';
19043                default:
19044                    return number;
19045            }
19046        },
19047        week: {
19048            dow: 1, // Monday is the first day of the week.
19049            doy: 7 // The week that contains Jan 1st is the first week of the year.
19050        }
19051    });
19052
19053    return be;
19054});
19055
19056/***/ }),
19057/* 73 */
19058/***/ (function(module, exports, __webpack_require__) {
19059
19060"use strict";
19061var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19062
19063var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19064
19065//! moment.js locale configuration
19066
19067;(function (global, factory) {
19068    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19069				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19070				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19071				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19072})(undefined, function (moment) {
19073    'use strict';
19074
19075    var bg = moment.defineLocale('bg', {
19076        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
19077        monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
19078        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
19079        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
19080        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
19081        longDateFormat: {
19082            LT: 'H:mm',
19083            LTS: 'H:mm:ss',
19084            L: 'D.MM.YYYY',
19085            LL: 'D MMMM YYYY',
19086            LLL: 'D MMMM YYYY H:mm',
19087            LLLL: 'dddd, D MMMM YYYY H:mm'
19088        },
19089        calendar: {
19090            sameDay: '[Днес в] LT',
19091            nextDay: '[Утре в] LT',
19092            nextWeek: 'dddd [в] LT',
19093            lastDay: '[Вчера в] LT',
19094            lastWeek: function lastWeek() {
19095                switch (this.day()) {
19096                    case 0:
19097                    case 3:
19098                    case 6:
19099                        return '[В изминалата] dddd [в] LT';
19100                    case 1:
19101                    case 2:
19102                    case 4:
19103                    case 5:
19104                        return '[В изминалия] dddd [в] LT';
19105                }
19106            },
19107            sameElse: 'L'
19108        },
19109        relativeTime: {
19110            future: 'след %s',
19111            past: 'преди %s',
19112            s: 'няколко секунди',
19113            ss: '%d секунди',
19114            m: 'минута',
19115            mm: '%d минути',
19116            h: 'час',
19117            hh: '%d часа',
19118            d: 'ден',
19119            dd: '%d дни',
19120            M: 'месец',
19121            MM: '%d месеца',
19122            y: 'година',
19123            yy: '%d години'
19124        },
19125        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
19126        ordinal: function ordinal(number) {
19127            var lastDigit = number % 10,
19128                last2Digits = number % 100;
19129            if (number === 0) {
19130                return number + '-ев';
19131            } else if (last2Digits === 0) {
19132                return number + '-ен';
19133            } else if (last2Digits > 10 && last2Digits < 20) {
19134                return number + '-ти';
19135            } else if (lastDigit === 1) {
19136                return number + '-ви';
19137            } else if (lastDigit === 2) {
19138                return number + '-ри';
19139            } else if (lastDigit === 7 || lastDigit === 8) {
19140                return number + '-ми';
19141            } else {
19142                return number + '-ти';
19143            }
19144        },
19145        week: {
19146            dow: 1, // Monday is the first day of the week.
19147            doy: 7 // The week that contains Jan 1st is the first week of the year.
19148        }
19149    });
19150
19151    return bg;
19152});
19153
19154/***/ }),
19155/* 74 */
19156/***/ (function(module, exports, __webpack_require__) {
19157
19158"use strict";
19159var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19160
19161var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19162
19163//! moment.js locale configuration
19164
19165;(function (global, factory) {
19166    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19167				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19168				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19169				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19170})(undefined, function (moment) {
19171    'use strict';
19172
19173    var bm = moment.defineLocale('bm', {
19174        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
19175        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
19176        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
19177        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
19178        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
19179        longDateFormat: {
19180            LT: 'HH:mm',
19181            LTS: 'HH:mm:ss',
19182            L: 'DD/MM/YYYY',
19183            LL: 'MMMM [tile] D [san] YYYY',
19184            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
19185            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
19186        },
19187        calendar: {
19188            sameDay: '[Bi lɛrɛ] LT',
19189            nextDay: '[Sini lɛrɛ] LT',
19190            nextWeek: 'dddd [don lɛrɛ] LT',
19191            lastDay: '[Kunu lɛrɛ] LT',
19192            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
19193            sameElse: 'L'
19194        },
19195        relativeTime: {
19196            future: '%s kɔnɔ',
19197            past: 'a bɛ %s bɔ',
19198            s: 'sanga dama dama',
19199            ss: 'sekondi %d',
19200            m: 'miniti kelen',
19201            mm: 'miniti %d',
19202            h: 'lɛrɛ kelen',
19203            hh: 'lɛrɛ %d',
19204            d: 'tile kelen',
19205            dd: 'tile %d',
19206            M: 'kalo kelen',
19207            MM: 'kalo %d',
19208            y: 'san kelen',
19209            yy: 'san %d'
19210        },
19211        week: {
19212            dow: 1, // Monday is the first day of the week.
19213            doy: 4 // The week that contains Jan 4th is the first week of the year.
19214        }
19215    });
19216
19217    return bm;
19218});
19219
19220/***/ }),
19221/* 75 */
19222/***/ (function(module, exports, __webpack_require__) {
19223
19224"use strict";
19225var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19226
19227var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19228
19229//! moment.js locale configuration
19230
19231;(function (global, factory) {
19232    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19233				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19234				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19235				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19236})(undefined, function (moment) {
19237    'use strict';
19238
19239    var symbolMap = {
19240        '1': 'à§§',
19241        '2': '২',
19242        '3': 'à§©',
19243        '4': '৪',
19244        '5': 'à§«',
19245        '6': '৬',
19246        '7': 'à§­',
19247        '8': 'à§®',
19248        '9': '৯',
19249        '0': '০'
19250    },
19251        numberMap = {
19252        'à§§': '1',
19253        '২': '2',
19254        'à§©': '3',
19255        '৪': '4',
19256        'à§«': '5',
19257        '৬': '6',
19258        'à§­': '7',
19259        'à§®': '8',
19260        '৯': '9',
19261        '০': '0'
19262    };
19263
19264    var bn = moment.defineLocale('bn', {
19265        months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
19266        monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
19267        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
19268        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
19269        weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
19270        longDateFormat: {
19271            LT: 'A h:mm সময়',
19272            LTS: 'A h:mm:ss সময়',
19273            L: 'DD/MM/YYYY',
19274            LL: 'D MMMM YYYY',
19275            LLL: 'D MMMM YYYY, A h:mm সময়',
19276            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'
19277        },
19278        calendar: {
19279            sameDay: '[আজ] LT',
19280            nextDay: '[আগামীকাল] LT',
19281            nextWeek: 'dddd, LT',
19282            lastDay: '[গতকাল] LT',
19283            lastWeek: '[গত] dddd, LT',
19284            sameElse: 'L'
19285        },
19286        relativeTime: {
19287            future: '%s পরে',
19288            past: '%s আগে',
19289            s: 'কয়েক সেকেন্ড',
19290            ss: '%d সেকেন্ড',
19291            m: 'এক মিনিট',
19292            mm: '%d মিনিট',
19293            h: 'এক ঘন্টা',
19294            hh: '%d ঘন্টা',
19295            d: 'এক দিন',
19296            dd: '%d দিন',
19297            M: 'এক মাস',
19298            MM: '%d মাস',
19299            y: 'এক বছর',
19300            yy: '%d বছর'
19301        },
19302        preparse: function preparse(string) {
19303            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
19304                return numberMap[match];
19305            });
19306        },
19307        postformat: function postformat(string) {
19308            return string.replace(/\d/g, function (match) {
19309                return symbolMap[match];
19310            });
19311        },
19312        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
19313        meridiemHour: function meridiemHour(hour, meridiem) {
19314            if (hour === 12) {
19315                hour = 0;
19316            }
19317            if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {
19318                return hour + 12;
19319            } else {
19320                return hour;
19321            }
19322        },
19323        meridiem: function meridiem(hour, minute, isLower) {
19324            if (hour < 4) {
19325                return 'রাত';
19326            } else if (hour < 10) {
19327                return 'সকাল';
19328            } else if (hour < 17) {
19329                return 'দুপুর';
19330            } else if (hour < 20) {
19331                return 'বিকাল';
19332            } else {
19333                return 'রাত';
19334            }
19335        },
19336        week: {
19337            dow: 0, // Sunday is the first day of the week.
19338            doy: 6 // The week that contains Jan 1st is the first week of the year.
19339        }
19340    });
19341
19342    return bn;
19343});
19344
19345/***/ }),
19346/* 76 */
19347/***/ (function(module, exports, __webpack_require__) {
19348
19349"use strict";
19350var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19351
19352var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19353
19354//! moment.js locale configuration
19355
19356;(function (global, factory) {
19357    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19358				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19359				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19360				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19361})(undefined, function (moment) {
19362    'use strict';
19363
19364    var symbolMap = {
19365        '1': '༡',
19366        '2': '༢',
19367        '3': '༣',
19368        '4': '༤',
19369        '5': '༥',
19370        '6': '༦',
19371        '7': '༧',
19372        '8': '༨',
19373        '9': '༩',
19374        '0': '༠'
19375    },
19376        numberMap = {
19377        '༡': '1',
19378        '༢': '2',
19379        '༣': '3',
19380        '༤': '4',
19381        '༥': '5',
19382        '༦': '6',
19383        '༧': '7',
19384        '༨': '8',
19385        '༩': '9',
19386        '༠': '0'
19387    };
19388
19389    var bo = moment.defineLocale('bo', {
19390        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
19391        monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
19392        weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
19393        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
19394        weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
19395        longDateFormat: {
19396            LT: 'A h:mm',
19397            LTS: 'A h:mm:ss',
19398            L: 'DD/MM/YYYY',
19399            LL: 'D MMMM YYYY',
19400            LLL: 'D MMMM YYYY, A h:mm',
19401            LLLL: 'dddd, D MMMM YYYY, A h:mm'
19402        },
19403        calendar: {
19404            sameDay: '[དི་རིང] LT',
19405            nextDay: '[སང་ཉིན] LT',
19406            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
19407            lastDay: '[ཁ་སང] LT',
19408            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
19409            sameElse: 'L'
19410        },
19411        relativeTime: {
19412            future: '%s ལ་',
19413            past: '%s སྔན་ལ',
19414            s: 'ལམ་སང',
19415            ss: '%d སྐར་ཆ།',
19416            m: 'སྐར་མ་གཅིག',
19417            mm: '%d སྐར་མ',
19418            h: 'ཆུ་ཚོད་གཅིག',
19419            hh: '%d ཆུ་ཚོད',
19420            d: 'ཉིན་གཅིག',
19421            dd: '%d ཉིན་',
19422            M: 'ཟླ་བ་གཅིག',
19423            MM: '%d ཟླ་བ',
19424            y: 'ལོ་གཅིག',
19425            yy: '%d ལོ'
19426        },
19427        preparse: function preparse(string) {
19428            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
19429                return numberMap[match];
19430            });
19431        },
19432        postformat: function postformat(string) {
19433            return string.replace(/\d/g, function (match) {
19434                return symbolMap[match];
19435            });
19436        },
19437        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
19438        meridiemHour: function meridiemHour(hour, meridiem) {
19439            if (hour === 12) {
19440                hour = 0;
19441            }
19442            if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {
19443                return hour + 12;
19444            } else {
19445                return hour;
19446            }
19447        },
19448        meridiem: function meridiem(hour, minute, isLower) {
19449            if (hour < 4) {
19450                return 'མཚན་མོ';
19451            } else if (hour < 10) {
19452                return 'ཞོགས་ཀས';
19453            } else if (hour < 17) {
19454                return 'ཉིན་གུང';
19455            } else if (hour < 20) {
19456                return 'དགོང་དག';
19457            } else {
19458                return 'མཚན་མོ';
19459            }
19460        },
19461        week: {
19462            dow: 0, // Sunday is the first day of the week.
19463            doy: 6 // The week that contains Jan 1st is the first week of the year.
19464        }
19465    });
19466
19467    return bo;
19468});
19469
19470/***/ }),
19471/* 77 */
19472/***/ (function(module, exports, __webpack_require__) {
19473
19474"use strict";
19475var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19476
19477var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19478
19479//! moment.js locale configuration
19480
19481;(function (global, factory) {
19482    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19483				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19484				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19485				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19486})(undefined, function (moment) {
19487    'use strict';
19488
19489    function relativeTimeWithMutation(number, withoutSuffix, key) {
19490        var format = {
19491            'mm': 'munutenn',
19492            'MM': 'miz',
19493            'dd': 'devezh'
19494        };
19495        return number + ' ' + mutation(format[key], number);
19496    }
19497    function specialMutationForYears(number) {
19498        switch (lastNumber(number)) {
19499            case 1:
19500            case 3:
19501            case 4:
19502            case 5:
19503            case 9:
19504                return number + ' bloaz';
19505            default:
19506                return number + ' vloaz';
19507        }
19508    }
19509    function lastNumber(number) {
19510        if (number > 9) {
19511            return lastNumber(number % 10);
19512        }
19513        return number;
19514    }
19515    function mutation(text, number) {
19516        if (number === 2) {
19517            return softMutation(text);
19518        }
19519        return text;
19520    }
19521    function softMutation(text) {
19522        var mutationTable = {
19523            'm': 'v',
19524            'b': 'v',
19525            'd': 'z'
19526        };
19527        if (mutationTable[text.charAt(0)] === undefined) {
19528            return text;
19529        }
19530        return mutationTable[text.charAt(0)] + text.substring(1);
19531    }
19532
19533    var br = moment.defineLocale('br', {
19534        months: 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
19535        monthsShort: 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
19536        weekdays: 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
19537        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
19538        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
19539        weekdaysParseExact: true,
19540        longDateFormat: {
19541            LT: 'h[e]mm A',
19542            LTS: 'h[e]mm:ss A',
19543            L: 'DD/MM/YYYY',
19544            LL: 'D [a viz] MMMM YYYY',
19545            LLL: 'D [a viz] MMMM YYYY h[e]mm A',
19546            LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A'
19547        },
19548        calendar: {
19549            sameDay: '[Hiziv da] LT',
19550            nextDay: '[Warc\'hoazh da] LT',
19551            nextWeek: 'dddd [da] LT',
19552            lastDay: '[Dec\'h da] LT',
19553            lastWeek: 'dddd [paset da] LT',
19554            sameElse: 'L'
19555        },
19556        relativeTime: {
19557            future: 'a-benn %s',
19558            past: '%s \'zo',
19559            s: 'un nebeud segondennoù',
19560            ss: '%d eilenn',
19561            m: 'ur vunutenn',
19562            mm: relativeTimeWithMutation,
19563            h: 'un eur',
19564            hh: '%d eur',
19565            d: 'un devezh',
19566            dd: relativeTimeWithMutation,
19567            M: 'ur miz',
19568            MM: relativeTimeWithMutation,
19569            y: 'ur bloaz',
19570            yy: specialMutationForYears
19571        },
19572        dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
19573        ordinal: function ordinal(number) {
19574            var output = number === 1 ? 'añ' : 'vet';
19575            return number + output;
19576        },
19577        week: {
19578            dow: 1, // Monday is the first day of the week.
19579            doy: 4 // The week that contains Jan 4th is the first week of the year.
19580        }
19581    });
19582
19583    return br;
19584});
19585
19586/***/ }),
19587/* 78 */
19588/***/ (function(module, exports, __webpack_require__) {
19589
19590"use strict";
19591var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19592
19593var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19594
19595//! moment.js locale configuration
19596
19597;(function (global, factory) {
19598    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19599				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19600				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19601				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19602})(undefined, function (moment) {
19603    'use strict';
19604
19605    function translate(number, withoutSuffix, key) {
19606        var result = number + ' ';
19607        switch (key) {
19608            case 'ss':
19609                if (number === 1) {
19610                    result += 'sekunda';
19611                } else if (number === 2 || number === 3 || number === 4) {
19612                    result += 'sekunde';
19613                } else {
19614                    result += 'sekundi';
19615                }
19616                return result;
19617            case 'm':
19618                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
19619            case 'mm':
19620                if (number === 1) {
19621                    result += 'minuta';
19622                } else if (number === 2 || number === 3 || number === 4) {
19623                    result += 'minute';
19624                } else {
19625                    result += 'minuta';
19626                }
19627                return result;
19628            case 'h':
19629                return withoutSuffix ? 'jedan sat' : 'jednog sata';
19630            case 'hh':
19631                if (number === 1) {
19632                    result += 'sat';
19633                } else if (number === 2 || number === 3 || number === 4) {
19634                    result += 'sata';
19635                } else {
19636                    result += 'sati';
19637                }
19638                return result;
19639            case 'dd':
19640                if (number === 1) {
19641                    result += 'dan';
19642                } else {
19643                    result += 'dana';
19644                }
19645                return result;
19646            case 'MM':
19647                if (number === 1) {
19648                    result += 'mjesec';
19649                } else if (number === 2 || number === 3 || number === 4) {
19650                    result += 'mjeseca';
19651                } else {
19652                    result += 'mjeseci';
19653                }
19654                return result;
19655            case 'yy':
19656                if (number === 1) {
19657                    result += 'godina';
19658                } else if (number === 2 || number === 3 || number === 4) {
19659                    result += 'godine';
19660                } else {
19661                    result += 'godina';
19662                }
19663                return result;
19664        }
19665    }
19666
19667    var bs = moment.defineLocale('bs', {
19668        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
19669        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
19670        monthsParseExact: true,
19671        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
19672        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
19673        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
19674        weekdaysParseExact: true,
19675        longDateFormat: {
19676            LT: 'H:mm',
19677            LTS: 'H:mm:ss',
19678            L: 'DD.MM.YYYY',
19679            LL: 'D. MMMM YYYY',
19680            LLL: 'D. MMMM YYYY H:mm',
19681            LLLL: 'dddd, D. MMMM YYYY H:mm'
19682        },
19683        calendar: {
19684            sameDay: '[danas u] LT',
19685            nextDay: '[sutra u] LT',
19686            nextWeek: function nextWeek() {
19687                switch (this.day()) {
19688                    case 0:
19689                        return '[u] [nedjelju] [u] LT';
19690                    case 3:
19691                        return '[u] [srijedu] [u] LT';
19692                    case 6:
19693                        return '[u] [subotu] [u] LT';
19694                    case 1:
19695                    case 2:
19696                    case 4:
19697                    case 5:
19698                        return '[u] dddd [u] LT';
19699                }
19700            },
19701            lastDay: '[jučer u] LT',
19702            lastWeek: function lastWeek() {
19703                switch (this.day()) {
19704                    case 0:
19705                    case 3:
19706                        return '[prošlu] dddd [u] LT';
19707                    case 6:
19708                        return '[prošle] [subote] [u] LT';
19709                    case 1:
19710                    case 2:
19711                    case 4:
19712                    case 5:
19713                        return '[prošli] dddd [u] LT';
19714                }
19715            },
19716            sameElse: 'L'
19717        },
19718        relativeTime: {
19719            future: 'za %s',
19720            past: 'prije %s',
19721            s: 'par sekundi',
19722            ss: translate,
19723            m: translate,
19724            mm: translate,
19725            h: translate,
19726            hh: translate,
19727            d: 'dan',
19728            dd: translate,
19729            M: 'mjesec',
19730            MM: translate,
19731            y: 'godinu',
19732            yy: translate
19733        },
19734        dayOfMonthOrdinalParse: /\d{1,2}\./,
19735        ordinal: '%d.',
19736        week: {
19737            dow: 1, // Monday is the first day of the week.
19738            doy: 7 // The week that contains Jan 1st is the first week of the year.
19739        }
19740    });
19741
19742    return bs;
19743});
19744
19745/***/ }),
19746/* 79 */
19747/***/ (function(module, exports, __webpack_require__) {
19748
19749"use strict";
19750var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19751
19752var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19753
19754//! moment.js locale configuration
19755
19756;(function (global, factory) {
19757    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19758				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19759				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19760				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19761})(undefined, function (moment) {
19762    'use strict';
19763
19764    var ca = moment.defineLocale('ca', {
19765        months: {
19766            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
19767            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('_'),
19768            isFormat: /D[oD]?(\s)+MMMM/
19769        },
19770        monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
19771        monthsParseExact: true,
19772        weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
19773        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
19774        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
19775        weekdaysParseExact: true,
19776        longDateFormat: {
19777            LT: 'H:mm',
19778            LTS: 'H:mm:ss',
19779            L: 'DD/MM/YYYY',
19780            LL: 'D MMMM [de] YYYY',
19781            ll: 'D MMM YYYY',
19782            LLL: 'D MMMM [de] YYYY [a les] H:mm',
19783            lll: 'D MMM YYYY, H:mm',
19784            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
19785            llll: 'ddd D MMM YYYY, H:mm'
19786        },
19787        calendar: {
19788            sameDay: function sameDay() {
19789                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
19790            },
19791            nextDay: function nextDay() {
19792                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
19793            },
19794            nextWeek: function nextWeek() {
19795                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
19796            },
19797            lastDay: function lastDay() {
19798                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
19799            },
19800            lastWeek: function lastWeek() {
19801                return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
19802            },
19803            sameElse: 'L'
19804        },
19805        relativeTime: {
19806            future: 'd\'aquí %s',
19807            past: 'fa %s',
19808            s: 'uns segons',
19809            ss: '%d segons',
19810            m: 'un minut',
19811            mm: '%d minuts',
19812            h: 'una hora',
19813            hh: '%d hores',
19814            d: 'un dia',
19815            dd: '%d dies',
19816            M: 'un mes',
19817            MM: '%d mesos',
19818            y: 'un any',
19819            yy: '%d anys'
19820        },
19821        dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
19822        ordinal: function ordinal(number, period) {
19823            var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';
19824            if (period === 'w' || period === 'W') {
19825                output = 'a';
19826            }
19827            return number + output;
19828        },
19829        week: {
19830            dow: 1, // Monday is the first day of the week.
19831            doy: 4 // The week that contains Jan 4th is the first week of the year.
19832        }
19833    });
19834
19835    return ca;
19836});
19837
19838/***/ }),
19839/* 80 */
19840/***/ (function(module, exports, __webpack_require__) {
19841
19842"use strict";
19843var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
19844
19845var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
19846
19847//! moment.js locale configuration
19848
19849;(function (global, factory) {
19850    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
19851				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
19852				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
19853				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
19854})(undefined, function (moment) {
19855    'use strict';
19856
19857    var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.
19857split('_'),
19858        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
19859    function plural(n) {
19860        return n > 1 && n < 5 && ~~(n / 10) !== 1;
19861    }
19862    function translate(number, withoutSuffix, key, isFuture) {
19863        var result = number + ' ';
19864        switch (key) {
19865            case 's':
19866                // a few seconds / in a few seconds / a few seconds ago
19867                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
19868            case 'ss':
19869                // 9 seconds / in 9 seconds / 9 seconds ago
19870                if (withoutSuffix || isFuture) {
19871                    return result + (plural(number) ? 'sekundy' : 'sekund');
19872                } else {
19873                    return result + 'sekundami';
19874                }
19875                break;
19876            case 'm':
19877                // a minute / in a minute / a minute ago
19878                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
19879            case 'mm':
19880                // 9 minutes / in 9 minutes / 9 minutes ago
19881                if (withoutSuffix || isFuture) {
19882                    return result + (plural(number) ? 'minuty' : 'minut');
19883                } else {
19884                    return result + 'minutami';
19885                }
19886                break;
19887            case 'h':
19888                // an hour / in an hour / an hour ago
19889                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
19890            case 'hh':
19891                // 9 hours / in 9 hours / 9 hours ago
19892                if (withoutSuffix || isFuture) {
19893                    return result + (plural(number) ? 'hodiny' : 'hodin');
19894                } else {
19895                    return result + 'hodinami';
19896                }
19897                break;
19898            case 'd':
19899                // a day / in a day / a day ago
19900                return withoutSuffix || isFuture ? 'den' : 'dnem';
19901            case 'dd':
19902                // 9 days / in 9 days / 9 days ago
19903                if (withoutSuffix || isFuture) {
19904                    return result + (plural(number) ? 'dny' : 'dní');
19905                } else {
19906                    return result + 'dny';
19907                }
19908                break;
19909            case 'M':
19910                // a month / in a month / a month ago
19911                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
19912            case 'MM':
19913                // 9 months / in 9 months / 9 months ago
19914                if (withoutSuffix || isFuture) {
19915                    return result + (plural(number) ? 'měsíce' : 'měsíců');
19916                } else {
19917                    return result + 'měsíci';
19918                }
19919                break;
19920            case 'y':
19921                // a year / in a year / a year ago
19922                return withoutSuffix || isFuture ? 'rok' : 'rokem';
19923            case 'yy':
19924                // 9 years / in 9 years / 9 years ago
19925                if (withoutSuffix || isFuture) {
19926                    return result + (plural(number) ? 'roky' : 'let');
19927                } else {
19928                    return result + 'lety';
19929                }
19930                break;
19931        }
19932    }
19933
19934    var cs = moment.defineLocale('cs', {
19935        months: months,
19936        monthsShort: monthsShort,
19937        monthsParse: function (months, monthsShort) {
19938            var i,
19939                _monthsParse = [];
19940            for (i = 0; i < 12; i++) {
19941                // use custom parser to solve problem with July (červenec)
19942                _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
19943            }
19944            return _monthsParse;
19945        }(months, monthsShort),
19946        shortMonthsParse: function (monthsShort) {
19947            var i,
19948                _shortMonthsParse = [];
19949            for (i = 0; i < 12; i++) {
19950                _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
19951            }
19952            return _shortMonthsParse;
19953        }(monthsShort),
19954        longMonthsParse: function (months) {
19955            var i,
19956                _longMonthsParse = [];
19957            for (i = 0; i < 12; i++) {
19958                _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
19959            }
19960            return _longMonthsParse;
19961        }(months),
19962        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
19963        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
19964        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
19965        longDateFormat: {
19966            LT: 'H:mm',
19967            LTS: 'H:mm:ss',
19968            L: 'DD.MM.YYYY',
19969            LL: 'D. MMMM YYYY',
19970            LLL: 'D. MMMM YYYY H:mm',
19971            LLLL: 'dddd D. MMMM YYYY H:mm',
19972            l: 'D. M. YYYY'
19973        },
19974        calendar: {
19975            sameDay: '[dnes v] LT',
19976            nextDay: '[zítra v] LT',
19977            nextWeek: function nextWeek() {
19978                switch (this.day()) {
19979                    case 0:
19980                        return '[v neděli v] LT';
19981                    case 1:
19982                    case 2:
19983                        return '[v] dddd [v] LT';
19984                    case 3:
19985                        return '[ve středu v] LT';
19986                    case 4:
19987                        return '[ve čtvrtek v] LT';
19988                    case 5:
19989                        return '[v pátek v] LT';
19990                    case 6:
19991                        return '[v sobotu v] LT';
19992                }
19993            },
19994            lastDay: '[včera v] LT',
19995            lastWeek: function lastWeek() {
19996                switch (this.day()) {
19997                    case 0:
19998                        return '[minulou neděli v] LT';
19999                    case 1:
20000                    case 2:
20001                        return '[minulé] dddd [v] LT';
20002                    case 3:
20003                        return '[minulou středu v] LT';
20004                    case 4:
20005                    case 5:
20006                        return '[minulý] dddd [v] LT';
20007                    case 6:
20008                        return '[minulou sobotu v] LT';
20009                }
20010            },
20011            sameElse: 'L'
20012        },
20013        relativeTime: {
20014            future: 'za %s',
20015            past: 'před %s',
20016            s: translate,
20017            ss: translate,
20018            m: translate,
20019            mm: translate,
20020            h: translate,
20021            hh: translate,
20022            d: translate,
20023            dd: translate,
20024            M: translate,
20025            MM: translate,
20026            y: translate,
20027            yy: translate
20028        },
20029        dayOfMonthOrdinalParse: /\d{1,2}\./,
20030        ordinal: '%d.',
20031        week: {
20032            dow: 1, // Monday is the first day of the week.
20033            doy: 4 // The week that contains Jan 4th is the first week of the year.
20034        }
20035    });
20036
20037    return cs;
20038});
20039
20040/***/ }),
20041/* 81 */
20042/***/ (function(module, exports, __webpack_require__) {
20043
20044"use strict";
20045var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20046
20047var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20048
20049//! moment.js locale configuration
20050
20051;(function (global, factory) {
20052    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20053				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20054				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20055				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20056})(undefined, function (moment) {
20057    'use strict';
20058
20059    var cv = moment.defineLocale('cv', {
20060        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
20061        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
20062        weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
20063        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
20064        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
20065        longDateFormat: {
20066            LT: 'HH:mm',
20067            LTS: 'HH:mm:ss',
20068            L: 'DD-MM-YYYY',
20069            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
20070            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
20071            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
20072        },
20073        calendar: {
20074            sameDay: '[Паян] LT [сехетре]',
20075            nextDay: '[Ыран] LT [сехетре]',
20076            lastDay: '[Ӗнер] LT [сехетре]',
20077            nextWeek: '[Ҫитес] dddd LT [сехетре]',
20078            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
20079            sameElse: 'L'
20080        },
20081        relativeTime: {
20082            future: function future(output) {
20083                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
20084                return output + affix;
20085            },
20086            past: '%s каялла',
20087            s: 'пӗр-ик ҫеккунт',
20088            ss: '%d ҫеккунт',
20089            m: 'пӗр минут',
20090            mm: '%d минут',
20091            h: 'пӗр сехет',
20092            hh: '%d сехет',
20093            d: 'пӗр кун',
20094            dd: '%d кун',
20095            M: 'пӗр уйӑх',
20096            MM: '%d уйӑх',
20097            y: 'пӗр ҫул',
20098            yy: '%d ҫул'
20099        },
20100        dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
20101        ordinal: '%d-мӗш',
20102        week: {
20103            dow: 1, // Monday is the first day of the week.
20104            doy: 7 // The week that contains Jan 1st is the first week of the year.
20105        }
20106    });
20107
20108    return cv;
20109});
20110
20111/***/ }),
20112/* 82 */
20113/***/ (function(module, exports, __webpack_require__) {
20114
20115"use strict";
20116var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20117
20118var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20119
20120//! moment.js locale configuration
20121
20122;(function (global, factory) {
20123    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20124				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20125				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20126				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20127})(undefined, function (moment) {
20128    'use strict';
20129
20130    var cy = moment.defineLocale('cy', {
20131        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
20132        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
20133        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
20134        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
20135        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
20136        weekdaysParseExact: true,
20137        // time formats are the same as en-gb
20138        longDateFormat: {
20139            LT: 'HH:mm',
20140            LTS: 'HH:mm:ss',
20141            L: 'DD/MM/YYYY',
20142            LL: 'D MMMM YYYY',
20143            LLL: 'D MMMM YYYY HH:mm',
20144            LLLL: 'dddd, D MMMM YYYY HH:mm'
20145        },
20146        calendar: {
20147            sameDay: '[Heddiw am] LT',
20148            nextDay: '[Yfory am] LT',
20149            nextWeek: 'dddd [am] LT',
20150            lastDay: '[Ddoe am] LT',
20151            lastWeek: 'dddd [diwethaf am] LT',
20152            sameElse: 'L'
20153        },
20154        relativeTime: {
20155            future: 'mewn %s',
20156            past: '%s yn ôl',
20157            s: 'ychydig eiliadau',
20158            ss: '%d eiliad',
20159            m: 'munud',
20160            mm: '%d munud',
20161            h: 'awr',
20162            hh: '%d awr',
20163            d: 'diwrnod',
20164            dd: '%d diwrnod',
20165            M: 'mis',
20166            MM: '%d mis',
20167            y: 'blwyddyn',
20168            yy: '%d flynedd'
20169        },
20170        dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
20171        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
20172        ordinal: function ordinal(number) {
20173            var b = number,
20174                output = '',
20175                lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
20176            'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
20177            ];
20178            if (b > 20) {
20179                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
20180                    output = 'fed'; // not 30ain, 70ain or 90ain
20181                } else {
20182                    output = 'ain';
20183                }
20184            } else if (b > 0) {
20185                output = lookup[b];
20186            }
20187            return number + output;
20188        },
20189        week: {
20190            dow: 1, // Monday is the first day of the week.
20191            doy: 4 // The week that contains Jan 4th is the first week of the year.
20192        }
20193    });
20194
20195    return cy;
20196});
20197
20198/***/ }),
20199/* 83 */
20200/***/ (function(module, exports, __webpack_require__) {
20201
20202"use strict";
20203var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20204
20205var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20206
20207//! moment.js locale configuration
20208
20209;(function (global, factory) {
20210    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20211				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20212				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20213				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20214})(undefined, function (moment) {
20215    'use strict';
20216
20217    var da = moment.defineLocale('da', {
20218        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
20219        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
20220        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
20221        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
20222        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
20223        longDateFormat: {
20224            LT: 'HH:mm',
20225            LTS: 'HH:mm:ss',
20226            L: 'DD.MM.YYYY',
20227            LL: 'D. MMMM YYYY',
20228            LLL: 'D. MMMM YYYY HH:mm',
20229            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
20230        },
20231        calendar: {
20232            sameDay: '[i dag kl.] LT',
20233            nextDay: '[i morgen kl.] LT',
20234            nextWeek: 'på dddd [kl.] LT',
20235            lastDay: '[i går kl.] LT',
20236            lastWeek: '[i] dddd[s kl.] LT',
20237            sameElse: 'L'
20238        },
20239        relativeTime: {
20240            future: 'om %s',
20241            past: '%s siden',
20242            s: 'få sekunder',
20243            ss: '%d sekunder',
20244            m: 'et minut',
20245            mm: '%d minutter',
20246            h: 'en time',
20247            hh: '%d timer',
20248            d: 'en dag',
20249            dd: '%d dage',
20250            M: 'en måned',
20251            MM: '%d måneder',
20252            y: 'et år',
20253            yy: '%d år'
20254        },
20255        dayOfMonthOrdinalParse: /\d{1,2}\./,
20256        ordinal: '%d.',
20257        week: {
20258            dow: 1, // Monday is the first day of the week.
20259            doy: 4 // The week that contains Jan 4th is the first week of the year.
20260        }
20261    });
20262
20263    return da;
20264});
20265
20266/***/ }),
20267/* 84 */
20268/***/ (function(module, exports, __webpack_require__) {
20269
20270"use strict";
20271var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20272
20273var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20274
20275//! moment.js locale configuration
20276
20277;(function (global, factory) {
20278    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20279				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20280				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20281				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20282})(undefined, function (moment) {
20283    'use strict';
20284
20285    function processRelativeTime(number, withoutSuffix, key, isFuture) {
20286        var format = {
20287            'm': ['eine Minute', 'einer Minute'],
20288            'h': ['eine Stunde', 'einer Stunde'],
20289            'd': ['ein Tag', 'einem Tag'],
20290            'dd': [number + ' Tage', number + ' Tagen'],
20291            'M': ['ein Monat', 'einem Monat'],
20292            'MM': [number + ' Monate', number + ' Monaten'],
20293            'y': ['ein Jahr', 'einem Jahr'],
20294            'yy': [number + ' Jahre', number + ' Jahren']
20295        };
20296        return withoutSuffix ? format[key][0] : format[key][1];
20297    }
20298
20299    var deAt = moment.defineLocale('de-at', {
20300        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
20301        monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
20302        monthsParseExact: true,
20303        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
20304        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
20305        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
20306        weekdaysParseExact: true,
20307        longDateFormat: {
20308            LT: 'HH:mm',
20309            LTS: 'HH:mm:ss',
20310            L: 'DD.MM.YYYY',
20311            LL: 'D. MMMM YYYY',
20312            LLL: 'D. MMMM YYYY HH:mm',
20313            LLLL: 'dddd, D. MMMM YYYY HH:mm'
20314        },
20315        calendar: {
20316            sameDay: '[heute um] LT [Uhr]',
20317            sameElse: 'L',
20318            nextDay: '[morgen um] LT [Uhr]',
20319            nextWeek: 'dddd [um] LT [Uhr]',
20320            lastDay: '[gestern um] LT [Uhr]',
20321            lastWeek: '[letzten] dddd [um] LT [Uhr]'
20322        },
20323        relativeTime: {
20324            future: 'in %s',
20325            past: 'vor %s',
20326            s: 'ein paar Sekunden',
20327            ss: '%d Sekunden',
20328            m: processRelativeTime,
20329            mm: '%d Minuten',
20330            h: processRelativeTime,
20331            hh: '%d Stunden',
20332            d: processRelativeTime,
20333            dd: processRelativeTime,
20334            M: processRelativeTime,
20335            MM: processRelativeTime,
20336            y: processRelativeTime,
20337            yy: processRelativeTime
20338        },
20339        dayOfMonthOrdinalParse: /\d{1,2}\./,
20340        ordinal: '%d.',
20341        week: {
20342            dow: 1, // Monday is the first day of the week.
20343            doy: 4 // The week that contains Jan 4th is the first week of the year.
20344        }
20345    });
20346
20347    return deAt;
20348});
20349
20350/***/ }),
20351/* 85 */
20352/***/ (function(module, exports, __webpack_require__) {
20353
20354"use strict";
20355var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20356
20357var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20358
20359//! moment.js locale configuration
20360
20361;(function (global, factory) {
20362    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20363				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20364				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20365				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20366})(undefined, function (moment) {
20367    'use strict';
20368
20369    function processRelativeTime(number, withoutSuffix, key, isFuture) {
20370        var format = {
20371            'm': ['eine Minute', 'einer Minute'],
20372            'h': ['eine Stunde', 'einer Stunde'],
20373            'd': ['ein Tag', 'einem Tag'],
20374            'dd': [number + ' Tage', number + ' Tagen'],
20375            'M': ['ein Monat', 'einem Monat'],
20376            'MM': [number + ' Monate', number + ' Monaten'],
20377            'y': ['ein Jahr', 'einem Jahr'],
20378            'yy': [number + ' Jahre', number + ' Jahren']
20379        };
20380        return withoutSuffix ? format[key][0] : format[key][1];
20381    }
20382
20383    var deCh = moment.defineLocale('de-ch', {
20384        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
20385        monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
20386        monthsParseExact: true,
20387        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
20388        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
20389        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
20390        weekdaysParseExact: true,
20391        longDateFormat: {
20392            LT: 'HH:mm',
20393            LTS: 'HH:mm:ss',
20394            L: 'DD.MM.YYYY',
20395            LL: 'D. MMMM YYYY',
20396            LLL: 'D. MMMM YYYY HH:mm',
20397            LLLL: 'dddd, D. MMMM YYYY HH:mm'
20398        },
20399        calendar: {
20400            sameDay: '[heute um] LT [Uhr]',
20401            sameElse: 'L',
20402            nextDay: '[morgen um] LT [Uhr]',
20403            nextWeek: 'dddd [um] LT [Uhr]',
20404            lastDay: '[gestern um] LT [Uhr]',
20405            lastWeek: '[letzten] dddd [um] LT [Uhr]'
20406        },
20407        relativeTime: {
20408            future: 'in %s',
20409            past: 'vor %s',
20410            s: 'ein paar Sekunden',
20411            ss: '%d Sekunden',
20412            m: processRelativeTime,
20413            mm: '%d Minuten',
20414            h: processRelativeTime,
20415            hh: '%d Stunden',
20416            d: processRelativeTime,
20417            dd: processRelativeTime,
20418            M: processRelativeTime,
20419            MM: processRelativeTime,
20420            y: processRelativeTime,
20421            yy: processRelativeTime
20422        },
20423        dayOfMonthOrdinalParse: /\d{1,2}\./,
20424        ordinal: '%d.',
20425        week: {
20426            dow: 1, // Monday is the first day of the week.
20427            doy: 4 // The week that contains Jan 4th is the first week of the year.
20428        }
20429    });
20430
20431    return deCh;
20432});
20433
20434/***/ }),
20435/* 86 */
20436/***/ (function(module, exports, __webpack_require__) {
20437
20438"use strict";
20439var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20440
20441var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20442
20443//! moment.js locale configuration
20444
20445;(function (global, factory) {
20446    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20447				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20448				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20449				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20450})(undefined, function (moment) {
20451    'use strict';
20452
20453    function processRelativeTime(number, withoutSuffix, key, isFuture) {
20454        var format = {
20455            'm': ['eine Minute', 'einer Minute'],
20456            'h': ['eine Stunde', 'einer Stunde'],
20457            'd': ['ein Tag', 'einem Tag'],
20458            'dd': [number + ' Tage', number + ' Tagen'],
20459            'M': ['ein Monat', 'einem Monat'],
20460            'MM': [number + ' Monate', number + ' Monaten'],
20461            'y': ['ein Jahr', 'einem Jahr'],
20462            'yy': [number + ' Jahre', number + ' Jahren']
20463        };
20464        return withoutSuffix ? format[key][0] : format[key][1];
20465    }
20466
20467    var de = moment.defineLocale('de', {
20468        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
20469        monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
20470        monthsParseExact: true,
20471        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
20472        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
20473        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
20474        weekdaysParseExact: true,
20475        longDateFormat: {
20476            LT: 'HH:mm',
20477            LTS: 'HH:mm:ss',
20478            L: 'DD.MM.YYYY',
20479            LL: 'D. MMMM YYYY',
20480            LLL: 'D. MMMM YYYY HH:mm',
20481            LLLL: 'dddd, D. MMMM YYYY HH:mm'
20482        },
20483        calendar: {
20484            sameDay: '[heute um] LT [Uhr]',
20485            sameElse: 'L',
20486            nextDay: '[morgen um] LT [Uhr]',
20487            nextWeek: 'dddd [um] LT [Uhr]',
20488            lastDay: '[gestern um] LT [Uhr]',
20489            lastWeek: '[letzten] dddd [um] LT [Uhr]'
20490        },
20491        relativeTime: {
20492            future: 'in %s',
20493            past: 'vor %s',
20494            s: 'ein paar Sekunden',
20495            ss: '%d Sekunden',
20496            m: processRelativeTime,
20497            mm: '%d Minuten',
20498            h: processRelativeTime,
20499            hh: '%d Stunden',
20500            d: processRelativeTime,
20501            dd: processRelativeTime,
20502            M: processRelativeTime,
20503            MM: processRelativeTime,
20504            y: processRelativeTime,
20505            yy: processRelativeTime
20506        },
20507        dayOfMonthOrdinalParse: /\d{1,2}\./,
20508        ordinal: '%d.',
20509        week: {
20510            dow: 1, // Monday is the first day of the week.
20511            doy: 4 // The week that contains Jan 4th is the first week of the year.
20512        }
20513    });
20514
20515    return de;
20516});
20517
20518/***/ }),
20519/* 87 */
20520/***/ (function(module, exports, __webpack_require__) {
20521
20522"use strict";
20523var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20524
20525var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20526
20527//! moment.js locale configuration
20528
20529;(function (global, factory) {
20530    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20531				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20532				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20533				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20534})(undefined, function (moment) {
20535    'use strict';
20536
20537    var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'],
20538        weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު'];
20539
20540    var dv = moment.defineLocale('dv', {
20541        months: months,
20542        monthsShort: months,
20543        weekdays: weekdays,
20544        weekdaysShort: weekdays,
20545        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
20546        longDateFormat: {
20547
20548            LT: 'HH:mm',
20549            LTS: 'HH:mm:ss',
20550            L: 'D/M/YYYY',
20551            LL: 'D MMMM YYYY',
20552            LLL: 'D MMMM YYYY HH:mm',
20553            LLLL: 'dddd D MMMM YYYY HH:mm'
20554        },
20555        meridiemParse: /މކ|މފ/,
20556        isPM: function isPM(input) {
20557            return 'މފ' === input;
20558        },
20559        meridiem: function meridiem(hour, minute, isLower) {
20560            if (hour < 12) {
20561                return 'މކ';
20562            } else {
20563                return 'މފ';
20564            }
20565        },
20566        calendar: {
20567            sameDay: '[މިއަދު] LT',
20568            nextDay: '[މާދަމާ] LT',
20569            nextWeek: 'dddd LT',
20570            lastDay: '[އިއްޔެ] LT',
20571            lastWeek: '[ފާއިތުވި] dddd LT',
20572            sameElse: 'L'
20573        },
20574        relativeTime: {
20575            future: 'ތެރޭގައި %s',
20576            past: 'ކުރިން %s',
20577            s: 'ސިކުންތުކޮޅެއް',
20578            ss: 'd% ސިކުންތު',
20579            m: 'މިނިޓެއް',
20580            mm: 'މިނިޓު %d',
20581            h: 'ގަޑިއިރެއް',
20582            hh: 'ގަޑިއިރު %d',
20583            d: 'ދުވަހެއް',
20584            dd: 'ދުވަސް %d',
20585            M: 'މަހެއް',
20586            MM: 'މަސް %d',
20587            y: 'އަހަރެއް',
20588            yy: 'އަހަރު %d'
20589        },
20590        preparse: function preparse(string) {
20591            return string.replace(/،/g, ',');
20592        },
20593        postformat: function postformat(string) {
20594            return string.replace(/,/g, '،');
20595        },
20596        week: {
20597            dow: 7, // Sunday is the first day of the week.
20598            doy: 12 // The week that contains Jan 1st is the first week of the year.
20599        }
20600    });
20601
20602    return dv;
20603});
20604
20605/***/ }),
20606/* 88 */
20607/***/ (function(module, exports, __webpack_require__) {
20608
20609"use strict";
20610var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20611
20612var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20613
20614//! moment.js locale configuration
20615
20616;(function (global, factory) {
20617    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20618				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20619				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20620				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20621})(undefined, function (moment) {
20622    'use strict';
20623
20624    function isFunction(input) {
20625        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
20626    }
20627
20628    var el = moment.defineLocale('el', {
20629        monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
20630        monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
20631        months: function months(momentToFormat, format) {
20632            if (!momentToFormat) {
20633                return this._monthsNominativeEl;
20634            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) {
20635                // if there is a day number before 'MMMM'
20636                return this._monthsGenitiveEl[momentToFormat.month()];
20637            } else {
20638                return this._monthsNominativeEl[momentToFormat.month()];
20639            }
20640        },
20641        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
20642        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
20643        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
20644        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
20645        meridiem: function meridiem(hours, minutes, isLower) {
20646            if (hours > 11) {
20647                return isLower ? 'μμ' : 'ΜΜ';
20648            } else {
20649                return isLower ? 'πμ' : 'ΠΜ';
20650            }
20651        },
20652        isPM: function isPM(input) {
20653            return (input + '').toLowerCase()[0] === 'μ';
20654        },
20655        meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
20656        longDateFormat: {
20657            LT: 'h:mm A',
20658            LTS: 'h:mm:ss A',
20659            L: 'DD/MM/YYYY',
20660            LL: 'D MMMM YYYY',
20661            LLL: 'D MMMM YYYY h:mm A',
20662            LLLL: 'dddd, D MMMM YYYY h:mm A'
20663        },
20664        calendarEl: {
20665            sameDay: '[Σήμερα {}] LT',
20666            nextDay: '[Αύριο {}] LT',
20667            nextWeek: 'dddd [{}] LT',
20668            lastDay: '[Χθες {}] LT',
20669            lastWeek: function lastWeek() {
20670                switch (this.day()) {
20671                    case 6:
20672                        return '[το προηγούμενο] dddd [{}] LT';
20673                    default:
20674                        return '[την προηγούμενη] dddd [{}] LT';
20675                }
20676            },
20677            sameElse: 'L'
20678        },
20679        calendar: function calendar(key, mom) {
20680            var output = this._calendarEl[key],
20681                hours = mom && mom.hours();
20682            if (isFunction(output)) {
20683                output = output.apply(mom);
20684            }
20685            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
20686        },
20687        relativeTime: {
20688            future: 'σε %s',
20689            past: '%s πριν',
20690            s: 'λίγα δευτερόλεπτα',
20691            ss: '%d δευτερόλεπτα',
20692            m: 'ένα λεπτό',
20693            mm: '%d λεπτά',
20694            h: 'μία ώρα',
20695            hh: '%d ώρες',
20696            d: 'μία μέρα',
20697            dd: '%d μέρες',
20698            M: 'ένας μήνας',
20699            MM: '%d μήνες',
20700            y: 'ένας χρόνος',
20701            yy: '%d χρόνια'
20702        },
20703        dayOfMonthOrdinalParse: /\d{1,2}η/,
20704        ordinal: '%dη',
20705        week: {
20706            dow: 1, // Monday is the first day of the week.
20707            doy: 4 // The week that contains Jan 4st is the first week of the year.
20708        }
20709    });
20710
20711    return el;
20712});
20713
20714/***/ }),
20715/* 89 */
20716/***/ (function(module, exports, __webpack_require__) {
20717
20718"use strict";
20719var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20720
20721var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20722
20723//! moment.js locale configuration
20724
20725;(function (global, factory) {
20726    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20727				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20728				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20729				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20730})(undefined, function (moment) {
20731    'use strict';
20732
20733    var enAu = moment.defineLocale('en-au', {
20734        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
20735        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
20736        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
20737        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
20738        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
20739        longDateFormat: {
20740            LT: 'h:mm A',
20741            LTS: 'h:mm:ss A',
20742            L: 'DD/MM/YYYY',
20743            LL: 'D MMMM YYYY',
20744            LLL: 'D MMMM YYYY h:mm A',
20745            LLLL: 'dddd, D MMMM YYYY h:mm A'
20746        },
20747        calendar: {
20748            sameDay: '[Today at] LT',
20749            nextDay: '[Tomorrow at] LT',
20750            nextWeek: 'dddd [at] LT',
20751            lastDay: '[Yesterday at] LT',
20752            lastWeek: '[Last] dddd [at] LT',
20753            sameElse: 'L'
20754        },
20755        relativeTime: {
20756            future: 'in %s',
20757            past: '%s ago',
20758            s: 'a few seconds',
20759            ss: '%d seconds',
20760            m: 'a minute',
20761            mm: '%d minutes',
20762            h: 'an hour',
20763            hh: '%d hours',
20764            d: 'a day',
20765            dd: '%d days',
20766            M: 'a month',
20767            MM: '%d months',
20768            y: 'a year',
20769            yy: '%d years'
20770        },
20771        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
20772        ordinal: function ordinal(number) {
20773            var b = number % 10,
20774                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
20775            return number + output;
20776        },
20777        week: {
20778            dow: 1, // Monday is the first day of the week.
20779            doy: 4 // The week that contains Jan 4th is the first week of the year.
20780        }
20781    });
20782
20783    return enAu;
20784});
20785
20786/***/ }),
20787/* 90 */
20788/***/ (function(module, exports, __webpack_require__) {
20789
20790"use strict";
20791var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20792
20793var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20794
20795//! moment.js locale configuration
20796
20797;(function (global, factory) {
20798    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20799				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20800				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20801				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20802})(undefined, function (moment) {
20803    'use strict';
20804
20805    var enCa = moment.defineLocale('en-ca', {
20806        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
20807        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
20808        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
20809        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
20810        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
20811        longDateFormat: {
20812            LT: 'h:mm A',
20813            LTS: 'h:mm:ss A',
20814            L: 'YYYY-MM-DD',
20815            LL: 'MMMM D, YYYY',
20816            LLL: 'MMMM D, YYYY h:mm A',
20817            LLLL: 'dddd, MMMM D, YYYY h:mm A'
20818        },
20819        calendar: {
20820            sameDay: '[Today at] LT',
20821            nextDay: '[Tomorrow at] LT',
20822            nextWeek: 'dddd [at] LT',
20823            lastDay: '[Yesterday at] LT',
20824            lastWeek: '[Last] dddd [at] LT',
20825            sameElse: 'L'
20826        },
20827        relativeTime: {
20828            future: 'in %s',
20829            past: '%s ago',
20830            s: 'a few seconds',
20831            ss: '%d seconds',
20832            m: 'a minute',
20833            mm: '%d minutes',
20834            h: 'an hour',
20835            hh: '%d hours',
20836            d: 'a day',
20837            dd: '%d days',
20838            M: 'a month',
20839            MM: '%d months',
20840            y: 'a year',
20841            yy: '%d years'
20842        },
20843        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
20844        ordinal: function ordinal(number) {
20845            var b = number % 10,
20846                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
20847            return number + output;
20848        }
20849    });
20850
20851    return enCa;
20852});
20853
20854/***/ }),
20855/* 91 */
20856/***/ (function(module, exports, __webpack_require__) {
20857
20858"use strict";
20859var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20860
20861var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20862
20863//! moment.js locale configuration
20864
20865;(function (global, factory) {
20866    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20867				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20868				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20869				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20870})(undefined, function (moment) {
20871    'use strict';
20872
20873    var enGb = moment.defineLocale('en-gb', {
20874        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
20875        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
20876        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
20877        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
20878        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
20879        longDateFormat: {
20880            LT: 'HH:mm',
20881            LTS: 'HH:mm:ss',
20882            L: 'DD/MM/YYYY',
20883            LL: 'D MMMM YYYY',
20884            LLL: 'D MMMM YYYY HH:mm',
20885            LLLL: 'dddd, D MMMM YYYY HH:mm'
20886        },
20887        calendar: {
20888            sameDay: '[Today at] LT',
20889            nextDay: '[Tomorrow at] LT',
20890            nextWeek: 'dddd [at] LT',
20891            lastDay: '[Yesterday at] LT',
20892            lastWeek: '[Last] dddd [at] LT',
20893            sameElse: 'L'
20894        },
20895        relativeTime: {
20896            future: 'in %s',
20897            past: '%s ago',
20898            s: 'a few seconds',
20899            ss: '%d seconds',
20900            m: 'a minute',
20901            mm: '%d minutes',
20902            h: 'an hour',
20903            hh: '%d hours',
20904            d: 'a day',
20905            dd: '%d days',
20906            M: 'a month',
20907            MM: '%d months',
20908            y: 'a year',
20909            yy: '%d years'
20910        },
20911        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
20912        ordinal: function ordinal(number) {
20913            var b = number % 10,
20914                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
20915            return number + output;
20916        },
20917        week: {
20918            dow: 1, // Monday is the first day of the week.
20919            doy: 4 // The week that contains Jan 4th is the first week of the year.
20920        }
20921    });
20922
20923    return enGb;
20924});
20925
20926/***/ }),
20927/* 92 */
20928/***/ (function(module, exports, __webpack_require__) {
20929
20930"use strict";
20931var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
20932
20933var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
20934
20935//! moment.js locale configuration
20936
20937;(function (global, factory) {
20938    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
20939				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
20940				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
20941				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
20942})(undefined, function (moment) {
20943    'use strict';
20944
20945    var enIe = moment.defineLocale('en-ie', {
20946        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
20947        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
20948        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
20949        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
20950        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
20951        longDateFormat: {
20952            LT: 'HH:mm',
20953            LTS: 'HH:mm:ss',
20954            L: 'DD-MM-YYYY',
20955            LL: 'D MMMM YYYY',
20956            LLL: 'D MMMM YYYY HH:mm',
20957            LLLL: 'dddd D MMMM YYYY HH:mm'
20958        },
20959        calendar: {
20960            sameDay: '[Today at] LT',
20961            nextDay: '[Tomorrow at] LT',
20962            nextWeek: 'dddd [at] LT',
20963            lastDay: '[Yesterday at] LT',
20964            lastWeek: '[Last] dddd [at] LT',
20965            sameElse: 'L'
20966        },
20967        relativeTime: {
20968            future: 'in %s',
20969            past: '%s ago',
20970            s: 'a few seconds',
20971            ss: '%d seconds',
20972            m: 'a minute',
20973            mm: '%d minutes',
20974            h: 'an hour',
20975            hh: '%d hours',
20976            d: 'a day',
20977            dd: '%d days',
20978            M: 'a month',
20979            MM: '%d months',
20980            y: 'a year',
20981            yy: '%d years'
20982        },
20983        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
20984        ordinal: function ordinal(number) {
20985            var b = number % 10,
20986                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
20987            return number + output;
20988        },
20989        week: {
20990            dow: 1, // Monday is the first day of the week.
20991            doy: 4 // The week that contains Jan 4th is the first week of the year.
20992        }
20993    });
20994
20995    return enIe;
20996});
20997
20998/***/ }),
20999/* 93 */
21000/***/ (function(module, exports, __webpack_require__) {
21001
21002"use strict";
21003var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21004
21005var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21006
21007//! moment.js locale configuration
21008
21009;(function (global, factory) {
21010    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21011				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21012				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21013				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21014})(undefined, function (moment) {
21015    'use strict';
21016
21017    var enIl = moment.defineLocale('en-il', {
21018        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
21019        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
21020        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
21021        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
21022        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
21023        longDateFormat: {
21024            LT: 'HH:mm',
21025            LTS: 'HH:mm:ss',
21026            L: 'DD/MM/YYYY',
21027            LL: 'D MMMM YYYY',
21028            LLL: 'D MMMM YYYY HH:mm',
21029            LLLL: 'dddd, D MMMM YYYY HH:mm'
21030        },
21031        calendar: {
21032            sameDay: '[Today at] LT',
21033            nextDay: '[Tomorrow at] LT',
21034            nextWeek: 'dddd [at] LT',
21035            lastDay: '[Yesterday at] LT',
21036            lastWeek: '[Last] dddd [at] LT',
21037            sameElse: 'L'
21038        },
21039        relativeTime: {
21040            future: 'in %s',
21041            past: '%s ago',
21042            s: 'a few seconds',
21043            m: 'a minute',
21044            mm: '%d minutes',
21045            h: 'an hour',
21046            hh: '%d hours',
21047            d: 'a day',
21048            dd: '%d days',
21049            M: 'a month',
21050            MM: '%d months',
21051            y: 'a year',
21052            yy: '%d years'
21053        },
21054        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
21055        ordinal: function ordinal(number) {
21056            var b = number % 10,
21057                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
21058            return number + output;
21059        }
21060    });
21061
21062    return enIl;
21063});
21064
21065/***/ }),
21066/* 94 */
21067/***/ (function(module, exports, __webpack_require__) {
21068
21069"use strict";
21070var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21071
21072var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21073
21074//! moment.js locale configuration
21075
21076;(function (global, factory) {
21077    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21078				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21079				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21080				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21081})(undefined, function (moment) {
21082    'use strict';
21083
21084    var enNz = moment.defineLocale('en-nz', {
21085        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
21086        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
21087        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
21088        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
21089        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
21090        longDateFormat: {
21091            LT: 'h:mm A',
21092            LTS: 'h:mm:ss A',
21093            L: 'DD/MM/YYYY',
21094            LL: 'D MMMM YYYY',
21095            LLL: 'D MMMM YYYY h:mm A',
21096            LLLL: 'dddd, D MMMM YYYY h:mm A'
21097        },
21098        calendar: {
21099            sameDay: '[Today at] LT',
21100            nextDay: '[Tomorrow at] LT',
21101            nextWeek: 'dddd [at] LT',
21102            lastDay: '[Yesterday at] LT',
21103            lastWeek: '[Last] dddd [at] LT',
21104            sameElse: 'L'
21105        },
21106        relativeTime: {
21107            future: 'in %s',
21108            past: '%s ago',
21109            s: 'a few seconds',
21110            ss: '%d seconds',
21111            m: 'a minute',
21112            mm: '%d minutes',
21113            h: 'an hour',
21114            hh: '%d hours',
21115            d: 'a day',
21116            dd: '%d days',
21117            M: 'a month',
21118            MM: '%d months',
21119            y: 'a year',
21120            yy: '%d years'
21121        },
21122        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
21123        ordinal: function ordinal(number) {
21124            var b = number % 10,
21125                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
21126            return number + output;
21127        },
21128        week: {
21129            dow: 1, // Monday is the first day of the week.
21130            doy: 4 // The week that contains Jan 4th is the first week of the year.
21131        }
21132    });
21133
21134    return enNz;
21135});
21136
21137/***/ }),
21138/* 95 */
21139/***/ (function(module, exports, __webpack_require__) {
21140
21141"use strict";
21142var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21143
21144var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21145
21146//! moment.js locale configuration
21147
21148;(function (global, factory) {
21149    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21150				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21151				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21152				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21153})(undefined, function (moment) {
21154    'use strict';
21155
21156    var eo = moment.defineLocale('eo', {
21157        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
21158        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
21159        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
21160        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
21161        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
21162        longDateFormat: {
21163            LT: 'HH:mm',
21164            LTS: 'HH:mm:ss',
21165            L: 'YYYY-MM-DD',
21166            LL: 'D[-a de] MMMM, YYYY',
21167            LLL: 'D[-a de] MMMM, YYYY HH:mm',
21168            LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
21169        },
21170        meridiemParse: /[ap]\.t\.m/i,
21171        isPM: function isPM(input) {
21172            return input.charAt(0).toLowerCase() === 'p';
21173        },
21174        meridiem: function meridiem(hours, minutes, isLower) {
21175            if (hours > 11) {
21176                return isLower ? 'p.t.m.' : 'P.T.M.';
21177            } else {
21178                return isLower ? 'a.t.m.' : 'A.T.M.';
21179            }
21180        },
21181        calendar: {
21182            sameDay: '[HodiaÅ­ je] LT',
21183            nextDay: '[MorgaÅ­ je] LT',
21184            nextWeek: 'dddd [je] LT',
21185            lastDay: '[HieraÅ­ je] LT',
21186            lastWeek: '[pasinta] dddd [je] LT',
21187            sameElse: 'L'
21188        },
21189        relativeTime: {
21190            future: 'post %s',
21191            past: 'antaÅ­ %s',
21192            s: 'sekundoj',
21193            ss: '%d sekundoj',
21194            m: 'minuto',
21195            mm: '%d minutoj',
21196            h: 'horo',
21197            hh: '%d horoj',
21198            d: 'tago', //ne 'diurno', ĉar estas uzita por proksimumo
21199            dd: '%d tagoj',
21200            M: 'monato',
21201            MM: '%d monatoj',
21202            y: 'jaro',
21203            yy: '%d jaroj'
21204        },
21205        dayOfMonthOrdinalParse: /\d{1,2}a/,
21206        ordinal: '%da',
21207        week: {
21208            dow: 1, // Monday is the first day of the week.
21209            doy: 7 // The week that contains Jan 1st is the first week of the year.
21210        }
21211    });
21212
21213    return eo;
21214});
21215
21216/***/ }),
21217/* 96 */
21218/***/ (function(module, exports, __webpack_require__) {
21219
21220"use strict";
21221var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21222
21223var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21224
21225//! moment.js locale configuration
21226
21227;(function (global, factory) {
21228    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21229				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21230				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21231				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21232})(undefined, function (moment) {
21233    'use strict';
21234
21235    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
21236        _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
21237
21238    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
21239    var monthsRegex = /^(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;
21240
21241    var esDo = moment.defineLocale('es-do', {
21242        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
21243        monthsShort: function monthsShort(m, format) {
21244            if (!m) {
21245                return monthsShortDot;
21246            } else if (/-MMM-/.test(format)) {
21247                return _monthsShort[m.month()];
21248            } else {
21249                return monthsShortDot[m.month()];
21250            }
21251        },
21252        monthsRegex: monthsRegex,
21253        monthsShortRegex: monthsRegex,
21254        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
21255        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
21256        monthsParse: monthsParse,
21257        longMonthsParse: monthsParse,
21258        shortMonthsParse: monthsParse,
21259        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
21260        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
21261        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
21262        weekdaysParseExact: true,
21263        longDateFormat: {
21264            LT: 'h:mm A',
21265            LTS: 'h:mm:ss A',
21266            L: 'DD/MM/YYYY',
21267            LL: 'D [de] MMMM [de] YYYY',
21268            LLL: 'D [de] MMMM [de] YYYY h:mm A',
21269            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'
21270        },
21271        calendar: {
21272            sameDay: function sameDay() {
21273                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21274            },
21275            nextDay: function nextDay() {
21276                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21277            },
21278            nextWeek: function nextWeek() {
21279                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21280            },
21281            lastDay: function lastDay() {
21282                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21283            },
21284            lastWeek: function lastWeek() {
21285                return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21286            },
21287            sameElse: 'L'
21288        },
21289        relativeTime: {
21290            future: 'en %s',
21291            past: 'hace %s',
21292            s: 'unos segundos',
21293            ss: '%d segundos',
21294            m: 'un minuto',
21295            mm: '%d minutos',
21296            h: 'una hora',
21297            hh: '%d horas',
21298            d: 'un día',
21299            dd: '%d días',
21300            M: 'un mes',
21301            MM: '%d meses',
21302            y: 'un año',
21303            yy: '%d años'
21304        },
21305        dayOfMonthOrdinalParse: /\d{1,2}º/,
21306        ordinal: '%dº',
21307        week: {
21308            dow: 1, // Monday is the first day of the week.
21309            doy: 4 // The week that contains Jan 4th is the first week of the year.
21310        }
21311    });
21312
21313    return esDo;
21314});
21315
21316/***/ }),
21317/* 97 */
21318/***/ (function(module, exports, __webpack_require__) {
21319
21320"use strict";
21321var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21322
21323var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21324
21325//! moment.js locale configuration
21326
21327;(function (global, factory) {
21328    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21329				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21330				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21331				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21332})(undefined, function (moment) {
21333    'use strict';
21334
21335    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
21336        _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
21337
21338    var esUs = moment.defineLocale('es-us', {
21339        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
21340        monthsShort: function monthsShort(m, format) {
21341            if (!m) {
21342                return monthsShortDot;
21343            } else if (/-MMM-/.test(format)) {
21344                return _monthsShort[m.month()];
21345            } else {
21346                return monthsShortDot[m.month()];
21347            }
21348        },
21349        monthsParseExact: true,
21350        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
21351        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
21352        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
21353        weekdaysParseExact: true,
21354        longDateFormat: {
21355            LT: 'h:mm A',
21356            LTS: 'h:mm:ss A',
21357            L: 'MM/DD/YYYY',
21358            LL: 'MMMM [de] D [de] YYYY',
21359            LLL: 'MMMM [de] D [de] YYYY h:mm A',
21360            LLLL: 'dddd, MMMM [de] D [de] YYYY h:mm A'
21361        },
21362        calendar: {
21363            sameDay: function sameDay() {
21364                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21365            },
21366            nextDay: function nextDay() {
21367                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21368            },
21369            nextWeek: function nextWeek() {
21370                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21371            },
21372            lastDay: function lastDay() {
21373                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21374            },
21375            lastWeek: function lastWeek() {
21376                return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21377            },
21378            sameElse: 'L'
21379        },
21380        relativeTime: {
21381            future: 'en %s',
21382            past: 'hace %s',
21383            s: 'unos segundos',
21384            ss: '%d segundos',
21385            m: 'un minuto',
21386            mm: '%d minutos',
21387            h: 'una hora',
21388            hh: '%d horas',
21389            d: 'un día',
21390            dd: '%d días',
21391            M: 'un mes',
21392            MM: '%d meses',
21393            y: 'un año',
21394            yy: '%d años'
21395        },
21396        dayOfMonthOrdinalParse: /\d{1,2}º/,
21397        ordinal: '%dº',
21398        week: {
21399            dow: 0, // Sunday is the first day of the week.
21400            doy: 6 // The week that contains Jan 1st is the first week of the year.
21401        }
21402    });
21403
21404    return esUs;
21405});
21406
21407/***/ }),
21408/* 98 */
21409/***/ (function(module, exports, __webpack_require__) {
21410
21411"use strict";
21412var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21413
21414var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21415
21416//! moment.js locale configuration
21417
21418;(function (global, factory) {
21419    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21420				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21421				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21422				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21423})(undefined, function (moment) {
21424    'use strict';
21425
21426    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
21427        _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
21428
21429    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
21430    var monthsRegex = /^(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;
21431
21432    var es = moment.defineLocale('es', {
21433        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
21434        monthsShort: function monthsShort(m, format) {
21435            if (!m) {
21436                return monthsShortDot;
21437            } else if (/-MMM-/.test(format)) {
21438                return _monthsShort[m.month()];
21439            } else {
21440                return monthsShortDot[m.month()];
21441            }
21442        },
21443        monthsRegex: monthsRegex,
21444        monthsShortRegex: monthsRegex,
21445        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
21446        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
21447        monthsParse: monthsParse,
21448        longMonthsParse: monthsParse,
21449        shortMonthsParse: monthsParse,
21450        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
21451        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
21452        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
21453        weekdaysParseExact: true,
21454        longDateFormat: {
21455            LT: 'H:mm',
21456            LTS: 'H:mm:ss',
21457            L: 'DD/MM/YYYY',
21458            LL: 'D [de] MMMM [de] YYYY',
21459            LLL: 'D [de] MMMM [de] YYYY H:mm',
21460            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'
21461        },
21462        calendar: {
21463            sameDay: function sameDay() {
21464                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21465            },
21466            nextDay: function nextDay() {
21467                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21468            },
21469            nextWeek: function nextWeek() {
21470                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21471            },
21472            lastDay: function lastDay() {
21473                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21474            },
21475            lastWeek: function lastWeek() {
21476                return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
21477            },
21478            sameElse: 'L'
21479        },
21480        relativeTime: {
21481            future: 'en %s',
21482            past: 'hace %s',
21483            s: 'unos segundos',
21484            ss: '%d segundos',
21485            m: 'un minuto',
21486            mm: '%d minutos',
21487            h: 'una hora',
21488            hh: '%d horas',
21489            d: 'un día',
21490            dd: '%d días',
21491            M: 'un mes',
21492            MM: '%d meses',
21493            y: 'un año',
21494            yy: '%d años'
21495        },
21496        dayOfMonthOrdinalParse: /\d{1,2}º/,
21497        ordinal: '%dº',
21498        week: {
21499            dow: 1, // Monday is the first day of the week.
21500            doy: 4 // The week that contains Jan 4th is the first week of the year.
21501        }
21502    });
21503
21504    return es;
21505});
21506
21507/***/ }),
21508/* 99 */
21509/***/ (function(module, exports, __webpack_require__) {
21510
21511"use strict";
21512var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21513
21514var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21515
21516//! moment.js locale configuration
21517
21518;(function (global, factory) {
21519    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21520				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21521				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21522				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21523})(undefined, function (moment) {
21524    'use strict';
21525
21526    function processRelativeTime(number, withoutSuffix, key, isFuture) {
21527        var format = {
21528            's': ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
21529            'ss': [number + 'sekundi', number + 'sekundit'],
21530            'm': ['ühe minuti', 'üks minut'],
21531            'mm': [number + ' minuti', number + ' minutit'],
21532            'h': ['ühe tunni', 'tund aega', 'üks tund'],
21533            'hh': [number + ' tunni', number + ' tundi'],
21534            'd': ['ühe päeva', 'üks päev'],
21535            'M': ['kuu aja', 'kuu aega', 'üks kuu'],
21536            'MM': [number + ' kuu', number + ' kuud'],
21537            'y': ['ühe aasta', 'aasta', 'üks aasta'],
21538            'yy': [number + ' aasta', number + ' aastat']
21539        };
21540        if (withoutSuffix) {
21541            return format[key][2] ? format[key][2] : format[key][1];
21542        }
21543        return isFuture ? format[key][0] : format[key][1];
21544    }
21545
21546    var et = moment.defineLocale('et', {
21547        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
21548        monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
21549        weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
21550        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
21551        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
21552        longDateFormat: {
21553            LT: 'H:mm',
21554            LTS: 'H:mm:ss',
21555            L: 'DD.MM.YYYY',
21556            LL: 'D. MMMM YYYY',
21557            LLL: 'D. MMMM YYYY H:mm',
21558            LLLL: 'dddd, D. MMMM YYYY H:mm'
21559        },
21560        calendar: {
21561            sameDay: '[Täna,] LT',
21562            nextDay: '[Homme,] LT',
21563            nextWeek: '[Järgmine] dddd LT',
21564            lastDay: '[Eile,] LT',
21565            lastWeek: '[Eelmine] dddd LT',
21566            sameElse: 'L'
21567        },
21568        relativeTime: {
21569            future: '%s pärast',
21570            past: '%s tagasi',
21571            s: processRelativeTime,
21572            ss: processRelativeTime,
21573            m: processRelativeTime,
21574            mm: processRelativeTime,
21575            h: processRelativeTime,
21576            hh: processRelativeTime,
21577            d: processRelativeTime,
21578            dd: '%d päeva',
21579            M: processRelativeTime,
21580            MM: processRelativeTime,
21581            y: processRelativeTime,
21582            yy: processRelativeTime
21583        },
21584        dayOfMonthOrdinalParse: /\d{1,2}\./,
21585        ordinal: '%d.',
21586        week: {
21587            dow: 1, // Monday is the first day of the week.
21588            doy: 4 // The week that contains Jan 4th is the first week of the year.
21589        }
21590    });
21591
21592    return et;
21593});
21594
21595/***/ }),
21596/* 100 */
21597/***/ (function(module, exports, __webpack_require__) {
21598
21599"use strict";
21600var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21601
21602var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21603
21604//! moment.js locale configuration
21605
21606;(function (global, factory) {
21607    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21608				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21609				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21610				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21611})(undefined, function (moment) {
21612    'use strict';
21613
21614    var eu = moment.defineLocale('eu', {
21615        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
21616        monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
21617        monthsParseExact: true,
21618        weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
21619        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
21620        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
21621        weekdaysParseExact: true,
21622        longDateFormat: {
21623            LT: 'HH:mm',
21624            LTS: 'HH:mm:ss',
21625            L: 'YYYY-MM-DD',
21626            LL: 'YYYY[ko] MMMM[ren] D[a]',
21627            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
21628            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
21629            l: 'YYYY-M-D',
21630            ll: 'YYYY[ko] MMM D[a]',
21631            lll: 'YYYY[ko] MMM D[a] HH:mm',
21632            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'
21633        },
21634        calendar: {
21635            sameDay: '[gaur] LT[etan]',
21636            nextDay: '[bihar] LT[etan]',
21637            nextWeek: 'dddd LT[etan]',
21638            lastDay: '[atzo] LT[etan]',
21639            lastWeek: '[aurreko] dddd LT[etan]',
21640            sameElse: 'L'
21641        },
21642        relativeTime: {
21643            future: '%s barru',
21644            past: 'duela %s',
21645            s: 'segundo batzuk',
21646            ss: '%d segundo',
21647            m: 'minutu bat',
21648            mm: '%d minutu',
21649            h: 'ordu bat',
21650            hh: '%d ordu',
21651            d: 'egun bat',
21652            dd: '%d egun',
21653            M: 'hilabete bat',
21654            MM: '%d hilabete',
21655            y: 'urte bat',
21656            yy: '%d urte'
21657        },
21658        dayOfMonthOrdinalParse: /\d{1,2}\./,
21659        ordinal: '%d.',
21660        week: {
21661            dow: 1, // Monday is the first day of the week.
21662            doy: 7 // The week that contains Jan 1st is the first week of the year.
21663        }
21664    });
21665
21666    return eu;
21667});
21668
21669/***/ }),
21670/* 101 */
21671/***/ (function(module, exports, __webpack_require__) {
21672
21673"use strict";
21674var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21675
21676var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21677
21678//! moment.js locale configuration
21679
21680;(function (global, factory) {
21681    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21682				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21683				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21684				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21685})(undefined, function (moment) {
21686    'use strict';
21687
21688    var symbolMap = {
21689        '1': 'Û±',
21690        '2': 'Û²',
21691        '3': 'Û³',
21692        '4': 'Û´',
21693        '5': 'Ûµ',
21694        '6': 'Û¶',
21695        '7': 'Û·',
21696        '8': 'Û¸',
21697        '9': 'Û¹',
21698        '0': 'Û°'
21699    },
21700        numberMap = {
21701        'Û±': '1',
21702        'Û²': '2',
21703        'Û³': '3',
21704        'Û´': '4',
21705        'Ûµ': '5',
21706        'Û¶': '6',
21707        'Û·': '7',
21708        'Û¸': '8',
21709        'Û¹': '9',
21710        'Û°': '0'
21711    };
21712
21713    var fa = moment.defineLocale('fa', {
21714        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
21715        monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
21716        weekdays: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'),
21717        weekdaysShort: '\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647'.split('_'),
21718        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
21719        weekdaysParseExact: true,
21720        longDateFormat: {
21721            LT: 'HH:mm',
21722            LTS: 'HH:mm:ss',
21723            L: 'DD/MM/YYYY',
21724            LL: 'D MMMM YYYY',
21725            LLL: 'D MMMM YYYY HH:mm',
21726            LLLL: 'dddd, D MMMM YYYY HH:mm'
21727        },
21728        meridiemParse: /قبل از ظهر|بعد از ظهر/,
21729        isPM: function isPM(input) {
21730            return (/بعد از ظهر/.test(input)
21731            );
21732        },
21733        meridiem: function meridiem(hour, minute, isLower) {
21734            if (hour < 12) {
21735                return 'قبل از ظهر';
21736            } else {
21737                return 'بعد از ظهر';
21738            }
21739        },
21740        calendar: {
21741            sameDay: '[امروز ساعت] LT',
21742            nextDay: '[فردا ساعت] LT',
21743            nextWeek: 'dddd [ساعت] LT',
21744            lastDay: '[دیروز ساعت] LT',
21745            lastWeek: 'dddd [پیش] [ساعت] LT',
21746            sameElse: 'L'
21747        },
21748        relativeTime: {
21749            future: 'در %s',
21750            past: '%s پیش',
21751            s: 'چند ثانیه',
21752            ss: 'ثانیه d%',
21753            m: 'یک دقیقه',
21754            mm: '%d دقیقه',
21755            h: 'یک ساعت',
21756            hh: '%d ساعت',
21757            d: 'یک روز',
21758            dd: '%d روز',
21759            M: 'یک ماه',
21760            MM: '%d ماه',
21761            y: 'یک سال',
21762            yy: '%d سال'
21763        },
21764        preparse: function preparse(string) {
21765            return string.replace(/[Û°-Û¹]/g, function (match) {
21766                return numberMap[match];
21767            }).replace(/،/g, ',');
21768        },
21769        postformat: function postformat(string) {
21770            return string.replace(/\d/g, function (match) {
21771                return symbolMap[match];
21772            }).replace(/,/g, '،');
21773        },
21774        dayOfMonthOrdinalParse: /\d{1,2}م/,
21775        ordinal: '%dم',
21776        week: {
21777            dow: 6, // Saturday is the first day of the week.
21778            doy: 12 // The week that contains Jan 1st is the first week of the year.
21779        }
21780    });
21781
21782    return fa;
21783});
21784
21785/***/ }),
21786/* 102 */
21787/***/ (function(module, exports, __webpack_require__) {
21788
21789"use strict";
21790var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21791
21792var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21793
21794//! moment.js locale configuration
21795
21796;(function (global, factory) {
21797    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21798				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21799				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21800				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21801})(undefined, function (moment) {
21802    'use strict';
21803
21804    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
21805        numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]];
21806    function translate(number, withoutSuffix, key, isFuture) {
21807        var result = '';
21808        switch (key) {
21809            case 's':
21810                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
21811            case 'ss':
21812                return isFuture ? 'sekunnin' : 'sekuntia';
21813            case 'm':
21814                return isFuture ? 'minuutin' : 'minuutti';
21815            case 'mm':
21816                result = isFuture ? 'minuutin' : 'minuuttia';
21817                break;
21818            case 'h':
21819                return isFuture ? 'tunnin' : 'tunti';
21820            case 'hh':
21821                result = isFuture ? 'tunnin' : 'tuntia';
21822                break;
21823            case 'd':
21824                return isFuture ? 'päivän' : 'päivä';
21825            case 'dd':
21826                result = isFuture ? 'päivän' : 'päivää';
21827                break;
21828            case 'M':
21829                return isFuture ? 'kuukauden' : 'kuukausi';
21830            case 'MM':
21831                result = isFuture ? 'kuukauden' : 'kuukautta';
21832                break;
21833            case 'y':
21834                return isFuture ? 'vuoden' : 'vuosi';
21835            case 'yy':
21836                result = isFuture ? 'vuoden' : 'vuotta';
21837                break;
21838        }
21839        result = verbalNumber(number, isFuture) + ' ' + result;
21840        return result;
21841    }
21842    function verbalNumber(number, isFuture) {
21843        return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;
21844    }
21845
21846    var fi = moment.defineLocale('fi', {
21847        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
21848        monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
21849        weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
21850        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
21851        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
21852        longDateFormat: {
21853            LT: 'HH.mm',
21854            LTS: 'HH.mm.ss',
21855            L: 'DD.MM.YYYY',
21856            LL: 'Do MMMM[ta] YYYY',
21857            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
21858            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
21859            l: 'D.M.YYYY',
21860            ll: 'Do MMM YYYY',
21861            lll: 'Do MMM YYYY, [klo] HH.mm',
21862            llll: 'ddd, Do MMM YYYY, [klo] HH.mm'
21863        },
21864        calendar: {
21865            sameDay: '[tänään] [klo] LT',
21866            nextDay: '[huomenna] [klo] LT',
21867            nextWeek: 'dddd [klo] LT',
21868            lastDay: '[eilen] [klo] LT',
21869            lastWeek: '[viime] dddd[na] [klo] LT',
21870            sameElse: 'L'
21871        },
21872        relativeTime: {
21873            future: '%s päästä',
21874            past: '%s sitten',
21875            s: translate,
21876            ss: translate,
21877            m: translate,
21878            mm: translate,
21879            h: translate,
21880            hh: translate,
21881            d: translate,
21882            dd: translate,
21883            M: translate,
21884            MM: translate,
21885            y: translate,
21886            yy: translate
21887        },
21888        dayOfMonthOrdinalParse: /\d{1,2}\./,
21889        ordinal: '%d.',
21890        week: {
21891            dow: 1, // Monday is the first day of the week.
21892            doy: 4 // The week that contains Jan 4th is the first week of the year.
21893        }
21894    });
21895
21896    return fi;
21897});
21898
21899/***/ }),
21900/* 103 */
21901/***/ (function(module, exports, __webpack_require__) {
21902
21903"use strict";
21904var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21905
21906var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21907
21908//! moment.js locale configuration
21909
21910;(function (global, factory) {
21911    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21912				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21913				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21914				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21915})(undefined, function (moment) {
21916    'use strict';
21917
21918    var fo = moment.defineLocale('fo', {
21919        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
21920        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
21921        weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
21922        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
21923        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
21924        longDateFormat: {
21925            LT: 'HH:mm',
21926            LTS: 'HH:mm:ss',
21927            L: 'DD/MM/YYYY',
21928            LL: 'D MMMM YYYY',
21929            LLL: 'D MMMM YYYY HH:mm',
21930            LLLL: 'dddd D. MMMM, YYYY HH:mm'
21931        },
21932        calendar: {
21933            sameDay: '[Í dag kl.] LT',
21934            nextDay: '[Í morgin kl.] LT',
21935            nextWeek: 'dddd [kl.] LT',
21936            lastDay: '[Í gjár kl.] LT',
21937            lastWeek: '[síðstu] dddd [kl] LT',
21938            sameElse: 'L'
21939        },
21940        relativeTime: {
21941            future: 'um %s',
21942            past: '%s síðani',
21943            s: 'fá sekund',
21944            ss: '%d sekundir',
21945            m: 'ein minutt',
21946            mm: '%d minuttir',
21947            h: 'ein tími',
21948            hh: '%d tímar',
21949            d: 'ein dagur',
21950            dd: '%d dagar',
21951            M: 'ein mánaði',
21952            MM: '%d mánaðir',
21953            y: 'eitt ár',
21954            yy: '%d ár'
21955        },
21956        dayOfMonthOrdinalParse: /\d{1,2}\./,
21957        ordinal: '%d.',
21958        week: {
21959            dow: 1, // Monday is the first day of the week.
21960            doy: 4 // The week that contains Jan 4th is the first week of the year.
21961        }
21962    });
21963
21964    return fo;
21965});
21966
21967/***/ }),
21968/* 104 */
21969/***/ (function(module, exports, __webpack_require__) {
21970
21971"use strict";
21972var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
21973
21974var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
21975
21976//! moment.js locale configuration
21977
21978;(function (global, factory) {
21979    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
21980				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
21981				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
21982				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
21983})(undefined, function (moment) {
21984    'use strict';
21985
21986    var frCa = moment.defineLocale('fr-ca', {
21987        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
21988        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
21989        monthsParseExact: true,
21990        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
21991        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
21992        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
21993        weekdaysParseExact: true,
21994        longDateFormat: {
21995            LT: 'HH:mm',
21996            LTS: 'HH:mm:ss',
21997            L: 'YYYY-MM-DD',
21998            LL: 'D MMMM YYYY',
21999            LLL: 'D MMMM YYYY HH:mm',
22000            LLLL: 'dddd D MMMM YYYY HH:mm'
22001        },
22002        calendar: {
22003            sameDay: '[Aujourd’hui à] LT',
22004            nextDay: '[Demain à] LT',
22005            nextWeek: 'dddd [à] LT',
22006            lastDay: '[Hier à] LT',
22007            lastWeek: 'dddd [dernier à] LT',
22008            sameElse: 'L'
22009        },
22010        relativeTime: {
22011            future: 'dans %s',
22012            past: 'il y a %s',
22013            s: 'quelques secondes',
22014            ss: '%d secondes',
22015            m: 'une minute',
22016            mm: '%d minutes',
22017            h: 'une heure',
22018            hh: '%d heures',
22019            d: 'un jour',
22020            dd: '%d jours',
22021            M: 'un mois',
22022            MM: '%d mois',
22023            y: 'un an',
22024            yy: '%d ans'
22025        },
22026        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
22027        ordinal: function ordinal(number, period) {
22028            switch (period) {
22029                // Words with masculine grammatical gender: mois, trimestre, jour
22030                default:
22031                case 'M':
22032                case 'Q':
22033                case 'D':
22034                case 'DDD':
22035                case 'd':
22036                    return number + (number === 1 ? 'er' : 'e');
22037
22038                // Words with feminine grammatical gender: semaine
22039                case 'w':
22040                case 'W':
22041                    return number + (number === 1 ? 're' : 'e');
22042            }
22043        }
22044    });
22045
22046    return frCa;
22047});
22048
22049/***/ }),
22050/* 105 */
22051/***/ (function(module, exports, __webpack_require__) {
22052
22053"use strict";
22054var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22055
22056var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22057
22058//! moment.js locale configuration
22059
22060;(function (global, factory) {
22061    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22062				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22063				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22064				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22065})(undefined, function (moment) {
22066    'use strict';
22067
22068    var frCh = moment.defineLocale('fr-ch', {
22069        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
22070        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
22071        monthsParseExact: true,
22072        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
22073        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
22074        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
22075        weekdaysParseExact: true,
22076        longDateFormat: {
22077            LT: 'HH:mm',
22078            LTS: 'HH:mm:ss',
22079            L: 'DD.MM.YYYY',
22080            LL: 'D MMMM YYYY',
22081            LLL: 'D MMMM YYYY HH:mm',
22082            LLLL: 'dddd D MMMM YYYY HH:mm'
22083        },
22084        calendar: {
22085            sameDay: '[Aujourd’hui à] LT',
22086            nextDay: '[Demain à] LT',
22087            nextWeek: 'dddd [à] LT',
22088            lastDay: '[Hier à] LT',
22089            lastWeek: 'dddd [dernier à] LT',
22090            sameElse: 'L'
22091        },
22092        relativeTime: {
22093            future: 'dans %s',
22094            past: 'il y a %s',
22095            s: 'quelques secondes',
22096            ss: '%d secondes',
22097            m: 'une minute',
22098            mm: '%d minutes',
22099            h: 'une heure',
22100            hh: '%d heures',
22101            d: 'un jour',
22102            dd: '%d jours',
22103            M: 'un mois',
22104            MM: '%d mois',
22105            y: 'un an',
22106            yy: '%d ans'
22107        },
22108        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
22109        ordinal: function ordinal(number, period) {
22110            switch (period) {
22111                // Words with masculine grammatical gender: mois, trimestre, jour
22112                default:
22113                case 'M':
22114                case 'Q':
22115                case 'D':
22116                case 'DDD':
22117                case 'd':
22118                    return number + (number === 1 ? 'er' : 'e');
22119
22120                // Words with feminine grammatical gender: semaine
22121                case 'w':
22122                case 'W':
22123                    return number + (number === 1 ? 're' : 'e');
22124            }
22125        },
22126        week: {
22127            dow: 1, // Monday is the first day of the week.
22128            doy: 4 // The week that contains Jan 4th is the first week of the year.
22129        }
22130    });
22131
22132    return frCh;
22133});
22134
22135/***/ }),
22136/* 106 */
22137/***/ (function(module, exports, __webpack_require__) {
22138
22139"use strict";
22140var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22141
22142var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22143
22144//! moment.js locale configuration
22145
22146;(function (global, factory) {
22147    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22148				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22149				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22150				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22151})(undefined, function (moment) {
22152    'use strict';
22153
22154    var fr = moment.defineLocale('fr', {
22155        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
22156        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
22157        monthsParseExact: true,
22158        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
22159        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
22160        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
22161        weekdaysParseExact: true,
22162        longDateFormat: {
22163            LT: 'HH:mm',
22164            LTS: 'HH:mm:ss',
22165            L: 'DD/MM/YYYY',
22166            LL: 'D MMMM YYYY',
22167            LLL: 'D MMMM YYYY HH:mm',
22168            LLLL: 'dddd D MMMM YYYY HH:mm'
22169        },
22170        calendar: {
22171            sameDay: '[Aujourd’hui à] LT',
22172            nextDay: '[Demain à] LT',
22173            nextWeek: 'dddd [à] LT',
22174            lastDay: '[Hier à] LT',
22175            lastWeek: 'dddd [dernier à] LT',
22176            sameElse: 'L'
22177        },
22178        relativeTime: {
22179            future: 'dans %s',
22180            past: 'il y a %s',
22181            s: 'quelques secondes',
22182            ss: '%d secondes',
22183            m: 'une minute',
22184            mm: '%d minutes',
22185            h: 'une heure',
22186            hh: '%d heures',
22187            d: 'un jour',
22188            dd: '%d jours',
22189            M: 'un mois',
22190            MM: '%d mois',
22191            y: 'un an',
22192            yy: '%d ans'
22193        },
22194        dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
22195        ordinal: function ordinal(number, period) {
22196            switch (period) {
22197                // TODO: Return 'e' when day of month > 1. Move this case inside
22198                // block for masculine words below.
22199                // See https://github.com/moment/moment/issues/3375
22200                case 'D':
22201                    return number + (number === 1 ? 'er' : '');
22202
22203                // Words with masculine grammatical gender: mois, trimestre, jour
22204                default:
22205                case 'M':
22206                case 'Q':
22207                case 'DDD':
22208                case 'd':
22209                    return number + (number === 1 ? 'er' : 'e');
22210
22211                // Words with feminine grammatical gender: semaine
22212                case 'w':
22213                case 'W':
22214                    return number + (number === 1 ? 're' : 'e');
22215            }
22216        },
22217        week: {
22218            dow: 1, // Monday is the first day of the week.
22219            doy: 4 // The week that contains Jan 4th is the first week of the year.
22220        }
22221    });
22222
22223    return fr;
22224});
22225
22226/***/ }),
22227/* 107 */
22228/***/ (function(module, exports, __webpack_require__) {
22229
22230"use strict";
22231var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22232
22233var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22234
22235//! moment.js locale configuration
22236
22237;(function (global, factory) {
22238    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22239				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22240				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22241				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22242})(undefined, function (moment) {
22243    'use strict';
22244
22245    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
22246        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
22247
22248    var fy = moment.defineLocale('fy', {
22249        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
22250        monthsShort: function monthsShort(m, format) {
22251            if (!m) {
22252                return monthsShortWithDots;
22253            } else if (/-MMM-/.test(format)) {
22254                return monthsShortWithoutDots[m.month()];
22255            } else {
22256                return monthsShortWithDots[m.month()];
22257            }
22258        },
22259        monthsParseExact: true,
22260        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
22261        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
22262        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
22263        weekdaysParseExact: true,
22264        longDateFormat: {
22265            LT: 'HH:mm',
22266            LTS: 'HH:mm:ss',
22267            L: 'DD-MM-YYYY',
22268            LL: 'D MMMM YYYY',
22269            LLL: 'D MMMM YYYY HH:mm',
22270            LLLL: 'dddd D MMMM YYYY HH:mm'
22271        },
22272        calendar: {
22273            sameDay: '[hjoed om] LT',
22274            nextDay: '[moarn om] LT',
22275            nextWeek: 'dddd [om] LT',
22276            lastDay: '[juster om] LT',
22277            lastWeek: '[ôfrûne] dddd [om] LT',
22278            sameElse: 'L'
22279        },
22280        relativeTime: {
22281            future: 'oer %s',
22282            past: '%s lyn',
22283            s: 'in pear sekonden',
22284            ss: '%d sekonden',
22285            m: 'ien minút',
22286            mm: '%d minuten',
22287            h: 'ien oere',
22288            hh: '%d oeren',
22289            d: 'ien dei',
22290            dd: '%d dagen',
22291            M: 'ien moanne',
22292            MM: '%d moannen',
22293            y: 'ien jier',
22294            yy: '%d jierren'
22295        },
22296        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
22297        ordinal: function ordinal(number) {
22298            return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');
22299        },
22300        week: {
22301            dow: 1, // Monday is the first day of the week.
22302            doy: 4 // The week that contains Jan 4th is the first week of the year.
22303        }
22304    });
22305
22306    return fy;
22307});
22308
22309/***/ }),
22310/* 108 */
22311/***/ (function(module, exports, __webpack_require__) {
22312
22313"use strict";
22314var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22315
22316var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22317
22318//! moment.js locale configuration
22319
22320;(function (global, factory) {
22321    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22322				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22323				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22324				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22325})(undefined, function (moment) {
22326    'use strict';
22327
22328    var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'];
22329
22330    var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
22331
22332    var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
22333
22334    var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
22335
22336    var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
22337
22338    var gd = moment.defineLocale('gd', {
22339        months: months,
22340        monthsShort: monthsShort,
22341        monthsParseExact: true,
22342        weekdays: weekdays,
22343        weekdaysShort: weekdaysShort,
22344        weekdaysMin: weekdaysMin,
22345        longDateFormat: {
22346            LT: 'HH:mm',
22347            LTS: 'HH:mm:ss',
22348            L: 'DD/MM/YYYY',
22349            LL: 'D MMMM YYYY',
22350            LLL: 'D MMMM YYYY HH:mm',
22351            LLLL: 'dddd, D MMMM YYYY HH:mm'
22352        },
22353        calendar: {
22354            sameDay: '[An-diugh aig] LT',
22355            nextDay: '[A-màireach aig] LT',
22356            nextWeek: 'dddd [aig] LT',
22357            lastDay: '[An-dè aig] LT',
22358            lastWeek: 'dddd [seo chaidh] [aig] LT',
22359            sameElse: 'L'
22360        },
22361        relativeTime: {
22362            future: 'ann an %s',
22363            past: 'bho chionn %s',
22364            s: 'beagan diogan',
22365            ss: '%d diogan',
22366            m: 'mionaid',
22367            mm: '%d mionaidean',
22368            h: 'uair',
22369            hh: '%d uairean',
22370            d: 'latha',
22371            dd: '%d latha',
22372            M: 'mìos',
22373            MM: '%d mìosan',
22374            y: 'bliadhna',
22375            yy: '%d bliadhna'
22376        },
22377        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
22378        ordinal: function ordinal(number) {
22379            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
22380            return number + output;
22381        },
22382        week: {
22383            dow: 1, // Monday is the first day of the week.
22384            doy: 4 // The week that contains Jan 4th is the first week of the year.
22385        }
22386    });
22387
22388    return gd;
22389});
22390
22391/***/ }),
22392/* 109 */
22393/***/ (function(module, exports, __webpack_require__) {
22394
22395"use strict";
22396var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22397
22398var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22399
22400//! moment.js locale configuration
22401
22402;(function (global, factory) {
22403    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22404				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22405				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22406				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22407})(undefined, function (moment) {
22408    'use strict';
22409
22410    var gl = moment.defineLocale('gl', {
22411        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
22412        monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
22413        monthsParseExact: true,
22414        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
22415        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
22416        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
22417        weekdaysParseExact: true,
22418        longDateFormat: {
22419            LT: 'H:mm',
22420            LTS: 'H:mm:ss',
22421            L: 'DD/MM/YYYY',
22422            LL: 'D [de] MMMM [de] YYYY',
22423            LLL: 'D [de] MMMM [de] YYYY H:mm',
22424            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'
22425        },
22426        calendar: {
22427            sameDay: function sameDay() {
22428                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
22429            },
22430            nextDay: function nextDay() {
22431                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
22432            },
22433            nextWeek: function nextWeek() {
22434                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
22435            },
22436            lastDay: function lastDay() {
22437                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
22438            },
22439            lastWeek: function lastWeek() {
22440                return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
22441            },
22442            sameElse: 'L'
22443        },
22444        relativeTime: {
22445            future: function future(str) {
22446                if (str.indexOf('un') === 0) {
22447                    return 'n' + str;
22448                }
22449                return 'en ' + str;
22450            },
22451            past: 'hai %s',
22452            s: 'uns segundos',
22453            ss: '%d segundos',
22454            m: 'un minuto',
22455            mm: '%d minutos',
22456            h: 'unha hora',
22457            hh: '%d horas',
22458            d: 'un día',
22459            dd: '%d días',
22460            M: 'un mes',
22461            MM: '%d meses',
22462            y: 'un ano',
22463            yy: '%d anos'
22464        },
22465        dayOfMonthOrdinalParse: /\d{1,2}º/,
22466        ordinal: '%dº',
22467        week: {
22468            dow: 1, // Monday is the first day of the week.
22469            doy: 4 // The week that contains Jan 4th is the first week of the year.
22470        }
22471    });
22472
22473    return gl;
22474});
22475
22476/***/ }),
22477/* 110 */
22478/***/ (function(module, exports, __webpack_require__) {
22479
22480"use strict";
22481var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22482
22483var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22484
22485//! moment.js locale configuration
22486
22487;(function (global, factory) {
22488    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22489				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22490				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22491				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22492})(undefined, function (moment) {
22493    'use strict';
22494
22495    function processRelativeTime(number, withoutSuffix, key, isFuture) {
22496        var format = {
22497            's': ['thodde secondanim', 'thodde second'],
22498            'ss': [number + ' secondanim', number + ' second'],
22499            'm': ['eka mintan', 'ek minute'],
22500            'mm': [number + ' mintanim', number + ' mintam'],
22501            'h': ['eka horan', 'ek hor'],
22502            'hh': [number + ' horanim', number + ' horam'],
22503            'd': ['eka disan', 'ek dis'],
22504            'dd': [number + ' disanim', number + ' dis'],
22505            'M': ['eka mhoinean', 'ek mhoino'],
22506            'MM': [number + ' mhoineanim', number + ' mhoine'],
22507            'y': ['eka vorsan', 'ek voros'],
22508            'yy': [number + ' vorsanim', number + ' vorsam']
22509        };
22510        return withoutSuffix ? format[key][0] : format[key][1];
22511    }
22512
22513    var gomLatn = moment.defineLocale('gom-latn', {
22514        months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
22515        monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
22516        monthsParseExact: true,
22517        weekdays: 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
22518        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
22519        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
22520        weekdaysParseExact: true,
22521        longDateFormat: {
22522            LT: 'A h:mm [vazta]',
22523            LTS: 'A h:mm:ss [vazta]',
22524            L: 'DD-MM-YYYY',
22525            LL: 'D MMMM YYYY',
22526            LLL: 'D MMMM YYYY A h:mm [vazta]',
22527            LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
22528            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
22529        },
22530        calendar: {
22531            sameDay: '[Aiz] LT',
22532            nextDay: '[Faleam] LT',
22533            nextWeek: '[Ieta to] dddd[,] LT',
22534            lastDay: '[Kal] LT',
22535            lastWeek: '[Fatlo] dddd[,] LT',
22536            sameElse: 'L'
22537        },
22538        relativeTime: {
22539            future: '%s',
22540            past: '%s adim',
22541            s: processRelativeTime,
22542            ss: processRelativeTime,
22543            m: processRelativeTime,
22544            mm: processRelativeTime,
22545            h: processRelativeTime,
22546            hh: processRelativeTime,
22547            d: processRelativeTime,
22548            dd: processRelativeTime,
22549            M: processRelativeTime,
22550            MM: processRelativeTime,
22551            y: processRelativeTime,
22552            yy: processRelativeTime
22553        },
22554        dayOfMonthOrdinalParse: /\d{1,2}(er)/,
22555        ordinal: function ordinal(number, period) {
22556            switch (period) {
22557                // the ordinal 'er' only applies to day of the month
22558                case 'D':
22559                    return number + 'er';
22560                default:
22561                case 'M':
22562                case 'Q':
22563                case 'DDD':
22564                case 'd':
22565                case 'w':
22566                case 'W':
22567                    return number;
22568            }
22569        },
22570        week: {
22571            dow: 1, // Monday is the first day of the week.
22572            doy: 4 // The week that contains Jan 4th is the first week of the year.
22573        },
22574        meridiemParse: /rati|sokalli|donparam|sanje/,
22575        meridiemHour: function meridiemHour(hour, meridiem) {
22576            if (hour === 12) {
22577                hour = 0;
22578            }
22579            if (meridiem === 'rati') {
22580                return hour < 4 ? hour : hour + 12;
22581            } else if (meridiem === 'sokalli') {
22582                return hour;
22583            } else if (meridiem === 'donparam') {
22584                return hour > 12 ? hour : hour + 12;
22585            } else if (meridiem === 'sanje') {
22586                return hour + 12;
22587            }
22588        },
22589        meridiem: function meridiem(hour, minute, isLower) {
22590            if (hour < 4) {
22591                return 'rati';
22592            } else if (hour < 12) {
22593                return 'sokalli';
22594            } else if (hour < 16) {
22595                return 'donparam';
22596            } else if (hour < 20) {
22597                return 'sanje';
22598            } else {
22599                return 'rati';
22600            }
22601        }
22602    });
22603
22604    return gomLatn;
22605});
22606
22607/***/ }),
22608/* 111 */
22609/***/ (function(module, exports, __webpack_require__) {
22610
22611"use strict";
22612var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22613
22614var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22615
22616//! moment.js locale configuration
22617
22618;(function (global, factory) {
22619    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22620				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22621				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22622				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22623})(undefined, function (moment) {
22624    'use strict';
22625
22626    var symbolMap = {
22627        '1': 'à«§',
22628        '2': '૨',
22629        '3': 'à«©',
22630        '4': '૪',
22631        '5': 'à««',
22632        '6': '૬',
22633        '7': 'à«­',
22634        '8': 'à«®',
22635        '9': '૯',
22636        '0': '૦'
22637    },
22638        numberMap = {
22639        'à«§': '1',
22640        '૨': '2',
22641        'à«©': '3',
22642        '૪': '4',
22643        'à««': '5',
22644        '૬': '6',
22645        'à«­': '7',
22646        'à«®': '8',
22647        '૯': '9',
22648        '૦': '0'
22649    };
22650
22651    var gu = moment.defineLocale('gu', {
22652        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
22653        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
22654        monthsParseExact: true,
22655        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
22656        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
22657        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
22658        longDateFormat: {
22659            LT: 'A h:mm વાગ્યે',
22660            LTS: 'A h:mm:ss વાગ્યે',
22661            L: 'DD/MM/YYYY',
22662            LL: 'D MMMM YYYY',
22663            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
22664            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
22665        },
22666        calendar: {
22667            sameDay: '[આજ] LT',
22668            nextDay: '[કાલે] LT',
22669            nextWeek: 'dddd, LT',
22670            lastDay: '[ગઇકાલે] LT',
22671            lastWeek: '[પાછલા] dddd, LT',
22672            sameElse: 'L'
22673        },
22674        relativeTime: {
22675            future: '%s મા',
22676            past: '%s પેહલા',
22677            s: 'અમુક પળો',
22678            ss: '%d સેકંડ',
22679            m: 'એક મિનિટ',
22680            mm: '%d મિનિટ',
22681            h: 'એક કલાક',
22682            hh: '%d કલાક',
22683            d: 'એક દિવસ',
22684            dd: '%d દિવસ',
22685            M: 'એક મહિનો',
22686            MM: '%d મહિનો',
22687            y: 'એક વર્ષ',
22688            yy: '%d વર્ષ'
22689        },
22690        preparse: function preparse(string) {
22691            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
22692                return numberMap[match];
22693            });
22694        },
22695        postformat: function postformat(string) {
22696            return string.replace(/\d/g, function (match) {
22697                return symbolMap[match];
22698            });
22699        },
22700        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
22701        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
22702        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
22703        meridiemHour: function meridiemHour(hour, meridiem) {
22704            if (hour === 12) {
22705                hour = 0;
22706            }
22707            if (meridiem === 'રાત') {
22708                return hour < 4 ? hour : hour + 12;
22709            } else if (meridiem === 'સવાર') {
22710                return hour;
22711            } else if (meridiem === 'બપોર') {
22712                return hour >= 10 ? hour : hour + 12;
22713            } else if (meridiem === 'સાંજ') {
22714                return hour + 12;
22715            }
22716        },
22717        meridiem: function meridiem(hour, minute, isLower) {
22718            if (hour < 4) {
22719                return 'રાત';
22720            } else if (hour < 10) {
22721                return 'સવાર';
22722            } else if (hour < 17) {
22723                return 'બપોર';
22724            } else if (hour < 20) {
22725                return 'સાંજ';
22726            } else {
22727                return 'રાત';
22728            }
22729        },
22730        week: {
22731            dow: 0, // Sunday is the first day of the week.
22732            doy: 6 // The week that contains Jan 1st is the first week of the year.
22733        }
22734    });
22735
22736    return gu;
22737});
22738
22739/***/ }),
22740/* 112 */
22741/***/ (function(module, exports, __webpack_require__) {
22742
22743"use strict";
22744var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22745
22746var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22747
22748//! moment.js locale configuration
22749
22750;(function (global, factory) {
22751    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22752				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22753				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22754				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22755})(undefined, function (moment) {
22756    'use strict';
22757
22758    var he = moment.defineLocale('he', {
22759        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
22760        monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
22761        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
22762        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
22763        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
22764        longDateFormat: {
22765            LT: 'HH:mm',
22766            LTS: 'HH:mm:ss',
22767            L: 'DD/MM/YYYY',
22768            LL: 'D [ב]MMMM YYYY',
22769            LLL: 'D [ב]MMMM YYYY HH:mm',
22770            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
22771            l: 'D/M/YYYY',
22772            ll: 'D MMM YYYY',
22773            lll: 'D MMM YYYY HH:mm',
22774            llll: 'ddd, D MMM YYYY HH:mm'
22775        },
22776        calendar: {
22777            sameDay: '[היום ב־]LT',
22778            nextDay: '[מחר ב־]LT',
22779            nextWeek: 'dddd [בשעה] LT',
22780            lastDay: '[אתמול ב־]LT',
22781            lastWeek: '[ביום] dddd [האחרון בשעה] LT',
22782            sameElse: 'L'
22783        },
22784        relativeTime: {
22785            future: 'בעוד %s',
22786            past: 'לפני %s',
22787            s: 'מספר שניות',
22788            ss: '%d שניות',
22789            m: 'דקה',
22790            mm: '%d דקות',
22791            h: 'שעה',
22792            hh: function hh(number) {
22793                if (number === 2) {
22794                    return 'שעתיים';
22795                }
22796                return number + ' שעות';
22797            },
22798            d: 'יום',
22799            dd: function dd(number) {
22800                if (number === 2) {
22801                    return 'יומיים';
22802                }
22803                return number + ' ימים';
22804            },
22805            M: 'חודש',
22806            MM: function MM(number) {
22807                if (number === 2) {
22808                    return 'חודשיים';
22809                }
22810                return number + ' חודשים';
22811            },
22812            y: 'שנה',
22813            yy: function yy(number) {
22814                if (number === 2) {
22815                    return 'שנתיים';
22816                } else if (number % 10 === 0 && number !== 10) {
22817                    return number + ' שנה';
22818                }
22819                return number + ' שנים';
22820            }
22821        },
22822        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
22823        isPM: function isPM(input) {
22824            return (/^(אחה"צ|אחרי הצהריים|בערב)$/.test(input)
22825            );
22826        },
22827        meridiem: function meridiem(hour, minute, isLower) {
22828            if (hour < 5) {
22829                return 'לפנות בוקר';
22830            } else if (hour < 10) {
22831                return 'בבוקר';
22832            } else if (hour < 12) {
22833                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
22834            } else if (hour < 18) {
22835                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
22836            } else {
22837                return 'בערב';
22838            }
22839        }
22840    });
22841
22842    return he;
22843});
22844
22845/***/ }),
22846/* 113 */
22847/***/ (function(module, exports, __webpack_require__) {
22848
22849"use strict";
22850var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22851
22852var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22853
22854//! moment.js locale configuration
22855
22856;(function (global, factory) {
22857    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22858				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22859				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22860				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22861})(undefined, function (moment) {
22862    'use strict';
22863
22864    var symbolMap = {
22865        '1': '१',
22866        '2': '२',
22867        '3': '३',
22868        '4': '४',
22869        '5': '५',
22870        '6': '६',
22871        '7': '७',
22872        '8': '८',
22873        '9': '९',
22874        '0': '०'
22875    },
22876        numberMap = {
22877        '१': '1',
22878        '२': '2',
22879        '३': '3',
22880        '४': '4',
22881        '५': '5',
22882        '६': '6',
22883        '७': '7',
22884        '८': '8',
22885        '९': '9',
22886        '०': '0'
22887    };
22888
22889    var hi = moment.defineLocale('hi', {
22890        months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
22891        monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
22892        monthsParseExact: true,
22893        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
22894        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
22895        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
22896        longDateFormat: {
22897            LT: 'A h:mm बजे',
22898            LTS: 'A h:mm:ss बजे',
22899            L: 'DD/MM/YYYY',
22900            LL: 'D MMMM YYYY',
22901            LLL: 'D MMMM YYYY, A h:mm बजे',
22902            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'
22903        },
22904        calendar: {
22905            sameDay: '[आज] LT',
22906            nextDay: '[कल] LT',
22907            nextWeek: 'dddd, LT',
22908            lastDay: '[कल] LT',
22909            lastWeek: '[पिछले] dddd, LT',
22910            sameElse: 'L'
22911        },
22912        relativeTime: {
22913            future: '%s में',
22914            past: '%s पहले',
22915            s: 'कुछ ही क्षण',
22916            ss: '%d सेकंड',
22917            m: 'एक मिनट',
22918            mm: '%d मिनट',
22919            h: 'एक घंटा',
22920            hh: '%d घंटे',
22921            d: 'एक दिन',
22922            dd: '%d दिन',
22923            M: 'एक महीने',
22924            MM: '%d महीने',
22925            y: 'एक वर्ष',
22926            yy: '%d वर्ष'
22927        },
22928        preparse: function preparse(string) {
22929            return string.replace(/[१२३४५६७८९०]/g, function (match) {
22930                return numberMap[match];
22931            });
22932        },
22933        postformat: function postformat(string) {
22934            return string.replace(/\d/g, function (match) {
22935                return symbolMap[match];
22936            });
22937        },
22938        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
22939        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
22940        meridiemParse: /रात|सुबह|दोपहर|शाम/,
22941        meridiemHour: function meridiemHour(hour, meridiem) {
22942            if (hour === 12) {
22943                hour = 0;
22944            }
22945            if (meridiem === 'रात') {
22946                return hour < 4 ? hour : hour + 12;
22947            } else if (meridiem === 'सुबह') {
22948                return hour;
22949            } else if (meridiem === 'दोपहर') {
22950                return hour >= 10 ? hour : hour + 12;
22951            } else if (meridiem === 'शाम') {
22952                return hour + 12;
22953            }
22954        },
22955        meridiem: function meridiem(hour, minute, isLower) {
22956            if (hour < 4) {
22957                return 'रात';
22958            } else if (hour < 10) {
22959                return 'सुबह';
22960            } else if (hour < 17) {
22961                return 'दोपहर';
22962            } else if (hour < 20) {
22963                return 'शाम';
22964            } else {
22965                return 'रात';
22966            }
22967        },
22968        week: {
22969            dow: 0, // Sunday is the first day of the week.
22970            doy: 6 // The week that contains Jan 1st is the first week of the year.
22971        }
22972    });
22973
22974    return hi;
22975});
22976
22977/***/ }),
22978/* 114 */
22979/***/ (function(module, exports, __webpack_require__) {
22980
22981"use strict";
22982var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
22983
22984var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
22985
22986//! moment.js locale configuration
22987
22988;(function (global, factory) {
22989    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
22990				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
22991				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
22992				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
22993})(undefined, function (moment) {
22994    'use strict';
22995
22996    function translate(number, withoutSuffix, key) {
22997        var result = number + ' ';
22998        switch (key) {
22999            case 'ss':
23000                if (number === 1) {
23001                    result += 'sekunda';
23002                } else if (number === 2 || number === 3 || number === 4) {
23003                    result += 'sekunde';
23004                } else {
23005                    result += 'sekundi';
23006                }
23007                return result;
23008            case 'm':
23009                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
23010            case 'mm':
23011                if (number === 1) {
23012                    result += 'minuta';
23013                } else if (number === 2 || number === 3 || number === 4) {
23014                    result += 'minute';
23015                } else {
23016                    result += 'minuta';
23017                }
23018                return result;
23019            case 'h':
23020                return withoutSuffix ? 'jedan sat' : 'jednog sata';
23021            case 'hh':
23022                if (number === 1) {
23023                    result += 'sat';
23024                } else if (number === 2 || number === 3 || number === 4) {
23025                    result += 'sata';
23026                } else {
23027                    result += 'sati';
23028                }
23029                return result;
23030            case 'dd':
23031                if (number === 1) {
23032                    result += 'dan';
23033                } else {
23034                    result += 'dana';
23035                }
23036                return result;
23037            case 'MM':
23038                if (number === 1) {
23039                    result += 'mjesec';
23040                } else if (number === 2 || number === 3 || number === 4) {
23041                    result += 'mjeseca';
23042                } else {
23043                    result += 'mjeseci';
23044                }
23045                return result;
23046            case 'yy':
23047                if (number === 1) {
23048                    result += 'godina';
23049                } else if (number === 2 || number === 3 || number === 4) {
23050                    result += 'godine';
23051                } else {
23052                    result += 'godina';
23053                }
23054                return result;
23055        }
23056    }
23057
23058    var hr = moment.defineLocale('hr', {
23059        months: {
23060            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
23061            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
23062        },
23063        monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
23064        monthsParseExact: true,
23065        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
23066        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
23067        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
23068        weekdaysParseExact: true,
23069        longDateFormat: {
23070            LT: 'H:mm',
23071            LTS: 'H:mm:ss',
23072            L: 'DD.MM.YYYY',
23073            LL: 'D. MMMM YYYY',
23074            LLL: 'D. MMMM YYYY H:mm',
23075            LLLL: 'dddd, D. MMMM YYYY H:mm'
23076        },
23077        calendar: {
23078            sameDay: '[danas u] LT',
23079            nextDay: '[sutra u] LT',
23080            nextWeek: function nextWeek() {
23081                switch (this.day()) {
23082                    case 0:
23083                        return '[u] [nedjelju] [u] LT';
23084                    case 3:
23085                        return '[u] [srijedu] [u] LT';
23086                    case 6:
23087                        return '[u] [subotu] [u] LT';
23088                    case 1:
23089                    case 2:
23090                    case 4:
23091                    case 5:
23092                        return '[u] dddd [u] LT';
23093                }
23094            },
23095            lastDay: '[jučer u] LT',
23096            lastWeek: function lastWeek() {
23097                switch (this.day()) {
23098                    case 0:
23099                    case 3:
23100                        return '[prošlu] dddd [u] LT';
23101                    case 6:
23102                        return '[prošle] [subote] [u] LT';
23103                    case 1:
23104                    case 2:
23105                    case 4:
23106                    case 5:
23107                        return '[prošli] dddd [u] LT';
23108                }
23109            },
23110            sameElse: 'L'
23111        },
23112        relativeTime: {
23113            future: 'za %s',
23114            past: 'prije %s',
23115            s: 'par sekundi',
23116            ss: translate,
23117            m: translate,
23118            mm: translate,
23119            h: translate,
23120            hh: translate,
23121            d: 'dan',
23122            dd: translate,
23123            M: 'mjesec',
23124            MM: translate,
23125            y: 'godinu',
23126            yy: translate
23127        },
23128        dayOfMonthOrdinalParse: /\d{1,2}\./,
23129        ordinal: '%d.',
23130        week: {
23131            dow: 1, // Monday is the first day of the week.
23132            doy: 7 // The week that contains Jan 1st is the first week of the year.
23133        }
23134    });
23135
23136    return hr;
23137});
23138
23139/***/ }),
23140/* 115 */
23141/***/ (function(module, exports, __webpack_require__) {
23142
23143"use strict";
23144var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23145
23146var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23147
23148//! moment.js locale configuration
23149
23150;(function (global, factory) {
23151    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23152				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23153				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23154				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23155})(undefined, function (moment) {
23156    'use strict';
23157
23158    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
23159    function translate(number, withoutSuffix, key, isFuture) {
23160        var num = number;
23161        switch (key) {
23162            case 's':
23163                return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';
23164            case 'ss':
23165                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
23166            case 'm':
23167                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
23168            case 'mm':
23169                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
23170            case 'h':
23171                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
23172            case 'hh':
23173                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
23174            case 'd':
23175                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
23176            case 'dd':
23177                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
23178            case 'M':
23179                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
23180            case 'MM':
23181                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
23182            case 'y':
23183                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
23184            case 'yy':
23185                return num + (isFuture || withoutSuffix ? ' év' : ' éve');
23186        }
23187        return '';
23188    }
23189    function week(isFuture) {
23190        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
23191    }
23192
23193    var hu = moment.defineLocale('hu', {
23194        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
23195        monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
23196        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
23197        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
23198        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
23199        longDateFormat: {
23200            LT: 'H:mm',
23201            LTS: 'H:mm:ss',
23202            L: 'YYYY.MM.DD.',
23203            LL: 'YYYY. MMMM D.',
23204            LLL: 'YYYY. MMMM D. H:mm',
23205            LLLL: 'YYYY. MMMM D., dddd H:mm'
23206        },
23207        meridiemParse: /de|du/i,
23208        isPM: function isPM(input) {
23209            return input.charAt(1).toLowerCase() === 'u';
23210        },
23211        meridiem: function meridiem(hours, minutes, isLower) {
23212            if (hours < 12) {
23213                return isLower === true ? 'de' : 'DE';
23214            } else {
23215                return isLower === true ? 'du' : 'DU';
23216            }
23217        },
23218        calendar: {
23219            sameDay: '[ma] LT[-kor]',
23220            nextDay: '[holnap] LT[-kor]',
23221            nextWeek: function nextWeek() {
23222                return week.call(this, true);
23223            },
23224            lastDay: '[tegnap] LT[-kor]',
23225            lastWeek: function lastWeek() {
23226                return week.call(this, false);
23227            },
23228            sameElse: 'L'
23229        },
23230        relativeTime: {
23231            future: '%s múlva',
23232            past: '%s',
23233            s: translate,
23234            ss: translate,
23235            m: translate,
23236            mm: translate,
23237            h: translate,
23238            hh: translate,
23239            d: translate,
23240            dd: translate,
23241            M: translate,
23242            MM: translate,
23243            y: translate,
23244            yy: translate
23245        },
23246        dayOfMonthOrdinalParse: /\d{1,2}\./,
23247        ordinal: '%d.',
23248        week: {
23249            dow: 1, // Monday is the first day of the week.
23250            doy: 4 // The week that contains Jan 4th is the first week of the year.
23251        }
23252    });
23253
23254    return hu;
23255});
23256
23257/***/ }),
23258/* 116 */
23259/***/ (function(module, exports, __webpack_require__) {
23260
23261"use strict";
23262var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23263
23264var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23265
23266//! moment.js locale configuration
23267
23268;(function (global, factory) {
23269    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23270				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23271				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23272				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23273})(undefined, function (moment) {
23274    'use strict';
23275
23276    var hyAm = moment.defineLocale('hy-am', {
23277        months: {
23278            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
23279            standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
23280        },
23281        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
23282        weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
23283        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
23284        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
23285        longDateFormat: {
23286            LT: 'HH:mm',
23287            LTS: 'HH:mm:ss',
23288            L: 'DD.MM.YYYY',
23289            LL: 'D MMMM YYYY Õ©.',
23290            LLL: 'D MMMM YYYY Õ©., HH:mm',
23291            LLLL: 'dddd, D MMMM YYYY Õ©., HH:mm'
23292        },
23293        calendar: {
23294            sameDay: '[այսօր] LT',
23295            nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
23296            lastDay: '[երեկ] LT',
23297            nextWeek: function nextWeek() {
23298                return 'dddd [օրը ժամը] LT';
23299            },
23300            lastWeek: function lastWeek() {
23301                return '[անցած] dddd [օրը ժամը] LT';
23302            },
23303            sameElse: 'L'
23304        },
23305        relativeTime: {
23306            future: '%s Õ°Õ¥Õ¿Õ¸',
23307            past: '%s Õ¡Õ¼Õ¡Õ»',
23308            s: 'մի քանի վայրկյան',
23309            ss: '%d վայրկյան',
23310            m: 'րոպե',
23311            mm: '%d րոպե',
23312            h: 'ÕªÕ¡Õ´',
23313            hh: '%d ÕªÕ¡Õ´',
23314            d: 'օր',
23315            dd: '%d օր',
23316            M: 'Õ¡Õ´Õ«Õ½',
23317            MM: '%d Õ¡Õ´Õ«Õ½',
23318            y: 'տարի',
23319            yy: '%d տարի'
23320        },
23321        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
23322        isPM: function isPM(input) {
23323            return (/^(ցերեկվա|երեկոյան)$/.test(input)
23324            );
23325        },
23326        meridiem: function meridiem(hour) {
23327            if (hour < 4) {
23328                return 'գիշերվա';
23329            } else if (hour < 12) {
23330                return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
23331            } else if (hour < 17) {
23332                return 'ցերեկվա';
23333            } else {
23334                return 'երեկոյան';
23335            }
23336        },
23337        dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
23338        ordinal: function ordinal(number, period) {
23339            switch (period) {
23340                case 'DDD':
23341                case 'w':
23342                case 'W':
23343                case 'DDDo':
23344                    if (number === 1) {
23345                        return number + '-Õ«Õ¶';
23346                    }
23347                    return number + '-րդ';
23348                default:
23349                    return number;
23350            }
23351        },
23352        week: {
23353            dow: 1, // Monday is the first day of the week.
23354            doy: 7 // The week that contains Jan 1st is the first week of the year.
23355        }
23356    });
23357
23358    return hyAm;
23359});
23360
23361/***/ }),
23362/* 117 */
23363/***/ (function(module, exports, __webpack_require__) {
23364
23365"use strict";
23366var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23367
23368var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23369
23370//! moment.js locale configuration
23371
23372;(function (global, factory) {
23373    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23374				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23375				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23376				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23377})(undefined, function (moment) {
23378    'use strict';
23379
23380    var id = moment.defineLocale('id', {
23381        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
23382        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
23383        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
23384        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
23385        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
23386        longDateFormat: {
23387            LT: 'HH.mm',
23388            LTS: 'HH.mm.ss',
23389            L: 'DD/MM/YYYY',
23390            LL: 'D MMMM YYYY',
23391            LLL: 'D MMMM YYYY [pukul] HH.mm',
23392            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
23393        },
23394        meridiemParse: /pagi|siang|sore|malam/,
23395        meridiemHour: function meridiemHour(hour, meridiem) {
23396            if (hour === 12) {
23397                hour = 0;
23398            }
23399            if (meridiem === 'pagi') {
23400                return hour;
23401            } else if (meridiem === 'siang') {
23402                return hour >= 11 ? hour : hour + 12;
23403            } else if (meridiem === 'sore' || meridiem === 'malam') {
23404                return hour + 12;
23405            }
23406        },
23407        meridiem: function meridiem(hours, minutes, isLower) {
23408            if (hours < 11) {
23409                return 'pagi';
23410            } else if (hours < 15) {
23411                return 'siang';
23412            } else if (hours < 19) {
23413                return 'sore';
23414            } else {
23415                return 'malam';
23416            }
23417        },
23418        calendar: {
23419            sameDay: '[Hari ini pukul] LT',
23420            nextDay: '[Besok pukul] LT',
23421            nextWeek: 'dddd [pukul] LT',
23422            lastDay: '[Kemarin pukul] LT',
23423            lastWeek: 'dddd [lalu pukul] LT',
23424            sameElse: 'L'
23425        },
23426        relativeTime: {
23427            future: 'dalam %s',
23428            past: '%s yang lalu',
23429            s: 'beberapa detik',
23430            ss: '%d detik',
23431            m: 'semenit',
23432            mm: '%d menit',
23433            h: 'sejam',
23434            hh: '%d jam',
23435            d: 'sehari',
23436            dd: '%d hari',
23437            M: 'sebulan',
23438            MM: '%d bulan',
23439            y: 'setahun',
23440            yy: '%d tahun'
23441        },
23442        week: {
23443            dow: 1, // Monday is the first day of the week.
23444            doy: 7 // The week that contains Jan 1st is the first week of the year.
23445        }
23446    });
23447
23448    return id;
23449});
23450
23451/***/ }),
23452/* 118 */
23453/***/ (function(module, exports, __webpack_require__) {
23454
23455"use strict";
23456var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23457
23458var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23459
23460//! moment.js locale configuration
23461
23462;(function (global, factory) {
23463    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23464				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23465				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23466				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23467})(undefined, function (moment) {
23468    'use strict';
23469
23470    function plural(n) {
23471        if (n % 100 === 11) {
23472            return true;
23473        } else if (n % 10 === 1) {
23474            return false;
23475        }
23476        return true;
23477    }
23478    function translate(number, withoutSuffix, key, isFuture) {
23479        var result = number + ' ';
23480        switch (key) {
23481            case 's':
23482                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
23483            case 'ss':
23484                if (plural(number)) {
23485                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
23486                }
23487                return result + 'sekúnda';
23488            case 'm':
23489                return withoutSuffix ? 'mínúta' : 'mínútu';
23490            case 'mm':
23491                if (plural(number)) {
23492                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
23493                } else if (withoutSuffix) {
23494                    return result + 'mínúta';
23495                }
23496                return result + 'mínútu';
23497            case 'hh':
23498                if (plural(number)) {
23499                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
23500                }
23501                return result + 'klukkustund';
23502            case 'd':
23503                if (withoutSuffix) {
23504                    return 'dagur';
23505                }
23506                return isFuture ? 'dag' : 'degi';
23507            case 'dd':
23508                if (plural(number)) {
23509                    if (withoutSuffix) {
23510                        return result + 'dagar';
23511                    }
23512                    return result + (isFuture ? 'daga' : 'dögum');
23513                } else if (withoutSuffix) {
23514                    return result + 'dagur';
23515                }
23516                return result + (isFuture ? 'dag' : 'degi');
23517            case 'M':
23518                if (withoutSuffix) {
23519                    return 'mánuður';
23520                }
23521                return isFuture ? 'mánuð' : 'mánuði';
23522            case 'MM':
23523                if (plural(number)) {
23524                    if (withoutSuffix) {
23525                        return result + 'mánuðir';
23526                    }
23527                    return result + (isFuture ? 'mánuði' : 'mánuðum');
23528                } else if (withoutSuffix) {
23529                    return result + 'mánuður';
23530                }
23531                return result + (isFuture ? 'mánuð' : 'mánuði');
23532            case 'y':
23533                return withoutSuffix || isFuture ? 'ár' : 'ári';
23534            case 'yy':
23535                if (plural(number)) {
23536                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
23537                }
23538                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
23539        }
23540    }
23541
23542    var is = moment.defineLocale('is', {
23543        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
23544        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
23545        weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
23546        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
23547        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
23548        longDateFormat: {
23549            LT: 'H:mm',
23550            LTS: 'H:mm:ss',
23551            L: 'DD.MM.YYYY',
23552            LL: 'D. MMMM YYYY',
23553            LLL: 'D. MMMM YYYY [kl.] H:mm',
23554            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'
23555        },
23556        calendar: {
23557            sameDay: '[í dag kl.] LT',
23558            nextDay: '[á morgun kl.] LT',
23559            nextWeek: 'dddd [kl.] LT',
23560            lastDay: '[í gær kl.] LT',
23561            lastWeek: '[síðasta] dddd [kl.] LT',
23562            sameElse: 'L'
23563        },
23564        relativeTime: {
23565            future: 'eftir %s',
23566            past: 'fyrir %s síðan',
23567            s: translate,
23568            ss: translate,
23569            m: translate,
23570            mm: translate,
23571            h: 'klukkustund',
23572            hh: translate,
23573            d: translate,
23574            dd: translate,
23575            M: translate,
23576            MM: translate,
23577            y: translate,
23578            yy: translate
23579        },
23580        dayOfMonthOrdinalParse: /\d{1,2}\./,
23581        ordinal: '%d.',
23582        week: {
23583            dow: 1, // Monday is the first day of the week.
23584            doy: 4 // The week that contains Jan 4th is the first week of the year.
23585        }
23586    });
23587
23588    return is;
23589});
23590
23591/***/ }),
23592/* 119 */
23593/***/ (function(module, exports, __webpack_require__) {
23594
23595"use strict";
23596var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23597
23598var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23599
23600//! moment.js locale configuration
23601
23602;(function (global, factory) {
23603    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23604				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23605				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23606				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23607})(undefined, function (moment) {
23608    'use strict';
23609
23610    var it = moment.defineLocale('it', {
23611        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
23612        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
23613        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
23614        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
23615        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
23616        longDateFormat: {
23617            LT: 'HH:mm',
23618            LTS: 'HH:mm:ss',
23619            L: 'DD/MM/YYYY',
23620            LL: 'D MMMM YYYY',
23621            LLL: 'D MMMM YYYY HH:mm',
23622            LLLL: 'dddd D MMMM YYYY HH:mm'
23623        },
23624        calendar: {
23625            sameDay: '[Oggi alle] LT',
23626            nextDay: '[Domani alle] LT',
23627            nextWeek: 'dddd [alle] LT',
23628            lastDay: '[Ieri alle] LT',
23629            lastWeek: function lastWeek() {
23630                switch (this.day()) {
23631                    case 0:
23632                        return '[la scorsa] dddd [alle] LT';
23633                    default:
23634                        return '[lo scorso] dddd [alle] LT';
23635                }
23636            },
23637            sameElse: 'L'
23638        },
23639        relativeTime: {
23640            future: function future(s) {
23641                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
23642            },
23643            past: '%s fa',
23644            s: 'alcuni secondi',
23645            ss: '%d secondi',
23646            m: 'un minuto',
23647            mm: '%d minuti',
23648            h: 'un\'ora',
23649            hh: '%d ore',
23650            d: 'un giorno',
23651            dd: '%d giorni',
23652            M: 'un mese',
23653            MM: '%d mesi',
23654            y: 'un anno',
23655            yy: '%d anni'
23656        },
23657        dayOfMonthOrdinalParse: /\d{1,2}º/,
23658        ordinal: '%dº',
23659        week: {
23660            dow: 1, // Monday is the first day of the week.
23661            doy: 4 // The week that contains Jan 4th is the first week of the year.
23662        }
23663    });
23664
23665    return it;
23666});
23667
23668/***/ }),
23669/* 120 */
23670/***/ (function(module, exports, __webpack_require__) {
23671
23672"use strict";
23673var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23674
23675var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23676
23677//! moment.js locale configuration
23678
23679;(function (global, factory) {
23680    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23681				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23682				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23683				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23684})(undefined, function (moment) {
23685    'use strict';
23686
23687    var ja = moment.defineLocale('ja', {
23688        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
23689        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
23690        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
23691        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
23692        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
23693        longDateFormat: {
23694            LT: 'HH:mm',
23695            LTS: 'HH:mm:ss',
23696            L: 'YYYY/MM/DD',
23697            LL: 'YYYY年M月D日',
23698            LLL: 'YYYY年M月D日 HH:mm',
23699            LLLL: 'YYYY年M月D日 dddd HH:mm',
23700            l: 'YYYY/MM/DD',
23701            ll: 'YYYY年M月D日',
23702            lll: 'YYYY年M月D日 HH:mm',
23703            llll: 'YYYY年M月D日(ddd) HH:mm'
23704        },
23705        meridiemParse: /午前|午後/i,
23706        isPM: function isPM(input) {
23707            return input === '午後';
23708        },
23709        meridiem: function meridiem(hour, minute, isLower) {
23710            if (hour < 12) {
23711                return '午前';
23712            } else {
23713                return '午後';
23714            }
23715        },
23716        calendar: {
23717            sameDay: '[今日] LT',
23718            nextDay: '[明日] LT',
23719            nextWeek: function nextWeek(now) {
23720                if (now.week() < this.week()) {
23721                    return '[来週]dddd LT';
23722                } else {
23723                    return 'dddd LT';
23724                }
23725            },
23726            lastDay: '[昨日] LT',
23727            lastWeek: function lastWeek(now) {
23728                if (this.week() < now.week()) {
23729                    return '[先週]dddd LT';
23730                } else {
23731                    return 'dddd LT';
23732                }
23733            },
23734            sameElse: 'L'
23735        },
23736        dayOfMonthOrdinalParse: /\d{1,2}日/,
23737        ordinal: function ordinal(number, period) {
23738            switch (period) {
23739                case 'd':
23740                case 'D':
23741                case 'DDD':
23742                    return number + '日';
23743                default:
23744                    return number;
23745            }
23746        },
23747        relativeTime: {
23748            future: '%s後',
23749            past: '%s前',
23750            s: '数秒',
23751            ss: '%d秒',
23752            m: '1分',
23753            mm: '%d分',
23754            h: '1時間',
23755            hh: '%d時間',
23756            d: '1日',
23757            dd: '%d日',
23758            M: '1ヶ月',
23759            MM: '%dヶ月',
23760            y: '1å¹´',
23761            yy: '%då¹´'
23762        }
23763    });
23764
23765    return ja;
23766});
23767
23768/***/ }),
23769/* 121 */
23770/***/ (function(module, exports, __webpack_require__) {
23771
23772"use strict";
23773var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23774
23775var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23776
23777//! moment.js locale configuration
23778
23779;(function (global, factory) {
23780    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23781				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23782				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23783				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23784})(undefined, function (moment) {
23785    'use strict';
23786
23787    var jv = moment.defineLocale('jv', {
23788        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
23789        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
23790        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
23791        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
23792        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
23793        longDateFormat: {
23794            LT: 'HH.mm',
23795            LTS: 'HH.mm.ss',
23796            L: 'DD/MM/YYYY',
23797            LL: 'D MMMM YYYY',
23798            LLL: 'D MMMM YYYY [pukul] HH.mm',
23799            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
23800        },
23801        meridiemParse: /enjing|siyang|sonten|ndalu/,
23802        meridiemHour: function meridiemHour(hour, meridiem) {
23803            if (hour === 12) {
23804                hour = 0;
23805            }
23806            if (meridiem === 'enjing') {
23807                return hour;
23808            } else if (meridiem === 'siyang') {
23809                return hour >= 11 ? hour : hour + 12;
23810            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
23811                return hour + 12;
23812            }
23813        },
23814        meridiem: function meridiem(hours, minutes, isLower) {
23815            if (hours < 11) {
23816                return 'enjing';
23817            } else if (hours < 15) {
23818                return 'siyang';
23819            } else if (hours < 19) {
23820                return 'sonten';
23821            } else {
23822                return 'ndalu';
23823            }
23824        },
23825        calendar: {
23826            sameDay: '[Dinten puniko pukul] LT',
23827            nextDay: '[Mbenjang pukul] LT',
23828            nextWeek: 'dddd [pukul] LT',
23829            lastDay: '[Kala wingi pukul] LT',
23830            lastWeek: 'dddd [kepengker pukul] LT',
23831            sameElse: 'L'
23832        },
23833        relativeTime: {
23834            future: 'wonten ing %s',
23835            past: '%s ingkang kepengker',
23836            s: 'sawetawis detik',
23837            ss: '%d detik',
23838            m: 'setunggal menit',
23839            mm: '%d menit',
23840            h: 'setunggal jam',
23841            hh: '%d jam',
23842            d: 'sedinten',
23843            dd: '%d dinten',
23844            M: 'sewulan',
23845            MM: '%d wulan',
23846            y: 'setaun',
23847            yy: '%d taun'
23848        },
23849        week: {
23850            dow: 1, // Monday is the first day of the week.
23851            doy: 7 // The week that contains Jan 1st is the first week of the year.
23852        }
23853    });
23854
23855    return jv;
23856});
23857
23858/***/ }),
23859/* 122 */
23860/***/ (function(module, exports, __webpack_require__) {
23861
23862"use strict";
23863var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23864
23865var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23866
23867//! moment.js locale configuration
23868
23869;(function (global, factory) {
23870    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23871				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23872				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23873				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23874})(undefined, function (moment) {
23875    'use strict';
23876
23877    var ka = moment.defineLocale('ka', {
23878        months: {
23879            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
23880            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
23881        },
23882        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
23883        weekdays: {
23884            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
23885            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
23886            isFormat: /(წინა|შემდეგ)/
23887        },
23888        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
23889        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
23890        longDateFormat: {
23891            LT: 'h:mm A',
23892            LTS: 'h:mm:ss A',
23893            L: 'DD/MM/YYYY',
23894            LL: 'D MMMM YYYY',
23895            LLL: 'D MMMM YYYY h:mm A',
23896            LLLL: 'dddd, D MMMM YYYY h:mm A'
23897        },
23898        calendar: {
23899            sameDay: '[დღეს] LT[-ზე]',
23900            nextDay: '[ხვალ] LT[-ზე]',
23901            lastDay: '[გუშინ] LT[-ზე]',
23902            nextWeek: '[შემდეგ] dddd LT[-ზე]',
23903            lastWeek: '[წინა] dddd LT-ზე',
23904            sameElse: 'L'
23905        },
23906        relativeTime: {
23907            future: function future(s) {
23908                return (/(წამი|წუთი|საათი|წელი)/.test(s) ? s.replace(/ი$/, 'ში') : s + 'ში'
23909                );
23910            },
23911            past: function past(s) {
23912                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
23913                    return s.replace(/(ი|ე)$/, 'ის წინ');
23914                }
23915                if (/წელი/.test(s)) {
23916                    return s.replace(/წელი$/, 'წლის წინ');
23917                }
23918            },
23919            s: 'რამდენიმე წამი',
23920            ss: '%d წამი',
23921            m: 'წუთი',
23922            mm: '%d წუთი',
23923            h: 'საათი',
23924            hh: '%d საათი',
23925            d: 'დღე',
23926            dd: '%d დღე',
23927            M: 'თვე',
23928            MM: '%d თვე',
23929            y: 'წელი',
23930            yy: '%d წელი'
23931        },
23932        dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
23933        ordinal: function ordinal(number) {
23934            if (number === 0) {
23935                return number;
23936            }
23937            if (number === 1) {
23938                return number + '-ლი';
23939            }
23940            if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {
23941                return 'მე-' + number;
23942            }
23943            return number + '-ე';
23944        },
23945        week: {
23946            dow: 1,
23947            doy: 7
23948        }
23949    });
23950
23951    return ka;
23952});
23953
23954/***/ }),
23955/* 123 */
23956/***/ (function(module, exports, __webpack_require__) {
23957
23958"use strict";
23959var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
23960
23961var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
23962
23963//! moment.js locale configuration
23964
23965;(function (global, factory) {
23966    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
23967				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
23968				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
23969				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
23970})(undefined, function (moment) {
23971    'use strict';
23972
23973    var suffixes = {
23974        0: '-ші',
23975        1: '-ші',
23976        2: '-ші',
23977        3: '-ші',
23978        4: '-ші',
23979        5: '-ші',
23980        6: '-шы',
23981        7: '-ші',
23982        8: '-ші',
23983        9: '-шы',
23984        10: '-шы',
23985        20: '-шы',
23986        30: '-шы',
23987        40: '-шы',
23988        50: '-ші',
23989        60: '-шы',
23990        70: '-ші',
23991        80: '-ші',
23992        90: '-шы',
23993        100: '-ші'
23994    };
23995
23996    var kk = moment.defineLocale('kk', {
23997        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
23998        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
23999        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
24000        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
24001        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
24002        longDateFormat: {
24003            LT: 'HH:mm',
24004            LTS: 'HH:mm:ss',
24005            L: 'DD.MM.YYYY',
24006            LL: 'D MMMM YYYY',
24007            LLL: 'D MMMM YYYY HH:mm',
24008            LLLL: 'dddd, D MMMM YYYY HH:mm'
24009        },
24010        calendar: {
24011            sameDay: '[Бүгін сағат] LT',
24012            nextDay: '[Ертең сағат] LT',
24013            nextWeek: 'dddd [сағат] LT',
24014            lastDay: '[Кеше сағат] LT',
24015            lastWeek: '[Өткен аптаның] dddd [сағат] LT',
24016            sameElse: 'L'
24017        },
24018        relativeTime: {
24019            future: '%s ішінде',
24020            past: '%s бұрын',
24021            s: 'бірнеше секунд',
24022            ss: '%d секунд',
24023            m: 'бір минут',
24024            mm: '%d минут',
24025            h: 'бір сағат',
24026            hh: '%d сағат',
24027            d: 'бір күн',
24028            dd: '%d күн',
24029            M: 'бір ай',
24030            MM: '%d ай',
24031            y: 'бір жыл',
24032            yy: '%d жыл'
24033        },
24034        dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
24035        ordinal: function ordinal(number) {
24036            var a = number % 10,
24037                b = number >= 100 ? 100 : null;
24038            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
24039        },
24040        week: {
24041            dow: 1, // Monday is the first day of the week.
24042            doy: 7 // The week that contains Jan 1st is the first week of the year.
24043        }
24044    });
24045
24046    return kk;
24047});
24048
24049/***/ }),
24050/* 124 */
24051/***/ (function(module, exports, __webpack_require__) {
24052
24053"use strict";
24054var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24055
24056var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24057
24058//! moment.js locale configuration
24059
24060;(function (global, factory) {
24061    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24062				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24063				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24064				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24065})(undefined, function (moment) {
24066    'use strict';
24067
24068    var symbolMap = {
24069        '1': '១',
24070        '2': '២',
24071        '3': '៣',
24072        '4': '៤',
24073        '5': '៥',
24074        '6': '៦',
24075        '7': '៧',
24076        '8': '៨',
24077        '9': '៩',
24078        '0': '០'
24079    },
24080        numberMap = {
24081        '១': '1',
24082        '២': '2',
24083        '៣': '3',
24084        '៤': '4',
24085        '៥': '5',
24086        '៦': '6',
24087        '៧': '7',
24088        '៨': '8',
24089        '៩': '9',
24090        '០': '0'
24091    };
24092
24093    var km = moment.defineLocale('km', {
24094        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
24095        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
24096        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
24097        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
24098        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
24099        weekdaysParseExact: true,
24100        longDateFormat: {
24101            LT: 'HH:mm',
24102            LTS: 'HH:mm:ss',
24103            L: 'DD/MM/YYYY',
24104            LL: 'D MMMM YYYY',
24105            LLL: 'D MMMM YYYY HH:mm',
24106            LLLL: 'dddd, D MMMM YYYY HH:mm'
24107        },
24108        meridiemParse: /ព្រឹក|ល្ងាច/,
24109        isPM: function isPM(input) {
24110            return input === 'ល្ងាច';
24111        },
24112        meridiem: function meridiem(hour, minute, isLower) {
24113            if (hour < 12) {
24114                return 'ព្រឹក';
24115            } else {
24116                return 'ល្ងាច';
24117            }
24118        },
24119        calendar: {
24120            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
24121            nextDay: '[ស្អែក ម៉ោង] LT',
24122            nextWeek: 'dddd [ម៉ោង] LT',
24123            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
24124            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
24125            sameElse: 'L'
24126        },
24127        relativeTime: {
24128            future: '%sទៀត',
24129            past: '%sមុន',
24130            s: 'ប៉ុន្មានវិនាទី',
24131            ss: '%d វិនាទី',
24132            m: 'មួយនាទី',
24133            mm: '%d នាទី',
24134            h: 'មួយម៉ោង',
24135            hh: '%d ម៉ោង',
24136            d: 'មួយថ្ងៃ',
24137            dd: '%d ថ្ងៃ',
24138            M: 'មួយខែ',
24139            MM: '%d ខែ',
24140            y: 'មួយឆ្នាំ',
24141            yy: '%d ឆ្នាំ'
24142        },
24143        dayOfMonthOrdinalParse: /ទី\d{1,2}/,
24144        ordinal: 'ទី%d',
24145        preparse: function preparse(string) {
24146            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
24147                return numberMap[match];
24148            });
24149        },
24150        postformat: function postformat(string) {
24151            return string.replace(/\d/g, function (match) {
24152                return symbolMap[match];
24153            });
24154        },
24155        week: {
24156            dow: 1, // Monday is the first day of the week.
24157            doy: 4 // The week that contains Jan 4th is the first week of the year.
24158        }
24159    });
24160
24161    return km;
24162});
24163
24164/***/ }),
24165/* 125 */
24166/***/ (function(module, exports, __webpack_require__) {
24167
24168"use strict";
24169var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24170
24171var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24172
24173//! moment.js locale configuration
24174
24175;(function (global, factory) {
24176    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24177				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24178				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24179				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24180})(undefined, function (moment) {
24181    'use strict';
24182
24183    var symbolMap = {
24184        '1': 'à³§',
24185        '2': '೨',
24186        '3': '೩',
24187        '4': '೪',
24188        '5': '೫',
24189        '6': '೬',
24190        '7': 'à³­',
24191        '8': 'à³®',
24192        '9': '೯',
24193        '0': '೦'
24194    },
24195        numberMap = {
24196        'à³§': '1',
24197        '೨': '2',
24198        '೩': '3',
24199        '೪': '4',
24200        '೫': '5',
24201        '೬': '6',
24202        'à³­': '7',
24203        'à³®': '8',
24204        '೯': '9',
24205        '೦': '0'
24206    };
24207
24208    var kn = moment.defineLocale('kn', {
24209        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
24210        monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
24211        monthsParseExact: true,
24212        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
24213        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
24214        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
24215        longDateFormat: {
24216            LT: 'A h:mm',
24217            LTS: 'A h:mm:ss',
24218            L: 'DD/MM/YYYY',
24219            LL: 'D MMMM YYYY',
24220            LLL: 'D MMMM YYYY, A h:mm',
24221            LLLL: 'dddd, D MMMM YYYY, A h:mm'
24222        },
24223        calendar: {
24224            sameDay: '[ಇಂದು] LT',
24225            nextDay: '[ನಾಳೆ] LT',
24226            nextWeek: 'dddd, LT',
24227            lastDay: '[ನಿನ್ನೆ] LT',
24228            lastWeek: '[ಕೊನೆಯ] dddd, LT',
24229            sameElse: 'L'
24230        },
24231        relativeTime: {
24232            future: '%s ನಂತರ',
24233            past: '%s ಹಿಂದೆ',
24234            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
24235            ss: '%d ಸೆಕೆಂಡುಗಳು',
24236            m: 'ಒಂದು ನಿಮಿಷ',
24237            mm: '%d ನಿಮಿಷ',
24238            h: 'ಒಂದು ಗಂಟೆ',
24239            hh: '%d ಗಂಟೆ',
24240            d: 'ಒಂದು ದಿನ',
24241            dd: '%d ದಿನ',
24242            M: 'ಒಂದು ತಿಂಗಳು',
24243            MM: '%d ತಿಂಗಳು',
24244            y: 'ಒಂದು ವರ್ಷ',
24245            yy: '%d ವರ್ಷ'
24246        },
24247        preparse: function preparse(string) {
24248            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
24249                return numberMap[match];
24250            });
24251        },
24252        postformat: function postformat(string) {
24253            return string.replace(/\d/g, function (match) {
24254                return symbolMap[match];
24255            });
24256        },
24257        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
24258        meridiemHour: function meridiemHour(hour, meridiem) {
24259            if (hour === 12) {
24260                hour = 0;
24261            }
24262            if (meridiem === 'ರಾತ್ರಿ') {
24263                return hour < 4 ? hour : hour + 12;
24264            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
24265                return hour;
24266            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
24267                return hour >= 10 ? hour : hour + 12;
24268            } else if (meridiem === 'ಸಂಜೆ') {
24269                return hour + 12;
24270            }
24271        },
24272        meridiem: function meridiem(hour, minute, isLower) {
24273            if (hour < 4) {
24274                return 'ರಾತ್ರಿ';
24275            } else if (hour < 10) {
24276                return 'ಬೆಳಿಗ್ಗೆ';
24277            } else if (hour < 17) {
24278                return 'ಮಧ್ಯಾಹ್ನ';
24279            } else if (hour < 20) {
24280                return 'ಸಂಜೆ';
24281            } else {
24282                return 'ರಾತ್ರಿ';
24283            }
24284        },
24285        dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
24286        ordinal: function ordinal(number) {
24287            return number + 'ನೇ';
24288        },
24289        week: {
24290            dow: 0, // Sunday is the first day of the week.
24291            doy: 6 // The week that contains Jan 1st is the first week of the year.
24292        }
24293    });
24294
24295    return kn;
24296});
24297
24298/***/ }),
24299/* 126 */
24300/***/ (function(module, exports, __webpack_require__) {
24301
24302"use strict";
24303var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24304
24305var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24306
24307//! moment.js locale configuration
24308
24309;(function (global, factory) {
24310    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24311				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24312				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24313				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24314})(undefined, function (moment) {
24315    'use strict';
24316
24317    var ko = moment.defineLocale('ko', {
24318        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
24319        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
24320        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
24321        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
24322        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
24323        longDateFormat: {
24324            LT: 'A h:mm',
24325            LTS: 'A h:mm:ss',
24326            L: 'YYYY.MM.DD.',
24327            LL: 'YYYY년 MMMM D일',
24328            LLL: 'YYYY년 MMMM D일 A h:mm',
24329            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
24330            l: 'YYYY.MM.DD.',
24331            ll: 'YYYY년 MMMM D일',
24332            lll: 'YYYY년 MMMM D일 A h:mm',
24333            llll: 'YYYY년 MMMM D일 dddd A h:mm'
24334        },
24335        calendar: {
24336            sameDay: '오늘 LT',
24337            nextDay: '내일 LT',
24338            nextWeek: 'dddd LT',
24339            lastDay: '어제 LT',
24340            lastWeek: '지난주 dddd LT',
24341            sameElse: 'L'
24342        },
24343        relativeTime: {
24344            future: '%s 후',
24345            past: '%s 전',
24346            s: '몇 초',
24347            ss: '%d초',
24348            m: '1분',
24349            mm: '%d분',
24350            h: '한 시간',
24351            hh: '%d시간',
24352            d: '하루',
24353            dd: '%d일',
24354            M: '한 달',
24355            MM: '%d달',
24356            y: '일 년',
24357            yy: '%d년'
24358        },
24359        dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
24360        ordinal: function ordinal(number, period) {
24361            switch (period) {
24362                case 'd':
24363                case 'D':
24364                case 'DDD':
24365                    return number + '일';
24366                case 'M':
24367                    return number + '월';
24368                case 'w':
24369                case 'W':
24370                    return number + '주';
24371                default:
24372                    return number;
24373            }
24374        },
24375        meridiemParse: /오전|오후/,
24376        isPM: function isPM(token) {
24377            return token === '오후';
24378        },
24379        meridiem: function meridiem(hour, minute, isUpper) {
24380            return hour < 12 ? '오전' : '오후';
24381        }
24382    });
24383
24384    return ko;
24385});
24386
24387/***/ }),
24388/* 127 */
24389/***/ (function(module, exports, __webpack_require__) {
24390
24391"use strict";
24392var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24393
24394var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24395
24396//! moment.js locale configuration
24397
24398;(function (global, factory) {
24399    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24400				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24401				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24402				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24403})(undefined, function (moment) {
24404    'use strict';
24405
24406    var suffixes = {
24407        0: '-чү',
24408        1: '-чи',
24409        2: '-чи',
24410        3: '-чү',
24411        4: '-чү',
24412        5: '-чи',
24413        6: '-чы',
24414        7: '-чи',
24415        8: '-чи',
24416        9: '-чу',
24417        10: '-чу',
24418        20: '-чы',
24419        30: '-чу',
24420        40: '-чы',
24421        50: '-чү',
24422        60: '-чы',
24423        70: '-чи',
24424        80: '-чи',
24425        90: '-чу',
24426        100: '-чү'
24427    };
24428
24429    var ky = moment.defineLocale('ky', {
24430        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
24431        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
24432        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
24433        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
24434        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
24435        longDateFormat: {
24436            LT: 'HH:mm',
24437            LTS: 'HH:mm:ss',
24438            L: 'DD.MM.YYYY',
24439            LL: 'D MMMM YYYY',
24440            LLL: 'D MMMM YYYY HH:mm',
24441            LLLL: 'dddd, D MMMM YYYY HH:mm'
24442        },
24443        calendar: {
24444            sameDay: '[Бүгүн саат] LT',
24445            nextDay: '[Эртең саат] LT',
24446            nextWeek: 'dddd [саат] LT',
24447            lastDay: '[Кече саат] LT',
24448            lastWeek: '[Өткен аптанын] dddd [күнү] [саат] LT',
24449            sameElse: 'L'
24450        },
24451        relativeTime: {
24452            future: '%s ичинде',
24453            past: '%s мурун',
24454            s: 'бирнече секунд',
24455            ss: '%d секунд',
24456            m: 'бир мүнөт',
24457            mm: '%d мүнөт',
24458            h: 'бир саат',
24459            hh: '%d саат',
24460            d: 'бир күн',
24461            dd: '%d күн',
24462            M: 'бир ай',
24463            MM: '%d ай',
24464            y: 'бир жыл',
24465            yy: '%d жыл'
24466        },
24467        dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
24468        ordinal: function ordinal(number) {
24469            var a = number % 10,
24470                b = number >= 100 ? 100 : null;
24471            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
24472        },
24473        week: {
24474            dow: 1, // Monday is the first day of the week.
24475            doy: 7 // The week that contains Jan 1st is the first week of the year.
24476        }
24477    });
24478
24479    return ky;
24480});
24481
24482/***/ }),
24483/* 128 */
24484/***/ (function(module, exports, __webpack_require__) {
24485
24486"use strict";
24487var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24488
24489var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24490
24491//! moment.js locale configuration
24492
24493;(function (global, factory) {
24494    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24495				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24496				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24497				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24498})(undefined, function (moment) {
24499    'use strict';
24500
24501    function processRelativeTime(number, withoutSuffix, key, isFuture) {
24502        var format = {
24503            'm': ['eng Minutt', 'enger Minutt'],
24504            'h': ['eng Stonn', 'enger Stonn'],
24505            'd': ['een Dag', 'engem Dag'],
24506            'M': ['ee Mount', 'engem Mount'],
24507            'y': ['ee Joer', 'engem Joer']
24508        };
24509        return withoutSuffix ? format[key][0] : format[key][1];
24510    }
24511    function processFutureTime(string) {
24512        var number = string.substr(0, string.indexOf(' '));
24513        if (eifelerRegelAppliesToNumber(number)) {
24514            return 'a ' + string;
24515        }
24516        return 'an ' + string;
24517    }
24518    function processPastTime(string) {
24519        var number = string.substr(0, string.indexOf(' '));
24520        if (eifelerRegelAppliesToNumber(number)) {
24521            return 'viru ' + string;
24522        }
24523        return 'virun ' + string;
24524    }
24525    /**
24526     * Returns true if the word before the given number loses the '-n' ending.
24527     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
24528     *
24529     * @param number {integer}
24530     * @returns {boolean}
24531     */
24532    function eifelerRegelAppliesToNumber(number) {
24533        number = parseInt(number, 10);
24534        if (isNaN(number)) {
24535            return false;
24536        }
24537        if (number < 0) {
24538            // Negative Number --> always true
24539            return true;
24540        } else if (number < 10) {
24541            // Only 1 digit
24542            if (4 <= number && number <= 7) {
24543                return true;
24544            }
24545            return false;
24546        } else if (number < 100) {
24547            // 2 digits
24548            var lastDigit = number % 10,
24549                firstDigit = number / 10;
24550            if (lastDigit === 0) {
24551                return eifelerRegelAppliesToNumber(firstDigit);
24552            }
24553            return eifelerRegelAppliesToNumber(lastDigit);
24554        } else if (number < 10000) {
24555            // 3 or 4 digits --> recursively check first digit
24556            while (number >= 10) {
24557                number = number / 10;
24558            }
24559            return eifelerRegelAppliesToNumber(number);
24560        } else {
24561            // Anything larger than 4 digits: recursively check first n-3 digits
24562            number = number / 1000;
24563            return eifelerRegelAppliesToNumber(number);
24564        }
24565    }
24566
24567    var lb = moment.defineLocale('lb', {
24568        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
24569        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
24570        monthsParseExact: true,
24571        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
24572        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
24573        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
24574        weekdaysParseExact: true,
24575        longDateFormat: {
24576            LT: 'H:mm [Auer]',
24577            LTS: 'H:mm:ss [Auer]',
24578            L: 'DD.MM.YYYY',
24579            LL: 'D. MMMM YYYY',
24580            LLL: 'D. MMMM YYYY H:mm [Auer]',
24581            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
24582        },
24583        calendar: {
24584            sameDay: '[Haut um] LT',
24585            sameElse: 'L',
24586            nextDay: '[Muer um] LT',
24587            nextWeek: 'dddd [um] LT',
24588            lastDay: '[Gëschter um] LT',
24589            lastWeek: function lastWeek() {
24590                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
24591                switch (this.day()) {
24592                    case 2:
24593                    case 4:
24594                        return '[Leschten] dddd [um] LT';
24595                    default:
24596                        return '[Leschte] dddd [um] LT';
24597                }
24598            }
24599        },
24600        relativeTime: {
24601            future: processFutureTime,
24602            past: processPastTime,
24603            s: 'e puer Sekonnen',
24604            ss: '%d Sekonnen',
24605            m: processRelativeTime,
24606            mm: '%d Minutten',
24607            h: processRelativeTime,
24608            hh: '%d Stonnen',
24609            d: processRelativeTime,
24610            dd: '%d Deeg',
24611            M: processRelativeTime,
24612            MM: '%d Méint',
24613            y: processRelativeTime,
24614            yy: '%d Joer'
24615        },
24616        dayOfMonthOrdinalParse: /\d{1,2}\./,
24617        ordinal: '%d.',
24618        week: {
24619            dow: 1, // Monday is the first day of the week.
24620            doy: 4 // The week that contains Jan 4th is the first week of the year.
24621        }
24622    });
24623
24624    return lb;
24625});
24626
24627/***/ }),
24628/* 129 */
24629/***/ (function(module, exports, __webpack_require__) {
24630
24631"use strict";
24632var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24633
24634var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24635
24636//! moment.js locale configuration
24637
24638;(function (global, factory) {
24639    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24640				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24641				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24642				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24643})(undefined, function (moment) {
24644    'use strict';
24645
24646    var lo = moment.defineLocale('lo', {
24647        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
24648        monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
24649        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
24650        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
24651        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
24652        weekdaysParseExact: true,
24653        longDateFormat: {
24654            LT: 'HH:mm',
24655            LTS: 'HH:mm:ss',
24656            L: 'DD/MM/YYYY',
24657            LL: 'D MMMM YYYY',
24658            LLL: 'D MMMM YYYY HH:mm',
24659            LLLL: 'ວັນdddd D MMMM YYYY HH:mm'
24660        },
24661        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
24662        isPM: function isPM(input) {
24663            return input === 'ຕອນແລງ';
24664        },
24665        meridiem: function meridiem(hour, minute, isLower) {
24666            if (hour < 12) {
24667                return 'ຕອນເຊົ້າ';
24668            } else {
24669                return 'ຕອນແລງ';
24670            }
24671        },
24672        calendar: {
24673            sameDay: '[ມື້ນີ້ເວລາ] LT',
24674            nextDay: '[ມື້ອື່ນເວລາ] LT',
24675            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
24676            lastDay: '[ມື້ວານນີ້ເວລາ] LT',
24677            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
24678            sameElse: 'L'
24679        },
24680        relativeTime: {
24681            future: 'ອີກ %s',
24682            past: '%sຜ່ານມາ',
24683            s: 'ບໍ່ເທົ່າໃດວິນາທີ',
24684            ss: '%d ວິນາທີ',
24685            m: '1 ນາທີ',
24686            mm: '%d ນາທີ',
24687            h: '1 ຊົ່ວໂມງ',
24688            hh: '%d ຊົ່ວໂມງ',
24689            d: '1 ມື້',
24690            dd: '%d ມື້',
24691            M: '1 ເດືອນ',
24692            MM: '%d ເດືອນ',
24693            y: '1 ປີ',
24694            yy: '%d ປີ'
24695        },
24696        dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
24697        ordinal: function ordinal(number) {
24698            return 'ທີ່' + number;
24699        }
24700    });
24701
24702    return lo;
24703});
24704
24705/***/ }),
24706/* 130 */
24707/***/ (function(module, exports, __webpack_require__) {
24708
24709"use strict";
24710var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24711
24712var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24713
24714//! moment.js locale configuration
24715
24716;(function (global, factory) {
24717    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24718				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24719				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24720				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24721})(undefined, function (moment) {
24722    'use strict';
24723
24724    var units = {
24725        'ss': 'sekundė_sekundžių_sekundes',
24726        'm': 'minutė_minutės_minutę',
24727        'mm': 'minutės_minučių_minutes',
24728        'h': 'valanda_valandos_valandą',
24729        'hh': 'valandos_valandų_valandas',
24730        'd': 'diena_dienos_dieną',
24731        'dd': 'dienos_dienų_dienas',
24732        'M': 'mėnuo_mėnesio_mėnesį',
24733        'MM': 'mėnesiai_mėnesių_mėnesius',
24734        'y': 'metai_metų_metus',
24735        'yy': 'metai_metų_metus'
24736    };
24737    function translateSeconds(number, withoutSuffix, key, isFuture) {
24738        if (withoutSuffix) {
24739            return 'kelios sekundės';
24740        } else {
24741            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
24742        }
24743    }
24744    function translateSingular(number, withoutSuffix, key, isFuture) {
24745        return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];
24746    }
24747    function special(number) {
24748        return number % 10 === 0 || number > 10 && number < 20;
24749    }
24750    function forms(key) {
24751        return units[key].split('_');
24752    }
24753    function translate(number, withoutSuffix, key, isFuture) {
24754        var result = number + ' ';
24755        if (number === 1) {
24756            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
24757        } else if (withoutSuffix) {
24758            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
24759        } else {
24760            if (isFuture) {
24761                return result + forms(key)[1];
24762            } else {
24763                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
24764            }
24765        }
24766    }
24767    var lt = moment.defineLocale('lt', {
24768        months: {
24769            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
24770            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
24771            isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
24772        },
24773        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
24774        weekdays: {
24775            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
24776            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
24777            isFormat: /dddd HH:mm/
24778        },
24779        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
24780        weekdaysMin: 'S_P_A_T_K_Pn_Å '.split('_'),
24781        weekdaysParseExact: true,
24782        longDateFormat: {
24783            LT: 'HH:mm',
24784            LTS: 'HH:mm:ss',
24785            L: 'YYYY-MM-DD',
24786            LL: 'YYYY [m.] MMMM D [d.]',
24787            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
24788            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
24789            l: 'YYYY-MM-DD',
24790            ll: 'YYYY [m.] MMMM D [d.]',
24791            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
24792            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
24793        },
24794        calendar: {
24795            sameDay: '[Å iandien] LT',
24796            nextDay: '[Rytoj] LT',
24797            nextWeek: 'dddd LT',
24798            lastDay: '[Vakar] LT',
24799            lastWeek: '[Praėjusį] dddd LT',
24800            sameElse: 'L'
24801        },
24802        relativeTime: {
24803            future: 'po %s',
24804            past: 'prieš %s',
24805            s: translateSeconds,
24806            ss: translate,
24807            m: translateSingular,
24808            mm: translate,
24809            h: translateSingular,
24810            hh: translate,
24811            d: translateSingular,
24812            dd: translate,
24813            M: translateSingular,
24814            MM: translate,
24815            y: translateSingular,
24816            yy: translate
24817        },
24818        dayOfMonthOrdinalParse: /\d{1,2}-oji/,
24819        ordinal: function ordinal(number) {
24820            return number + '-oji';
24821        },
24822        week: {
24823            dow: 1, // Monday is the first day of the week.
24824            doy: 4 // The week that contains Jan 4th is the first week of the year.
24825        }
24826    });
24827
24828    return lt;
24829});
24830
24831/***/ }),
24832/* 131 */
24833/***/ (function(module, exports, __webpack_require__) {
24834
24835"use strict";
24836var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24837
24838var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24839
24840//! moment.js locale configuration
24841
24842;(function (global, factory) {
24843    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24844				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24845				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24846				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24847})(undefined, function (moment) {
24848    'use strict';
24849
24850    var units = {
24851        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
24852        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
24853        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
24854        'h': 'stundas_stundām_stunda_stundas'.split('_'),
24855        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
24856        'd': 'dienas_dienām_diena_dienas'.split('_'),
24857        'dd': 'dienas_dienām_diena_dienas'.split('_'),
24858        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
24859        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
24860        'y': 'gada_gadiem_gads_gadi'.split('_'),
24861        'yy': 'gada_gadiem_gads_gadi'.split('_')
24862    };
24863    /**
24864     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
24865     */
24866    function format(forms, number, withoutSuffix) {
24867        if (withoutSuffix) {
24868            // E.g. "21 minūte", "3 minūtes".
24869            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
24870        } else {
24871            // E.g. "21 minūtes" as in "pēc 21 minūtes".
24872            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
24873            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
24874        }
24875    }
24876    function relativeTimeWithPlural(number, withoutSuffix, key) {
24877        return number + ' ' + format(units[key], number, withoutSuffix);
24878    }
24879    function relativeTimeWithSingular(number, withoutSuffix, key) {
24880        return format(units[key], number, withoutSuffix);
24881    }
24882    function relativeSeconds(number, withoutSuffix) {
24883        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
24884    }
24885
24886    var lv = moment.defineLocale('lv', {
24887        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
24888        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
24889        weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
24890        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
24891        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
24892        weekdaysParseExact: true,
24893        longDateFormat: {
24894            LT: 'HH:mm',
24895            LTS: 'HH:mm:ss',
24896            L: 'DD.MM.YYYY.',
24897            LL: 'YYYY. [gada] D. MMMM',
24898            LLL: 'YYYY. [gada] D. MMMM, HH:mm',
24899            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'
24900        },
24901        calendar: {
24902            sameDay: '[Å odien pulksten] LT',
24903            nextDay: '[Rīt pulksten] LT',
24904            nextWeek: 'dddd [pulksten] LT',
24905            lastDay: '[Vakar pulksten] LT',
24906            lastWeek: '[Pagājušā] dddd [pulksten] LT',
24907            sameElse: 'L'
24908        },
24909        relativeTime: {
24910            future: 'pēc %s',
24911            past: 'pirms %s',
24912            s: relativeSeconds,
24913            ss: relativeTimeWithPlural,
24914            m: relativeTimeWithSingular,
24915            mm: relativeTimeWithPlural,
24916            h: relativeTimeWithSingular,
24917            hh: relativeTimeWithPlural,
24918            d: relativeTimeWithSingular,
24919            dd: relativeTimeWithPlural,
24920            M: relativeTimeWithSingular,
24921            MM: relativeTimeWithPlural,
24922            y: relativeTimeWithSingular,
24923            yy: relativeTimeWithPlural
24924        },
24925        dayOfMonthOrdinalParse: /\d{1,2}\./,
24926        ordinal: '%d.',
24927        week: {
24928            dow: 1, // Monday is the first day of the week.
24929            doy: 4 // The week that contains Jan 4th is the first week of the year.
24930        }
24931    });
24932
24933    return lv;
24934});
24935
24936/***/ }),
24937/* 132 */
24938/***/ (function(module, exports, __webpack_require__) {
24939
24940"use strict";
24941var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
24942
24943var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
24944
24945//! moment.js locale configuration
24946
24947;(function (global, factory) {
24948    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
24949				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
24950				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
24951				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
24952})(undefined, function (moment) {
24953    'use strict';
24954
24955    var translator = {
24956        words: { //Different grammatical cases
24957            ss: ['sekund', 'sekunda', 'sekundi'],
24958            m: ['jedan minut', 'jednog minuta'],
24959            mm: ['minut', 'minuta', 'minuta'],
24960            h: ['jedan sat', 'jednog sata'],
24961            hh: ['sat', 'sata', 'sati'],
24962            dd: ['dan', 'dana', 'dana'],
24963            MM: ['mjesec', 'mjeseca', 'mjeseci'],
24964            yy: ['godina', 'godine', 'godina']
24965        },
24966        correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
24967            return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];
24968        },
24969        translate: function translate(number, withoutSuffix, key) {
24970            var wordKey = translator.words[key];
24971            if (key.length === 1) {
24972                return withoutSuffix ? wordKey[0] : wordKey[1];
24973            } else {
24974                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
24975            }
24976        }
24977    };
24978
24979    var me = moment.defineLocale('me', {
24980        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
24981        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
24982        monthsParseExact: true,
24983        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
24984        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
24985        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
24986        weekdaysParseExact: true,
24987        longDateFormat: {
24988            LT: 'H:mm',
24989            LTS: 'H:mm:ss',
24990            L: 'DD.MM.YYYY',
24991            LL: 'D. MMMM YYYY',
24992            LLL: 'D. MMMM YYYY H:mm',
24993            LLLL: 'dddd, D. MMMM YYYY H:mm'
24994        },
24995        calendar: {
24996            sameDay: '[danas u] LT',
24997            nextDay: '[sjutra u] LT',
24998
24999            nextWeek: function nextWeek() {
25000                switch (this.day()) {
25001                    case 0:
25002                        return '[u] [nedjelju] [u] LT';
25003                    case 3:
25004                        return '[u] [srijedu] [u] LT';
25005                    case 6:
25006                        return '[u] [subotu] [u] LT';
25007                    case 1:
25008                    case 2:
25009                    case 4:
25010                    case 5:
25011                        return '[u] dddd [u] LT';
25012                }
25013            },
25014            lastDay: '[juče u] LT',
25015            lastWeek: function lastWeek() {
25016                var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];
25017                return lastWeekDays[this.day()];
25018            },
25019            sameElse: 'L'
25020        },
25021        relativeTime: {
25022            future: 'za %s',
25023            past: 'prije %s',
25024            s: 'nekoliko sekundi',
25025            ss: translator.translate,
25026            m: translator.translate,
25027            mm: translator.translate,
25028            h: translator.translate,
25029            hh: translator.translate,
25030            d: 'dan',
25031            dd: translator.translate,
25032            M: 'mjesec',
25033            MM: translator.translate,
25034            y: 'godinu',
25035            yy: translator.translate
25036        },
25037        dayOfMonthOrdinalParse: /\d{1,2}\./,
25038        ordinal: '%d.',
25039        week: {
25040            dow: 1, // Monday is the first day of the week.
25041            doy: 7 // The week that contains Jan 1st is the first week of the year.
25042        }
25043    });
25044
25045    return me;
25046});
25047
25048/***/ }),
25049/* 133 */
25050/***/ (function(module, exports, __webpack_require__) {
25051
25052"use strict";
25053var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25054
25055var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25056
25057//! moment.js locale configuration
25058
25059;(function (global, factory) {
25060    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25061				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25062				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25063				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25064})(undefined, function (moment) {
25065    'use strict';
25066
25067    var mi = moment.defineLocale('mi', {
25068        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('_'),
25069        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
25070        monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
25071        monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
25072        monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
25073        monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
25074        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
25075        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
25076        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
25077        longDateFormat: {
25078            LT: 'HH:mm',
25079            LTS: 'HH:mm:ss',
25080            L: 'DD/MM/YYYY',
25081            LL: 'D MMMM YYYY',
25082            LLL: 'D MMMM YYYY [i] HH:mm',
25083            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
25084        },
25085        calendar: {
25086            sameDay: '[i teie mahana, i] LT',
25087            nextDay: '[apopo i] LT',
25088            nextWeek: 'dddd [i] LT',
25089            lastDay: '[inanahi i] LT',
25090            lastWeek: 'dddd [whakamutunga i] LT',
25091            sameElse: 'L'
25092        },
25093        relativeTime: {
25094            future: 'i roto i %s',
25095            past: '%s i mua',
25096            s: 'te hēkona ruarua',
25097            ss: '%d hēkona',
25098            m: 'he meneti',
25099            mm: '%d meneti',
25100            h: 'te haora',
25101            hh: '%d haora',
25102            d: 'he ra',
25103            dd: '%d ra',
25104            M: 'he marama',
25105            MM: '%d marama',
25106            y: 'he tau',
25107            yy: '%d tau'
25108        },
25109        dayOfMonthOrdinalParse: /\d{1,2}º/,
25110        ordinal: '%dº',
25111        week: {
25112            dow: 1, // Monday is the first day of the week.
25113            doy: 4 // The week that contains Jan 4th is the first week of the year.
25114        }
25115    });
25116
25117    return mi;
25118});
25119
25120/***/ }),
25121/* 134 */
25122/***/ (function(module, exports, __webpack_require__) {
25123
25124"use strict";
25125var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25126
25127var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25128
25129//! moment.js locale configuration
25130
25131;(function (global, factory) {
25132    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25133				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25134				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25135				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25136})(undefined, function (moment) {
25137    'use strict';
25138
25139    var mk = moment.defineLocale('mk', {
25140        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
25141        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
25142        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
25143        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
25144        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
25145        longDateFormat: {
25146            LT: 'H:mm',
25147            LTS: 'H:mm:ss',
25148            L: 'D.MM.YYYY',
25149            LL: 'D MMMM YYYY',
25150            LLL: 'D MMMM YYYY H:mm',
25151            LLLL: 'dddd, D MMMM YYYY H:mm'
25152        },
25153        calendar: {
25154            sameDay: '[Денес во] LT',
25155            nextDay: '[Утре во] LT',
25156            nextWeek: '[Во] dddd [во] LT',
25157            lastDay: '[Вчера во] LT',
25158            lastWeek: function lastWeek() {
25159                switch (this.day()) {
25160                    case 0:
25161                    case 3:
25162                    case 6:
25163                        return '[Изминатата] dddd [во] LT';
25164                    case 1:
25165                    case 2:
25166                    case 4:
25167                    case 5:
25168                        return '[Изминатиот] dddd [во] LT';
25169                }
25170            },
25171            sameElse: 'L'
25172        },
25173        relativeTime: {
25174            future: 'после %s',
25175            past: 'пред %s',
25176            s: 'неколку секунди',
25177            ss: '%d секунди',
25178            m: 'минута',
25179            mm: '%d минути',
25180            h: 'час',
25181            hh: '%d часа',
25182            d: 'ден',
25183            dd: '%d дена',
25184            M: 'месец',
25185            MM: '%d месеци',
25186            y: 'година',
25187            yy: '%d години'
25188        },
25189        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
25190        ordinal: function ordinal(number) {
25191            var lastDigit = number % 10,
25192                last2Digits = number % 100;
25193            if (number === 0) {
25194                return number + '-ев';
25195            } else if (last2Digits === 0) {
25196                return number + '-ен';
25197            } else if (last2Digits > 10 && last2Digits < 20) {
25198                return number + '-ти';
25199            } else if (lastDigit === 1) {
25200                return number + '-ви';
25201            } else if (lastDigit === 2) {
25202                return number + '-ри';
25203            } else if (lastDigit === 7 || lastDigit === 8) {
25204                return number + '-ми';
25205            } else {
25206                return number + '-ти';
25207            }
25208        },
25209        week: {
25210            dow: 1, // Monday is the first day of the week.
25211            doy: 7 // The week that contains Jan 1st is the first week of the year.
25212        }
25213    });
25214
25215    return mk;
25216});
25217
25218/***/ }),
25219/* 135 */
25220/***/ (function(module, exports, __webpack_require__) {
25221
25222"use strict";
25223var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25224
25225var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25226
25227//! moment.js locale configuration
25228
25229;(function (global, factory) {
25230    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25231				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25232				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25233				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25234})(undefined, function (moment) {
25235    'use strict';
25236
25237    var ml = moment.defineLocale('ml', {
25238        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
25239        monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
25240        monthsParseExact: true,
25241        weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
25242        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
25243        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
25244        longDateFormat: {
25245            LT: 'A h:mm -നു',
25246            LTS: 'A h:mm:ss -നു',
25247            L: 'DD/MM/YYYY',
25248            LL: 'D MMMM YYYY',
25249            LLL: 'D MMMM YYYY, A h:mm -നു',
25250            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'
25251        },
25252        calendar: {
25253            sameDay: '[ഇന്ന്] LT',
25254            nextDay: '[നാളെ] LT',
25255            nextWeek: 'dddd, LT',
25256            lastDay: '[ഇന്നലെ] LT',
25257            lastWeek: '[കഴിഞ്ഞ] dddd, LT',
25258            sameElse: 'L'
25259        },
25260        relativeTime: {
25261            future: '%s കഴിഞ്ഞ്',
25262            past: '%s മുൻപ്',
25263            s: 'അൽപ നിമിഷങ്ങൾ',
25264            ss: '%d സെക്കൻഡ്',
25265            m: 'ഒരു മിനിറ്റ്',
25266            mm: '%d മിനിറ്റ്',
25267            h: 'ഒരു മണിക്കൂർ',
25268            hh: '%d മണിക്കൂർ',
25269            d: 'ഒരു ദിവസം',
25270            dd: '%d ദിവസം',
25271            M: 'ഒരു മാസം',
25272            MM: '%d മാസം',
25273            y: 'ഒരു വർഷം',
25274            yy: '%d വർഷം'
25275        },
25276        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
25277        meridiemHour: function meridiemHour(hour, meridiem) {
25278            if (hour === 12) {
25279                hour = 0;
25280            }
25281            if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {
25282                return hour + 12;
25283            } else {
25284                return hour;
25285            }
25286        },
25287        meridiem: function meridiem(hour, minute, isLower) {
25288            if (hour < 4) {
25289                return 'രാത്രി';
25290            } else if (hour < 12) {
25291                return 'രാവിലെ';
25292            } else if (hour < 17) {
25293                return 'ഉച്ച കഴിഞ്ഞ്';
25294            } else if (hour < 20) {
25295                return 'വൈകുന്നേരം';
25296            } else {
25297                return 'രാത്രി';
25298            }
25299        }
25300    });
25301
25302    return ml;
25303});
25304
25305/***/ }),
25306/* 136 */
25307/***/ (function(module, exports, __webpack_require__) {
25308
25309"use strict";
25310var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25311
25312var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25313
25314//! moment.js locale configuration
25315
25316;(function (global, factory) {
25317    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25318				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25319				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25320				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25321})(undefined, function (moment) {
25322    'use strict';
25323
25324    function translate(number, withoutSuffix, key, isFuture) {
25325        switch (key) {
25326            case 's':
25327                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
25328            case 'ss':
25329                return number + (withoutSuffix ? ' секунд' : ' секундын');
25330            case 'm':
25331            case 'mm':
25332                return number + (withoutSuffix ? ' минут' : ' минутын');
25333            case 'h':
25334            case 'hh':
25335                return number + (withoutSuffix ? ' цаг' : ' цагийн');
25336            case 'd':
25337            case 'dd':
25338                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
25339            case 'M':
25340            case 'MM':
25341                return number + (withoutSuffix ? ' сар' : ' сарын');
25342            case 'y':
25343            case 'yy':
25344                return number + (withoutSuffix ? ' жил' : ' жилийн');
25345            default:
25346                return number;
25347        }
25348    }
25349
25350    var mn = moment.defineLocale('mn', {
25351        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
25352        monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
25353        monthsParseExact: true,
25354        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
25355        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
25356        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
25357        weekdaysParseExact: true,
25358        longDateFormat: {
25359            LT: 'HH:mm',
25360            LTS: 'HH:mm:ss',
25361            L: 'YYYY-MM-DD',
25362            LL: 'YYYY оны MMMMын D',
25363            LLL: 'YYYY оны MMMMын D HH:mm',
25364            LLLL: 'dddd, YYYY оны MMMMын D HH:mm'
25365        },
25366        meridiemParse: /ҮӨ|ҮХ/i,
25367        isPM: function isPM(input) {
25368            return input === 'ҮХ';
25369        },
25370        meridiem: function meridiem(hour, minute, isLower) {
25371            if (hour < 12) {
25372                return 'Ò®Ó¨';
25373            } else {
25374                return 'ҮХ';
25375            }
25376        },
25377        calendar: {
25378            sameDay: '[Өнөөдөр] LT',
25379            nextDay: '[Маргааш] LT',
25380            nextWeek: '[Ирэх] dddd LT',
25381            lastDay: '[Өчигдөр] LT',
25382            lastWeek: '[Өнгөрсөн] dddd LT',
25383            sameElse: 'L'
25384        },
25385        relativeTime: {
25386            future: '%s дараа',
25387            past: '%s өмнө',
25388            s: translate,
25389            ss: translate,
25390            m: translate,
25391            mm: translate,
25392            h: translate,
25393            hh: translate,
25394            d: translate,
25395            dd: translate,
25396            M: translate,
25397            MM: translate,
25398            y: translate,
25399            yy: translate
25400        },
25401        dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
25402        ordinal: function ordinal(number, period) {
25403            switch (period) {
25404                case 'd':
25405                case 'D':
25406                case 'DDD':
25407                    return number + ' өдөр';
25408                default:
25409                    return number;
25410            }
25411        }
25412    });
25413
25414    return mn;
25415});
25416
25417/***/ }),
25418/* 137 */
25419/***/ (function(module, exports, __webpack_require__) {
25420
25421"use strict";
25422var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25423
25424var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25425
25426//! moment.js locale configuration
25427
25428;(function (global, factory) {
25429    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25430				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25431				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
vendor: 5,012 bytes, lines 25432-25558
25432				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25433})(undefined, function (moment) {
25434    'use strict';
25435
25436    var symbolMap = {
25437        '1': '१',
25438        '2': '२',
25439        '3': '३',
25440        '4': '४',
25441        '5': '५',
25442        '6': '६',
25443        '7': '७',
25444        '8': '८',
25445        '9': '९',
25446        '0': '०'
25447    },
25448        numberMap = {
25449        '१': '1',
25450        '२': '2',
25451        '३': '3',
25452        '४': '4',
25453        '५': '5',
25454        '६': '6',
25455        '७': '7',
25456        '८': '8',
25457        '९': '9',
25458        '०': '0'
25459    };
25460
25461    function relativeTimeMr(number, withoutSuffix, string, isFuture) {
25462        var output = '';
25463        if (withoutSuffix) {
25464            switch (string) {
25465                case 's':
25466                    output = 'काही सेकंद';break;
25467                case 'ss':
25468                    output = '%d सेकंद';break;
25469                case 'm':
25470                    output = 'एक मिनिट';break;
25471                case 'mm':
25472                    output = '%d मिनिटे';break;
25473                case 'h':
25474                    output = 'एक तास';break;
25475                case 'hh':
25476                    output = '%d तास';break;
25477                case 'd':
25478                    output = 'एक दिवस';break;
25479                case 'dd':
25480                    output = '%d दिवस';break;
25481                case 'M':
25482                    output = 'एक महिना';break;
25483                case 'MM':
25484                    output = '%d महिने';break;
25485                case 'y':
25486                    output = 'एक वर्ष';break;
25487                case 'yy':
25488                    output = '%d वर्षे';break;
25489            }
25490        } else {
25491            switch (string) {
25492                case 's':
25493                    output = 'काही सेकंदां';break;
25494                case 'ss':
25495                    output = '%d सेकंदां';break;
25496                case 'm':
25497                    output = 'एका मिनिटा';break;
25498                case 'mm':
25499                    output = '%d मिनिटां';break;
25500                case 'h':
25501                    output = 'एका तासा';break;
25502                case 'hh':
25503                    output = '%d तासां';break;
25504                case 'd':
25505                    output = 'एका दिवसा';break;
25506                case 'dd':
25507                    output = '%d दिवसां';break;
25508                case 'M':
25509                    output = 'एका महिन्या';break;
25510                case 'MM':
25511                    output = '%d महिन्यां';break;
25512                case 'y':
25513                    output = 'एका वर्षा';break;
25514                case 'yy':
25515                    output = '%d वर्षां';break;
25516            }
25517        }
25518        return output.replace(/%d/i, number);
25519    }
25520
25521    var mr = moment.defineLocale('mr', {
25522        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
25523        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
25524        monthsParseExact: true,
25525        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
25526        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
25527        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
25528        longDateFormat: {
25529            LT: 'A h:mm वाजता',
25530            LTS: 'A h:mm:ss वाजता',
25531            L: 'DD/MM/YYYY',
25532            LL: 'D MMMM YYYY',
25533            LLL: 'D MMMM YYYY, A h:mm वाजता',
25534            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'
25535        },
25536        calendar: {
25537            sameDay: '[आज] LT',
25538            nextDay: '[उद्या] LT',
25539            nextWeek: 'dddd, LT',
25540            lastDay: '[काल] LT',
25541            lastWeek: '[मागील] dddd, LT',
25542            sameElse: 'L'
25543        },
25544        relativeTime: {
25545            future: '%sमध्ये',
25546            past: '%sपूर्वी',
25547            s: relativeTimeMr,
25548            ss: relativeTimeMr,
25549            m: relativeTimeMr,
25550            mm: relativeTimeMr,
25551            h: relativeTimeMr,
25552            hh: relativeTimeMr,
25553            d: relativeTimeMr,
25554            dd: relativeTimeMr,
25555            M: relativeTimeMr,
25556            MM: relativeTimeMr,
25557            y: relativeTimeMr,
25558            yy: relativeTimeMr
25559        },
25560        preparse: function preparse(string) {
25561            return string.replace(/[१२३४५६७८९०]/g, function (match) {
25562                return numberMap[match];
25563            });
25564        },
25565        postformat: function postformat(string) {
25566            return string.replace(/\d/g, function (match) {
25567                return symbolMap[match];
25568            });
25569        },
25570        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
25571        meridiemHour: function meridiemHour(hour, meridiem) {
25572            if (hour === 12) {
25573                hour = 0;
25574            }
25575            if (meridiem === 'रात्री') {
25576                return hour < 4 ? hour : hour + 12;
25577            } else if (meridiem === 'सकाळी') {
25578                return hour;
25579            } else if (meridiem === 'दुपारी') {
25580                return hour >= 10 ? hour : hour + 12;
25581            } else if (meridiem === 'सायंकाळी') {
25582                return hour + 12;
25583            }
25584        },
25585        meridiem: function meridiem(hour, minute, isLower) {
25586            if (hour < 4) {
25587                return 'रात्री';
25588            } else if (hour < 10) {
25589                return 'सकाळी';
25590            } else if (hour < 17) {
25591                return 'दुपारी';
25592            } else if (hour < 20) {
25593                return 'सायंकाळी';
25594            } else {
25595                return 'रात्री';
25596            }
25597        },
25598        week: {
25599            dow: 0, // Sunday is the first day of the week.
25600            doy: 6 // The week that contains Jan 1st is the first week of the year.
25601        }
25602    });
25603
25604    return mr;
25605});
25606
25607/***/ }),
25608/* 138 */
25609/***/ (function(module, exports, __webpack_require__) {
25610
25611"use strict";
25612var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25613
25614var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25615
25616//! moment.js locale configuration
25617
25618;(function (global, factory) {
25619    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25620				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25621				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25622				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25623})(undefined, function (moment) {
25624    'use strict';
25625
25626    var msMy = moment.defineLocale('ms-my', {
25627        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
25628        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
25629        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
25630        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
25631        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
25632        longDateFormat: {
25633            LT: 'HH.mm',
25634            LTS: 'HH.mm.ss',
25635            L: 'DD/MM/YYYY',
25636            LL: 'D MMMM YYYY',
25637            LLL: 'D MMMM YYYY [pukul] HH.mm',
25638            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
25639        },
25640        meridiemParse: /pagi|tengahari|petang|malam/,
25641        meridiemHour: function meridiemHour(hour, meridiem) {
25642            if (hour === 12) {
25643                hour = 0;
25644            }
25645            if (meridiem === 'pagi') {
25646                return hour;
25647            } else if (meridiem === 'tengahari') {
25648                return hour >= 11 ? hour : hour + 12;
25649            } else if (meridiem === 'petang' || meridiem === 'malam') {
25650                return hour + 12;
25651            }
25652        },
25653        meridiem: function meridiem(hours, minutes, isLower) {
25654            if (hours < 11) {
25655                return 'pagi';
25656            } else if (hours < 15) {
25657                return 'tengahari';
25658            } else if (hours < 19) {
25659                return 'petang';
25660            } else {
25661                return 'malam';
25662            }
25663        },
25664        calendar: {
25665            sameDay: '[Hari ini pukul] LT',
25666            nextDay: '[Esok pukul] LT',
25667            nextWeek: 'dddd [pukul] LT',
25668            lastDay: '[Kelmarin pukul] LT',
25669            lastWeek: 'dddd [lepas pukul] LT',
25670            sameElse: 'L'
25671        },
25672        relativeTime: {
25673            future: 'dalam %s',
25674            past: '%s yang lepas',
25675            s: 'beberapa saat',
25676            ss: '%d saat',
25677            m: 'seminit',
25678            mm: '%d minit',
25679            h: 'sejam',
25680            hh: '%d jam',
25681            d: 'sehari',
25682            dd: '%d hari',
25683            M: 'sebulan',
25684            MM: '%d bulan',
25685            y: 'setahun',
25686            yy: '%d tahun'
25687        },
25688        week: {
25689            dow: 1, // Monday is the first day of the week.
25690            doy: 7 // The week that contains Jan 1st is the first week of the year.
25691        }
25692    });
25693
25694    return msMy;
25695});
25696
25697/***/ }),
25698/* 139 */
25699/***/ (function(module, exports, __webpack_require__) {
25700
25701"use strict";
25702var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25703
25704var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25705
25706//! moment.js locale configuration
25707
25708;(function (global, factory) {
25709    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25710				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25711				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25712				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25713})(undefined, function (moment) {
25714    'use strict';
25715
25716    var ms = moment.defineLocale('ms', {
25717        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
25718        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
25719        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
25720        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
25721        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
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 [pukul] HH.mm',
25728            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'
25729        },
25730        meridiemParse: /pagi|tengahari|petang|malam/,
25731        meridiemHour: function meridiemHour(hour, meridiem) {
25732            if (hour === 12) {
25733                hour = 0;
25734            }
25735            if (meridiem === 'pagi') {
25736                return hour;
25737            } else if (meridiem === 'tengahari') {
25738                return hour >= 11 ? hour : hour + 12;
25739            } else if (meridiem === 'petang' || meridiem === 'malam') {
25740                return hour + 12;
25741            }
25742        },
25743        meridiem: function meridiem(hours, minutes, isLower) {
25744            if (hours < 11) {
25745                return 'pagi';
25746            } else if (hours < 15) {
25747                return 'tengahari';
25748            } else if (hours < 19) {
25749                return 'petang';
25750            } else {
25751                return 'malam';
25752            }
25753        },
25754        calendar: {
25755            sameDay: '[Hari ini pukul] LT',
25756            nextDay: '[Esok pukul] LT',
25757            nextWeek: 'dddd [pukul] LT',
25758            lastDay: '[Kelmarin pukul] LT',
25759            lastWeek: 'dddd [lepas pukul] LT',
25760            sameElse: 'L'
25761        },
25762        relativeTime: {
25763            future: 'dalam %s',
25764            past: '%s yang lepas',
25765            s: 'beberapa saat',
25766            ss: '%d saat',
25767            m: 'seminit',
25768            mm: '%d minit',
25769            h: 'sejam',
25770            hh: '%d jam',
25771            d: 'sehari',
25772            dd: '%d hari',
25773            M: 'sebulan',
25774            MM: '%d bulan',
25775            y: 'setahun',
25776            yy: '%d tahun'
25777        },
25778        week: {
25779            dow: 1, // Monday is the first day of the week.
25780            doy: 7 // The week that contains Jan 1st is the first week of the year.
25781        }
25782    });
25783
25784    return ms;
25785});
25786
25787/***/ }),
25788/* 140 */
25789/***/ (function(module, exports, __webpack_require__) {
25790
25791"use strict";
25792var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25793
25794var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25795
25796//! moment.js locale configuration
25797
25798;(function (global, factory) {
25799    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25800				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25801				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25802				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25803})(undefined, function (moment) {
25804    'use strict';
25805
25806    var mt = moment.defineLocale('mt', {
25807        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
25808        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
25809        weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
25810        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
25811        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
25812        longDateFormat: {
25813            LT: 'HH:mm',
25814            LTS: 'HH:mm:ss',
25815            L: 'DD/MM/YYYY',
25816            LL: 'D MMMM YYYY',
25817            LLL: 'D MMMM YYYY HH:mm',
25818            LLLL: 'dddd, D MMMM YYYY HH:mm'
25819        },
25820        calendar: {
25821            sameDay: '[Illum fil-]LT',
25822            nextDay: '[Għada fil-]LT',
25823            nextWeek: 'dddd [fil-]LT',
25824            lastDay: '[Il-bieraħ fil-]LT',
25825            lastWeek: 'dddd [li għadda] [fil-]LT',
25826            sameElse: 'L'
25827        },
25828        relativeTime: {
25829            future: 'f’ %s',
25830            past: '%s ilu',
25831            s: 'ftit sekondi',
25832            ss: '%d sekondi',
25833            m: 'minuta',
25834            mm: '%d minuti',
25835            h: 'siegħa',
25836            hh: '%d siegħat',
25837            d: 'ġurnata',
25838            dd: '%d ġranet',
25839            M: 'xahar',
25840            MM: '%d xhur',
25841            y: 'sena',
25842            yy: '%d sni'
25843        },
25844        dayOfMonthOrdinalParse: /\d{1,2}º/,
25845        ordinal: '%dº',
25846        week: {
25847            dow: 1, // Monday is the first day of the week.
25848            doy: 4 // The week that contains Jan 4th is the first week of the year.
25849        }
25850    });
25851
25852    return mt;
25853});
25854
25855/***/ }),
25856/* 141 */
25857/***/ (function(module, exports, __webpack_require__) {
25858
25859"use strict";
25860var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25861
25862var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25863
25864//! moment.js locale configuration
25865
25866;(function (global, factory) {
25867    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25868				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25869				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25870				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25871})(undefined, function (moment) {
25872    'use strict';
25873
25874    var symbolMap = {
25875        '1': '၁',
25876        '2': '၂',
25877        '3': '၃',
25878        '4': '၄',
25879        '5': '၅',
25880        '6': '၆',
25881        '7': '၇',
25882        '8': '၈',
25883        '9': '၉',
25884        '0': '၀'
25885    },
25886        numberMap = {
25887        '၁': '1',
25888        '၂': '2',
25889        '၃': '3',
25890        '၄': '4',
25891        '၅': '5',
25892        '၆': '6',
25893        '၇': '7',
25894        '၈': '8',
25895        '၉': '9',
25896        '၀': '0'
25897    };
25898
25899    var my = moment.defineLocale('my', {
25900        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
25901        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
25902        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
25903        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
25904        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
25905
25906        longDateFormat: {
25907            LT: 'HH:mm',
25908            LTS: 'HH:mm:ss',
25909            L: 'DD/MM/YYYY',
25910            LL: 'D MMMM YYYY',
25911            LLL: 'D MMMM YYYY HH:mm',
25912            LLLL: 'dddd D MMMM YYYY HH:mm'
25913        },
25914        calendar: {
25915            sameDay: '[ယနေ.] LT [မှာ]',
25916            nextDay: '[မနက်ဖြန်] LT [မှာ]',
25917            nextWeek: 'dddd LT [မှာ]',
25918            lastDay: '[မနေ.က] LT [မှာ]',
25919            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
25920            sameElse: 'L'
25921        },
25922        relativeTime: {
25923            future: 'လာမည့် %s မှာ',
25924            past: 'လွန်ခဲ့သော %s က',
25925            s: 'စက္ကန်.အနည်းငယ်',
25926            ss: '%d စက္ကန့်',
25927            m: 'တစ်မိနစ်',
25928            mm: '%d မိနစ်',
25929            h: 'တစ်နာရီ',
25930            hh: '%d နာရီ',
25931            d: 'တစ်ရက်',
25932            dd: '%d ရက်',
25933            M: 'တစ်လ',
25934            MM: '%d လ',
25935            y: 'တစ်နှစ်',
25936            yy: '%d နှစ်'
25937        },
25938        preparse: function preparse(string) {
25939            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
25940                return numberMap[match];
25941            });
25942        },
25943        postformat: function postformat(string) {
25944            return string.replace(/\d/g, function (match) {
25945                return symbolMap[match];
25946            });
25947        },
25948        week: {
25949            dow: 1, // Monday is the first day of the week.
25950            doy: 4 // The week that contains Jan 1st is the first week of the year.
25951        }
25952    });
25953
25954    return my;
25955});
25956
25957/***/ }),
25958/* 142 */
25959/***/ (function(module, exports, __webpack_require__) {
25960
25961"use strict";
25962var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
25963
25964var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
25965
25966//! moment.js locale configuration
25967
25968;(function (global, factory) {
25969    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
25970				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
25971				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
25972				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
25973})(undefined, function (moment) {
25974    'use strict';
25975
25976    var nb = moment.defineLocale('nb', {
25977        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
25978        monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
25979        monthsParseExact: true,
25980        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
25981        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
25982        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
25983        weekdaysParseExact: true,
25984        longDateFormat: {
25985            LT: 'HH:mm',
25986            LTS: 'HH:mm:ss',
25987            L: 'DD.MM.YYYY',
25988            LL: 'D. MMMM YYYY',
25989            LLL: 'D. MMMM YYYY [kl.] HH:mm',
25990            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
25991        },
25992        calendar: {
25993            sameDay: '[i dag kl.] LT',
25994            nextDay: '[i morgen kl.] LT',
25995            nextWeek: 'dddd [kl.] LT',
25996            lastDay: '[i går kl.] LT',
25997            lastWeek: '[forrige] dddd [kl.] LT',
25998            sameElse: 'L'
25999        },
26000        relativeTime: {
26001            future: 'om %s',
26002            past: '%s siden',
26003            s: 'noen sekunder',
26004            ss: '%d sekunder',
26005            m: 'ett minutt',
26006            mm: '%d minutter',
26007            h: 'en time',
26008            hh: '%d timer',
26009            d: 'en dag',
26010            dd: '%d dager',
26011            M: 'en måned',
26012            MM: '%d måneder',
26013            y: 'ett år',
26014            yy: '%d år'
26015        },
26016        dayOfMonthOrdinalParse: /\d{1,2}\./,
26017        ordinal: '%d.',
26018        week: {
26019            dow: 1, // Monday is the first day of the week.
26020            doy: 4 // The week that contains Jan 4th is the first week of the year.
26021        }
26022    });
26023
26024    return nb;
26025});
26026
26027/***/ }),
26028/* 143 */
26029/***/ (function(module, exports, __webpack_require__) {
26030
26031"use strict";
26032var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26033
26034var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26035
26036//! moment.js locale configuration
26037
26038;(function (global, factory) {
26039    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26040				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26041				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26042				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26043})(undefined, function (moment) {
26044    'use strict';
26045
26046    var symbolMap = {
26047        '1': '१',
26048        '2': '२',
26049        '3': '३',
26050        '4': '४',
26051        '5': '५',
26052        '6': '६',
26053        '7': '७',
26054        '8': '८',
26055        '9': '९',
26056        '0': '०'
26057    },
26058        numberMap = {
26059        '१': '1',
26060        '२': '2',
26061        '३': '3',
26062        '४': '4',
26063        '५': '5',
26064        '६': '6',
26065        '७': '7',
26066        '८': '8',
26067        '९': '9',
26068        '०': '0'
26069    };
26070
26071    var ne = moment.defineLocale('ne', {
26072        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
26073        monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
26074        monthsParseExact: true,
26075        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
26076        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
26077        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
26078        weekdaysParseExact: true,
26079        longDateFormat: {
26080            LT: 'Aको h:mm बजे',
26081            LTS: 'Aको h:mm:ss बजे',
26082            L: 'DD/MM/YYYY',
26083            LL: 'D MMMM YYYY',
26084            LLL: 'D MMMM YYYY, Aको h:mm बजे',
26085            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'
26086        },
26087        preparse: function preparse(string) {
26088            return string.replace(/[१२३४५६७८९०]/g, function (match) {
26089                return numberMap[match];
26090            });
26091        },
26092        postformat: function postformat(string) {
26093            return string.replace(/\d/g, function (match) {
26094                return symbolMap[match];
26095            });
26096        },
26097        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
26098        meridiemHour: function meridiemHour(hour, meridiem) {
26099            if (hour === 12) {
26100                hour = 0;
26101            }
26102            if (meridiem === 'राति') {
26103                return hour < 4 ? hour : hour + 12;
26104            } else if (meridiem === 'बिहान') {
26105                return hour;
26106            } else if (meridiem === 'दिउँसो') {
26107                return hour >= 10 ? hour : hour + 12;
26108            } else if (meridiem === 'साँझ') {
26109                return hour + 12;
26110            }
26111        },
26112        meridiem: function meridiem(hour, minute, isLower) {
26113            if (hour < 3) {
26114                return 'राति';
26115            } else if (hour < 12) {
26116                return 'बिहान';
26117            } else if (hour < 16) {
26118                return 'दिउँसो';
26119            } else if (hour < 20) {
26120                return 'साँझ';
26121            } else {
26122                return 'राति';
26123            }
26124        },
26125        calendar: {
26126            sameDay: '[आज] LT',
26127            nextDay: '[भोलि] LT',
26128            nextWeek: '[आउँदो] dddd[,] LT',
26129            lastDay: '[हिजो] LT',
26130            lastWeek: '[गएको] dddd[,] LT',
26131            sameElse: 'L'
26132        },
26133        relativeTime: {
26134            future: '%sमा',
26135            past: '%s अगाडि',
26136            s: 'केही क्षण',
26137            ss: '%d सेकेण्ड',
26138            m: 'एक मिनेट',
26139            mm: '%d मिनेट',
26140            h: 'एक घण्टा',
26141            hh: '%d घण्टा',
26142            d: 'एक दिन',
26143            dd: '%d दिन',
26144            M: 'एक महिना',
26145            MM: '%d महिना',
26146            y: 'एक बर्ष',
26147            yy: '%d बर्ष'
26148        },
26149        week: {
26150            dow: 0, // Sunday is the first day of the week.
26151            doy: 6 // The week that contains Jan 1st is the first week of the year.
26152        }
26153    });
26154
26155    return ne;
26156});
26157
26158/***/ }),
26159/* 144 */
26160/***/ (function(module, exports, __webpack_require__) {
26161
26162"use strict";
26163var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26164
26165var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26166
26167//! moment.js locale configuration
26168
26169;(function (global, factory) {
26170    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26171				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26172				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26173				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26174})(undefined, function (moment) {
26175    'use strict';
26176
26177    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
26178        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
26179
26180    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
26181    var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
26182
26183    var nlBe = moment.defineLocale('nl-be', {
26184        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
26185        monthsShort: function monthsShort(m, format) {
26186            if (!m) {
26187                return monthsShortWithDots;
26188            } else if (/-MMM-/.test(format)) {
26189                return monthsShortWithoutDots[m.month()];
26190            } else {
26191                return monthsShortWithDots[m.month()];
26192            }
26193        },
26194
26195        monthsRegex: monthsRegex,
26196        monthsShortRegex: monthsRegex,
26197        monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
26198        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
26199
26200        monthsParse: monthsParse,
26201        longMonthsParse: monthsParse,
26202        shortMonthsParse: monthsParse,
26203
26204        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
26205        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
26206        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
26207        weekdaysParseExact: true,
26208        longDateFormat: {
26209            LT: 'HH:mm',
26210            LTS: 'HH:mm:ss',
26211            L: 'DD/MM/YYYY',
26212            LL: 'D MMMM YYYY',
26213            LLL: 'D MMMM YYYY HH:mm',
26214            LLLL: 'dddd D MMMM YYYY HH:mm'
26215        },
26216        calendar: {
26217            sameDay: '[vandaag om] LT',
26218            nextDay: '[morgen om] LT',
26219            nextWeek: 'dddd [om] LT',
26220            lastDay: '[gisteren om] LT',
26221            lastWeek: '[afgelopen] dddd [om] LT',
26222            sameElse: 'L'
26223        },
26224        relativeTime: {
26225            future: 'over %s',
26226            past: '%s geleden',
26227            s: 'een paar seconden',
26228            ss: '%d seconden',
26229            m: 'één minuut',
26230            mm: '%d minuten',
26231            h: 'één uur',
26232            hh: '%d uur',
26233            d: 'één dag',
26234            dd: '%d dagen',
26235            M: 'één maand',
26236            MM: '%d maanden',
26237            y: 'één jaar',
26238            yy: '%d jaar'
26239        },
26240        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
26241        ordinal: function ordinal(number) {
26242            return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');
26243        },
26244        week: {
26245            dow: 1, // Monday is the first day of the week.
26246            doy: 4 // The week that contains Jan 4th is the first week of the year.
26247        }
26248    });
26249
26250    return nlBe;
26251});
26252
26253/***/ }),
26254/* 145 */
26255/***/ (function(module, exports, __webpack_require__) {
26256
26257"use strict";
26258var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26259
26260var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26261
26262//! moment.js locale configuration
26263
26264;(function (global, factory) {
26265    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26266				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26267				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26268				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26269})(undefined, function (moment) {
26270    'use strict';
26271
26272    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
26273        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
26274
26275    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
26276    var monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
26277
26278    var nl = moment.defineLocale('nl', {
26279        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
26280        monthsShort: function monthsShort(m, format) {
26281            if (!m) {
26282                return monthsShortWithDots;
26283            } else if (/-MMM-/.test(format)) {
26284                return monthsShortWithoutDots[m.month()];
26285            } else {
26286                return monthsShortWithDots[m.month()];
26287            }
26288        },
26289
26290        monthsRegex: monthsRegex,
26291        monthsShortRegex: monthsRegex,
26292        monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,
26293        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
26294
26295        monthsParse: monthsParse,
26296        longMonthsParse: monthsParse,
26297        shortMonthsParse: monthsParse,
26298
26299        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
26300        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
26301        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
26302        weekdaysParseExact: true,
26303        longDateFormat: {
26304            LT: 'HH:mm',
26305            LTS: 'HH:mm:ss',
26306            L: 'DD-MM-YYYY',
26307            LL: 'D MMMM YYYY',
26308            LLL: 'D MMMM YYYY HH:mm',
26309            LLLL: 'dddd D MMMM YYYY HH:mm'
26310        },
26311        calendar: {
26312            sameDay: '[vandaag om] LT',
26313            nextDay: '[morgen om] LT',
26314            nextWeek: 'dddd [om] LT',
26315            lastDay: '[gisteren om] LT',
26316            lastWeek: '[afgelopen] dddd [om] LT',
26317            sameElse: 'L'
26318        },
26319        relativeTime: {
26320            future: 'over %s',
26321            past: '%s geleden',
26322            s: 'een paar seconden',
26323            ss: '%d seconden',
26324            m: 'één minuut',
26325            mm: '%d minuten',
26326            h: 'één uur',
26327            hh: '%d uur',
26328            d: 'één dag',
26329            dd: '%d dagen',
26330            M: 'één maand',
26331            MM: '%d maanden',
26332            y: 'één jaar',
26333            yy: '%d jaar'
26334        },
26335        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
26336        ordinal: function ordinal(number) {
26337            return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');
26338        },
26339        week: {
26340            dow: 1, // Monday is the first day of the week.
26341            doy: 4 // The week that contains Jan 4th is the first week of the year.
26342        }
26343    });
26344
26345    return nl;
26346});
26347
26348/***/ }),
26349/* 146 */
26350/***/ (function(module, exports, __webpack_require__) {
26351
26352"use strict";
26353var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26354
26355var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26356
26357//! moment.js locale configuration
26358
26359;(function (global, factory) {
26360    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26361				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26362				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26363				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26364})(undefined, function (moment) {
26365    'use strict';
26366
26367    var nn = moment.defineLocale('nn', {
26368        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
26369        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
26370        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
26371        weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
26372        weekdaysMin: 'su_må_ty_on_to_fr_lø'.split('_'),
26373        longDateFormat: {
26374            LT: 'HH:mm',
26375            LTS: 'HH:mm:ss',
26376            L: 'DD.MM.YYYY',
26377            LL: 'D. MMMM YYYY',
26378            LLL: 'D. MMMM YYYY [kl.] H:mm',
26379            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
26380        },
26381        calendar: {
26382            sameDay: '[I dag klokka] LT',
26383            nextDay: '[I morgon klokka] LT',
26384            nextWeek: 'dddd [klokka] LT',
26385            lastDay: '[I går klokka] LT',
26386            lastWeek: '[Føregåande] dddd [klokka] LT',
26387            sameElse: 'L'
26388        },
26389        relativeTime: {
26390            future: 'om %s',
26391            past: '%s sidan',
26392            s: 'nokre sekund',
26393            ss: '%d sekund',
26394            m: 'eit minutt',
26395            mm: '%d minutt',
26396            h: 'ein time',
26397            hh: '%d timar',
26398            d: 'ein dag',
26399            dd: '%d dagar',
26400            M: 'ein månad',
26401            MM: '%d månader',
26402            y: 'eit år',
26403            yy: '%d år'
26404        },
26405        dayOfMonthOrdinalParse: /\d{1,2}\./,
26406        ordinal: '%d.',
26407        week: {
26408            dow: 1, // Monday is the first day of the week.
26409            doy: 4 // The week that contains Jan 4th is the first week of the year.
26410        }
26411    });
26412
26413    return nn;
26414});
26415
26416/***/ }),
26417/* 147 */
26418/***/ (function(module, exports, __webpack_require__) {
26419
26420"use strict";
26421var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26422
26423var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26424
26425//! moment.js locale configuration
26426
26427;(function (global, factory) {
26428    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26429				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26430				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26431				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26432})(undefined, function (moment) {
26433    'use strict';
26434
26435    var symbolMap = {
26436        '1': 'à©§',
26437        '2': '੨',
26438        '3': 'à©©',
26439        '4': '੪',
26440        '5': 'à©«',
26441        '6': '੬',
26442        '7': 'à©­',
26443        '8': 'à©®',
26444        '9': '੯',
26445        '0': '੦'
26446    },
26447        numberMap = {
26448        'à©§': '1',
26449        '੨': '2',
26450        'à©©': '3',
26451        '੪': '4',
26452        'à©«': '5',
26453        '੬': '6',
26454        'à©­': '7',
26455        'à©®': '8',
26456        '੯': '9',
26457        '੦': '0'
26458    };
26459
26460    var paIn = moment.defineLocale('pa-in', {
26461        // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
26462        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
26463        monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
26464        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
26465        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
26466        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
26467        longDateFormat: {
26468            LT: 'A h:mm ਵਜੇ',
26469            LTS: 'A h:mm:ss ਵਜੇ',
26470            L: 'DD/MM/YYYY',
26471            LL: 'D MMMM YYYY',
26472            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
26473            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
26474        },
26475        calendar: {
26476            sameDay: '[ਅਜ] LT',
26477            nextDay: '[ਕਲ] LT',
26478            nextWeek: 'dddd, LT',
26479            lastDay: '[ਕਲ] LT',
26480            lastWeek: '[ਪਿਛਲੇ] dddd, LT',
26481            sameElse: 'L'
26482        },
26483        relativeTime: {
26484            future: '%s ਵਿੱਚ',
26485            past: '%s ਪਿਛਲੇ',
26486            s: 'ਕੁਝ ਸਕਿੰਟ',
26487            ss: '%d ਸਕਿੰਟ',
26488            m: 'ਇਕ ਮਿੰਟ',
26489            mm: '%d ਮਿੰਟ',
26490            h: 'ਇੱਕ ਘੰਟਾ',
26491            hh: '%d ਘੰਟੇ',
26492            d: 'ਇੱਕ ਦਿਨ',
26493            dd: '%d ਦਿਨ',
26494            M: 'ਇੱਕ ਮਹੀਨਾ',
26495            MM: '%d ਮਹੀਨੇ',
26496            y: 'ਇੱਕ ਸਾਲ',
26497            yy: '%d ਸਾਲ'
26498        },
26499        preparse: function preparse(string) {
26500            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
26501                return numberMap[match];
26502            });
26503        },
26504        postformat: function postformat(string) {
26505            return string.replace(/\d/g, function (match) {
26506                return symbolMap[match];
26507            });
26508        },
26509        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
26510        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
26511        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
26512        meridiemHour: function meridiemHour(hour, meridiem) {
26513            if (hour === 12) {
26514                hour = 0;
26515            }
26516            if (meridiem === 'ਰਾਤ') {
26517                return hour < 4 ? hour : hour + 12;
26518            } else if (meridiem === 'ਸਵੇਰ') {
26519                return hour;
26520            } else if (meridiem === 'ਦੁਪਹਿਰ') {
26521                return hour >= 10 ? hour : hour + 12;
26522            } else if (meridiem === 'ਸ਼ਾਮ') {
26523                return hour + 12;
26524            }
26525        },
26526        meridiem: function meridiem(hour, minute, isLower) {
26527            if (hour < 4) {
26528                return 'ਰਾਤ';
26529            } else if (hour < 10) {
26530                return 'ਸਵੇਰ';
26531            } else if (hour < 17) {
26532                return 'ਦੁਪਹਿਰ';
26533            } else if (hour < 20) {
26534                return 'ਸ਼ਾਮ';
26535            } else {
26536                return 'ਰਾਤ';
26537            }
26538        },
26539        week: {
26540            dow: 0, // Sunday is the first day of the week.
26541            doy: 6 // The week that contains Jan 1st is the first week of the year.
26542        }
26543    });
26544
26545    return paIn;
26546});
26547
26548/***/ }),
26549/* 148 */
26550/***/ (function(module, exports, __webpack_require__) {
26551
26552"use strict";
26553var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26554
26555var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26556
26557//! moment.js locale configuration
26558
26559;(function (global, factory) {
26560    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26561				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26562				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26563				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26564})(undefined, function (moment) {
26565    'use strict';
26566
26567    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
26568        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
26569    function plural(n) {
26570        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
26571    }
26572    function translate(number, withoutSuffix, key) {
26573        var result = number + ' ';
26574        switch (key) {
26575            case 'ss':
26576                return result + (plural(number) ? 'sekundy' : 'sekund');
26577            case 'm':
26578                return withoutSuffix ? 'minuta' : 'minutę';
26579            case 'mm':
26580                return result + (plural(number) ? 'minuty' : 'minut');
26581            case 'h':
26582                return withoutSuffix ? 'godzina' : 'godzinę';
26583            case 'hh':
26584                return result + (plural(number) ? 'godziny' : 'godzin');
26585            case 'MM':
26586                return result + (plural(number) ? 'miesiące' : 'miesięcy');
26587            case 'yy':
26588                return result + (plural(number) ? 'lata' : 'lat');
26589        }
26590    }
26591
26592    var pl = moment.defineLocale('pl', {
26593        months: function months(momentToFormat, format) {
26594            if (!momentToFormat) {
26595                return monthsNominative;
26596            } else if (format === '') {
26597                // Hack: if format empty we know this is used to generate
26598                // RegExp by moment. Give then back both valid forms of months
26599                // in RegExp ready format.
26600                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
26601            } else if (/D MMMM/.test(format)) {
26602                return monthsSubjective[momentToFormat.month()];
26603            } else {
26604                return monthsNominative[momentToFormat.month()];
26605            }
26606        },
26607        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
26608        weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
26609        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
26610        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
26611        longDateFormat: {
26612            LT: 'HH:mm',
26613            LTS: 'HH:mm:ss',
26614            L: 'DD.MM.YYYY',
26615            LL: 'D MMMM YYYY',
26616            LLL: 'D MMMM YYYY HH:mm',
26617            LLLL: 'dddd, D MMMM YYYY HH:mm'
26618        },
26619        calendar: {
26620            sameDay: '[Dziś o] LT',
26621            nextDay: '[Jutro o] LT',
26622            nextWeek: function nextWeek() {
26623                switch (this.day()) {
26624                    case 0:
26625                        return '[W niedzielę o] LT';
26626
26627                    case 2:
26628                        return '[We wtorek o] LT';
26629
26630                    case 3:
26631                        return '[W środę o] LT';
26632
26633                    case 6:
26634                        return '[W sobotę o] LT';
26635
26636                    default:
26637                        return '[W] dddd [o] LT';
26638                }
26639            },
26640            lastDay: '[Wczoraj o] LT',
26641            lastWeek: function lastWeek() {
26642                switch (this.day()) {
26643                    case 0:
26644                        return '[W zeszłą niedzielę o] LT';
26645                    case 3:
26646                        return '[W zeszłą środę o] LT';
26647                    case 6:
26648                        return '[W zeszłą sobotę o] LT';
26649                    default:
26650                        return '[W zeszły] dddd [o] LT';
26651                }
26652            },
26653            sameElse: 'L'
26654        },
26655        relativeTime: {
26656            future: 'za %s',
26657            past: '%s temu',
26658            s: 'kilka sekund',
26659            ss: translate,
26660            m: translate,
26661            mm: translate,
26662            h: translate,
26663            hh: translate,
26664            d: '1 dzień',
26665            dd: '%d dni',
26666            M: 'miesiąc',
26667            MM: translate,
26668            y: 'rok',
26669            yy: translate
26670        },
26671        dayOfMonthOrdinalParse: /\d{1,2}\./,
26672        ordinal: '%d.',
26673        week: {
26674            dow: 1, // Monday is the first day of the week.
26675            doy: 4 // The week that contains Jan 4th is the first week of the year.
26676        }
26677    });
26678
26679    return pl;
26680});
26681
26682/***/ }),
26683/* 149 */
26684/***/ (function(module, exports, __webpack_require__) {
26685
26686"use strict";
26687var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26688
26689var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26690
26691//! moment.js locale configuration
26692
26693;(function (global, factory) {
26694    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26695				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26696				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26697				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26698})(undefined, function (moment) {
26699    'use strict';
26700
26701    var ptBr = moment.defineLocale('pt-br', {
26702        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
26703        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
26704        weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
26705        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
26706        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
26707        weekdaysParseExact: true,
26708        longDateFormat: {
26709            LT: 'HH:mm',
26710            LTS: 'HH:mm:ss',
26711            L: 'DD/MM/YYYY',
26712            LL: 'D [de] MMMM [de] YYYY',
26713            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
26714            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
26715        },
26716        calendar: {
26717            sameDay: '[Hoje às] LT',
26718            nextDay: '[Amanhã às] LT',
26719            nextWeek: 'dddd [às] LT',
26720            lastDay: '[Ontem às] LT',
26721            lastWeek: function lastWeek() {
26722                return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday
26723                '[Última] dddd [às] LT'; // Monday - Friday
26724            },
26725            sameElse: 'L'
26726        },
26727        relativeTime: {
26728            future: 'em %s',
26729            past: 'há %s',
26730            s: 'poucos segundos',
26731            ss: '%d segundos',
26732            m: 'um minuto',
26733            mm: '%d minutos',
26734            h: 'uma hora',
26735            hh: '%d horas',
26736            d: 'um dia',
26737            dd: '%d dias',
26738            M: 'um mês',
26739            MM: '%d meses',
26740            y: 'um ano',
26741            yy: '%d anos'
26742        },
26743        dayOfMonthOrdinalParse: /\d{1,2}º/,
26744        ordinal: '%dº'
26745    });
26746
26747    return ptBr;
26748});
26749
26750/***/ }),
26751/* 150 */
26752/***/ (function(module, exports, __webpack_require__) {
26753
26754"use strict";
26755var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26756
26757var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26758
26759//! moment.js locale configuration
26760
26761;(function (global, factory) {
26762    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26763				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26764				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26765				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26766})(undefined, function (moment) {
26767    'use strict';
26768
26769    var pt = moment.defineLocale('pt', {
26770        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
26771        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
26772        weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
26773        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
26774        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
26775        weekdaysParseExact: true,
26776        longDateFormat: {
26777            LT: 'HH:mm',
26778            LTS: 'HH:mm:ss',
26779            L: 'DD/MM/YYYY',
26780            LL: 'D [de] MMMM [de] YYYY',
26781            LLL: 'D [de] MMMM [de] YYYY HH:mm',
26782            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'
26783        },
26784        calendar: {
26785            sameDay: '[Hoje às] LT',
26786            nextDay: '[Amanhã às] LT',
26787            nextWeek: 'dddd [às] LT',
26788            lastDay: '[Ontem às] LT',
26789            lastWeek: function lastWeek() {
26790                return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : // Saturday + Sunday
26791                '[Última] dddd [às] LT'; // Monday - Friday
26792            },
26793            sameElse: 'L'
26794        },
26795        relativeTime: {
26796            future: 'em %s',
26797            past: 'há %s',
26798            s: 'segundos',
26799            ss: '%d segundos',
26800            m: 'um minuto',
26801            mm: '%d minutos',
26802            h: 'uma hora',
26803            hh: '%d horas',
26804            d: 'um dia',
26805            dd: '%d dias',
26806            M: 'um mês',
26807            MM: '%d meses',
26808            y: 'um ano',
26809            yy: '%d anos'
26810        },
26811        dayOfMonthOrdinalParse: /\d{1,2}º/,
26812        ordinal: '%dº',
26813        week: {
26814            dow: 1, // Monday is the first day of the week.
26815            doy: 4 // The week that contains Jan 4th is the first week of the year.
26816        }
26817    });
26818
26819    return pt;
26820});
26821
26822/***/ }),
26823/* 151 */
26824/***/ (function(module, exports, __webpack_require__) {
26825
26826"use strict";
26827var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26828
26829var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26830
26831//! moment.js locale configuration
26832
26833;(function (global, factory) {
26834    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26835				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26836				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26837				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26838})(undefined, function (moment) {
26839    'use strict';
26840
26841    function relativeTimeWithPlural(number, withoutSuffix, key) {
26842        var format = {
26843            'ss': 'secunde',
26844            'mm': 'minute',
26845            'hh': 'ore',
26846            'dd': 'zile',
26847            'MM': 'luni',
26848            'yy': 'ani'
26849        },
26850            separator = ' ';
26851        if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {
26852            separator = ' de ';
26853        }
26854        return number + separator + format[key];
26855    }
26856
26857    var ro = moment.defineLocale('ro', {
26858        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
26859        monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
26860        monthsParseExact: true,
26861        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
26862        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
26863        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
26864        longDateFormat: {
26865            LT: 'H:mm',
26866            LTS: 'H:mm:ss',
26867            L: 'DD.MM.YYYY',
26868            LL: 'D MMMM YYYY',
26869            LLL: 'D MMMM YYYY H:mm',
26870            LLLL: 'dddd, D MMMM YYYY H:mm'
26871        },
26872        calendar: {
26873            sameDay: '[azi la] LT',
26874            nextDay: '[mâine la] LT',
26875            nextWeek: 'dddd [la] LT',
26876            lastDay: '[ieri la] LT',
26877            lastWeek: '[fosta] dddd [la] LT',
26878            sameElse: 'L'
26879        },
26880        relativeTime: {
26881            future: 'peste %s',
26882            past: '%s în urmă',
26883            s: 'câteva secunde',
26884            ss: relativeTimeWithPlural,
26885            m: 'un minut',
26886            mm: relativeTimeWithPlural,
26887            h: 'o oră',
26888            hh: relativeTimeWithPlural,
26889            d: 'o zi',
26890            dd: relativeTimeWithPlural,
26891            M: 'o lună',
26892            MM: relativeTimeWithPlural,
26893            y: 'un an',
26894            yy: relativeTimeWithPlural
26895        },
26896        week: {
26897            dow: 1, // Monday is the first day of the week.
26898            doy: 7 // The week that contains Jan 1st is the first week of the year.
26899        }
26900    });
26901
26902    return ro;
26903});
26904
26905/***/ }),
26906/* 152 */
26907/***/ (function(module, exports, __webpack_require__) {
26908
26909"use strict";
26910var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
26911
26912var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
26913
26914//! moment.js locale configuration
26915
26916;(function (global, factory) {
26917    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
26918				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
26919				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
26920				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
26921})(undefined, function (moment) {
26922    'use strict';
26923
26924    function plural(word, num) {
26925        var forms = word.split('_');
26926        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];
26927    }
26928    function relativeTimeWithPlural(number, withoutSuffix, key) {
26929        var format = {
26930            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
26931            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
26932            'hh': 'час_часа_часов',
26933            'dd': 'день_дня_дней',
26934            'MM': 'месяц_месяца_месяцев',
26935            'yy': 'год_года_лет'
26936        };
26937        if (key === 'm') {
26938            return withoutSuffix ? 'минута' : 'минуту';
26939        } else {
26940            return number + ' ' + plural(format[key], +number);
26941        }
26942    }
26943    var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
26944
26945    // http://new.gramota.ru/spravka/rules/139-prop : § 103
26946    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
26947    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
26948    var ru = moment.defineLocale('ru', {
26949        months: {
26950            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
26951            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
26952        },
26953        monthsShort: {
26954            // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
26955            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
26956            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
26957        },
26958        weekdays: {
26959            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
26960            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
26961            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
26962        },
26963        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
26964        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
26965        monthsParse: monthsParse,
26966        longMonthsParse: monthsParse,
26967        shortMonthsParse: monthsParse,
26968
26969        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
26970        monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
26971
26972        // копия предыдущего
26973        monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
26974
26975        // полные названия с падежами
26976        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
26977
26978        // Выражение, которое соотвествует только сокращённым формам
26979        monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
26980        longDateFormat: {
26981            LT: 'H:mm',
26982            LTS: 'H:mm:ss',
26983            L: 'DD.MM.YYYY',
26984            LL: 'D MMMM YYYY г.',
26985            LLL: 'D MMMM YYYY г., H:mm',
26986            LLLL: 'dddd, D MMMM YYYY г., H:mm'
26987        },
26988        calendar: {
26989            sameDay: '[Сегодня, в] LT',
26990            nextDay: '[Завтра, в] LT',
26991            lastDay: '[Вчера, в] LT',
26992            nextWeek: function nextWeek(now) {
26993                if (now.week() !== this.week()) {
26994                    switch (this.day()) {
26995                        case 0:
26996                            return '[В следующее] dddd, [в] LT';
26997                        case 1:
26998                        case 2:
26999                        case 4:
27000                            return '[В следующий] dddd, [в] LT';
27001                        case 3:
27002                        case 5:
27003                        case 6:
27004                            return '[В следующую] dddd, [в] LT';
27005                    }
27006                } else {
27007                    if (this.day() === 2) {
27008                        return '[Во] dddd, [в] LT';
27009                    } else {
27010                        return '[В] dddd, [в] LT';
27011                    }
27012                }
27013            },
27014            lastWeek: function lastWeek(now) {
27015                if (now.week() !== this.week()) {
27016                    switch (this.day()) {
27017                        case 0:
27018                            return '[В прошлое] dddd, [в] LT';
27019                        case 1:
27020                        case 2:
27021                        case 4:
27022                            return '[В прошлый] dddd, [в] LT';
27023                        case 3:
27024                        case 5:
27025                        case 6:
27026                            return '[В прошлую] dddd, [в] LT';
27027                    }
27028                } else {
27029                    if (this.day() === 2) {
27030                        return '[Во] dddd, [в] LT';
27031                    } else {
27032                        return '[В] dddd, [в] LT';
27033                    }
27034                }
27035            },
27036            sameElse: 'L'
27037        },
27038        relativeTime: {
27039            future: 'через %s',
27040            past: '%s назад',
27041            s: 'несколько секунд',
27042            ss: relativeTimeWithPlural,
27043            m: relativeTimeWithPlural,
27044            mm: relativeTimeWithPlural,
27045            h: 'час',
27046            hh: relativeTimeWithPlural,
27047            d: 'день',
27048            dd: relativeTimeWithPlural,
27049            M: 'месяц',
27050            MM: relativeTimeWithPlural,
27051            y: 'год',
27052            yy: relativeTimeWithPlural
27053        },
27054        meridiemParse: /ночи|утра|дня|вечера/i,
27055        isPM: function isPM(input) {
27056            return (/^(дня|вечера)$/.test(input)
27057            );
27058        },
27059        meridiem: function meridiem(hour, minute, isLower) {
27060            if (hour < 4) {
27061                return 'ночи';
27062            } else if (hour < 12) {
27063                return 'утра';
27064            } else if (hour < 17) {
27065                return 'дня';
27066            } else {
27067                return 'вечера';
27068            }
27069        },
27070        dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
27071        ordinal: function ordinal(number, period) {
27072            switch (period) {
27073                case 'M':
27074                case 'd':
27075                case 'DDD':
27076                    return number + '-й';
27077                case 'D':
27078                    return number + '-го';
27079                case 'w':
27080                case 'W':
27081                    return number + '-я';
27082                default:
27083                    return number;
27084            }
27085        },
27086        week: {
27087            dow: 1, // Monday is the first day of the week.
27088            doy: 4 // The week that contains Jan 4th is the first week of the year.
27089        }
27090    });
27091
27092    return ru;
27093});
27094
27095/***/ }),
27096/* 153 */
27097/***/ (function(module, exports, __webpack_require__) {
27098
27099"use strict";
27100var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27101
27102var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27103
27104//! moment.js locale configuration
27105
27106;(function (global, factory) {
27107    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27108				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27109				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27110				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27111})(undefined, function (moment) {
27112    'use strict';
27113
27114    var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'];
27115    var days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
27116
27117    var sd = moment.defineLocale('sd', {
27118        months: months,
27119        monthsShort: months,
27120        weekdays: days,
27121        weekdaysShort: days,
27122        weekdaysMin: days,
27123        longDateFormat: {
27124            LT: 'HH:mm',
27125            LTS: 'HH:mm:ss',
27126            L: 'DD/MM/YYYY',
27127            LL: 'D MMMM YYYY',
27128            LLL: 'D MMMM YYYY HH:mm',
27129            LLLL: 'dddd، D MMMM YYYY HH:mm'
27130        },
27131        meridiemParse: /صبح|شام/,
27132        isPM: function isPM(input) {
27133            return 'شام' === input;
27134        },
27135        meridiem: function meridiem(hour, minute, isLower) {
27136            if (hour < 12) {
27137                return 'صبح';
27138            }
27139            return 'شام';
27140        },
27141        calendar: {
27142            sameDay: '[اڄ] LT',
27143            nextDay: '[سڀاڻي] LT',
27144            nextWeek: 'dddd [اڳين هفتي تي] LT',
27145            lastDay: '[ڪالهه] LT',
27146            lastWeek: '[گزريل هفتي] dddd [تي] LT',
27147            sameElse: 'L'
27148        },
27149        relativeTime: {
27150            future: '%s پوء',
27151            past: '%s اڳ',
27152            s: 'چند سيڪنڊ',
27153            ss: '%d سيڪنڊ',
27154            m: 'هڪ منٽ',
27155            mm: '%d منٽ',
27156            h: 'هڪ ڪلاڪ',
27157            hh: '%d ڪلاڪ',
27158            d: 'هڪ ڏينهن',
27159            dd: '%d ڏينهن',
27160            M: 'هڪ مهينو',
27161            MM: '%d مهينا',
27162            y: 'هڪ سال',
27163            yy: '%d سال'
27164        },
27165        preparse: function preparse(string) {
27166            return string.replace(/،/g, ',');
27167        },
27168        postformat: function postformat(string) {
27169            return string.replace(/,/g, '،');
27170        },
27171        week: {
27172            dow: 1, // Monday is the first day of the week.
27173            doy: 4 // The week that contains Jan 4th is the first week of the year.
27174        }
27175    });
27176
27177    return sd;
27178});
27179
27180/***/ }),
27181/* 154 */
27182/***/ (function(module, exports, __webpack_require__) {
27183
27184"use strict";
27185var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27186
27187var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27188
27189//! moment.js locale configuration
27190
27191;(function (global, factory) {
27192    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27193				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27194				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27195				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27196})(undefined, function (moment) {
27197    'use strict';
27198
27199    var se = moment.defineLocale('se', {
27200        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('_'),
27201        monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
27202        weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
27203        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
27204        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
27205        longDateFormat: {
27206            LT: 'HH:mm',
27207            LTS: 'HH:mm:ss',
27208            L: 'DD.MM.YYYY',
27209            LL: 'MMMM D. [b.] YYYY',
27210            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
27211            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
27212        },
27213        calendar: {
27214            sameDay: '[otne ti] LT',
27215            nextDay: '[ihttin ti] LT',
27216            nextWeek: 'dddd [ti] LT',
27217            lastDay: '[ikte ti] LT',
27218            lastWeek: '[ovddit] dddd [ti] LT',
27219            sameElse: 'L'
27220        },
27221        relativeTime: {
27222            future: '%s geažes',
27223            past: 'maŋit %s',
27224            s: 'moadde sekunddat',
27225            ss: '%d sekunddat',
27226            m: 'okta minuhta',
27227            mm: '%d minuhtat',
27228            h: 'okta diimmu',
27229            hh: '%d diimmut',
27230            d: 'okta beaivi',
27231            dd: '%d beaivvit',
27232            M: 'okta mánnu',
27233            MM: '%d mánut',
27234            y: 'okta jahki',
27235            yy: '%d jagit'
27236        },
27237        dayOfMonthOrdinalParse: /\d{1,2}\./,
27238        ordinal: '%d.',
27239        week: {
27240            dow: 1, // Monday is the first day of the week.
27241            doy: 4 // The week that contains Jan 4th is the first week of the year.
27242        }
27243    });
27244
27245    return se;
27246});
27247
27248/***/ }),
27249/* 155 */
27250/***/ (function(module, exports, __webpack_require__) {
27251
27252"use strict";
27253var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27254
27255var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27256
27257//! moment.js locale configuration
27258
27259;(function (global, factory) {
27260    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27261				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27262				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27263				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27264})(undefined, function (moment) {
27265    'use strict';
27266
27267    /*jshint -W100*/
27268
27269    var si = moment.defineLocale('si', {
27270        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
27271        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
27272        weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
27273        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
27274        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
27275        weekdaysParseExact: true,
27276        longDateFormat: {
27277            LT: 'a h:mm',
27278            LTS: 'a h:mm:ss',
27279            L: 'YYYY/MM/DD',
27280            LL: 'YYYY MMMM D',
27281            LLL: 'YYYY MMMM D, a h:mm',
27282            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
27283        },
27284        calendar: {
27285            sameDay: '[අද] LT[ට]',
27286            nextDay: '[හෙට] LT[ට]',
27287            nextWeek: 'dddd LT[à¶§]',
27288            lastDay: '[ඊයේ] LT[ට]',
27289            lastWeek: '[පසුගිය] dddd LT[ට]',
27290            sameElse: 'L'
27291        },
27292        relativeTime: {
27293            future: '%sකින්',
27294            past: '%sකට පෙර',
27295            s: 'තත්පර කිහිපය',
27296            ss: 'තත්පර %d',
27297            m: 'මිනිත්තුව',
27298            mm: 'මිනිත්තු %d',
27299            h: 'පැය',
27300            hh: 'පැය %d',
27301            d: 'දිනය',
27302            dd: 'දින %d',
27303            M: 'මාසය',
27304            MM: 'මාස %d',
27305            y: 'වසර',
27306            yy: 'වසර %d'
27307        },
27308        dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
27309        ordinal: function ordinal(number) {
27310            return number + ' වැනි';
27311        },
27312        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
27313        isPM: function isPM(input) {
27314            return input === 'ප.ව.' || input === 'පස් වරු';
27315        },
27316        meridiem: function meridiem(hours, minutes, isLower) {
27317            if (hours > 11) {
27318                return isLower ? 'ප.ව.' : 'පස් වරු';
27319            } else {
27320                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
27321            }
27322        }
27323    });
27324
27325    return si;
27326});
27327
27328/***/ }),
27329/* 156 */
27330/***/ (function(module, exports, __webpack_require__) {
27331
27332"use strict";
27333var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27334
27335var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27336
27337//! moment.js locale configuration
27338
27339;(function (global, factory) {
27340    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27341				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27342				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27343				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27344})(undefined, function (moment) {
27345    'use strict';
27346
27347    var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
27348        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
27349    function plural(n) {
27350        return n > 1 && n < 5;
27351    }
27352    function translate(number, withoutSuffix, key, isFuture) {
27353        var result = number + ' ';
27354        switch (key) {
27355            case 's':
27356                // a few seconds / in a few seconds / a few seconds ago
27357                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
27358            case 'ss':
27359                // 9 seconds / in 9 seconds / 9 seconds ago
27360                if (withoutSuffix || isFuture) {
27361                    return result + (plural(number) ? 'sekundy' : 'sekúnd');
27362                } else {
27363                    return result + 'sekundami';
27364                }
27365                break;
27366            case 'm':
27367                // a minute / in a minute / a minute ago
27368                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
27369            case 'mm':
27370                // 9 minutes / in 9 minutes / 9 minutes ago
27371                if (withoutSuffix || isFuture) {
27372                    return result + (plural(number) ? 'minúty' : 'minút');
27373                } else {
27374                    return result + 'minútami';
27375                }
27376                break;
27377            case 'h':
27378                // an hour / in an hour / an hour ago
27379                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
27380            case 'hh':
27381                // 9 hours / in 9 hours / 9 hours ago
27382                if (withoutSuffix || isFuture) {
27383                    return result + (plural(number) ? 'hodiny' : 'hodín');
27384                } else {
27385                    return result + 'hodinami';
27386                }
27387                break;
27388            case 'd':
27389                // a day / in a day / a day ago
27390                return withoutSuffix || isFuture ? 'deň' : 'dňom';
27391            case 'dd':
27392                // 9 days / in 9 days / 9 days ago
27393                if (withoutSuffix || isFuture) {
27394                    return result + (plural(number) ? 'dni' : 'dní');
27395                } else {
27396                    return result + 'dňami';
27397                }
27398                break;
27399            case 'M':
27400                // a month / in a month / a month ago
27401                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
27402            case 'MM':
27403                // 9 months / in 9 months / 9 months ago
27404                if (withoutSuffix || isFuture) {
27405                    return result + (plural(number) ? 'mesiace' : 'mesiacov');
27406                } else {
27407                    return result + 'mesiacmi';
27408                }
27409                break;
27410            case 'y':
27411                // a year / in a year / a year ago
27412                return withoutSuffix || isFuture ? 'rok' : 'rokom';
27413            case 'yy':
27414                // 9 years / in 9 years / 9 years ago
27415                if (withoutSuffix || isFuture) {
27416                    return result + (plural(number) ? 'roky' : 'rokov');
27417                } else {
27418                    return result + 'rokmi';
27419                }
27420                break;
27421        }
27422    }
27423
27424    var sk = moment.defineLocale('sk', {
27425        months: months,
27426        monthsShort: monthsShort,
27427        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
27428        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
27429        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
27430        longDateFormat: {
27431            LT: 'H:mm',
27432            LTS: 'H:mm:ss',
27433            L: 'DD.MM.YYYY',
27434            LL: 'D. MMMM YYYY',
27435            LLL: 'D. MMMM YYYY H:mm',
27436            LLLL: 'dddd D. MMMM YYYY H:mm'
27437        },
27438        calendar: {
27439            sameDay: '[dnes o] LT',
27440            nextDay: '[zajtra o] LT',
27441            nextWeek: function nextWeek() {
27442                switch (this.day()) {
27443                    case 0:
27444                        return '[v nedeľu o] LT';
27445                    case 1:
27446                    case 2:
27447                        return '[v] dddd [o] LT';
27448                    case 3:
27449                        return '[v stredu o] LT';
27450                    case 4:
27451                        return '[vo štvrtok o] LT';
27452                    case 5:
27453                        return '[v piatok o] LT';
27454                    case 6:
27455                        return '[v sobotu o] LT';
27456                }
27457            },
27458            lastDay: '[včera o] LT',
27459            lastWeek: function lastWeek() {
27460                switch (this.day()) {
27461                    case 0:
27462                        return '[minulú nedeľu o] LT';
27463                    case 1:
27464                    case 2:
27465                        return '[minulý] dddd [o] LT';
27466                    case 3:
27467                        return '[minulú stredu o] LT';
27468                    case 4:
27469                    case 5:
27470                        return '[minulý] dddd [o] LT';
27471                    case 6:
27472                        return '[minulú sobotu o] LT';
27473                }
27474            },
27475            sameElse: 'L'
27476        },
27477        relativeTime: {
27478            future: 'za %s',
27479            past: 'pred %s',
27480            s: translate,
27481            ss: translate,
27482            m: translate,
27483            mm: translate,
27484            h: translate,
27485            hh: translate,
27486            d: translate,
27487            dd: translate,
27488            M: translate,
27489            MM: translate,
27490            y: translate,
27491            yy: translate
27492        },
27493        dayOfMonthOrdinalParse: /\d{1,2}\./,
27494        ordinal: '%d.',
27495        week: {
27496            dow: 1, // Monday is the first day of the week.
27497            doy: 4 // The week that contains Jan 4th is the first week of the year.
27498        }
27499    });
27500
27501    return sk;
27502});
27503
27504/***/ }),
27505/* 157 */
27506/***/ (function(module, exports, __webpack_require__) {
27507
27508"use strict";
27509var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27510
27511var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27512
27513//! moment.js locale configuration
27514
27515;(function (global, factory) {
27516    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27517				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27518				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27519				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27520})(undefined, function (moment) {
27521    'use strict';
27522
27523    function processRelativeTime(number, withoutSuffix, key, isFuture) {
27524        var result = number + ' ';
27525        switch (key) {
27526            case 's':
27527                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
27528            case 'ss':
27529                if (number === 1) {
27530                    result += withoutSuffix ? 'sekundo' : 'sekundi';
27531                } else if (number === 2) {
27532                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
27533                } else if (number < 5) {
27534                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
27535                } else {
27536                    result += withoutSuffix || isFuture ? 'sekund' : 'sekund';
27537                }
27538                return result;
27539            case 'm':
27540                return withoutSuffix ? 'ena minuta' : 'eno minuto';
27541            case 'mm':
27542                if (number === 1) {
27543                    result += withoutSuffix ? 'minuta' : 'minuto';
27544                } else if (number === 2) {
27545                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
27546                } else if (number < 5) {
27547                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';
27548                } else {
27549                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';
27550                }
27551                return result;
27552            case 'h':
27553                return withoutSuffix ? 'ena ura' : 'eno uro';
27554            case 'hh':
27555                if (number === 1) {
27556                    result += withoutSuffix ? 'ura' : 'uro';
27557                } else if (number === 2) {
27558                    result += withoutSuffix || isFuture ? 'uri' : 'urama';
27559                } else if (number < 5) {
27560                    result += withoutSuffix || isFuture ? 'ure' : 'urami';
27561                } else {
27562                    result += withoutSuffix || isFuture ? 'ur' : 'urami';
27563                }
27564                return result;
27565            case 'd':
27566                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
27567            case 'dd':
27568                if (number === 1) {
27569                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';
27570                } else if (number === 2) {
27571                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
27572                } else {
27573                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
27574                }
27575                return result;
27576            case 'M':
27577                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
27578            case 'MM':
27579                if (number === 1) {
27580                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
27581                } else if (number === 2) {
27582                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
27583                } else if (number < 5) {
27584                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
27585                } else {
27586                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
27587                }
27588                return result;
27589            case 'y':
27590                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
27591            case 'yy':
27592                if (number === 1) {
27593                    result += withoutSuffix || isFuture ? 'leto' : 'letom';
27594                } else if (number === 2) {
27595                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';
27596                } else if (number < 5) {
27597                    result += withoutSuffix || isFuture ? 'leta' : 'leti';
27598                } else {
27599                    result += withoutSuffix || isFuture ? 'let' : 'leti';
27600                }
27601                return result;
27602        }
27603    }
27604
27605    var sl = moment.defineLocale('sl', {
27606        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
27607        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
27608        monthsParseExact: true,
27609        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
27610        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
27611        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
27612        weekdaysParseExact: true,
27613        longDateFormat: {
27614            LT: 'H:mm',
27615            LTS: 'H:mm:ss',
27616            L: 'DD.MM.YYYY',
27617            LL: 'D. MMMM YYYY',
27618            LLL: 'D. MMMM YYYY H:mm',
27619            LLLL: 'dddd, D. MMMM YYYY H:mm'
27620        },
27621        calendar: {
27622            sameDay: '[danes ob] LT',
27623            nextDay: '[jutri ob] LT',
27624
27625            nextWeek: function nextWeek() {
27626                switch (this.day()) {
27627                    case 0:
27628                        return '[v] [nedeljo] [ob] LT';
27629                    case 3:
27630                        return '[v] [sredo] [ob] LT';
27631                    case 6:
27632                        return '[v] [soboto] [ob] LT';
27633                    case 1:
27634                    case 2:
27635                    case 4:
27636                    case 5:
27637                        return '[v] dddd [ob] LT';
27638                }
27639            },
27640            lastDay: '[včeraj ob] LT',
27641            lastWeek: function lastWeek() {
27642                switch (this.day()) {
27643                    case 0:
27644                        return '[prejšnjo] [nedeljo] [ob] LT';
27645                    case 3:
27646                        return '[prejšnjo] [sredo] [ob] LT';
27647                    case 6:
27648                        return '[prejšnjo] [soboto] [ob] LT';
27649                    case 1:
27650                    case 2:
27651                    case 4:
27652                    case 5:
27653                        return '[prejšnji] dddd [ob] LT';
27654                }
27655            },
27656            sameElse: 'L'
27657        },
27658        relativeTime: {
27659            future: 'čez %s',
27660            past: 'pred %s',
27661            s: processRelativeTime,
27662            ss: processRelativeTime,
27663            m: processRelativeTime,
27664            mm: processRelativeTime,
27665            h: processRelativeTime,
27666            hh: processRelativeTime,
27667            d: processRelativeTime,
27668            dd: processRelativeTime,
27669            M: processRelativeTime,
27670            MM: processRelativeTime,
27671            y: processRelativeTime,
27672            yy: processRelativeTime
27673        },
27674        dayOfMonthOrdinalParse: /\d{1,2}\./,
27675        ordinal: '%d.',
27676        week: {
27677            dow: 1, // Monday is the first day of the week.
27678            doy: 7 // The week that contains Jan 1st is the first week of the year.
27679        }
27680    });
27681
27682    return sl;
27683});
27684
27685/***/ }),
27686/* 158 */
27687/***/ (function(module, exports, __webpack_require__) {
27688
27689"use strict";
27690var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27691
27692var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27693
27694//! moment.js locale configuration
27695
27696;(function (global, factory) {
27697    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27698				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27699				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27700				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27701})(undefined, function (moment) {
27702    'use strict';
27703
27704    var sq = moment.defineLocale('sq', {
27705        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
27706        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
27707        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
27708        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
27709        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
27710        weekdaysParseExact: true,
27711        meridiemParse: /PD|MD/,
27712        isPM: function isPM(input) {
27713            return input.charAt(0) === 'M';
27714        },
27715        meridiem: function meridiem(hours, minutes, isLower) {
27716            return hours < 12 ? 'PD' : 'MD';
27717        },
27718        longDateFormat: {
27719            LT: 'HH:mm',
27720            LTS: 'HH:mm:ss',
27721            L: 'DD/MM/YYYY',
27722            LL: 'D MMMM YYYY',
27723            LLL: 'D MMMM YYYY HH:mm',
27724            LLLL: 'dddd, D MMMM YYYY HH:mm'
27725        },
27726        calendar: {
27727            sameDay: '[Sot në] LT',
27728            nextDay: '[Nesër në] LT',
27729            nextWeek: 'dddd [në] LT',
27730            lastDay: '[Dje në] LT',
27731            lastWeek: 'dddd [e kaluar në] LT',
27732            sameElse: 'L'
27733        },
27734        relativeTime: {
27735            future: 'në %s',
27736            past: '%s më parë',
27737            s: 'disa sekonda',
27738            ss: '%d sekonda',
27739            m: 'një minutë',
27740            mm: '%d minuta',
27741            h: 'një orë',
27742            hh: '%d orë',
27743            d: 'një ditë',
27744            dd: '%d ditë',
27745            M: 'një muaj',
27746            MM: '%d muaj',
27747            y: 'një vit',
27748            yy: '%d vite'
27749        },
27750        dayOfMonthOrdinalParse: /\d{1,2}\./,
27751        ordinal: '%d.',
27752        week: {
27753            dow: 1, // Monday is the first day of the week.
27754            doy: 4 // The week that contains Jan 4th is the first week of the year.
27755        }
27756    });
27757
27758    return sq;
27759});
27760
27761/***/ }),
27762/* 159 */
27763/***/ (function(module, exports, __webpack_require__) {
27764
27765"use strict";
27766var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27767
27768var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27769
27770//! moment.js locale configuration
27771
27772;(function (global, factory) {
27773    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27774				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27775				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27776				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27777})(undefined, function (moment) {
27778    'use strict';
27779
27780    var translator = {
27781        words: { //Different grammatical cases
27782            ss: ['секунда', 'секунде', 'секунди'],
27783            m: ['један минут', 'једне минуте'],
27784            mm: ['минут', 'минуте', 'минута'],
27785            h: ['један сат', 'једног сата'],
27786            hh: ['сат', 'сата', 'сати'],
27787            dd: ['дан', 'дана', 'дана'],
27788            MM: ['месец', 'месеца', 'месеци'],
27789            yy: ['година', 'године', 'година']
27790        },
27791        correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
27792            return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];
27793        },
27794        translate: function translate(number, withoutSuffix, key) {
27795            var wordKey = translator.words[key];
27796            if (key.length === 1) {
27797                return withoutSuffix ? wordKey[0] : wordKey[1];
27798            } else {
27799                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
27800            }
27801        }
27802    };
27803
27804    var srCyrl = moment.defineLocale('sr-cyrl', {
27805        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_ок
27805тобар_новембар_децембар'.split('_'),
27806        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
27807        monthsParseExact: true,
27808        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
27809        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
27810        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
27811        weekdaysParseExact: true,
27812        longDateFormat: {
27813            LT: 'H:mm',
27814            LTS: 'H:mm:ss',
27815            L: 'DD.MM.YYYY',
27816            LL: 'D. MMMM YYYY',
27817            LLL: 'D. MMMM YYYY H:mm',
27818            LLLL: 'dddd, D. MMMM YYYY H:mm'
27819        },
27820        calendar: {
27821            sameDay: '[данас у] LT',
27822            nextDay: '[сутра у] LT',
27823            nextWeek: function nextWeek() {
27824                switch (this.day()) {
27825                    case 0:
27826                        return '[у] [недељу] [у] LT';
27827                    case 3:
27828                        return '[у] [среду] [у] LT';
27829                    case 6:
27830                        return '[у] [суботу] [у] LT';
27831                    case 1:
27832                    case 2:
27833                    case 4:
27834                    case 5:
27835                        return '[у] dddd [у] LT';
27836                }
27837            },
27838            lastDay: '[јуче у] LT',
27839            lastWeek: function lastWeek() {
27840                var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'];
27841                return lastWeekDays[this.day()];
27842            },
27843            sameElse: 'L'
27844        },
27845        relativeTime: {
27846            future: 'за %s',
27847            past: 'пре %s',
27848            s: 'неколико секунди',
27849            ss: translator.translate,
27850            m: translator.translate,
27851            mm: translator.translate,
27852            h: translator.translate,
27853            hh: translator.translate,
27854            d: 'дан',
27855            dd: translator.translate,
27856            M: 'месец',
27857            MM: translator.translate,
27858            y: 'годину',
27859            yy: translator.translate
27860        },
27861        dayOfMonthOrdinalParse: /\d{1,2}\./,
27862        ordinal: '%d.',
27863        week: {
27864            dow: 1, // Monday is the first day of the week.
27865            doy: 7 // The week that contains Jan 1st is the first week of the year.
27866        }
27867    });
27868
27869    return srCyrl;
27870});
27871
27872/***/ }),
27873/* 160 */
27874/***/ (function(module, exports, __webpack_require__) {
27875
27876"use strict";
27877var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27878
27879var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27880
27881//! moment.js locale configuration
27882
27883;(function (global, factory) {
27884    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27885				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27886				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27887				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27888})(undefined, function (moment) {
27889    'use strict';
27890
27891    var translator = {
27892        words: { //Different grammatical cases
27893            ss: ['sekunda', 'sekunde', 'sekundi'],
27894            m: ['jedan minut', 'jedne minute'],
27895            mm: ['minut', 'minute', 'minuta'],
27896            h: ['jedan sat', 'jednog sata'],
27897            hh: ['sat', 'sata', 'sati'],
27898            dd: ['dan', 'dana', 'dana'],
27899            MM: ['mesec', 'meseca', 'meseci'],
27900            yy: ['godina', 'godine', 'godina']
27901        },
27902        correctGrammaticalCase: function correctGrammaticalCase(number, wordKey) {
27903            return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];
27904        },
27905        translate: function translate(number, withoutSuffix, key) {
27906            var wordKey = translator.words[key];
27907            if (key.length === 1) {
27908                return withoutSuffix ? wordKey[0] : wordKey[1];
27909            } else {
27910                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
27911            }
27912        }
27913    };
27914
27915    var sr = moment.defineLocale('sr', {
27916        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
27917        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
27918        monthsParseExact: true,
27919        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
27920        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
27921        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
27922        weekdaysParseExact: true,
27923        longDateFormat: {
27924            LT: 'H:mm',
27925            LTS: 'H:mm:ss',
27926            L: 'DD.MM.YYYY',
27927            LL: 'D. MMMM YYYY',
27928            LLL: 'D. MMMM YYYY H:mm',
27929            LLLL: 'dddd, D. MMMM YYYY H:mm'
27930        },
27931        calendar: {
27932            sameDay: '[danas u] LT',
27933            nextDay: '[sutra u] LT',
27934            nextWeek: function nextWeek() {
27935                switch (this.day()) {
27936                    case 0:
27937                        return '[u] [nedelju] [u] LT';
27938                    case 3:
27939                        return '[u] [sredu] [u] LT';
27940                    case 6:
27941                        return '[u] [subotu] [u] LT';
27942                    case 1:
27943                    case 2:
27944                    case 4:
27945                    case 5:
27946                        return '[u] dddd [u] LT';
27947                }
27948            },
27949            lastDay: '[juče u] LT',
27950            lastWeek: function lastWeek() {
27951                var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];
27952                return lastWeekDays[this.day()];
27953            },
27954            sameElse: 'L'
27955        },
27956        relativeTime: {
27957            future: 'za %s',
27958            past: 'pre %s',
27959            s: 'nekoliko sekundi',
27960            ss: translator.translate,
27961            m: translator.translate,
27962            mm: translator.translate,
27963            h: translator.translate,
27964            hh: translator.translate,
27965            d: 'dan',
27966            dd: translator.translate,
27967            M: 'mesec',
27968            MM: translator.translate,
27969            y: 'godinu',
27970            yy: translator.translate
27971        },
27972        dayOfMonthOrdinalParse: /\d{1,2}\./,
27973        ordinal: '%d.',
27974        week: {
27975            dow: 1, // Monday is the first day of the week.
27976            doy: 7 // The week that contains Jan 1st is the first week of the year.
27977        }
27978    });
27979
27980    return sr;
27981});
27982
27983/***/ }),
27984/* 161 */
27985/***/ (function(module, exports, __webpack_require__) {
27986
27987"use strict";
27988var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
27989
27990var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
27991
27992//! moment.js locale configuration
27993
27994;(function (global, factory) {
27995    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
27996				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
27997				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
27998				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
27999})(undefined, function (moment) {
28000    'use strict';
28001
28002    var ss = moment.defineLocale('ss', {
28003        months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
28004        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
28005        weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
28006        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
28007        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
28008        weekdaysParseExact: true,
28009        longDateFormat: {
28010            LT: 'h:mm A',
28011            LTS: 'h:mm:ss A',
28012            L: 'DD/MM/YYYY',
28013            LL: 'D MMMM YYYY',
28014            LLL: 'D MMMM YYYY h:mm A',
28015            LLLL: 'dddd, D MMMM YYYY h:mm A'
28016        },
28017        calendar: {
28018            sameDay: '[Namuhla nga] LT',
28019            nextDay: '[Kusasa nga] LT',
28020            nextWeek: 'dddd [nga] LT',
28021            lastDay: '[Itolo nga] LT',
28022            lastWeek: 'dddd [leliphelile] [nga] LT',
28023            sameElse: 'L'
28024        },
28025        relativeTime: {
28026            future: 'nga %s',
28027            past: 'wenteka nga %s',
28028            s: 'emizuzwana lomcane',
28029            ss: '%d mzuzwana',
28030            m: 'umzuzu',
28031            mm: '%d emizuzu',
28032            h: 'lihora',
28033            hh: '%d emahora',
28034            d: 'lilanga',
28035            dd: '%d emalanga',
28036            M: 'inyanga',
28037            MM: '%d tinyanga',
28038            y: 'umnyaka',
28039            yy: '%d iminyaka'
28040        },
28041        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
28042        meridiem: function meridiem(hours, minutes, isLower) {
28043            if (hours < 11) {
28044                return 'ekuseni';
28045            } else if (hours < 15) {
28046                return 'emini';
28047            } else if (hours < 19) {
28048                return 'entsambama';
28049            } else {
28050                return 'ebusuku';
28051            }
28052        },
28053        meridiemHour: function meridiemHour(hour, meridiem) {
28054            if (hour === 12) {
28055                hour = 0;
28056            }
28057            if (meridiem === 'ekuseni') {
28058                return hour;
28059            } else if (meridiem === 'emini') {
28060                return hour >= 11 ? hour : hour + 12;
28061            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
28062                if (hour === 0) {
28063                    return 0;
28064                }
28065                return hour + 12;
28066            }
28067        },
28068        dayOfMonthOrdinalParse: /\d{1,2}/,
28069        ordinal: '%d',
28070        week: {
28071            dow: 1, // Monday is the first day of the week.
28072            doy: 4 // The week that contains Jan 4th is the first week of the year.
28073        }
28074    });
28075
28076    return ss;
28077});
28078
28079/***/ }),
28080/* 162 */
28081/***/ (function(module, exports, __webpack_require__) {
28082
28083"use strict";
28084var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28085
28086var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28087
28088//! moment.js locale configuration
28089
28090;(function (global, factory) {
28091    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28092				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28093				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28094				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28095})(undefined, function (moment) {
28096    'use strict';
28097
28098    var sv = moment.defineLocale('sv', {
28099        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
28100        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
28101        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
28102        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
28103        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
28104        longDateFormat: {
28105            LT: 'HH:mm',
28106            LTS: 'HH:mm:ss',
28107            L: 'YYYY-MM-DD',
28108            LL: 'D MMMM YYYY',
28109            LLL: 'D MMMM YYYY [kl.] HH:mm',
28110            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
28111            lll: 'D MMM YYYY HH:mm',
28112            llll: 'ddd D MMM YYYY HH:mm'
28113        },
28114        calendar: {
28115            sameDay: '[Idag] LT',
28116            nextDay: '[Imorgon] LT',
28117            lastDay: '[Igår] LT',
28118            nextWeek: '[PÃ¥] dddd LT',
28119            lastWeek: '[I] dddd[s] LT',
28120            sameElse: 'L'
28121        },
28122        relativeTime: {
28123            future: 'om %s',
28124            past: 'för %s sedan',
28125            s: 'några sekunder',
28126            ss: '%d sekunder',
28127            m: 'en minut',
28128            mm: '%d minuter',
28129            h: 'en timme',
28130            hh: '%d timmar',
28131            d: 'en dag',
28132            dd: '%d dagar',
28133            M: 'en månad',
28134            MM: '%d månader',
28135            y: 'ett år',
28136            yy: '%d år'
28137        },
28138        dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
28139        ordinal: function ordinal(number) {
28140            var b = number % 10,
28141                output = ~~(number % 100 / 10) === 1 ? 'e' : b === 1 ? 'a' : b === 2 ? 'a' : b === 3 ? 'e' : 'e';
28142            return number + output;
28143        },
28144        week: {
28145            dow: 1, // Monday is the first day of the week.
28146            doy: 4 // The week that contains Jan 4th is the first week of the year.
28147        }
28148    });
28149
28150    return sv;
28151});
28152
28153/***/ }),
28154/* 163 */
28155/***/ (function(module, exports, __webpack_require__) {
28156
28157"use strict";
28158var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28159
28160var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28161
28162//! moment.js locale configuration
28163
28164;(function (global, factory) {
28165    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28166				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28167				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28168				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28169})(undefined, function (moment) {
28170    'use strict';
28171
28172    var sw = moment.defineLocale('sw', {
28173        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
28174        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
28175        weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
28176        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
28177        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
28178        weekdaysParseExact: true,
28179        longDateFormat: {
28180            LT: 'HH:mm',
28181            LTS: 'HH:mm:ss',
28182            L: 'DD.MM.YYYY',
28183            LL: 'D MMMM YYYY',
28184            LLL: 'D MMMM YYYY HH:mm',
28185            LLLL: 'dddd, D MMMM YYYY HH:mm'
28186        },
28187        calendar: {
28188            sameDay: '[leo saa] LT',
28189            nextDay: '[kesho saa] LT',
28190            nextWeek: '[wiki ijayo] dddd [saat] LT',
28191            lastDay: '[jana] LT',
28192            lastWeek: '[wiki iliyopita] dddd [saat] LT',
28193            sameElse: 'L'
28194        },
28195        relativeTime: {
28196            future: '%s baadaye',
28197            past: 'tokea %s',
28198            s: 'hivi punde',
28199            ss: 'sekunde %d',
28200            m: 'dakika moja',
28201            mm: 'dakika %d',
28202            h: 'saa limoja',
28203            hh: 'masaa %d',
28204            d: 'siku moja',
28205            dd: 'masiku %d',
28206            M: 'mwezi mmoja',
28207            MM: 'miezi %d',
28208            y: 'mwaka mmoja',
28209            yy: 'miaka %d'
28210        },
28211        week: {
28212            dow: 1, // Monday is the first day of the week.
28213            doy: 7 // The week that contains Jan 1st is the first week of the year.
28214        }
28215    });
28216
28217    return sw;
28218});
28219
28220/***/ }),
28221/* 164 */
28222/***/ (function(module, exports, __webpack_require__) {
28223
28224"use strict";
28225var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28226
28227var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28228
28229//! moment.js locale configuration
28230
28231;(function (global, factory) {
28232    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28233				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28234				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28235				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28236})(undefined, function (moment) {
28237    'use strict';
28238
28239    var symbolMap = {
28240        '1': '௧',
28241        '2': '௨',
28242        '3': '௩',
28243        '4': '௪',
28244        '5': '௫',
28245        '6': '௬',
28246        '7': '௭',
28247        '8': '௮',
28248        '9': '௯',
28249        '0': '௦'
28250    },
28251        numberMap = {
28252        '௧': '1',
28253        '௨': '2',
28254        '௩': '3',
28255        '௪': '4',
28256        '௫': '5',
28257        '௬': '6',
28258        '௭': '7',
28259        '௮': '8',
28260        '௯': '9',
28261        '௦': '0'
28262    };
28263
28264    var ta = moment.defineLocale('ta', {
28265        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
28266        monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
28267        weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
28268        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
28269        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
28270        longDateFormat: {
28271            LT: 'HH:mm',
28272            LTS: 'HH:mm:ss',
28273            L: 'DD/MM/YYYY',
28274            LL: 'D MMMM YYYY',
28275            LLL: 'D MMMM YYYY, HH:mm',
28276            LLLL: 'dddd, D MMMM YYYY, HH:mm'
28277        },
28278        calendar: {
28279            sameDay: '[இன்று] LT',
28280            nextDay: '[நாளை] LT',
28281            nextWeek: 'dddd, LT',
28282            lastDay: '[நேற்று] LT',
28283            lastWeek: '[கடந்த வாரம்] dddd, LT',
28284            sameElse: 'L'
28285        },
28286        relativeTime: {
28287            future: '%s இல்',
28288            past: '%s முன்',
28289            s: 'ஒரு சில விநாடிகள்',
28290            ss: '%d விநாடிகள்',
28291            m: 'ஒரு நிமிடம்',
28292            mm: '%d நிமிடங்கள்',
28293            h: 'ஒரு மணி நேரம்',
28294            hh: '%d மணி நேரம்',
28295            d: 'ஒரு நாள்',
28296            dd: '%d நாட்கள்',
28297            M: 'ஒரு மாதம்',
28298            MM: '%d மாதங்கள்',
28299            y: 'ஒரு வருடம்',
28300            yy: '%d ஆண்டுகள்'
28301        },
28302        dayOfMonthOrdinalParse: /\d{1,2}வது/,
28303        ordinal: function ordinal(number) {
28304            return number + 'வது';
28305        },
28306        preparse: function preparse(string) {
28307            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
28308                return numberMap[match];
28309            });
28310        },
28311        postformat: function postformat(string) {
28312            return string.replace(/\d/g, function (match) {
28313                return symbolMap[match];
28314            });
28315        },
28316        // refer http://ta.wikipedia.org/s/1er1
28317        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
28318        meridiem: function meridiem(hour, minute, isLower) {
28319            if (hour < 2) {
28320                return ' யாமம்';
28321            } else if (hour < 6) {
28322                return ' வைகறை'; // வைகறை
28323            } else if (hour < 10) {
28324                return ' காலை'; // காலை
28325            } else if (hour < 14) {
28326                return ' நண்பகல்'; // நண்பகல்
28327            } else if (hour < 18) {
28328                return ' எற்பாடு'; // எற்பாடு
28329            } else if (hour < 22) {
28330                return ' மாலை'; // மாலை
28331            } else {
28332                return ' யாமம்';
28333            }
28334        },
28335        meridiemHour: function meridiemHour(hour, meridiem) {
28336            if (hour === 12) {
28337                hour = 0;
28338            }
28339            if (meridiem === 'யாமம்') {
28340                return hour < 2 ? hour : hour + 12;
28341            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
28342                return hour;
28343            } else if (meridiem === 'நண்பகல்') {
28344                return hour >= 10 ? hour : hour + 12;
28345            } else {
28346                return hour + 12;
28347            }
28348        },
28349        week: {
28350            dow: 0, // Sunday is the first day of the week.
28351            doy: 6 // The week that contains Jan 1st is the first week of the year.
28352        }
28353    });
28354
28355    return ta;
28356});
28357
28358/***/ }),
28359/* 165 */
28360/***/ (function(module, exports, __webpack_require__) {
28361
28362"use strict";
28363var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28364
28365var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28366
28367//! moment.js locale configuration
28368
28369;(function (global, factory) {
28370    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28371				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28372				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28373				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28374})(undefined, function (moment) {
28375    'use strict';
28376
28377    var te = moment.defineLocale('te', {
28378        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
28379        monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
28380        monthsParseExact: true,
28381        weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
28382        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
28383        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
28384        longDateFormat: {
28385            LT: 'A h:mm',
28386            LTS: 'A h:mm:ss',
28387            L: 'DD/MM/YYYY',
28388            LL: 'D MMMM YYYY',
28389            LLL: 'D MMMM YYYY, A h:mm',
28390            LLLL: 'dddd, D MMMM YYYY, A h:mm'
28391        },
28392        calendar: {
28393            sameDay: '[నేడు] LT',
28394            nextDay: '[రేపు] LT',
28395            nextWeek: 'dddd, LT',
28396            lastDay: '[నిన్న] LT',
28397            lastWeek: '[గత] dddd, LT',
28398            sameElse: 'L'
28399        },
28400        relativeTime: {
28401            future: '%s లో',
28402            past: '%s క్రితం',
28403            s: 'కొన్ని క్షణాలు',
28404            ss: '%d సెకన్లు',
28405            m: 'ఒక నిమిషం',
28406            mm: '%d నిమిషాలు',
28407            h: 'ఒక గంట',
28408            hh: '%d గంటలు',
28409            d: 'ఒక రోజు',
28410            dd: '%d రోజులు',
28411            M: 'ఒక నెల',
28412            MM: '%d నెలలు',
28413            y: 'ఒక సంవత్సరం',
28414            yy: '%d సంవత్సరాలు'
28415        },
28416        dayOfMonthOrdinalParse: /\d{1,2}à°µ/,
28417        ordinal: '%dà°µ',
28418        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
28419        meridiemHour: function meridiemHour(hour, meridiem) {
28420            if (hour === 12) {
28421                hour = 0;
28422            }
28423            if (meridiem === 'రాత్రి') {
28424                return hour < 4 ? hour : hour + 12;
28425            } else if (meridiem === 'ఉదయం') {
28426                return hour;
28427            } else if (meridiem === 'మధ్యాహ్నం') {
28428                return hour >= 10 ? hour : hour + 12;
28429            } else if (meridiem === 'సాయంత్రం') {
28430                return hour + 12;
28431            }
28432        },
28433        meridiem: function meridiem(hour, minute, isLower) {
28434            if (hour < 4) {
28435                return 'రాత్రి';
28436            } else if (hour < 10) {
28437                return 'ఉదయం';
28438            } else if (hour < 17) {
28439                return 'మధ్యాహ్నం';
28440            } else if (hour < 20) {
28441                return 'సాయంత్రం';
28442            } else {
28443                return 'రాత్రి';
28444            }
28445        },
28446        week: {
28447            dow: 0, // Sunday is the first day of the week.
28448            doy: 6 // The week that contains Jan 1st is the first week of the year.
28449        }
28450    });
28451
28452    return te;
28453});
28454
28455/***/ }),
28456/* 166 */
28457/***/ (function(module, exports, __webpack_require__) {
28458
28459"use strict";
28460var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28461
28462var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28463
28464//! moment.js locale configuration
28465
28466;(function (global, factory) {
28467    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28468				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28469				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28470				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28471})(undefined, function (moment) {
28472    'use strict';
28473
28474    var tet = moment.defineLocale('tet', {
28475        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
28476        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
28477        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
28478        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
28479        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
28480        longDateFormat: {
28481            LT: 'HH:mm',
28482            LTS: 'HH:mm:ss',
28483            L: 'DD/MM/YYYY',
28484            LL: 'D MMMM YYYY',
28485            LLL: 'D MMMM YYYY HH:mm',
28486            LLLL: 'dddd, D MMMM YYYY HH:mm'
28487        },
28488        calendar: {
28489            sameDay: '[Ohin iha] LT',
28490            nextDay: '[Aban iha] LT',
28491            nextWeek: 'dddd [iha] LT',
28492            lastDay: '[Horiseik iha] LT',
28493            lastWeek: 'dddd [semana kotuk] [iha] LT',
28494            sameElse: 'L'
28495        },
28496        relativeTime: {
28497            future: 'iha %s',
28498            past: '%s liuba',
28499            s: 'minutu balun',
28500            ss: 'minutu %d',
28501            m: 'minutu ida',
28502            mm: 'minutu %d',
28503            h: 'oras ida',
28504            hh: 'oras %d',
28505            d: 'loron ida',
28506            dd: 'loron %d',
28507            M: 'fulan ida',
28508            MM: 'fulan %d',
28509            y: 'tinan ida',
28510            yy: 'tinan %d'
28511        },
28512        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
28513        ordinal: function ordinal(number) {
28514            var b = number % 10,
28515                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
28516            return number + output;
28517        },
28518        week: {
28519            dow: 1, // Monday is the first day of the week.
28520            doy: 4 // The week that contains Jan 4th is the first week of the year.
28521        }
28522    });
28523
28524    return tet;
28525});
28526
28527/***/ }),
28528/* 167 */
28529/***/ (function(module, exports, __webpack_require__) {
28530
28531"use strict";
28532var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28533
28534var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28535
28536//! moment.js locale configuration
28537
28538;(function (global, factory) {
28539    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28540				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28541				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28542				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28543})(undefined, function (moment) {
28544    'use strict';
28545
28546    var suffixes = {
28547        0: '-ум',
28548        1: '-ум',
28549        2: '-юм',
28550        3: '-юм',
28551        4: '-ум',
28552        5: '-ум',
28553        6: '-ум',
28554        7: '-ум',
28555        8: '-ум',
28556        9: '-ум',
28557        10: '-ум',
28558        12: '-ум',
28559        13: '-ум',
28560        20: '-ум',
28561        30: '-юм',
28562        40: '-ум',
28563        50: '-ум',
28564        60: '-ум',
28565        70: '-ум',
28566        80: '-ум',
28567        90: '-ум',
28568        100: '-ум'
28569    };
28570
28571    var tg = moment.defineLocale('tg', {
28572        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
28573        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
28574        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
28575        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
28576        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
28577        longDateFormat: {
28578            LT: 'HH:mm',
28579            LTS: 'HH:mm:ss',
28580            L: 'DD/MM/YYYY',
28581            LL: 'D MMMM YYYY',
28582            LLL: 'D MMMM YYYY HH:mm',
28583            LLLL: 'dddd, D MMMM YYYY HH:mm'
28584        },
28585        calendar: {
28586            sameDay: '[Имрӯз соати] LT',
28587            nextDay: '[Пагоҳ соати] LT',
28588            lastDay: '[Дирӯз соати] LT',
28589            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
28590            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
28591            sameElse: 'L'
28592        },
28593        relativeTime: {
28594            future: 'баъди %s',
28595            past: '%s пеш',
28596            s: 'якчанд сония',
28597            m: 'як дақиқа',
28598            mm: '%d дақиқа',
28599            h: 'як соат',
28600            hh: '%d соат',
28601            d: 'як рӯз',
28602            dd: '%d рӯз',
28603            M: 'як моҳ',
28604            MM: '%d моҳ',
28605            y: 'як сол',
28606            yy: '%d сол'
28607        },
28608        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
28609        meridiemHour: function meridiemHour(hour, meridiem) {
28610            if (hour === 12) {
28611                hour = 0;
28612            }
28613            if (meridiem === 'шаб') {
28614                return hour < 4 ? hour : hour + 12;
28615            } else if (meridiem === 'субҳ') {
28616                return hour;
28617            } else if (meridiem === 'рӯз') {
28618                return hour >= 11 ? hour : hour + 12;
28619            } else if (meridiem === 'бегоҳ') {
28620                return hour + 12;
28621            }
28622        },
28623        meridiem: function meridiem(hour, minute, isLower) {
28624            if (hour < 4) {
28625                return 'шаб';
28626            } else if (hour < 11) {
28627                return 'субҳ';
28628            } else if (hour < 16) {
28629                return 'рӯз';
28630            } else if (hour < 19) {
28631                return 'бегоҳ';
28632            } else {
28633                return 'шаб';
28634            }
28635        },
28636        dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
28637        ordinal: function ordinal(number) {
28638            var a = number % 10,
28639                b = number >= 100 ? 100 : null;
28640            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
28641        },
28642        week: {
28643            dow: 1, // Monday is the first day of the week.
28644            doy: 7 // The week that contains Jan 1th is the first week of the year.
28645        }
28646    });
28647
28648    return tg;
28649});
28650
28651/***/ }),
28652/* 168 */
28653/***/ (function(module, exports, __webpack_require__) {
28654
28655"use strict";
28656var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28657
28658var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28659
28660//! moment.js locale configuration
28661
28662;(function (global, factory) {
28663    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28664				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28665				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28666				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28667})(undefined, function (moment) {
28668    'use strict';
28669
28670    var th = moment.defineLocale('th', {
28671        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
28672        monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
28673        monthsParseExact: true,
28674        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
28675        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
28676        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
28677        weekdaysParseExact: true,
28678        longDateFormat: {
28679            LT: 'H:mm',
28680            LTS: 'H:mm:ss',
28681            L: 'DD/MM/YYYY',
28682            LL: 'D MMMM YYYY',
28683            LLL: 'D MMMM YYYY เวลา H:mm',
28684            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'
28685        },
28686        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
28687        isPM: function isPM(input) {
28688            return input === 'หลังเที่ยง';
28689        },
28690        meridiem: function meridiem(hour, minute, isLower) {
28691            if (hour < 12) {
28692                return 'ก่อนเที่ยง';
28693            } else {
28694                return 'หลังเที่ยง';
28695            }
28696        },
28697        calendar: {
28698            sameDay: '[วันนี้ เวลา] LT',
28699            nextDay: '[พรุ่งนี้ เวลา] LT',
28700            nextWeek: 'dddd[หน้า เวลา] LT',
28701            lastDay: '[เมื่อวานนี้ เวลา] LT',
28702            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
28703            sameElse: 'L'
28704        },
28705        relativeTime: {
28706            future: 'อีก %s',
28707            past: '%sที่แล้ว',
28708            s: 'ไม่กี่วินาที',
28709            ss: '%d วินาที',
28710            m: '1 นาที',
28711            mm: '%d นาที',
28712            h: '1 ชั่วโมง',
28713            hh: '%d ชั่วโมง',
28714            d: '1 วัน',
28715            dd: '%d วัน',
28716            M: '1 เดือน',
28717            MM: '%d เดือน',
28718            y: '1 ปี',
28719            yy: '%d ปี'
28720        }
28721    });
28722
28723    return th;
28724});
28725
28726/***/ }),
28727/* 169 */
28728/***/ (function(module, exports, __webpack_require__) {
28729
28730"use strict";
28731var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28732
28733var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28734
28735//! moment.js locale configuration
28736
28737;(function (global, factory) {
28738    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28739				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28740				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28741				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28742})(undefined, function (moment) {
28743    'use strict';
28744
28745    var tlPh = moment.defineLocale('tl-ph', {
28746        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
28747        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
28748        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
28749        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
28750        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
28751        longDateFormat: {
28752            LT: 'HH:mm',
28753            LTS: 'HH:mm:ss',
28754            L: 'MM/D/YYYY',
28755            LL: 'MMMM D, YYYY',
28756            LLL: 'MMMM D, YYYY HH:mm',
28757            LLLL: 'dddd, MMMM DD, YYYY HH:mm'
28758        },
28759        calendar: {
28760            sameDay: 'LT [ngayong araw]',
28761            nextDay: '[Bukas ng] LT',
28762            nextWeek: 'LT [sa susunod na] dddd',
28763            lastDay: 'LT [kahapon]',
28764            lastWeek: 'LT [noong nakaraang] dddd',
28765            sameElse: 'L'
28766        },
28767        relativeTime: {
28768            future: 'sa loob ng %s',
28769            past: '%s ang nakalipas',
28770            s: 'ilang segundo',
28771            ss: '%d segundo',
28772            m: 'isang minuto',
28773            mm: '%d minuto',
28774            h: 'isang oras',
28775            hh: '%d oras',
28776            d: 'isang araw',
28777            dd: '%d araw',
28778            M: 'isang buwan',
28779            MM: '%d buwan',
28780            y: 'isang taon',
28781            yy: '%d taon'
28782        },
28783        dayOfMonthOrdinalParse: /\d{1,2}/,
28784        ordinal: function ordinal(number) {
28785            return number;
28786        },
28787        week: {
28788            dow: 1, // Monday is the first day of the week.
28789            doy: 4 // The week that contains Jan 4th is the first week of the year.
28790        }
28791    });
28792
28793    return tlPh;
28794});
28795
28796/***/ }),
28797/* 170 */
28798/***/ (function(module, exports, __webpack_require__) {
28799
28800"use strict";
28801var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28802
28803var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28804
28805//! moment.js locale configuration
28806
28807;(function (global, factory) {
28808    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28809				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28810				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28811				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28812})(undefined, function (moment) {
28813    'use strict';
28814
28815    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
28816
28817    function translateFuture(output) {
28818        var time = output;
28819        time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq';
28820        return time;
28821    }
28822
28823    function translatePast(output) {
28824        var time = output;
28825        time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret';
28826        return time;
28827    }
28828
28829    function translate(number, withoutSuffix, string, isFuture) {
28830        var numberNoun = numberAsNoun(number);
28831        switch (string) {
28832            case 'ss':
28833                return numberNoun + ' lup';
28834            case 'mm':
28835                return numberNoun + ' tup';
28836            case 'hh':
28837                return numberNoun + ' rep';
28838            case 'dd':
28839                return numberNoun + ' jaj';
28840            case 'MM':
28841                return numberNoun + ' jar';
28842            case 'yy':
28843                return numberNoun + ' DIS';
28844        }
28845    }
28846
28847    function numberAsNoun(number) {
28848        var hundred = Math.floor(number % 1000 / 100),
28849            ten = Math.floor(number % 100 / 10),
28850            one = number % 10,
28851            word = '';
28852        if (hundred > 0) {
28853            word += numbersNouns[hundred] + 'vatlh';
28854        }
28855        if (ten > 0) {
28856            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
28857        }
28858        if (one > 0) {
28859            word += (word !== '' ? ' ' : '') + numbersNouns[one];
28860        }
28861        return word === '' ? 'pagh' : word;
28862    }
28863
28864    var tlh = moment.defineLocale('tlh', {
28865        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('_'),
28866        monthsShort: '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('_'),
28867        monthsParseExact: true,
28868        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
28869        weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
28870        weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
28871        longDateFormat: {
28872            LT: 'HH:mm',
28873            LTS: 'HH:mm:ss',
28874            L: 'DD.MM.YYYY',
28875            LL: 'D MMMM YYYY',
28876            LLL: 'D MMMM YYYY HH:mm',
28877            LLLL: 'dddd, D MMMM YYYY HH:mm'
28878        },
28879        calendar: {
28880            sameDay: '[DaHjaj] LT',
28881            nextDay: '[wa’leS] LT',
28882            nextWeek: 'LLL',
28883            lastDay: '[wa’Hu’] LT',
28884            lastWeek: 'LLL',
28885            sameElse: 'L'
28886        },
28887        relativeTime: {
28888            future: translateFuture,
28889            past: translatePast,
28890            s: 'puS lup',
28891            ss: translate,
28892            m: 'wa’ tup',
28893            mm: translate,
28894            h: 'wa’ rep',
28895            hh: translate,
28896            d: 'wa’ jaj',
28897            dd: translate,
28898            M: 'wa’ jar',
28899            MM: translate,
28900            y: 'wa’ DIS',
28901            yy: translate
28902        },
28903        dayOfMonthOrdinalParse: /\d{1,2}\./,
28904        ordinal: '%d.',
28905        week: {
28906            dow: 1, // Monday is the first day of the week.
28907            doy: 4 // The week that contains Jan 4th is the first week of the year.
28908        }
28909    });
28910
28911    return tlh;
28912});
28913
28914/***/ }),
28915/* 171 */
28916/***/ (function(module, exports, __webpack_require__) {
28917
28918"use strict";
28919var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
28920
28921var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
28922
28923;(function (global, factory) {
28924    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28925				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28926				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28927				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
28928})(undefined, function (moment) {
28929    'use strict';
28930
28931    var suffixes = {
28932        1: '\'inci',
28933        5: '\'inci',
28934        8: '\'inci',
28935        70: '\'inci',
28936        80: '\'inci',
28937        2: '\'nci',
28938        7: '\'nci',
28939        20: '\'nci',
28940        50: '\'nci',
28941        3: '\'üncü',
28942        4: '\'üncü',
28943        100: '\'üncü',
28944        6: '\'ncı',
28945        9: '\'uncu',
28946        10: '\'uncu',
28947        30: '\'uncu',
28948        60: '\'ıncı',
28949        90: '\'ıncı'
28950    };
28951
28952    var tr = moment.defineLocale('tr', {
28953        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
28954        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
28955        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
28956        weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
28957        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
28958        longDateFormat: {
28959            LT: 'HH:mm',
28960            LTS: 'HH:mm:ss',
28961            L: 'DD.MM.YYYY',
28962            LL: 'D MMMM YYYY',
28963            LLL: 'D MMMM YYYY HH:mm',
28964            LLLL: 'dddd, D MMMM YYYY HH:mm'
28965        },
28966        calendar: {
28967            sameDay: '[bugün saat] LT',
28968            nextDay: '[yarın saat] LT',
28969            nextWeek: '[gelecek] dddd [saat] LT',
28970            lastDay: '[dün] LT',
28971            lastWeek: '[geçen] dddd [saat] LT',
28972            sameElse: 'L'
28973        },
28974        relativeTime: {
28975            future: '%s sonra',
28976            past: '%s önce',
28977            s: 'birkaç saniye',
28978            ss: '%d saniye',
28979            m: 'bir dakika',
28980            mm: '%d dakika',
28981            h: 'bir saat',
28982            hh: '%d saat',
28983            d: 'bir gün',
28984            dd: '%d gün',
28985            M: 'bir ay',
28986            MM: '%d ay',
28987            y: 'bir yıl',
28988            yy: '%d yıl'
28989        },
28990        ordinal: function ordinal(number, period) {
28991            switch (period) {
28992                case 'd':
28993                case 'D':
28994                case 'Do':
28995                case 'DD':
28996                    return number;
28997                default:
28998                    if (number === 0) {
28999                        // special case for zero
29000                        return number + '\'ıncı';
29001                    }
29002                    var a = number % 10,
29003                        b = number % 100 - a,
29004                        c = number >= 100 ? 100 : null;
29005                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);
29006            }
29007        },
29008        week: {
29009            dow: 1, // Monday is the first day of the week.
29010            doy: 7 // The week that contains Jan 1st is the first week of the year.
29011        }
29012    });
29013
29014    return tr;
29015});
29016
29017/***/ }),
29018/* 172 */
29019/***/ (function(module, exports, __webpack_require__) {
29020
29021"use strict";
29022var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29023
29024var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29025
29026//! moment.js locale configuration
29027
29028;(function (global, factory) {
29029    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29030				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29031				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29032				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29033})(undefined, function (moment) {
29034    'use strict';
29035
29036    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
29037    // This is currently too difficult (maybe even impossible) to add.
29038
29039    var tzl = moment.defineLocale('tzl', {
29040        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
29041        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
29042        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
29043        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
29044        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
29045        longDateFormat: {
29046            LT: 'HH.mm',
29047            LTS: 'HH.mm.ss',
29048            L: 'DD.MM.YYYY',
29049            LL: 'D. MMMM [dallas] YYYY',
29050            LLL: 'D. MMMM [dallas] YYYY HH.mm',
29051            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
29052        },
29053        meridiemParse: /d\'o|d\'a/i,
29054        isPM: function isPM(input) {
29055            return 'd\'o' === input.toLowerCase();
29056        },
29057        meridiem: function meridiem(hours, minutes, isLower) {
29058            if (hours > 11) {
29059                return isLower ? 'd\'o' : 'D\'O';
29060            } else {
29061                return isLower ? 'd\'a' : 'D\'A';
29062            }
29063        },
29064        calendar: {
29065            sameDay: '[oxhi à] LT',
29066            nextDay: '[demà à] LT',
29067            nextWeek: 'dddd [à] LT',
29068            lastDay: '[ieiri à] LT',
29069            lastWeek: '[sür el] dddd [lasteu à] LT',
29070            sameElse: 'L'
29071        },
29072        relativeTime: {
29073            future: 'osprei %s',
29074            past: 'ja%s',
29075            s: processRelativeTime,
29076            ss: processRelativeTime,
29077            m: processRelativeTime,
29078            mm: processRelativeTime,
29079            h: processRelativeTime,
29080            hh: processRelativeTime,
29081            d: processRelativeTime,
29082            dd: processRelativeTime,
29083            M: processRelativeTime,
29084            MM: processRelativeTime,
29085            y: processRelativeTime,
29086            yy: processRelativeTime
29087        },
29088        dayOfMonthOrdinalParse: /\d{1,2}\./,
29089        ordinal: '%d.',
29090        week: {
29091            dow: 1, // Monday is the first day of the week.
29092            doy: 4 // The week that contains Jan 4th is the first week of the year.
29093        }
29094    });
29095
29096    function processRelativeTime(number, withoutSuffix, key, isFuture) {
29097        var format = {
29098            's': ['viensas secunds', '\'iensas secunds'],
29099            'ss': [number + ' secunds', '' + number + ' secunds'],
29100            'm': ['\'n míut', '\'iens míut'],
29101            'mm': [number + ' míuts', '' + number + ' míuts'],
29102            'h': ['\'n þora', '\'iensa þora'],
29103            'hh': [number + ' þoras', '' + number + ' þoras'],
29104            'd': ['\'n ziua', '\'iensa ziua'],
29105            'dd': [number + ' ziuas', '' + number + ' ziuas'],
29106            'M': ['\'n mes', '\'iens mes'],
29107            'MM': [number + ' mesen', '' + number + ' mesen'],
29108            'y': ['\'n ar', '\'iens ar'],
29109            'yy': [number + ' ars', '' + number + ' ars']
29110        };
29111        return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1];
29112    }
29113
29114    return tzl;
29115});
29116
29117/***/ }),
29118/* 173 */
29119/***/ (function(module, exports, __webpack_require__) {
29120
29121"use strict";
29122var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29123
29124var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29125
29126//! moment.js locale configuration
29127
29128;(function (global, factory) {
29129    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29130				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29131				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29132				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29133})(undefined, function (moment) {
29134    'use strict';
29135
29136    var tzmLatn = moment.defineLocale('tzm-latn', {
29137        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
29138        monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
29139        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
29140        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
29141        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
29142        longDateFormat: {
29143            LT: 'HH:mm',
29144            LTS: 'HH:mm:ss',
29145            L: 'DD/MM/YYYY',
29146            LL: 'D MMMM YYYY',
29147            LLL: 'D MMMM YYYY HH:mm',
29148            LLLL: 'dddd D MMMM YYYY HH:mm'
29149        },
29150        calendar: {
29151            sameDay: '[asdkh g] LT',
29152            nextDay: '[aska g] LT',
29153            nextWeek: 'dddd [g] LT',
29154            lastDay: '[assant g] LT',
29155            lastWeek: 'dddd [g] LT',
29156            sameElse: 'L'
29157        },
29158        relativeTime: {
29159            future: 'dadkh s yan %s',
29160            past: 'yan %s',
29161            s: 'imik',
29162            ss: '%d imik',
29163            m: 'minuḍ',
29164            mm: '%d minuḍ',
29165            h: 'saɛa',
29166            hh: '%d tassaɛin',
29167            d: 'ass',
29168            dd: '%d ossan',
29169            M: 'ayowr',
29170            MM: '%d iyyirn',
29171            y: 'asgas',
29172            yy: '%d isgasn'
29173        },
29174        week: {
29175            dow: 6, // Saturday is the first day of the week.
29176            doy: 12 // The week that contains Jan 1st is the first week of the year.
29177        }
29178    });
29179
29180    return tzmLatn;
29181});
29182
29183/***/ }),
29184/* 174 */
29185/***/ (function(module, exports, __webpack_require__) {
29186
29187"use strict";
29188var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29189
29190var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29191
29192//! moment.js locale configuration
29193
29194;(function (global, factory) {
29195    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29196				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29197				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29198				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29199})(undefined, function (moment) {
29200    'use strict';
29201
29202    var tzm = moment.defineLocale('tzm', {
29203        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
29204        monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
29205        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
29206        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
29207        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
29208        longDateFormat: {
29209            LT: 'HH:mm',
29210            LTS: 'HH:mm:ss',
29211            L: 'DD/MM/YYYY',
29212            LL: 'D MMMM YYYY',
29213            LLL: 'D MMMM YYYY HH:mm',
29214            LLLL: 'dddd D MMMM YYYY HH:mm'
29215        },
29216        calendar: {
29217            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
29218            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
29219            nextWeek: 'dddd [â´´] LT',
29220            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
29221            lastWeek: 'dddd [â´´] LT',
29222            sameElse: 'L'
29223        },
29224        relativeTime: {
29225            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
29226            past: 'ⵢⴰⵏ %s',
29227            s: 'ⵉⵎⵉⴽ',
29228            ss: '%d ⵉⵎⵉⴽ',
29229            m: 'ⵎⵉⵏⵓⴺ',
29230            mm: '%d ⵎⵉⵏⵓⴺ',
29231            h: 'ⵙⴰⵄⴰ',
29232            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
29233            d: 'ⴰⵙⵙ',
29234            dd: '%d oⵙⵙⴰⵏ',
29235            M: 'ⴰⵢoⵓⵔ',
29236            MM: '%d ⵉⵢⵢⵉⵔⵏ',
29237            y: 'ⴰⵙⴳⴰⵙ',
29238            yy: '%d ⵉⵙⴳⴰⵙⵏ'
29239        },
29240        week: {
29241            dow: 6, // Saturday is the first day of the week.
29242            doy: 12 // The week that contains Jan 1st is the first week of the year.
29243        }
29244    });
29245
29246    return tzm;
29247});
29248
29249/***/ }),
29250/* 175 */
29251/***/ (function(module, exports, __webpack_require__) {
29252
29253"use strict";
29254var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29255
29256var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29257
29258//! moment.js language configuration
29259
29260;(function (global, factory) {
29261    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29262				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29263				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29264				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29265})(undefined, function (moment) {
29266    'use strict';
29267
29268    var ugCn = moment.defineLocale('ug-cn', {
29269        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),
29270        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),
29271        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),
29272        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
29273        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
29274        longDateFormat: {
29275            LT: 'HH:mm',
29276            LTS: 'HH:mm:ss',
29277            L: 'YYYY-MM-DD',
29278            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
29279            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
29280            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
29281        },
29282        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
29283        meridiemHour: function meridiemHour(hour, meridiem) {
29284            if (hour === 12) {
29285                hour = 0;
29286            }
29287            if (meridiem === 'يېرىم كېچە' || meridiem === 'سەھەر' || meridiem === 'چۈشتىن بۇرۇن') {
29288                return hour;
29289            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
29290                return hour + 12;
29291            } else {
29292                return hour >= 11 ? hour : hour + 12;
29293            }
29294        },
29295        meridiem: function meridiem(hour, minute, isLower) {
29296            var hm = hour * 100 + minute;
29297            if (hm < 600) {
29298                return 'يېرىم كېچە';
29299            } else if (hm < 900) {
29300                return 'سەھەر';
29301            } else if (hm < 1130) {
29302                return 'چۈشتىن بۇرۇن';
29303            } else if (hm < 1230) {
29304                return 'چۈش';
29305            } else if (hm < 1800) {
29306                return 'چۈشتىن كېيىن';
29307            } else {
29308                return 'كەچ';
29309            }
29310        },
29311        calendar: {
29312            sameDay: '[بۈگۈن سائەت] LT',
29313            nextDay: '[ئەتە سائەت] LT',
29314            nextWeek: '[كېلەركى] dddd [سائەت] LT',
29315            lastDay: '[تۆنۈگۈن] LT',
29316            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
29317            sameElse: 'L'
29318        },
29319        relativeTime: {
29320            future: '%s كېيىن',
29321            past: '%s بۇرۇن',
29322            s: 'نەچچە سېكونت',
29323            ss: '%d سېكونت',
29324            m: 'بىر مىنۇت',
29325            mm: '%d مىنۇت',
29326            h: 'بىر سائەت',
29327            hh: '%d سائەت',
29328            d: 'بىر كۈن',
29329            dd: '%d كۈن',
29330            M: 'بىر ئاي',
29331            MM: '%d ئاي',
29332            y: 'بىر يىل',
29333            yy: '%d يىل'
29334        },
29335
29336        dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
29337        ordinal: function ordinal(number, period) {
29338            switch (period) {
29339                case 'd':
29340                case 'D':
29341                case 'DDD':
29342                    return number + '-كۈنى';
29343                case 'w':
29344                case 'W':
29345                    return number + '-ھەپتە';
29346                default:
29347                    return number;
29348            }
29349        },
29350        preparse: function preparse(string) {
29351            return string.replace(/،/g, ',');
29352        },
29353        postformat: function postformat(string) {
29354            return string.replace(/,/g, '،');
29355        },
29356        week: {
29357            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
29358            dow: 1, // Monday is the first day of the week.
29359            doy: 7 // The week that contains Jan 1st is the first week of the year.
29360        }
29361    });
29362
29363    return ugCn;
29364});
29365
29366/***/ }),
29367/* 176 */
29368/***/ (function(module, exports, __webpack_require__) {
29369
29370"use strict";
29371var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29372
29373var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29374
29375//! moment.js locale configuration
29376
29377;(function (global, factory) {
29378    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29379				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29380				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29381				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29382})(undefined, function (moment) {
29383    'use strict';
29384
29385    function plural(word, num) {
29386        var forms = word.split('_');
29387        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2];
29388    }
29389    function relativeTimeWithPlural(number, withoutSuffix, key) {
29390        var format = {
29391            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
29392            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
29393            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
29394            'dd': 'день_дні_днів',
29395            'MM': 'місяць_місяці_місяців',
29396            'yy': 'рік_роки_років'
29397        };
29398        if (key === 'm') {
29399            return withoutSuffix ? 'хвилина' : 'хвилину';
29400        } else if (key === 'h') {
29401            return withoutSuffix ? 'година' : 'годину';
29402        } else {
29403            return number + ' ' + plural(format[key], +number);
29404        }
29405    }
29406    function weekdaysCaseReplace(m, format) {
29407        var weekdays = {
29408            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
29409            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
29410            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
29411        };
29412
29413        if (!m) {
29414            return weekdays['nominative'];
29415        }
29416
29417        var nounCase = /(\[[ВвУу]\]) ?dddd/.test(format) ? 'accusative' : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format) ? 'genitive' : 'nominative';
29418        return weekdays[nounCase][m.day()];
29419    }
29420    function processHoursFunction(str) {
29421        return function () {
29422            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
29423        };
29424    }
29425
29426    var uk = moment.defineLocale('uk', {
29427        months: {
29428            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
29429            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
29430        },
29431        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
29432        weekdays: weekdaysCaseReplace,
29433        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
29434        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
29435        longDateFormat: {
29436            LT: 'HH:mm',
29437            LTS: 'HH:mm:ss',
29438            L: 'DD.MM.YYYY',
29439            LL: 'D MMMM YYYY р.',
29440            LLL: 'D MMMM YYYY р., HH:mm',
29441            LLLL: 'dddd, D MMMM YYYY р., HH:mm'
29442        },
29443        calendar: {
29444            sameDay: processHoursFunction('[Сьогодні '),
29445            nextDay: processHoursFunction('[Завтра '),
29446            lastDay: processHoursFunction('[Вчора '),
29447            nextWeek: processHoursFunction('[У] dddd ['),
29448            lastWeek: function lastWeek() {
29449                switch (this.day()) {
29450                    case 0:
29451                    case 3:
29452                    case 5:
29453                    case 6:
29454                        return processHoursFunction('[Минулої] dddd [').call(this);
29455                    case 1:
29456                    case 2:
29457                    case 4:
29458                        return processHoursFunction('[Минулого] dddd [').call(this);
29459                }
29460            },
29461            sameElse: 'L'
29462        },
29463        relativeTime: {
29464            future: 'за %s',
29465            past: '%s тому',
29466            s: 'декілька секунд',
29467            ss: relativeTimeWithPlural,
29468            m: relativeTimeWithPlural,
29469            mm: relativeTimeWithPlural,
29470            h: 'годину',
29471            hh: relativeTimeWithPlural,
29472            d: 'день',
29473            dd: relativeTimeWithPlural,
29474            M: 'місяць',
29475            MM: relativeTimeWithPlural,
29476            y: 'рік',
29477            yy: relativeTimeWithPlural
29478        },
29479        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
29480        meridiemParse: /ночі|ранку|дня|вечора/,
29481        isPM: function isPM(input) {
29482            return (/^(дня|вечора)$/.test(input)
29483            );
29484        },
29485        meridiem: function meridiem(hour, minute, isLower) {
29486            if (hour < 4) {
29487                return 'ночі';
29488            } else if (hour < 12) {
29489                return 'ранку';
29490            } else if (hour < 17) {
29491                return 'дня';
29492            } else {
29493                return 'вечора';
29494            }
29495        },
29496        dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
29497        ordinal: function ordinal(number, period) {
29498            switch (period) {
29499                case 'M':
29500                case 'd':
29501                case 'DDD':
29502                case 'w':
29503                case 'W':
29504                    return number + '-й';
29505                case 'D':
29506                    return number + '-го';
29507                default:
29508                    return number;
29509            }
29510        },
29511        week: {
29512            dow: 1, // Monday is the first day of the week.
29513            doy: 7 // The week that contains Jan 1st is the first week of the year.
29514        }
29515    });
29516
29517    return uk;
29518});
29519
29520/***/ }),
29521/* 177 */
29522/***/ (function(module, exports, __webpack_require__) {
29523
29524"use strict";
29525var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29526
29527var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29528
29529//! moment.js locale configuration
29530
29531;(function (global, factory) {
29532    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29533				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29534				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29535				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29536})(undefined, function (moment) {
29537    'use strict';
29538
29539    var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'];
29540    var days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
29541
29542    var ur = moment.defineLocale('ur', {
29543        months: months,
29544        monthsShort: months,
29545        weekdays: days,
29546        weekdaysShort: days,
29547        weekdaysMin: days,
29548        longDateFormat: {
29549            LT: 'HH:mm',
29550            LTS: 'HH:mm:ss',
29551            L: 'DD/MM/YYYY',
29552            LL: 'D MMMM YYYY',
29553            LLL: 'D MMMM YYYY HH:mm',
29554            LLLL: 'dddd، D MMMM YYYY HH:mm'
29555        },
29556        meridiemParse: /صبح|شام/,
29557        isPM: function isPM(input) {
29558            return 'شام' === input;
29559        },
29560        meridiem: function meridiem(hour, minute, isLower) {
29561            if (hour < 12) {
29562                return 'صبح';
29563            }
29564            return 'شام';
29565        },
29566        calendar: {
29567            sameDay: '[آج بوقت] LT',
29568            nextDay: '[کل بوقت] LT',
29569            nextWeek: 'dddd [بوقت] LT',
29570            lastDay: '[گذشتہ روز بوقت] LT',
29571            lastWeek: '[گذشتہ] dddd [بوقت] LT',
29572            sameElse: 'L'
29573        },
29574        relativeTime: {
29575            future: '%s بعد',
29576            past: '%s قبل',
29577            s: 'چند سیکنڈ',
29578            ss: '%d سیکنڈ',
29579            m: 'ایک منٹ',
29580            mm: '%d منٹ',
29581            h: 'ایک گھنٹہ',
29582            hh: '%d گھنٹے',
29583            d: 'ایک دن',
29584            dd: '%d دن',
29585            M: 'ایک ماہ',
29586            MM: '%d ماہ',
29587            y: 'ایک سال',
29588            yy: '%d سال'
29589        },
29590        preparse: function preparse(string) {
29591            return string.replace(/،/g, ',');
29592        },
29593        postformat: function postformat(string) {
29594            return string.replace(/,/g, '،');
29595        },
29596        week: {
29597            dow: 1, // Monday is the first day of the week.
29598            doy: 4 // The week that contains Jan 4th is the first week of the year.
29599        }
29600    });
29601
29602    return ur;
29603});
29604
29605/***/ }),
29606/* 178 */
29607/***/ (function(module, exports, __webpack_require__) {
29608
29609"use strict";
29610var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29611
29612var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29613
29614//! moment.js locale configuration
29615
29616;(function (global, factory) {
29617    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29618				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29619				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29620				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29621})(undefined, function (moment) {
29622    'use strict';
29623
29624    var uzLatn = moment.defineLocale('uz-latn', {
29625        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
29626        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
29627        weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
29628        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
29629        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
29630        longDateFormat: {
29631            LT: 'HH:mm',
29632            LTS: 'HH:mm:ss',
29633            L: 'DD/MM/YYYY',
29634            LL: 'D MMMM YYYY',
29635            LLL: 'D MMMM YYYY HH:mm',
29636            LLLL: 'D MMMM YYYY, dddd HH:mm'
29637        },
29638        calendar: {
29639            sameDay: '[Bugun soat] LT [da]',
29640            nextDay: '[Ertaga] LT [da]',
29641            nextWeek: 'dddd [kuni soat] LT [da]',
29642            lastDay: '[Kecha soat] LT [da]',
29643            lastWeek: '[O\'tgan] dddd [kuni soat] LT [da]',
29644            sameElse: 'L'
29645        },
29646        relativeTime: {
29647            future: 'Yaqin %s ichida',
29648            past: 'Bir necha %s oldin',
29649            s: 'soniya',
29650            ss: '%d soniya',
29651            m: 'bir daqiqa',
29652            mm: '%d daqiqa',
29653            h: 'bir soat',
29654            hh: '%d soat',
29655            d: 'bir kun',
29656            dd: '%d kun',
29657            M: 'bir oy',
29658            MM: '%d oy',
29659            y: 'bir yil',
29660            yy: '%d yil'
29661        },
29662        week: {
29663            dow: 1, // Monday is the first day of the week.
29664            doy: 7 // The week that contains Jan 1st is the first week of the year.
29665        }
29666    });
29667
29668    return uzLatn;
29669});
29670
29671/***/ }),
29672/* 179 */
29673/***/ (function(module, exports, __webpack_require__) {
29674
29675"use strict";
29676var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29677
29678var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29679
29680//! moment.js locale configuration
29681
29682;(function (global, factory) {
29683    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29684				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29685				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29686				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29687})(undefined, function (moment) {
29688    'use strict';
29689
29690    var uz = moment.defineLocale('uz', {
29691        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
29692        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
29693        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
29694        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
29695        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
29696        longDateFormat: {
29697            LT: 'HH:mm',
29698            LTS: 'HH:mm:ss',
29699            L: 'DD/MM/YYYY',
29700            LL: 'D MMMM YYYY',
29701            LLL: 'D MMMM YYYY HH:mm',
29702            LLLL: 'D MMMM YYYY, dddd HH:mm'
29703        },
29704        calendar: {
29705            sameDay: '[Бугун соат] LT [да]',
29706            nextDay: '[Эртага] LT [да]',
29707            nextWeek: 'dddd [куни соат] LT [да]',
29708            lastDay: '[Кеча соат] LT [да]',
29709            lastWeek: '[Утган] dddd [куни соат] LT [да]',
29710            sameElse: 'L'
29711        },
29712        relativeTime: {
29713            future: 'Якин %s ичида',
29714            past: 'Бир неча %s олдин',
29715            s: 'фурсат',
29716            ss: '%d фурсат',
29717            m: 'бир дакика',
29718            mm: '%d дакика',
29719            h: 'бир соат',
29720            hh: '%d соат',
29721            d: 'бир кун',
29722            dd: '%d кун',
29723            M: 'бир ой',
29724            MM: '%d ой',
29725            y: 'бир йил',
29726            yy: '%d йил'
29727        },
29728        week: {
29729            dow: 1, // Monday is the first day of the week.
29730            doy: 7 // The week that contains Jan 4th is the first week of the year.
29731        }
29732    });
29733
29734    return uz;
29735});
29736
29737/***/ }),
29738/* 180 */
29739/***/ (function(module, exports, __webpack_require__) {
29740
29741"use strict";
29742var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29743
29744var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29745
29746//! moment.js locale configuration
29747
29748;(function (global, factory) {
29749    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29750				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29751				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29752				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29753})(undefined, function (moment) {
29754    'use strict';
29755
29756    var vi = moment.defineLocale('vi', {
29757        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('_'),
29758        monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
29759        monthsParseExact: true,
29760        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
29761        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
29762        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
29763        weekdaysParseExact: true,
29764        meridiemParse: /sa|ch/i,
29765        isPM: function isPM(input) {
29766            return (/^ch$/i.test(input)
29767            );
29768        },
29769        meridiem: function meridiem(hours, minutes, isLower) {
29770            if (hours < 12) {
29771                return isLower ? 'sa' : 'SA';
29772            } else {
29773                return isLower ? 'ch' : 'CH';
29774            }
29775        },
29776        longDateFormat: {
29777            LT: 'HH:mm',
29778            LTS: 'HH:mm:ss',
29779            L: 'DD/MM/YYYY',
29780            LL: 'D MMMM [năm] YYYY',
29781            LLL: 'D MMMM [năm] YYYY HH:mm',
29782            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
29783            l: 'DD/M/YYYY',
29784            ll: 'D MMM YYYY',
29785            lll: 'D MMM YYYY HH:mm',
29786            llll: 'ddd, D MMM YYYY HH:mm'
29787        },
29788        calendar: {
29789            sameDay: '[Hôm nay lúc] LT',
29790            nextDay: '[Ngày mai lúc] LT',
29791            nextWeek: 'dddd [tuần tới lúc] LT',
29792            lastDay: '[Hôm qua lúc] LT',
29793            lastWeek: 'dddd [tuần rồi lúc] LT',
29794            sameElse: 'L'
29795        },
29796        relativeTime: {
29797            future: '%s tới',
29798            past: '%s trước',
29799            s: 'vài giây',
29800            ss: '%d giây',
29801            m: 'một phút',
29802            mm: '%d phút',
29803            h: 'một giờ',
29804            hh: '%d giờ',
29805            d: 'một ngày',
29806            dd: '%d ngày',
29807            M: 'một tháng',
29808            MM: '%d tháng',
29809            y: 'một năm',
29810            yy: '%d năm'
29811        },
29812        dayOfMonthOrdinalParse: /\d{1,2}/,
29813        ordinal: function ordinal(number) {
29814            return number;
29815        },
29816        week: {
29817            dow: 1, // Monday is the first day of the week.
29818            doy: 4 // The week that contains Jan 4th is the first week of the year.
29819        }
29820    });
29821
29822    return vi;
29823});
29824
29825/***/ }),
29826/* 181 */
29827/***/ (function(module, exports, __webpack_require__) {
29828
29829"use strict";
29830var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29831
29832var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29833
29834//! moment.js locale configuration
29835
29836;(function (global, factory) {
29837    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29838				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29839				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29840				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29841})(undefined, function (moment) {
29842    'use strict';
29843
29844    var xPseudo = moment.defineLocale('x-pseudo', {
29845        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('_'),
29846        monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
29847        monthsParseExact: true,
29848        weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
29849        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
29850        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
29851        weekdaysParseExact: true,
29852        longDateFormat: {
29853            LT: 'HH:mm',
29854            L: 'DD/MM/YYYY',
29855            LL: 'D MMMM YYYY',
29856            LLL: 'D MMMM YYYY HH:mm',
29857            LLLL: 'dddd, D MMMM YYYY HH:mm'
29858        },
29859        calendar: {
29860            sameDay: '[T~ódá~ý át] LT',
29861            nextDay: '[T~ómó~rró~w át] LT',
29862            nextWeek: 'dddd [át] LT',
29863            lastDay: '[Ý~ést~érdá~ý át] LT',
29864            lastWeek: '[L~ást] dddd [át] LT',
29865            sameElse: 'L'
29866        },
29867        relativeTime: {
29868            future: 'í~ñ %s',
29869            past: '%s á~gó',
29870            s: 'á ~féw ~sécó~ñds',
29871            ss: '%d s~écóñ~ds',
29872            m: 'á ~míñ~úté',
29873            mm: '%d m~íñú~tés',
29874            h: 'á~ñ hó~úr',
29875            hh: '%d h~óúrs',
29876            d: 'á ~dáý',
29877            dd: '%d d~áýs',
29878            M: 'á ~móñ~th',
29879            MM: '%d m~óñt~hs',
29880            y: 'á ~ýéár',
29881            yy: '%d ý~éárs'
29882        },
29883        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
29884        ordinal: function ordinal(number) {
29885            var b = number % 10,
29886                output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
29887            return number + output;
29888        },
29889        week: {
29890            dow: 1, // Monday is the first day of the week.
29891            doy: 4 // The week that contains Jan 4th is the first week of the year.
29892        }
29893    });
29894
29895    return xPseudo;
29896});
29897
29898/***/ }),
29899/* 182 */
29900/***/ (function(module, exports, __webpack_require__) {
29901
29902"use strict";
29903var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29904
29905var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29906
29907//! moment.js locale configuration
29908
29909;(function (global, factory) {
29910    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29911				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29912				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29913				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29914})(undefined, function (moment) {
29915    'use strict';
29916
29917    var yo = moment.defineLocale('yo', {
29918        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
29919        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
29920        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
29921        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
29922        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
29923        longDateFormat: {
29924            LT: 'h:mm A',
29925            LTS: 'h:mm:ss A',
29926            L: 'DD/MM/YYYY',
29927            LL: 'D MMMM YYYY',
29928            LLL: 'D MMMM YYYY h:mm A',
29929            LLLL: 'dddd, D MMMM YYYY h:mm A'
29930        },
29931        calendar: {
29932            sameDay: '[Ònì ni] LT',
29933            nextDay: '[Ọ̀la ni] LT',
29934            nextWeek: 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
29935            lastDay: '[Àna ni] LT',
29936            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
29937            sameElse: 'L'
29938        },
29939        relativeTime: {
29940            future: 'ní %s',
29941            past: '%s kọjá',
29942            s: 'ìsẹjú aayá die',
29943            ss: 'aayá %d',
29944            m: 'ìsẹjú kan',
29945            mm: 'ìsẹjú %d',
29946            h: 'wákati kan',
29947            hh: 'wákati %d',
29948            d: 'ọjọ́ kan',
29949            dd: 'ọjọ́ %d',
29950            M: 'osù kan',
29951            MM: 'osù %d',
29952            y: 'ọdún kan',
29953            yy: 'ọdún %d'
29954        },
29955        dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
29956        ordinal: 'ọjọ́ %d',
29957        week: {
29958            dow: 1, // Monday is the first day of the week.
29959            doy: 4 // The week that contains Jan 4th is the first week of the year.
29960        }
29961    });
29962
29963    return yo;
29964});
29965
29966/***/ }),
29967/* 183 */
29968/***/ (function(module, exports, __webpack_require__) {
29969
29970"use strict";
29971var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
29972
29973var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29974
29975//! moment.js locale configuration
29976
29977;(function (global, factory) {
29978    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
29979				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
29980				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
29981				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
29982})(undefined, function (moment) {
29983    'use strict';
29984
29985    var zhCn = moment.defineLocale('zh-cn', {
29986        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
29987        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
29988        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
29989        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
29990        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
29991        longDateFormat: {
29992            LT: 'HH:mm',
29993            LTS: 'HH:mm:ss',
29994            L: 'YYYY/MM/DD',
29995            LL: 'YYYY年M月D日',
29996            LLL: 'YYYY年M月D日Ah点mm分',
29997            LLLL: 'YYYY年M月D日ddddAh点mm分',
29998            l: 'YYYY/M/D',
29999            ll: 'YYYY年M月D日',
30000            lll: 'YYYY年M月D日 HH:mm',
30001            llll: 'YYYY年M月D日dddd HH:mm'
30002        },
30003        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
30004        meridiemHour: function meridiemHour(hour, meridiem) {
30005            if (hour === 12) {
30006                hour = 0;
30007            }
30008            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
30009                return hour;
30010            } else if (meridiem === '下午' || meridiem === '晚上') {
30011                return hour + 12;
30012            } else {
30013                // '中午'
30014                return hour >= 11 ? hour : hour + 12;
30015            }
30016        },
30017        meridiem: function meridiem(hour, minute, isLower) {
30018            var hm = hour * 100 + minute;
30019            if (hm < 600) {
30020                return '凌晨';
30021            } else if (hm < 900) {
30022                return '早上';
30023            } else if (hm < 1130) {
30024                return '上午';
30025            } else if (hm < 1230) {
30026                return '中午';
30027            } else if (hm < 1800) {
30028                return '下午';
30029            } else {
30030                return '晚上';
30031            }
30032        },
30033        calendar: {
30034            sameDay: '[今天]LT',
30035            nextDay: '[明天]LT',
30036            nextWeek: '[下]ddddLT',
30037            lastDay: '[昨天]LT',
30038            lastWeek: '[上]ddddLT',
30039            sameElse: 'L'
30040        },
30041        dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
30042        ordinal: function ordinal(number, period) {
30043            switch (period) {
30044                case 'd':
30045                case 'D':
30046                case 'DDD':
30047                    return number + '日';
30048                case 'M':
30049                    return number + '月';
30050                case 'w':
30051                case 'W':
30052                    return number + '周';
30053                default:
30054                    return number;
30055            }
30056        },
30057        relativeTime: {
30058            future: '%s内',
30059            past: '%s前',
30060            s: '几秒',
30061            ss: '%d 秒',
30062            m: '1 分钟',
30063            mm: '%d 分钟',
30064            h: '1 小时',
30065            hh: '%d 小时',
30066            d: '1 天',
30067            dd: '%d 天',
30068            M: '1 个月',
30069            MM: '%d 个月',
30070            y: '1 å¹´',
30071            yy: '%d å¹´'
30072        },
30073        week: {
30074            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
30075            dow: 1, // Monday is the first day of the week.
30076            doy: 4 // The week that contains Jan 4th is the first week of the year.
30077        }
30078    });
30079
30080    return zhCn;
30081});
30082
30083/***/ }),
30084/* 184 */
30085/***/ (function(module, exports, __webpack_require__) {
30086
30087"use strict";
30088var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
30089
30090var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
30091
30092//! moment.js locale configuration
30093
30094;(function (global, factory) {
30095    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
30096				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
30097				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
30098				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
30099})(undefined, function (moment) {
30100    'use strict';
30101
30102    var zhHk = moment.defineLocale('zh-hk', {
30103        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
30104        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
30105        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
30106        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
30107        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
30108        longDateFormat: {
30109            LT: 'HH:mm',
30110            LTS: 'HH:mm:ss',
30111            L: 'YYYY/MM/DD',
30112            LL: 'YYYY年M月D日',
30113            LLL: 'YYYY年M月D日 HH:mm',
30114            LLLL: 'YYYY年M月D日dddd HH:mm',
30115            l: 'YYYY/M/D',
30116            ll: 'YYYY年M月D日',
30117            lll: 'YYYY年M月D日 HH:mm',
30118            llll: 'YYYY年M月D日dddd HH:mm'
30119        },
30120        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
30121        meridiemHour: function meridiemHour(hour, meridiem) {
30122            if (hour === 12) {
30123                hour = 0;
30124            }
30125            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
30126                return hour;
30127            } else if (meridiem === '中午') {
30128                return hour >= 11 ? hour : hour + 12;
30129            } else if (meridiem === '下午' || meridiem === '晚上') {
30130                return hour + 12;
30131            }
30132        },
30133        meridiem: function meridiem(hour, minute, isLower) {
30134            var hm = hour * 100 + minute;
30135            if (hm < 600) {
30136                return '凌晨';
30137            } else if (hm < 900) {
30138                return '早上';
30139            } else if (hm < 1130) {
30140                return '上午';
30141            } else if (hm < 1230) {
30142                return '中午';
30143            } else if (hm < 1800) {
30144                return '下午';
30145            } else {
30146                return '晚上';
30147            }
30148        },
30149        calendar: {
30150            sameDay: '[今天]LT',
30151            nextDay: '[明天]LT',
30152            nextWeek: '[下]ddddLT',
30153            lastDay: '[昨天]LT',
30154            lastWeek: '[上]ddddLT',
30155            sameElse: 'L'
30156        },
30157        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
30158        ordinal: function ordinal(number, period) {
30159            switch (period) {
30160                case 'd':
30161                case 'D':
30162                case 'DDD':
30163                    return number + '日';
30164                case 'M':
30165                    return number + '月';
30166                case 'w':
30167                case 'W':
30168                    return number + '週';
30169                default:
30170                    return number;
30171            }
30172        },
30173        relativeTime: {
30174            future: '%s內',
30175            past: '%s前',
30176            s: '幾秒',
30177            ss: '%d 秒',
30178            m: '1 分鐘',
30179            mm: '%d 分鐘',
30180            h: '1 小時',
30181            hh: '%d 小時',
30182            d: '1 天',
30183            dd: '%d 天',
30184            M: '1 個月',
30185            MM: '%d 個月',
30186            y: '1 å¹´',
30187            yy: '%d å¹´'
30188        }
30189    });
30190
30191    return zhHk;
30192});
30193
30194/***/ }),
30195/* 185 */
30196/***/ (function(module, exports, __webpack_require__) {
30197
30198"use strict";
30199var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
30200
30201var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
30202
30203//! moment.js locale configuration
30204
30205;(function (global, factory) {
30206    ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' && "function" === 'function' ? factory(__webpack_require__(0)) :  true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
30207				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
30208				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
30209				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : factory(global.moment);
30210})(undefined, function (moment) {
30211    'use strict';
30212
30213    var zhTw = moment.defineLocale('zh-tw', {
30214        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
30215        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
30216        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
30217        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
30218        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
30219        longDateFormat: {
30220            LT: 'HH:mm',
30221            LTS: 'HH:mm:ss',
30222            L: 'YYYY/MM/DD',
30223            LL: 'YYYY年M月D日',
30224            LLL: 'YYYY年M月D日 HH:mm',
30225            LLLL: 'YYYY年M月D日dddd HH:mm',
30226            l: 'YYYY/M/D',
30227            ll: 'YYYY年M月D日',
30228            lll: 'YYYY年M月D日 HH:mm',
30229            llll: 'YYYY年M月D日dddd HH:mm'
30230        },
30231        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
30232        meridiemHour: function meridiemHour(hour, meridiem) {
30233            if (hour === 12) {
30234                hour = 0;
30235            }
30236            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
30237                return hour;
30238            } else if (meridiem === '中午') {
30239                return hour >= 11 ? hour : hour + 12;
30240            } else if (meridiem === '下午' || meridiem === '晚上') {
30241                return hour + 12;
30242            }
30243        },
30244        meridiem: function meridiem(hour, minute, isLower) {
30245            var hm = hour * 100 + minute;
30246            if (hm < 600) {
30247                return '凌晨';
30248            } else if (hm < 900) {
30249                return '早上';
30250            } else if (hm < 1130) {
30251                return '上午';
30252            } else if (hm < 1230) {
30253                return '中午';
30254            } else if (hm < 1800) {
30255                return '下午';
30256            } else {
30257                return '晚上';
30258            }
30259        },
30260        calendar: {
30261            sameDay: '[今天] LT',
30262            nextDay: '[明天] LT',
30263            nextWeek: '[下]dddd LT',
30264            lastDay: '[昨天] LT',
30265            lastWeek: '[上]dddd LT',
30266            sameElse: 'L'
30267        },
30268        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
30269        ordinal: function ordinal(number, period) {
30270            switch (period) {
30271                case 'd':
30272                case 'D':
30273                case 'DDD':
30274                    return number + '日';
30275                case 'M':
30276                    return number + '月';
30277                case 'w':
30278                case 'W':
30279                    return number + '週';
30280                default:
30281                    return number;
30282            }
30283        },
30284        relativeTime: {
30285            future: '%s內',
30286            past: '%s前',
30287            s: '幾秒',
30288            ss: '%d 秒',
30289            m: '1 分鐘',
30290            mm: '%d 分鐘',
30291            h: '1 小時',
30292            hh: '%d 小時',
30293            d: '1 天',
30294            dd: '%d 天',
30295            M: '1 個月',
30296            MM: '%d 個月',
30297            y: '1 å¹´',
30298            yy: '%d å¹´'
30299        }
30300    });
30301
30302    return zhTw;
30303});
30304
30305/***/ }),
30306/* 186 */
30307/***/ (function(module, exports, __webpack_require__) {
30308
30309"use strict";
30310
30311
30312var _jquery = __webpack_require__(1);
30313
30314var _jquery2 = _interopRequireDefault(_jquery);
30315
30316var _whatInput = __webpack_require__(298);
30317
30318var _whatInput2 = _interopRequireDefault(_whatInput);
30319
30320__webpack_require__(211);
30321
30322var _cookienotification = __webpack_require__(201);
30323
30324var _cookienotification2 = _interopRequireDefault(_cookienotification);
30325
30326var _googleMaps = __webpack_require__(207);
30327
30328var _googleMaps2 = _interopRequireDefault(_googleMaps);
30329
30330var _mobileNavigation = __webpack_require__(197);
30331
30332var _mobileNavigation2 = _interopRequireDefault(_mobileNavigation);
30333
30334var _stickyNavigation = __webpack_require__(199);
30335
30336var _stickyNavigation2 = _interopRequireDefault(_stickyNavigation);
30337
30338var _subNavigation = __webpack_require__(200);
30339
30340var _subNavigation2 = _interopRequireDefault(_subNavigation);
30341
30342var _search = __webpack_require__(198);
30343
30344var _search2 = _interopRequireDefault(_search);
30345
30346var _datepicker = __webpack_require__(194);
30347
30348var _datepicker2 = _interopRequireDefault(_datepicker);
30349
30350var _toggleBoxContent = __webpack_require__(187);
30351
30352var _toggleBoxContent2 = _interopRequireDefault(_toggleBoxContent);
30353
30354var _catpicker = __webpack_require__(192);
30355
30356var _catpicker2 = _interopRequireDefault(_catpicker);
30357
30358var _resetfilter = __webpack_require__(195);
30359
30360var _resetfilter2 = _interopRequireDefault(_resetfilter);
30361
30362var _truncate = __webpack_require__(189);
30363
30364var _truncate2 = _interopRequireDefault(_truncate);
30365
30366var _jqueryPlaceholder = __webpack_require__(290);
30367
30368var _jqueryPlaceholder2 = _interopRequireDefault(_jqueryPlaceholder);
30369
30370var _clipboard = __webpack_require__(213);
30371
30372var _clipboard2 = _interopRequireDefault(_clipboard);
30373
30374var _infoWindow = __webpack_require__(202);
30375
30376var _infoWindow2 = _interopRequireDefault(_infoWindow);
30377
30378var _modal = __webpack_require__(203);
30379
30380var _modal2 = _interopRequireDefault(_modal);
30381
30382var _globals = __webpack_require__(13);
30383
30384var _globals2 = _interopRequireDefault(_globals);
30385
30386var _currentSearchTab = __webpack_require__(193);
30387
30388var _currentSearchTab2 = _interopRequireDefault(_currentSearchTab);
30389
30390var _qaFormPlaceholder = __webpack_require__(205);
30391
30392var _qaFormPlaceholder2 = _interopRequireDefault(_qaFormPlaceholder);
30393
30394var _cssColumns = __webpack_require__(204);
30395
30396var _cssColumns2 = _interopRequireDefault(_cssColumns);
30397
30398var _instantSearch = __webpack_require__(196);
30399
30400var _instantSearch2 = _interopRequireDefault(_instantSearch);
30401
30402var _emailShare = __webpack_require__(208);
30403
30404var _emailShare2 = _interopRequireDefault(_emailShare);
30405
30406var _facebookShare = __webpack_require__(209);
30407
30408var _facebookShare2 = _interopRequireDefault(_facebookShare);
30409
30410var _relatedLinks = __webpack_require__(206);
30411
30412var _relatedLinks2 = _interopRequireDefault(_relatedLinks);
30413
30414var _fontawesome = __webpack_require__(191);
30415
30416var _fontawesome2 = _interopRequireDefault(_fontawesome);
30417
30418var _accessibilityHelpers = __webpack_require__(210);
30419
30420var _accessibilityHelpers2 = _interopRequireDefault(_accessibilityHelpers);
30421
30422var _dropdown = __webpack_require__(190);
30423
30424var _dropdown2 = _interopRequireDefault(_dropdown);
30425
30426var _copyurl = __webpack_require__(188);
30427
30428var _copyurl2 = _interopRequireDefault(_copyurl);
30429
30430function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30431
30432window.$ = _jquery2.default;
30433
30434//import Foundation from 'foundation-sites';
30435// If you want to pick and choose which modules to include, comment out the above and uncomment
30436// the line below
30437
30438
30439(0, _jquery2.default)(document).foundation();
30440
30441(0, _jquery2.default)(document).ready(function () {
30442
30443    var fa = new _fontawesome2.default();
30444    fa.load();
30445
30446    svg4everybody();
30447
30448    //Add tabbed style to elements for better visability
30449    (0, _jquery2.default)("body").on("keyup", "a, button, input, textarea, select, .enter-click", function () {
30450        (0, _jquery2.default)(this).addClass("tabbed");
30451    });
30452    (0, _jquery2.default)("body").on("blur", "a, button, input, textarea, select, .enter-click", function () {
30453        (0, _jquery2.default)(this).removeClass("tabbed");
30454    });
30455
30456    //Accessibility Helpers
30457    var ah = new _accessibilityHelpers2.default();
30458
30459    /**
30460    * New object of Autocomplete
30461    * @param { string } class - The class of the search input to bind autocomplete to
30462    */
30463    var instantsearch = new _instantSearch2.default('global-search');
30464
30465    /**  Run our load method that creates our custom autocomplete category and binds it to our element*/
30466    instantsearch.load();
30467
30468    /**
30469    * New object of Modal Close Event
30470    * @param { string } modal - The id of modal
30471    */
30472    var modalCloseEvent = new _modal2.default('logoutModal');
30473
30474    // Add placeholder text to IE9.
30475    (0, _jquery2.default)('input, textarea').placeholder();
30476
30477    /**
30478     * New object of Cookienotification with key-value
30479     * @param { string } key - The key for cookie
30480     * @param { string } value  - The value of cookie
30481     */
30482    var cookie = new _cookienotification2.default("SIR", "CookieOk");
30483
30484    /** Check if cookie exists and bind click event to button that sets cookie. */
30485    cookie.checkCookie();
30486
30487    /**
30488     * New object of Google Maps
30489     * @param { string } map - The id of element map
30490     * @param { string } zoom - The zoom level of the map
30491     */
30492    var gmap = new _googleMaps2.default('map', 13);
30493
30494    /**  Load Google Maps & API */
30495    gmap.load();
30496
30497    // New object of ToggleBoxContent
30498    var toggleBoxContent = new _toggleBoxContent2.default();
30499
30500    // New object of Datepicker
30501    var dp = new _datepicker2.default(".list-filter-date");
30502    dp.load();
30503
30504    //Override pikaday aria-label
30505    (0, _jquery2.default)(".list-filter-date").focus(function () {
30506        (0, _jquery2.default)(this).attr("aria-label", "");
30507    });
30508
30509    // New object of CategoryPicker
30510    var cp = new _catpicker2.default();
30511
30512    // New object of ResetFilter
30513    var resetFilter = new _resetfilter2.default("resetFilter");
30514
30515    /**
30516    * New object of Mobile-navigation
30517    * @param { string } class - The css class of the element that holds our click elements
30518    */
30519    var mobileMenu = new _mobileNavigation2.default('global-navigation');
30520
30521    /**
30522    * New object of Sub-navigation
30523    * @param { string } class - The css class of the element that holds our sub-navigation items that will be clicked
30524    */
30525    var subNav = new _subNavigation2.default('sub-nav');
30526
30527    /**  Run our load method that sets sub-nav toggle buttons height */
30528    subNav.load();
30529
30530    /**
30531    * New object of Search inputd
30532    */
30533    var search = new _search2.default();
30534
30535    /**
30536    * New object of dotdotdot truncate
30537    * @param { string } class - The css class of element to truncate, can be a container
30538    */
30539    var truncateGuidelines = new _truncate2.default('truncate-guidelines');
30540    truncateGuidelines.load();
30541
30542    var truncateTeaserHeading = new _truncate2.default('truncate-teaser-heading');
30543    truncateTeaserHeading.load();
30544
30545    var clipboard = new _clipboard2.default(".copypaste");
30546
30547    /**
30548    * New object of infoWindow
30549    * @param { string } class - The css class of element that activates the infowidow
30550    */
30551    new _infoWindow2.default('socialmedia-btn');
30552
30553    // New object of CurrentSearchTab
30554    var currentSearchTab = new _currentSearchTab2.default("searchTabs");
30555    currentSearchTab.load();
30556    // New object of MovePlaceholder
30557    var movePlaceholder = new _qaFormPlaceholder2.default();
30558
30559    // New object of CssColumns. 
30560    // If list items are more than xxx a css class will be added to impliment css columns
30561    var cssColumns = new _cssColumns2.default("related-docs", 4);
30562
30563    // New object of emailShare.
30564    var emailShare = new _emailShare2.default();
30565
30566    // New object of FacebookShare.
30567    var facebookShare = new _facebookShare2.default();
30568
30569    // New object of RelatedLinks.
30570    var relatedLinks = new _relatedLinks2.default();
30571    relatedLinks.load();
30572
30573    // New object of CopyUrl.
30574    var copyurl = new _copyurl2.default();
30575
30576    // New object of Dropdown
30577    var dropdown = new _dropdown2.default();
30578});
30579
30580(0, _jquery2.default)(window).on('load', function () {
30581    /**
30582    * New object of Sticky-navigation
30583    * @param { string } class - The css class of the element that holds our navigation
30584    */
30585    var sticky = new _stickyNavigation2.default('global-navigation');
30586
30587    /**  Run our load method that wraps our global-nav with sticky elements on desktop */
30588    sticky.load();
30589});
30590
30591/***/ }),
30592/* 187 */
30593/***/ (function(module, exports, __webpack_require__) {
30594
30595"use strict";
30596
30597
30598Object.defineProperty(exports, "__esModule", {
30599    value: true
30600});
30601
30602var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30603
30604function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30605
30606var ToggleBoxContent = function () {
30607    function ToggleBoxContent() {
30608        var _this = this;
30609
30610        _classCallCheck(this, ToggleBoxContent);
30611
30612        if ($(".toggle-box-content").length) {
30613            window.addEventListener('click', function (e) {
30614                _this.hideBoxContent(e);
30615            });
30616        }
30617    }
30618
30619    _createClass(ToggleBoxContent, [{
30620        key: "hideBoxContent",
30621        value: function hideBoxContent(e) {
30622            this.target = e.target;
30623            this.$toggleBtn = $(".toggle-box-content");
30624            this.$boxContent = $(this.target).closest(".box-heading").siblings(".box-content, .box-footer");
30625            this.$AdditionalContent = this.$boxContent.parent().siblings(".search-tab-list");
30626
30627            console.log($(this.target).siblings());
30628
30629            if ($(this.target).parents().hasClass("box-heading") || $(this.target).hasClass("box-heading")) {
30630                $(this.target).closest(".toggle-box-content").toggleClass("active");
30631                $(this.target).find(".toggle-box-content").toggleClass("active");
30632                $(this.target).siblings().children(".toggle-box-content").toggleClass("active");
30633                this.$boxContent.toggle();
30634                this.$AdditionalContent.toggle();
30635            }
30636        }
30637    }]);
30638
30639    return ToggleBoxContent;
30640}();
30641
30642exports.default = ToggleBoxContent;
30643
30644/***/ }),
30645/* 188 */
30646/***/ (function(module, exports, __webpack_require__) {
30647
30648"use strict";
30649
30650
30651Object.defineProperty(exports, "__esModule", {
30652    value: true
30653});
30654
30655var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30656
30657function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30658
30659var CopyUrl = function () {
30660    function CopyUrl() {
30661        var _this = this;
30662
30663        _classCallCheck(this, CopyUrl);
30664
30665        if ($("#feed").length) {
30666            window.addEventListener('click', function (e) {
30667                _this.copyUrl(e);
30668            });
30669        }
30670    }
30671
30672    _createClass(CopyUrl, [{
30673        key: "copyUrl",
30674        value: function copyUrl(e) {
30675
30676            this.$copy = $("#copy");
30677            this.$copied = $("#copied");
30678            this.$SRcopy = $("#SRcopy");
30679
30680            this.copyText = this.$copy.text();
30681            this.copiedText = this.$copied.text();
30682
30683            this.target = e.target;
30684
30685            if ($(this.target).parents().hasClass("copypaste") || $(this.target).hasClass("copypaste")) {
30686                this.$SRcopy.text(this.copiedText);
30687                this.$copy.text(this.copiedText);
30688            }
30689        }
30690    }]);
30691
30692    return CopyUrl;
30693}();
30694
30695exports.default = CopyUrl;
30696
30697/***/ }),
30698/* 189 */
30699/***/ (function(module, exports, __webpack_require__) {
30700
30701"use strict";
30702
30703
30704Object.defineProperty(exports, "__esModule", {
30705    value: true
30706});
30707
30708var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30709
30710__webpack_require__(294);
30711
30712function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30713
30714var TruncateText = function () {
30715    function TruncateText(elementListener) {
30716        _classCallCheck(this, TruncateText);
30717
30718        this.element = document.getElementsByClassName(elementListener);
30719    }
30720
30721    _createClass(TruncateText, [{
30722        key: "load",
30723        value: function load() {
30724
30725            if (this.element != null) {
30726                $(this.element).dotdotdot({
30727                    // Options go here
30728                    ellipsis: "\u2026 ",
30729                    /* The text to add as ellipsis. */
30730
30731                    height: null,
30732                    /* The (max-)height for the wrapper:
30733                       null: measure the CSS (max-)height ones;
30734                       a number: sets a specific height in pixels;
30735                       "watch": re-measures the CSS (max-)height in the "watch". */
30736
30737                    truncate: "word",
30738                    /* How to truncate the text: By "node", "word" or "letter". */
30739
30740                    watch: 'window'
30741                    /* Whether to update the ellipsis:
30742                       true: Monitors the wrapper width and height;
30743                       "window": Monitors the window width and height. */
30744                });
30745            }
30746        }
30747    }]);
30748
30749    return TruncateText;
30750}();
30751
30752exports.default = TruncateText;
30753
30754/***/ }),
30755/* 190 */
30756/***/ (function(module, exports, __webpack_require__) {
30757
30758"use strict";
30759
30760
30761Object.defineProperty(exports, "__esModule", {
30762    value: true
30763});
30764
30765var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30766
30767function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30768
30769var Dropdown = function () {
30770    function Dropdown() {
30771        var _this = this;
30772
30773        _classCallCheck(this, Dropdown);
30774
30775        if ($(".dropdown").length) {
30776            window.addEventListener('click', function (e) {
30777                _this.showDropdown(e);
30778            });
30779        }
30780    }
30781
30782    _createClass(Dropdown, [{
30783        key: "showDropdown",
30784        value: function showDropdown(e) {
30785            this.target = e.target;
30786            this.$li = $(this.target).parent(".dropdown");
30787            this.$dropdownBtn = $(".dropdown");
30788
30789            if (this.$li.hasClass("dropdown") || this.$li.hasClass("dropdown")) {
30790                if (!this.$li.hasClass("active")) {
30791                    this.$dropdownBtn.removeClass("active");
30792                }
30793                this.$li.toggleClass("active");
30794            } else {
30795                this.$dropdownBtn.removeClass("active");
30796            }
30797        }
30798    }]);
30799
30800    return Dropdown;
30801}();
30802
30803exports.default = Dropdown;
30804
30805/***/ }),
30806/* 191 */
30807/***/ (function(module, exports, __webpack_require__) {
30808
30809"use strict";
30810
30811
30812Object.defineProperty(exports, "__esModule", {
30813    value: true
30814});
30815
30816var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30817
30818var _timers = __webpack_require__(229);
30819
30820function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30821
30822var FontAwesome = function () {
30823    function FontAwesome() {
30824        _classCallCheck(this, FontAwesome);
30825
30826        this.documentLink = $('.icons a');
30827        this.menuToggle = $('.left-area .toggle-subs');
30828        this.footerShortcuts = $('.shortcuts a');
30829        this.searchTabs = $('.search-tab-list li');
30830    }
30831
30832    _createClass(FontAwesome, [{
30833        key: 'load',
30834        value: function load() {
30835
30836            $(this.documentLink).each(function () {
30837                var fileEnding = $(this).attr("href").match(/\.(pdf|doc|docx|docm|dotx|dotm|docb|dot|wbk|bmp|gif|jpg|png|jng|tiff|raw|avi|avchd|mpeg|mov|ogg|rar|zip|7z|jpeg|ppt|p
30837ptx|ppt|pot|pps|pptx|pptm|potx|potm|ppam|ppsx|ppsm|sldx|sldm|xls|xlt|xlm|xlsx|xlsm|xltx|xltm|xlsb|xla|xlam|xll|xlw|||<|slxs|epub|odp|ods|txt|rtf)$/i);
30838                var host = $(this)[0].host;
30839
30840                if (fileEnding !== null && fileEnding.length > 1) {
30841                    var icon = fileEnding[1];
30842                    switch (icon) {
30843
30844                        case 'jpeg':case 'bmp':case 'gif':case 'jpg':case 'png':case 'jng':case 'tiff':case 'raw':
30845                            icon = 'image';
30846                            break;
30847                        case 'ppt':case 'pot':case 'pps':case 'pptx':case 'pptm':case 'potx':case 'potm':case 'ppam':case 'ppsx':case 'ppsm':case 'sldx':case 'sldm':
30848                            icon = 'powerpoint';
30849                            break;
30850                        case 'xls':case 'xlt':case 'xlm':case 'xlsx':case 'xlsm':case 'xltx':case 'xltm':case 'xlsb':case 'xlam':case 'xla':case 'xll':case 'xlw':
30851                            icon = 'excel';
30852                            break;
30853                        case 'docx':case 'docm':case 'dotx':case 'dotm':case 'docb':case 'doc':case 'dot':case 'wbk':
30854                            icon = 'word';
30855                            break;
30856                        case 'avi':case 'avchd':case 'mpeg':case 'mov':case 'ogg':
30857                            icon = 'video';
30858                            break;
30859                        case 'rar':case 'zip':case '7z':
30860                            icon = 'archive';
30861                            break;
30862                        case 'txt':case 'log':case 'asc':
30863                            icon = 'alt';
30864                            break;
30865                        default:
30866                    }
30867                    $(this).before("<svg class='far fa-file-" + icon + "'" + "aria-hidden='true'><use xlink:href='/Static/dist/fonts/regular.svg#file-" + icon + "'></use></svg>");
30868                } else if ($(this)[0].attributes.target && host !== 'www.youtube.com' && host !== 'vimeo.com') {
30869                    $(this).before("<svg class='fas fa-external-link-alt' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#external-link-alt'></use></svg>");
30870                } else {
30871                    switch (host) {
30872
30873                        case 'www.youtube.com':
30874                            host = 'youtube';
30875                            $(this).before("<svg class='fab fa-" + host + "'" + "aria-hidden='true'><use xlink:href='/Static/dist/fonts/brands.svg#" + host + "'></use></svg>");
30876                            break;
30877                        case 'vimeo.com':
30878                            host = 'vimeo';
30879                            $(this).before("<svg class='fab fa-" + host + "'" + "aria-hidden='true'><use xlink:href='/Static/dist/fonts/brands.svg#" + host + "'></use></svg>");
30880                            break;
30881                        default:
30882                            $(this).before("<svg class='fas fa-angle-right' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-right'></use></svg>");
30883                    }
30884                }
30885            });
30886
30887            this.menuToggle.prepend("<svg class='fas fa-angle-down' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-down'></use></svg>");
30888
30889            $(this.footerShortcuts).each(function () {
30890                if ($(this)[0].attributes.target) {
30891                    $(this).append("<svg class='fas fa-external-link-alt' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#external-link-alt'></use></svg>");
30892                } else {
30893                    $(this).append("<svg class='fas fa-angle-right' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-right'></use></svg>");
30894                }
30895            });
30896
30897            $(this.searchTabs).each(function () {
30898                var filterWrapper = $('.filter-wrapper');
30899
30900                if ($(this).hasClass('news')) {
30901                    $("<svg class='far fa-newspaper' aria-hidden='true'><use xlink:href='/Static/dist/fonts/regular.svg#newspaper'></use></svg>").prependTo($(this).find('a'));
30902                } else if ($(this).hasClass('document')) {
30903                    $("<svg class='fas fa-file-alt' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#file-alt'></use></svg>").prependTo($(this).find('a'));
30904                } else if ($(this).hasClass('qanda')) {
30905                    $("<svg class='fas fa-comments' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#comments'></use></svg>").prependTo($(this).find('a'));
30906                } else if ($(this).hasClass('guideline')) {
30907                    $("<svg class='fas fa-map-signs' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#map-signs'></use></svg>").prependTo($(this).find('a'));
30908                }
30909            });
30910
30911            $('.list-box .box-content h3').append("<svg class='fas fa-angle-right' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-right'></use></svg>");
30912
30913            //Form elements
30914            $('.FormSubmitButton').prepend("<svg class='fas fa-paper-plane' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#paper-plane'></use></svg>");
30915            $('.Form__NavigationBar__Action.btnNext').append("<svg class='fas fa-angle-right' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-right'></use></svg>");
30916            $('.Form__NavigationBar__Action.btnPrev').prepend("<svg class='fas fa-angle-left' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#angle-left'></use></svg>");
30917            $('.Form__Element.ValidationRequired').append("<svg class='fas fa-asterisk' aria-hidden='true'><use xlink:href='/Static/dist/fonts/solid.svg#asterisk'></use></svg>");
30918        }
30919    }]);
30920
30921    return FontAwesome;
30922}();
30923
30924exports.default = FontAwesome;
30925
30926/***/ }),
30927/* 192 */
30928/***/ (function(module, exports, __webpack_require__) {
30929
30930"use strict";
30931
30932
30933Object.defineProperty(exports, "__esModule", {
30934    value: true
30935});
30936
30937var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30938
30939function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30940
30941var CategoryPicker = function () {
30942    function CategoryPicker() {
30943        var _this = this;
30944
30945        _classCallCheck(this, CategoryPicker);
30946
30947        // Catagory checkbox input
30948        this.$catCheckbox = $(".cat-input");
30949        // Toggle dropdown element
30950        this.$catToggle = $(".cat-picked");
30951        // On checkbox change
30952        this.$catCheckbox.on('change', function (e) {
30953            _this.onChange(e);
30954        });
30955        // On window click
30956        window.addEventListener('click', function (e) {
30957            _this.onClick(e);
30958        });
30959    }
30960
30961    _createClass(CategoryPicker, [{
30962        key: "onChange",
30963        value: function onChange(e) {
30964            //Listen to changes on the checkbox and sets data to "clicked"
30965            this.$catCheckbox.data('clicked', true);
30966        }
30967    }, {
30968        key: "onClick",
30969        value: function onClick(e) {
30970            this.target = $(e.target);
30971
30972            // Fire toggleCategory() if target or target parent is cat-picked
30973            if ($(this.target).parents().hasClass("cat-picked") || $(this.target).hasClass("cat-picked") || $(this.target).parents().hasClass("cat-ok-btn") || $(this.target).hasClass("cat-ok-btn")) {
30974                this.toggleCategory();
30975            }
30976            // Prevents toggling if clicking on dropdown content
30977            else if (!$(this.target).parents().hasClass("cat-picker-content")) {
30978                    this.closeCategory();
30979                }
30980            // Unchecks checkbox with same id as btns data-id and submits
30981            if ($(this.target).parents().hasClass("clear-selected") || $(this.target).hasClass("clear-selected")) {
30982                this.targetId = this.target.closest(".clear-selected").attr("data-id");
30983                $("#" + this.targetId).prop("checked", false);
30984                $(".list-filter-form").submit();
30985            }
30986
30987            if ($(this.target).hasClass("cat-ok-btn")) {
30988
30989                if (this.$catToggle.attr('aria-expanded') === 'true') {
30990                    this.$catToggle.attr('aria-expanded', 'false');
30991                }
30992            }
30993        }
30994    }, {
30995        key: "toggleCategory",
30996        value: function toggleCategory() {
30997            //Toggles dropdown
30998            $(".cat-picker-content").slideToggle(0);
30999            this.$catToggle.toggleClass("active");
31000            $(".cat-picker-content").toggleClass("open");
31001        }
31002    }, {
31003        key: "closeCategory",
31004        value: function closeCategory() {
31005            //Hides dropdown
31006            $(".cat-picker-content").hide();
31007            this.$catToggle.removeClass("active");
31008            this.$catToggle.attr("aria-expanded", false);
31009        }
31010    }]);
31011
31012    return CategoryPicker;
31013}();
31014
31015exports.default = CategoryPicker;
31016;
31017
31018/***/ }),
31019/* 193 */
31020/***/ (function(module, exports, __webpack_require__) {
31021
31022"use strict";
31023
31024
31025Object.defineProperty(exports, "__esModule", {
31026    value: true
31027});
31028
31029var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31030
31031function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31032
31033var CurrentSearchTab = function () {
31034    function CurrentSearchTab(elementListener) {
31035        _classCallCheck(this, CurrentSearchTab);
31036
31037        this.SearchTabList = document.getElementById(elementListener);
31038    }
31039
31040    _createClass(CurrentSearchTab, [{
31041        key: "load",
31042        value: function load() {
31043            if (this.SearchTabList != null) {
31044                //If url contains the string "Filter.type, Search tab gets css class active when url matches href
31045                if (window.location.href.indexOf("Filter.Type") > -1) {
31046                    var url = window.location.href;
31047                    $("#" + this.SearchTabList[0] + "li a").filter(function () {
31048                        return this.href === url;
31049                    }).addClass("active");
31050                }
31051                //Else, the first Search tab gets css class active
31052                else {
31053                        $("#" + this.SearchTabList.id + " li:first-child a").addClass("active");
31054                    }
31055            }
31056        }
31057    }]);
31058
31059    return CurrentSearchTab;
31060}();
31061
31062exports.default = CurrentSearchTab;
31063
31064/***/ }),
31065/* 194 */
31066/***/ (function(module, exports, __webpack_require__) {
31067
31068"use strict";
31069
31070
31071Object.defineProperty(exports, "__esModule", {
31072    value: true
31073});
31074
31075var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31076
31077var _pikaday = __webpack_require__(295);
31078
31079var _pikaday2 = _interopRequireDefault(_pikaday);
31080
31081var _globals = __webpack_require__(13);
31082
31083var _globals2 = _interopRequireDefault(_globals);
31084
31085function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31086
31087function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31088
31089var Datepicker = function () {
31090    function Datepicker(DatepickerSelector) {
31091        var _this = this;
31092
31093        _classCallCheck(this, Datepicker);
31094
31095        if (_globals2.default.isDesktopView()) {
31096            $(DatepickerSelector).each(function (index, element) {
31097                this.pickadayDate = new _pikaday2.default({
31098                    field: element,
31099                    firstDay: 1,
31100                    position: 'bottom left',
31101                    reposition: false,
31102                    i18n: {
31103                        previousMonth: 'Föregående Månad',
31104                        nextMonth: 'Nästa Månad',
31105                        months: ['Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December'],
31106                        weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
31107                        weekdaysShort: ['Sön', 'Mån', 'Tis', 'Ons', 'Tors', 'Fre', 'Lör']
31108                    }
31109                });
31110            });
31111        }
31112
31113        // Listens to window resize
31114        window.addEventListener('resize', function (e) {
31115            _this.onResize(e);
31116        });
31117    }
31118
31119    _createClass(Datepicker, [{
31120        key: 'load',
31121        value: function load() {
31122            // Fires InputDateAttrChange function on load
31123            this.InputDateAttrChange();
31124        }
31125    }, {
31126        key: 'onResize',
31127        value: function onResize() {
31128            // Fires InputDateAttrChange function when window resizes
31129            this.InputDateAttrChange();
31130        }
31131    }, {
31132        key: 'onChange',
31133        value: function onChange(e) {
31134            this.hasChanged = true;
31135            this.$datePickerInput.blur();
31136        }
31137
31138        // Changes input type in mobile
31139
31140    }, {
31141        key: 'InputDateAttrChange',
31142        value: function InputDateAttrChange() {
31143            if (_globals2.default.isDesktopView()) {
31144                $('input.list-filter-date[type ="date"]').attr('type', 'text');
31145            } else {
31146                $('input.list-filter-date[type ="text"]').attr('type', 'date');
31147            }
31148        }
31149    }]);
31150
31151    return Datepicker;
31152}();
31153
31154exports.default = Datepicker;
31155
31156/***/ }),
31157/* 195 */
31158/***/ (function(module, exports, __webpack_require__) {
31159
31160"use strict";
31161
31162
31163Object.defineProperty(exports, "__esModule", {
31164    value: true
31165});
31166
31167var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31168
31169function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31170
31171var ResetFilter = function () {
31172    function ResetFilter(elementListener) {
31173        var _this = this;
31174
31175        _classCallCheck(this, ResetFilter);
31176
31177        this.ResetFilterBtn = document.getElementById(elementListener);
31178        if (this.ResetFilterBtn != null) {
31179            this.ResetFilterBtn.addEventListener('click', function (e) {
31180                _this.onClick(e);
31181            });
31182        }
31183
31184        $(document).ready(function ($) {
31185
31186            var url = window.location.href;
31187
31188            $('.search-tab-list li a').filter(function () {
31189                return this.href === url;
31190            }).addClass('active');
31191        });
31192    }
31193
31194    _createClass(ResetFilter, [{
31195        key: 'onClick',
31196        value: function onClick() {
31197            // Fires resetForm on click
31198            this.resetForm();
31199        }
31200    }, {
31201        key: 'resetForm',
31202        value: function resetForm() {
31203            var url = window.location.toString();
31204            function removeURLParameter(url, parameter) {
31205                //prefer to use l.search if you have a location/link object
31206                var urlparts = url.split('?');
31207                if (urlparts.length >= 2) {
31208
31209                    var prefix = encodeURIComponent(parameter) + '=';
31210                    var pars = urlparts[1].split(/[&;]/g);
31211
31212                    //reverse iteration as may be destructive
31213                    for (var i = pars.length; i-- > 0;) {
31214                        //idiom for string.startsWith
31215                        if (pars[i].lastIndexOf(prefix, 0) !== -1) {
31216                            pars.splice(i, 1);
31217                        }
31218                    }
31219
31220                    url = urlparts[0] + '?' + pars.join('&');
31221                    return url;
31222                } else {
31223                    return url;
31224                }
31225            }
31226            // Query strings to be removed
31227            var filters = ["Filter.From", "Filter.To", "Filter.SortOption.Option", "Filter.Categories"];
31228
31229            // Loops through filters
31230            filters.forEach(function (item) {
31231                url = removeURLParameter(url, item);
31232            });
31233
31234            // Link to new url
31235            window.location.href = url;
31236        }
31237    }]);
31238
31239    return ResetFilter;
31240}();
31241
31242exports.default = ResetFilter;
31243
31244/***/ }),
31245/* 196 */
31246/***/ (function(module, exports, __webpack_require__) {
31247
31248"use strict";
31249
31250
31251Object.defineProperty(exports, "__esModule", {
31252    value: true
31253});
31254
31255var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31256
31257__webpack_require__(292);
31258
31259function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31260
31261var InstantSearch = function () {
31262    function InstantSearch(elementListener) {
31263        _classCallCheck(this, InstantSearch);
31264
31265        this.element = document.getElementsByClassName(elementListener);
31266    }
31267
31268    _createClass(InstantSearch, [{
31269        key: "load",
31270        value: function load() {
31271            var _this2 = this;
31272
31273            $.widget("custom.catcomplete", $.ui.autocomplete, {
31274                _create: function _create() {
31275                    this._super();
31276                    this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
31277                },
31278                _renderMenu: function _renderMenu(ul, items) {
31279                    var that = this,
31280                        currentCategory = "";
31281
31282                    $.each(items, function (index, item) {
31283
31284                        var li;
31285
31286                        if (item !== null && item !== undefined) {
31287                            if (item.category && item.items) {
31288                                ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
31289                                currentCategory = item.category;
31290                            } else {
31291                                ul.append("<li class='ui-autocomplete-category no-padding'><button type='submit' class='show-all'>" + item.category + " <span>(" + item.label + ")</span></button></li>");
31292                                currentCategory = item.category;
31293                            }
31294
31295                            $.each(item.items, function (index, item) {
31296                                if (item !== null && item !== undefined) {
31297                                    li = that._renderItemData(ul, item);
31298
31299                                    if (li != null) {
31300                                        li.attr("aria-label", currentCategory + " : " + item.label);
31301                                    }
31302
31303                                    this.itemLalbel = item.label;
31304                                    this.itemLalbelStripped = $(this.itemLalbel).text();
31305
31306                                    if (this.itemLalbel.indexOf("</p>") >= 0) {
31307                                        li.find("div").text(this.itemLalbelStripped);
31308                                    }
31309
31310                                    if (item.hasOwnProperty('href')) {
31311                                        li.addClass('ui-item-link-result');
31312                                        li.find("div").wrap("<a href='" + item.href + "'></a>");
31313                                        $("<svg class='fas fa-angle-double-right' aria-hidden='true'><use xlink: href='/Static/dist/fonts/solid.svg#angle-double-right'></use></svg >").insertAfter(li.find("div"));
31314                                    } else {
31315                                        li.addClass('ui-item-suggestion');
31316                                    }
31317                                }
31318                            });
31319                        }
31320                    });
31321                },
31322                _resizeMenu: function _resizeMenu() {
31323                    this.menu.element.outerWidth(300);
31324                }
31325
31326            });
31327
31328            $(this.element).catcomplete({
31329                source: $(this.element).data('url'),
31330                minLength: 3,
31331                select: function select(event, ui) {
31332                    //event.preventDefault();
31333                    $(this).val(ui.item.label);
31334
31335                    if (!ui.item.href) {
31336                        $(this).closest('.search').submit();
31337                    } else {
31338
31339                        window.location.replace(ui.item.href);
31340                    }
31341                },
31342                open: function open(event, ui) {
31343                    var _this = this;
31344
31345                    $('.ui-helper-hidden-accessible').remove();
31346
31347                    this.statusMsg = $('<div class="ui-status-msg show-for-sr" aria-live="assertive" aria-relevant="additions">');
31348                    if ($('.ui-status-msg').length != 0) {
31349                        $('.ui-status-msg').remove();
31350                    }
31351
31352                    $(this.statusMsg).insertBefore('ul.ui-autocomplete');
31353
31354                    this.amountSuggestion = $('ul.ui-autocomplete li.ui-item-suggestion').length;
31355                    this.amountLinkResult = $('ul.ui-autocomplete li.ui-item-link-result').length;
31356
31357                    this.$hiddeLabelsInput = $("#hiddenLabels");
31358
31359                    this.suggestionLabel = this.$hiddeLabelsInput.data("suggestion");
31360                    this.andLabel = this.$hiddeLabelsInput.data("and");
31361                    this.foundLabel = this.$hiddeLabelsInput.data("found");
31362                    this.navigateLabel = this.$hiddeLabelsInput.data("navigate");
31363
31364                    if (this.amountLinkResult === 1) {
31365                        this.searchHitLabel = this.$hiddeLabelsInput.data("searchhit");
31366                    } else {
31367                        this.searchHitLabel = this.$hiddeLabelsInput.data("searchhits");
31368                    }
31369
31370                    this.amountResultLabel = this.amountSuggestion + " " + this.suggestionLabel + this.andLabel + this.amountLinkResult + " " + this.searchHitLabel + this.foundLabel + '. ' + this.navigateLabel;
31371                    setTimeout(function () {
31372                        $(".ui-status-msg").text("" + _this.amountResultLabel);
31373                    }, 200);
31374                },
31375                //change: function (event, ui) {
31376                //    if (ui.item) {
31377                //        $(this).val(ui.item.label);
31378                //    }
31379                //},
31380                search: function search(event, ui) {
31381                    $('.loading').show();
31382                },
31383                response: function response(event, ui) {
31384                    $('.loading').hide();
31385                },
31386                focus: function focus(event, ui) {
31387                    this.searchHitLabel = this.$hiddeLabelsInput.data("searchhit");
31388
31389                    if (ui.item.hasOwnProperty('href')) {
31390                        this.categoryLabel = this.searchHitLabel + ', ';
31391                        this.link = "," + "Länk";
31392                    } else {
31393                        this.categoryLabel = this.suggestionLabel + ', ';
31394                        this.link = "";
31395                    }
31396
31397                    $(".ui-status-msg").empty().text(this.categoryLabel + ui.item.label + this.link);
31398
31399                    return false;
31400                },
31401                close: function close(event, ui) {
31402
31403                    $('.ui-status-msg').remove();
31404                }
31405            });
31406
31407            $(document).on("click", ".show-all", function () {
31408                _this2.onSubmit();
31409            });
31410        }
31411    }, {
31412        key: "onSubmit",
31413        value: function onSubmit() {
31414            $(this.element).closest('.search').submit();
31415        }
31416    }]);
31417
31418    return InstantSearch;
31419}();
31420
31421exports.default = InstantSearch;
31422
31423/***/ }),
31424/* 197 */
31425/***/ (function(module, exports, __webpack_require__) {
31426
31427"use strict";
31428
31429
31430Object.defineProperty(exports, "__esModule", {
31431    value: true
31432});
31433
31434var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31435
31436function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31437
31438var MobileNavigation = function () {
31439    function MobileNavigation(elementListener) {
31440        var _this = this;
31441
31442        _classCallCheck(this, MobileNavigation);
31443
31444        this.element = document.getElementsByClassName(elementListener)[0];
31445        this.bodyContent = document.getElementsByClassName('body-content')[0];
31446        this.element.addEventListener('click', function (e) {
31447            _this.onClick(e);
31448        });
31449        this.bodyContent.addEventListener('click', function (e) {
31450            _this.onBodyClick(e);
31451        });
31452        this.menuBtn = $('.mobile-menu');
31453        this.searchBtn = $('.mobile-search');
31454        this.subMenuOpenBtn = $('.toggle-container');
31455        this.mobileBtnText = this.menuBtn.find('span');
31456    }
31457
31458    _createClass(MobileNavigation, [{
31459        key: 'onClick',
31460        value: function onClick(e) {
31461
31462            this.target = e.target;
31463
31464            if ($(this.target).parents(this.getSelectorForElement(this.menuBtn)).length) {
31465                this.menuToggle();
31466            } else if ($(this.target).parents(this.getSelectorForElement(this.searchBtn)).length) {
31467                this.searchToggle();
31468            } else if ($(this.target).parents(this.getSelectorForElement(this.subMenuOpenBtn)).length) {
31469                this.subMenuToggle($(this.target).parents(this.getSelectorForElement(this.subMenuOpenBtn)));
31470            }
31471        }
31472    }, {
31473        key: 'onBodyClick',
31474        value: function onBodyClick(e) {
31475
31476            if ($('.global-navigation').hasClass('search-active')) {
31477                this.searchToggle();
31478            }
31479        }
31480    }, {
31481        key: 'menuToggle',
31482        value: function menuToggle() {
31483
31484            //Toggle overlay for menu
31485            this.menuOverlayToggle(this.menuBtn);
31486
31487            //Change btn properties and icons
31488            this.buttonToggle(this.menuBtn);
31489
31490            //Trigger class toggle on global-navigation
31491            this.navigationToggle(this.menuBtn);
31492
31493            this.showMenu();
31494        }
31495    }, {
31496        key: 'searchToggle',
31497        value: function searchToggle() {
31498
31499            //Toggle overlay for menu
31500            this.menuOverlayToggle(this.searchBtn);
31501
31502            //Change btn properties and icons
31503            this.buttonToggle(this.searchBtn);
31504
31505            //Trigger class toggle on global-navigation
31506            this.navigationToggle(this.searchBtn);
31507
31508            this.showSearch();
31509
31510            //Give focus to search input
31511            $('#mobileSearch input[type=search]').focus();
31512        }
31513    }, {
31514        key: 'buttonToggle',
31515        value: function buttonToggle(triggerElement) {
31516            var _this2 = this;
31517
31518            var svgIconHref = this.menuBtn.find('svg > use').attr('xlink:href');
31519
31520            if (this.isTriggerElementMenuBtn(triggerElement)) {
31521                this.searchBtn.removeClass('active');
31522                //Swap icons when we toggle menu
31523                this.menuBtn.find('svg').toggleClass('fa-bars fa-times');
31524                $.fn.extend({
31525                    toggleIcon: function toggleIcon(href, icon) {
31526                        return _this2.menuBtn.find('svg > use').attr('xlink:href', href.replace(icon, icon === 'bars' ? 'times' : 'bars'));
31527                    },
31528                    toggleText: function toggleText(a, b) {
31529                        return _this2.mobileBtnText.text(_this2.mobileBtnText.text() === b ? a : b);
31530                    }
31531                });
31532
31533                var svgIcon = svgIconHref.substr(svgIconHref.indexOf("#") + 1);
31534                //Use our helper method above to swap the btn svg icon 
31534when we toggle menu
31535                this.menuBtn.find('svg > use').toggleIcon(svgIconHref, svgIcon);
31536
31537                //Use our helper method above to swap the btn text when we toggle menu
31538                this.mobileBtnText.toggleText(this.menuBtn.attr('data-title-close'), this.menuBtn.attr('data-title-open'));
31539            } else {
31540                //If menu is open we need to change back btn text and icon
31541                if (this.menuBtn.hasClass('active')) {
31542                    this.menuBtn.removeClass('active');
31543                    this.menuBtn.find('span').text(this.menuBtn.attr('data-title-open'));
31544                    this.menuBtn.find('svg').toggleClass('fa-bars fa-times');
31545                    this.menuBtn.find('svg > use').attr('xlink:href', svgIconHref.replace('times', 'bars'));
31546                }
31547            }
31548            triggerElement.toggleClass('active');
31549        }
31550    }, {
31551        key: 'subMenuToggle',
31552        value: function subMenuToggle(targetElement) {
31553            targetElement.toggleClass('active');
31554            targetElement.siblings('.submenu').children('li').toggleClass('open');
31555        }
31556    }, {
31557        key: 'navigationToggle',
31558        value: function navigationToggle(triggerElement) {
31559
31560            if (triggerElement.hasClass('active')) {
31561                $('.global-navigation').addClass('open');
31562                if (this.isTriggerElementMenuBtn(triggerElement)) {
31563                    $('.global-navigation').removeClass('search-active');
31564                } else {
31565                    $('.global-navigation').addClass('search-active');
31566                }
31567            } else {
31568                $('.global-navigation').removeClass('open');
31569                $('.global-navigation').removeClass('search-active');
31570            }
31571        }
31572    }, {
31573        key: 'showMenu',
31574        value: function showMenu() {
31575            //Show and hide our menu
31576            $('#mainNavigation').toggle();
31577            //If search is open we need to close it and remove active state
31578            $('#mobileSearch').hide();
31579            //Remove on page background scroll when we scroll in menu
31580            $('body', 'html').toggleClass('mobile-scroll');
31581        }
31582    }, {
31583        key: 'showSearch',
31584        value: function showSearch() {
31585            //Close menu if it's open
31586            $('#mainNavigation').hide();
31587            //Show search
31588            $('#mobileSearch').toggle();
31589            //Enable on page scroll again
31590            $('body', 'html').removeClass('mobile-scroll');
31591        }
31592    }, {
31593        key: 'menuOverlayToggle',
31594        value: function menuOverlayToggle(triggerElement) {
31595
31596            if (this.isTriggerElementMenuBtn(triggerElement)) {
31597                //Add full screen overlay for menu
31598                $('.overlay').toggleClass('active');
31599            } else {
31600                //Close menu overlay
31601                if ($('.overlay').hasClass('active')) {
31602                    $('.overlay').removeClass('active');
31603                }
31604            }
31605        }
31606    }, {
31607        key: 'isTriggerElementMenuBtn',
31608        value: function isTriggerElementMenuBtn(triggerElement) {
31609            return triggerElement === this.menuBtn;
31610        }
31611    }, {
31612        key: 'getSelectorForElement',
31613        value: function getSelectorForElement(jQelement) {
31614            return "." + jQelement[0].classList[0];
31615        }
31616    }]);
31617
31618    return MobileNavigation;
31619}();
31620
31621exports.default = MobileNavigation;
31622
31623/***/ }),
31624/* 198 */
31625/***/ (function(module, exports, __webpack_require__) {
31626
31627"use strict";
31628
31629
31630Object.defineProperty(exports, "__esModule", {
31631    value: true
31632});
31633
31634var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31635
31636__webpack_require__(214);
31637
31638__webpack_require__(215);
31639
31640function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31641
31642var GlobalSearch = function () {
31643    function GlobalSearch() {
31644        var _this = this;
31645
31646        _classCallCheck(this, GlobalSearch);
31647
31648        this.input = document.querySelectorAll('.global-search');
31649        this.clearField = document.querySelectorAll('.clear-input');
31650
31651        Array.from(this.input).forEach(function (element) {
31652            element.addEventListener('keyup', function (e) {
31653                _this.onInput(e);
31654            });
31655        });
31656
31657        Array.from(this.clearField).forEach(function (element) {
31658            element.addEventListener('click', function (e) {
31659                _this.clearInput(e);
31660            });
31661        });
31662    }
31663
31664    _createClass(GlobalSearch, [{
31665        key: 'onInput',
31666        value: function onInput(e) {
31667            this.target = e.target;
31668
31669            this.getClearButton().show();
31670            if ($(this.target).val() === "") {
31671                this.getClearButton().hide();
31672            }
31673        }
31674    }, {
31675        key: 'clearInput',
31676        value: function clearInput(e) {
31677            $(this.target).val('');
31678            this.getClearButton().hide();
31679            $(this.target).focus();
31680        }
31681    }, {
31682        key: 'getClearButton',
31683        value: function getClearButton() {
31684            return $(this.target).siblings('.clear-input');
31685        }
31686    }]);
31687
31688    return GlobalSearch;
31689}();
31690
31691exports.default = GlobalSearch;
31692
31693/***/ }),
31694/* 199 */
31695/***/ (function(module, exports, __webpack_require__) {
31696
31697"use strict";
31698
31699
31700Object.defineProperty(exports, "__esModule", {
31701    value: true
31702});
31703
31704var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31705
31706var _globals = __webpack_require__(13);
31707
31708var _globals2 = _interopRequireDefault(_globals);
31709
31710function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31711
31712function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31713
31714var StickyNavigation = function () {
31715    function StickyNavigation(elementListener) {
31716        var _this = this;
31717
31718        _classCallCheck(this, StickyNavigation);
31719
31720        window.addEventListener('resize', function (e) {
31721            _this.onResize(e);
31722        });
31723        window.addEventListener('scroll', function (e) {
31724            _this.onScroll(e);
31725        });
31726        this.element = document.getElementsByClassName(elementListener)[0];
31727        this.headerHeight = this.getHeaderHight();
31728    }
31729
31730    _createClass(StickyNavigation, [{
31731        key: 'load',
31732        value: function load() {
31733
31734            if (_globals2.default.isDesktopView()) {
31735                this.wrapMenu($(this.element).outerHeight());
31736            }
31737        }
31738    }, {
31739        key: 'onResize',
31740        value: function onResize() {
31741
31742            this.headerHeight = this.getHeaderHight();
31743
31744            if (_globals2.default.isDesktopView()) {
31745                this.wrapMenu($(this.element).outerHeight());
31746                this.setMenuSticky(this.headerHeight);
31747            } else {
31748                this.unwrapMenu();
31749            }
31750        }
31751    }, {
31752        key: 'onScroll',
31753        value: function onScroll(e) {
31754            this.setMenuSticky();
31755        }
31756    }, {
31757        key: 'wrapMenu',
31758        value: function wrapMenu(menuHeight) {
31759            if (!$(this.element).parent().is(".nav-wrapper")) {
31760                $(this.element).wrap('<div class="nav-wrapper"></div>');
31761            }
31762            $('.nav-wrapper').height(menuHeight);
31763        }
31764    }, {
31765        key: 'unwrapMenu',
31766        value: function unwrapMenu() {
31767            if ($('.global-navigation').parent().is(".nav-wrapper")) {
31768                $('.global-navigation').unwrap();
31769            }
31770        }
31771    }, {
31772        key: 'setMenuSticky',
31773        value: function setMenuSticky() {
31774            this.scrollTop = $(window).scrollTop();
31775            if (this.scrollTop >= this.headerHeight) {
31776                $('.nav-wrapper').addClass('fixed');
31777            } else {
31778                $('.nav-wrapper').removeClass('fixed');
31779            }
31780        }
31781    }, {
31782        key: 'getHeaderHight',
31783        value: function getHeaderHight() {
31784            return $('.top-navigation').outerHeight();
31785        }
31786    }]);
31787
31788    return StickyNavigation;
31789}();
31790
31791exports.default = StickyNavigation;
31792
31793/***/ }),
31794/* 200 */
31795/***/ (function(module, exports, __webpack_require__) {
31796
31797"use strict";
31798
31799
31800Object.defineProperty(exports, "__esModule", {
31801    value: true
31802});
31803
31804var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31805
31806var _globals = __webpack_require__(13);
31807
31808var _globals2 = _interopRequireDefault(_globals);
31809
31810function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31811
31812function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31813
31814var SubNavigation = function () {
31815    function SubNavigation(elementListener) {
31816        var _this = this;
31817
31818        _classCallCheck(this, SubNavigation);
31819
31820        this.element = document.getElementsByClassName(elementListener)[0];
31821
31822        if (this.element != null) {
31823            window.addEventListener('resize', function (e) {
31824                _this.onResize(e);
31825            });
31826            this.element.addEventListener('click', function (e) {
31827                _this.openSubMenu(e);
31828            });
31829        }
31830    }
31831
31832    _createClass(SubNavigation, [{
31833        key: 'load',
31834        value: function load() {
31835            this.setToggleButtonHeight();
31836        }
31837    }, {
31838        key: 'onResize',
31839        value: function onResize() {
31840            if (_globals2.default.isDesktopView()) {
31841                this.setToggleButtonHeight();
31842            }
31843        }
31844    }, {
31845        key: 'openSubMenu',
31846        value: function openSubMenu(e) {
31847            this.target = e.target;
31848            this.getToggleButton().toggleClass('active');
31849            this.getToggleButton().siblings('.submenu').children('li').toggleClass('open');
31850        }
31851
31852        // This is needed to center our arrow icon inside toggle button, we need dynamic height.
31853
31854    }, {
31855        key: 'setToggleButtonHeight',
31856        value: function setToggleButtonHeight() {
31857            $('.sub-nav .has-children').each(function (index) {
31858                var menuitemHeight = $(this).find('a').outerHeight();
31859                $(this).find($('.toggle-container')).css('height', menuitemHeight);
31860            });
31861        }
31862    }, {
31863        key: 'getToggleButton',
31864        value: function getToggleButton() {
31865            return $(this.target).closest($('.toggle-container'));
31866        }
31867    }]);
31868
31869    return SubNavigation;
31870}();
31871
31872exports.default = SubNavigation;
31873
31874/***/ }),
31875/* 201 */
31876/***/ (function(module, exports, __webpack_require__) {
31877
31878"use strict";
31879
31880
31881Object.defineProperty(exports, "__esModule", {
31882    value: true
31883});
31884
31885var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31886
31887function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31888
31889var CookieNotification = function () {
31890    function CookieNotification(key, value) {
31891        var _this = this;
31892
31893        _classCallCheck(this, CookieNotification);
31894
31895        this.button = document.getElementById('ButtonCookie');
31896        this.notification = document.getElementById('cookie');
31897        this.key = key;
31898        this.value = value;
31899        this.button.addEventListener('click', function (e) {
31900            _this.onClick(e);
31901        });
31902    }
31903
31904    _createClass(CookieNotification, [{
31905        key: 'onClick',
31906        value: function onClick(e) {
31907            $(this.notification).hide();
31908            this.setCookie();
31909            e.preventDefault();
31910        }
31911    }, {
31912        key: 'checkCookie',
31913        value: function checkCookie() {
31914
31915            if (this.getCookie() != "CookieOk") {
31916                $(this.notification).removeClass('hide');
31917            }
31918        }
31919    }, {
31920        key: 'setCookie',
31921        value: function setCookie() {
31922            var expires = new Date();
31923            expires.setTime(expires.getTime() + 3600 * 24 * 60 * 60 * 1000);
31924            document.cookie = this.key + '=' + this.value + ';expires=' + expires.toUTCString();
31925        }
31926    }, {
31927        key: 'getCookie',
31928        value: function getCookie() {
31929            var keyValue = document.cookie.match('(^|;) ?' + this.key + '=([^;]*)(;|$)');
31930            return keyValue ? keyValue[2] : null;
31931        }
31932    }]);
31933
31934    return CookieNotification;
31935}();
31936
31937exports.default = CookieNotification;
31938
31939/***/ }),
31940/* 202 */
31941/***/ (function(module, exports, __webpack_require__) {
31942
31943"use strict";
31944
31945
31946Object.defineProperty(exports, "__esModule", {
31947    value: true
31948});
31949
31950var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
31951
31952function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31953
31954var InfoWindow = function () {
31955    function InfoWindow(elementListener) {
31956        var _this = this;
31957
31958        _classCallCheck(this, InfoWindow);
31959
31960        this.button = document.getElementsByClassName(elementListener)[0];
31961        this.closeButton = document.getElementsByClassName('close-window')[0];
31962
31963        if (this.button != null && this.closeButton != null) {
31964            this.button.addEventListener('click', function (e) {
31965                _this.onClick(e);
31966            });
31967            this.closeButton.addEventListener('click', function (e) {
31968                _this.Close(e);
31969            });
31970        }
31971    }
31972
31973    _createClass(InfoWindow, [{
31974        key: 'onClick',
31975        value: function onClick(e) {
31976            if (document.getElementsByClassName('info-window')) {
31977                $('.info-window').toggleClass('active');
31978            }
31979        }
31980    }, {
31981        key: 'Close',
31982        value: function Close(e) {
31983            $('.info-window').removeClass('active');
31984            $('#feed').foundation('toggle');
31985        }
31986    }]);
31987
31988    return InfoWindow;
31989}();
31990
31991exports.default = InfoWindow;
31992
31993/***/ }),
31994/* 203 */
31995/***/ (function(module, exports, __webpack_require__) {
31996
31997"use strict";
31998
31999
32000Object.defineProperty(exports, "__esModule", {
32001    value: true
32002});
32003
32004var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32005
32006function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32007
32008var Modal = function () {
32009    function Modal(elementListener) {
32010        var _this = this;
32011
32012        _classCallCheck(this, Modal);
32013
32014        this.element = document.getElementById(elementListener);
32015        $(this.element).on('closed.zf.reveal', function (e) {
32016            _this.onModalClose(e);
32017        });
32018    }
32019
32020    _createClass(Modal, [{
32021        key: 'onModalClose',
32022        value: function onModalClose(e) {
32023            $('.is-dropdown-submenu-parent a').focus();
32024        }
32025    }]);
32026
32027    return Modal;
32028}();
32029
32030exports.default = Modal;
32031
32032/***/ }),
32033/* 204 */
32034/***/ (function(module, exports, __webpack_require__) {
32035
32036"use strict";
32037
32038
32039Object.defineProperty(exports, "__esModule", {
32040    value: true
32041});
32042
32043var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32044
32045function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32046
32047var CssColumns = function () {
32048    function CssColumns(elementListener, listItems) {
32049        _classCallCheck(this, CssColumns);
32050
32051        this.listItemsAmount = listItems;
32052        this.listParentClass = document.getElementsByClassName(elementListener);
32053    }
32054
32055    _createClass(CssColumns, [{
32056        key: "load",
32057        value: function load(e) {
32058            var _this = this;
32059
32060            $.each(this.listParentClass, function (index, item) {
32061                if ($(item).find('li').length >= _this.listItemsAmount) {
32062                    $(item).addClass("css-col");
32063                }
32064            });
32065        }
32066    }]);
32067
32068    return CssColumns;
32069}();
32070
32071exports.default = CssColumns;
32072;
32073
32074/***/ }),
32075/* 205 */
32076/***/ (function(module, exports, __webpack_require__) {
32077
32078"use strict";
32079
32080
32081Object.defineProperty(exports, "__esModule", {
32082    value: true
32083});
32084
32085var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32086
32087function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32088
32089var MovePlaceholder = function () {
32090    function MovePlaceholder() {
32091        var _this = this;
32092
32093        _classCallCheck(this, MovePlaceholder);
32094
32095        this.$epiFormInput = $(".FormTextbox__Input");
32096        this.$epiFormInput.on('focus', function (e) {
32097            _this.onFocus(e);
32098        });
32099        this.$epiFormInput.on('blur', function (e) {
32100            _this.onBlur(e);
32101        });
32102    }
32103
32104    _createClass(MovePlaceholder, [{
32105        key: 'onFocus',
32106        value: function onFocus(e) {
32107            this.target = e.target;
32108
32109            if ($(this.target).hasClass("FormTextbox__Input")) {
32110                $(this.target).prev("label").addClass("focus");
32111                $(this.target).siblings(".Form__Element__ValidationError").addClass("focus");
32112            }
32113        }
32114    }, {
32115        key: 'onBlur',
32116        value: function onBlur(e) {
32117            this.target = e.target;
32118
32119            if ($(this.target).hasClass("FormTextbox__Input") && $(this.target).val().length === 0) {
32120                $(this.target).prev("label").removeClass("focus");
32121                $(this.target).siblings(".Form__Element__ValidationError").removeClass("focus");
32122            }
32123        }
32124    }]);
32125
32126    return MovePlaceholder;
32127}();
32128
32129exports.default = MovePlaceholder;
32130;
32131
32132/***/ }),
32133/* 206 */
32134/***/ (function(module, exports, __webpack_require__) {
32135
32136"use strict";
32137
32138
32139Object.defineProperty(exports, "__esModule", {
32140    value: true
32141});
32142
32143var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32144
32145function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32146
32147var RelatedLinks = function () {
32148    function RelatedLinks() {
32149        _classCallCheck(this, RelatedLinks);
32150    }
32151
32152    _createClass(RelatedLinks, [{
32153        key: 'load',
32154        value: function load(e) {
32155            if ($("ul.related-links-list").length) {
32156                //Checks if href is a link to youtube and adds class
32157                $('ul.related-links-list li a[href*="youtube.com"]').each(function () {
32158                    $(this).addClass('youtube-link');
32159                });
32160
32161                //Checks if href is a link to Vimeo and adds class
32162                $('ul.related-links-list li a[href*="vimeo.com"]').each(function () {
32163                    $(this).addClass('vimeo-link');
32164                });
32165            }
32166        }
32167    }]);
32168
32169    return RelatedLinks;
32170}();
32171
32172exports.default = RelatedLinks;
32173;
32174
32175/***/ }),
32176/* 207 */
32177/***/ (function(module, exports, __webpack_require__) {
32178
32179"use strict";
32180
32181
32182Object.defineProperty(exports, "__esModule", {
32183    value: true
32184});
32185
32186var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32187
32188var _googleMaps = __webpack_require__(289);
32189
32190var _googleMaps2 = _interopRequireDefault(_googleMaps);
32191
32192function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32193
32194function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32195
32196var GoogleMaps = function () {
32197    function GoogleMaps(mapId, zoom) {
32198        _classCallCheck(this, GoogleMaps);
32199
32200        this.mapId = mapId;
32201        this.zoom = zoom;
32202    }
32203
32204    _createClass(GoogleMaps, [{
32205        key: 'load',
32206        value: function load() {
32207            var _this = this;
32208
32209            this.mapElement = document.getElementById(this.mapId);
32210
32211            if (this.mapElement !== null) {
32212
32213                _googleMaps2.default.KEY = 'AIzaSyCsZT8itXDaVQKSLtBuefN_LQ4kPgRGvpY';
32214                _googleMaps2.default.LIBRARIES = ['geometry', 'places'];
32215
32216                // Store our Coordinates as an object.
32217                this.myLatLng = { lat: parseFloat(this.mapElement.getAttribute('data-lat')), lng: parseFloat(this.mapElement.getAttribute('data-lon')) };
32218
32219                // Get Place Name & Address from #map data-attributes
32220                this.place = this.mapElement.getAttribute('data-place');
32221                this.address = this.mapElement.getAttribute('data-address');
32222                this.placeId = this.mapElement.getAttribute('data-place-id');
32223
32224                this.largeMapLink = 'https://www.google.com/maps/search/?api=1&query=' + this.myLatLng.lat + ',' + this.myLatLng.lng + '&query_place_id=' + this.placeId;
32225
32226                _googleMaps2.default.load(function (google) {
32227                    _this.initMap(google);
32228                });
32229            }
32230        }
32231    }, {
32232        key: 'initMap',
32233        value: function initMap(google) {
32234            var _this2 = this;
32235
32236            this.map = new google.maps.Map(this.mapElement, {
32237                zoom: this.zoom,
32238                center: this.myLatLng
32239            });
32240
32241            google.maps.event.addDomListener(window, 'resize', function () {
32242                _this2.map.setCenter(_this2.myLatLng);
32243            });
32244
32245            this.mapsMarker();
32246            this.infoWindow();
32247        }
32248    }, {
32249        key: 'infoWindow',
32250        value: function infoWindow() {
32251            // Construct a new infowindow object
32252            this.infowindow = new google.maps.InfoWindow({
32253                maxWidth: 250
32254            });
32255            this.infowindowContent = document.getElementById('infowindow-content');
32256            this.infowindow.setContent(this.infowindowContent);
32257
32258            // insert our Place Name & Address into our infowindow content
32259            this.infowindowContent.children['place-name'].textContent = this.place;
32260            this.infowindowContent.children['place-address'].textContent = this.address;
32261            document.getElementById('large-map-link').href = this.largeMapLink;
32262
32263            // Open our infowindow
32264            this.infowindow.open(this.map, this.marker);
32265        }
32266    }, {
32267        key: 'mapsMarker',
32268        value: function mapsMarker() {
32269            var _this3 = this;
32270
32271            // Construct a new marker object and set it's position to our coordinates
32272            this.marker = new google.maps.Marker({
32273                map: this.map,
32274                position: this.myLatLng
32275            });
32276
32277            // Define custom marker icon image
32278            var customIcon = '/Static/app/images/logo_maps.png';
32279
32280            // Define marker Settings, Position and Show it on the map
32281            this.marker.setIcon({
32282                url: customIcon,
32283                size: new google.maps.Size(50, 50),
32284                origin: new google.maps.Point(0, 0),
32285                anchor: new google.maps.Point(0, 0)
32286            });
32287
32288            //marker.setPosition(place.geometry.location);
32289            this.marker.setVisible(true);
32290
32291            // Listen to click event on marker and open infowindow
32292            this.marker.addListener('click', function (e) {
32293                _this3.map.panTo(_this3.myLatLng);
32294                _this3.infowindow.open(_this3.map, _this3.marker);
32295            });
32296        }
32297    }]);
32298
32299    return GoogleMaps;
32300}();
32301
32302exports.default = GoogleMaps;
32303
32304/***/ }),
32305/* 208 */
32306/***/ (function(module, exports, __webpack_require__) {
32307
32308"use strict";
32309
32310
32311Object.defineProperty(exports, "__esModule", {
32312    value: true
32313});
32314
32315var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32316
32317function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32318
32319var EmailShare = function () {
32320    function EmailShare() {
32321        var _this = this;
32322
32323        _classCallCheck(this, EmailShare);
32324
32325        if ($("#emailShare").length) {
32326            this.emailButton = document.getElementById('emailShare');
32327            this.emailButton.addEventListener('click', function (e) {
32328                _this.onClick(e);
32329            });
32330        }
32331    }
32332
32333    _createClass(EmailShare, [{
32334        key: 'onClick',
32335        value: function onClick(e) {
32336            function emailCurrentPage() {
32337                var currentUrl = escape(window.location.href);
32338                var bodyText = 'Kolla in den här artikeln ';
32339                var mailSubject = 'Kolla in den här artikeln';
32340
32341                //this is inserted in the href attr when fired
32342                window.location.href = "mailto:?subject=" + mailSubject + "&body=" + bodyText 
32342+ currentUrl;
32343            };
32344
32345            //Fires emailCurrentPage() on click
32346            emailCurrentPage();
32347            return false;
32348        }
32349    }]);
32350
32351    return EmailShare;
32352}();
32353
32354exports.default = EmailShare;
32355;
32356
32357/***/ }),
32358/* 209 */
32359/***/ (function(module, exports, __webpack_require__) {
32360
32361"use strict";
32362
32363
32364Object.defineProperty(exports, "__esModule", {
32365    value: true
32366});
32367
32368var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32369
32370function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32371
32372var FacebookShare = function () {
32373    function FacebookShare() {
32374        var _this = this;
32375
32376        _classCallCheck(this, FacebookShare);
32377
32378        if ($("#facebookShare").length) {
32379            this.fbButton = document.getElementById('facebookShare');
32380            this.fbButton.addEventListener('click', function (e) {
32381                _this.onClick(e);
32382            });
32383        }
32384    }
32385
32386    _createClass(FacebookShare, [{
32387        key: 'onClick',
32388        value: function onClick(e) {
32389            var fBUrl = "https://www.facebook.com/sharer/sharer.php?u=";
32390            var currentUrl = window.location.href;
32391            var fBShareUrl = fBUrl + currentUrl;
32392
32393            var fbpopup;
32394            var strWindowFeatures = "width=600, height=400, scrollbars=no";
32395
32396            function openFbPopup() {
32397                fbpopup = window.open(fBShareUrl, "pop", strWindowFeatures);
32398            }
32399
32400            openFbPopup();
32401            return false;
32402        }
32403    }]);
32404
32405    return FacebookShare;
32406}();
32407
32408exports.default = FacebookShare;
32409;
32410
32411/***/ }),
32412/* 210 */
32413/***/ (function(module, exports, __webpack_require__) {
32414
32415"use strict";
32416
32417
32418Object.defineProperty(exports, "__esModule", {
32419    value: true
32420});
32421
32422var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
32423
32424var _globals = __webpack_require__(13);
32425
32426var _globals2 = _interopRequireDefault(_globals);
32427
32428function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32429
32430function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32431
32432var AccessibilityHelpers = function () {
32433    function AccessibilityHelpers() {
32434        var _this = this;
32435
32436        _classCallCheck(this, AccessibilityHelpers);
32437
32438        this.$enterClickTarget = $(".enter-click");
32439        if (this.$enterClickTarget.length) {
32440            window.addEventListener('keyup', function (e) {
32441                _this.enterClick(e);
32442            });
32443        }
32444        this.$ariaExpandedBtn = $(".toggle-aria-expanded");
32445        if (this.$ariaExpandedBtn.length) {
32446            window.addEventListener('click', function (e) {
32447                _this.toggleAriaExpended(e);
32448            });
32449        }
32450
32451        this.clickArea = document.getElementsByClassName('clickable-area');
32452
32453        if (this.clickArea !== null) {
32454            Array.from(this.clickArea).forEach(function (el) {
32455                el.addEventListener('click', function (e) {
32456                    _this.onClickableArea(e);
32457                });
32458            });
32459        }
32460    }
32461
32462    //Binds enter key on all elemnents with ".enter-click" class
32463
32464
32465    _createClass(AccessibilityHelpers, [{
32466        key: "enterClick",
32467        value: function enterClick(e) {
32468            this.target = e.target;
32469            if ($(this.target).parents().hasClass("enter-click") || $(this.target).hasClass("enter-click")) {
32470                if (_globals2.default.keyboardEnterPressed(e)) {
32471                    this.target.click();
32472                }
32473            };
32474        }
32475    }, {
32476        key: "toggleAriaExpended",
32477
32478
32479        //toggle aria-expanded
32480        value: function toggleAriaExpended(e) {
32481            this.target = e.target;
32482            this.targetParent = $(this.target).parents(".toggle-aria-expanded");
32483
32484            if ($(this.target).attr('aria-expanded') === 'false') {
32485                $(this.target).attr('aria-expanded', 'true');
32486            } else if ($(this.target).attr('aria-expanded') === 'true') {
32487                $(this.target).attr('aria-expanded', 'false');
32488            } else if ($(this.targetParent).attr('aria-expanded') === 'false') {
32489                $(this.targetParent).attr('aria-expanded', 'true');
32490            } else if ($(this.targetParent).attr('aria-expanded') === 'true') {
32491                $(this.targetParent).attr('aria-expanded', 'false');
32492            }
32493        }
32494
32495        //Make area clickable, good for accessability
32496
32497    }, {
32498        key: "onClickableArea",
32499        value: function onClickableArea(e) {
32500
32501            this.target = e.currentTarget;
32502
32503            return $(this.target).find("a").attr("href").length > 1 && ($(this.target).find("a").attr("target") ? window.open($(this.target).find("a").attr("href"), $(this.target).find("a").attr("target")) : window.location = $(this.target).find("a").attr("href")), !1;
32504        }
32505    }]);
32506
32507    return AccessibilityHelpers;
32508}();
32509
32510exports.default = AccessibilityHelpers;
32511
32512/***/ }),
32513/* 211 */
32514/***/ (function(module, exports, __webpack_require__) {
32515
32516"use strict";
32517
32518
32519var _jquery = __webpack_require__(1);
32520
32521var _jquery2 = _interopRequireDefault(_jquery);
32522
32523var _foundation = __webpack_require__(277);
32524
32525var _foundationUtil = __webpack_require__(6);
32526
32527var _foundationUtil2 = __webpack_require__(33);
32528
32529var _foundationUtil3 = __webpack_require__(22);
32530
32531var _foundationUtil4 = __webpack_require__(34);
32532
32533var _foundationUtil5 = __webpack_require__(286);
32534
32535var _foundationUtil6 = __webpack_require__(23);
32536
32537var _foundation2 = __webpack_require__(278);
32538
32539var _foundation3 = __webpack_require__(279);
32540
32541var _foundation4 = __webpack_require__(280);
32542
32543var _foundation5 = __webpack_require__(281);
32544
32545var _foundation6 = __webpack_require__(282);
32546
32547var _foundation7 = __webpack_require__(283);
32548
32549function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32550
32551//import { ResponsiveAccordionTabs } from 'foundation-sites/js/foundation.responsiveAccordionTabs';
32552
32553
32554//import { Slider } from 'foundation-sites/js/foundation.slider';
32555//import { SmoothScroll } from 'foundation-sites/js/foundation.smoothScroll';
32556//import { Sticky } from 'foundation-sites/js/foundation.sticky';
32557//import { Tabs } from 'foundation-sites/js/foundation.tabs';
32558
32559//import { Abide } from 'foundation-sites/js/foundation.abide';
32560//import { Accordion } from 'foundation-sites/js/foundation.accordion';
32561//import { AccordionMenu } from 'foundation-sites/js/foundation.accordionMenu';
32562//import { Drilldown } from 'foundation-sites/js/foundation.drilldown';
32563
32564//import { Nest } from 'foundation-sites/js/foundation.util.nest';
32565//import { Timer } from 'foundation-sites/js/foundation.util.timer';
32566_foundation.Foundation.addToJquery(_jquery2.default);
32567
32568// Add Foundation Utils to Foundation global namespace for backwards
32569// compatibility.
32570
32571//import { Interchange } from 'foundation-sites/js/foundation.interchange';
32572//import { Magellan } from 'foundation-sites/js/foundation.magellan';
32573//import { OffCanvas } from 'foundation-sites/js/foundation.offcanvas';
32574//import { Orbit } from 'foundation-sites/js/foundation.orbit';
32575//import { ResponsiveMenu } from 'foundation-sites/js/foundation.responsiveMenu';
32576//import { ResponsiveToggle } from 'foundation-sites/js/foundation.responsiveToggle';
32577
32578//import { Box } from 'foundation-sites/js/foundation.util.box'
32579//import { onImagesLoaded } from 'foundation-sites/js/foundation.util.imageLoader';
32580_foundation.Foundation.rtl = _foundationUtil.rtl;
32581_foundation.Foundation.GetYoDigits = _foundationUtil.GetYoDigits;
32582_foundation.Foundation.transitionend = _foundationUtil.transitionend;
32583
32584//Foundation.Box = Box;
32585//Foundation.onImagesLoaded = onImagesLoaded;
32586_foundation.Foundation.Keyboard = _foundationUtil2.Keyboard;
32587_foundation.Foundation.MediaQuery = _foundationUtil3.MediaQuery;
32588_foundation.Foundation.Motion = _foundationUtil4.Motion;
32589_foundation.Foundation.Move = _foundationUtil4.Move;
32590//Foundation.Nest = Nest;
32591//Foundation.Timer = Timer;
32592
32593// Touch and Triggers previously were almost purely sede effect driven,
32594// so no // need to add it to Foundation, just init them.
32595
32596_foundationUtil5.Touch.init(_jquery2.default);
32597
32598_foundationUtil6.Triggers.init(_jquery2.default, _foundation.Foundation);
32599
32600//Foundation.plugin(Abide, 'Abide');
32601
32602//Foundation.plugin(Accordion, 'Accordion');
32603
32604//Foundation.plugin(AccordionMenu, 'AccordionMenu');
32605
32606//Foundation.plugin(Drilldown, 'Drilldown');
32607
32608_foundation.Foundation.plugin(_foundation2.Dropdown, 'Dropdown');
32609
32610_foundation.Foundation.plugin(_foundation3.DropdownMenu, 'DropdownMenu');
32611
32612_foundation.Foundation.plugin(_foundation4.Equalizer, 'Equalizer');
32613
32614//Foundation.plugin(Interchange, 'Interchange');
32615
32616//Foundation.plugin(Magellan, 'Magellan');
32617
32618//Foundation.plugin(OffCanvas, 'OffCanvas');
32619
32620//Foundation.plugin(Orbit, 'Orbit');
32621
32622//Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
32623
32624//Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
32625
32626_foundation.Foundation.plugin(_foundation5.Reveal, 'Reveal');
32627
32628//Foundation.plugin(Slider, 'Slider');
32629
32630//Foundation.plugin(SmoothScroll, 'SmoothScroll');
32631
32632//Foundation.plugin(Sticky, 'Sticky');
32633
32634//Foundation.plugin(Tabs, 'Tabs');
32635
32636_foundation.Foundation.plugin(_foundation6.Toggler, 'Toggler');
32637
32638_foundation.Foundation.plugin(_foundation7.Tooltip, 'Tooltip');
32639
32640//Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');
32641
32642module.exports = _foundation.Foundation;
32643
32644/***/ }),
32645/* 212 */
32646/***/ (function(module, exports, __webpack_require__) {
32647
32648"use strict";
32649var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
32650
32651var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
32652
32653(function (global, factory) {
32654    if (true) {
32655        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(296)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
32656				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
32657				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
32658				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
32659    } else if (typeof exports !== "undefined") {
32660        factory(module, require('select'));
32661    } else {
32662        var mod = {
32663            exports: {}
32664        };
32665        factory(mod, global.select);
32666        global.clipboardAction = mod.exports;
32667    }
32668})(undefined, function (module, _select) {
32669    'use strict';
32670
32671    var _select2 = _interopRequireDefault(_select);
32672
32673    function _interopRequireDefault(obj) {
32674        return obj && obj.__esModule ? obj : {
32675            default: obj
32676        };
32677    }
32678
32679    var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
32680        return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);
32681    } : function (obj) {
32682        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);
32683    };
32684
32685    function _classCallCheck(instance, Constructor) {
32686        if (!(instance instanceof Constructor)) {
32687            throw new TypeError("Cannot call a class as a function");
32688        }
32689    }
32690
32691    var _createClass = function () {
32692        function defineProperties(target, props) {
32693            for (var i = 0; i < props.length; i++) {
32694                var descriptor = props[i];
32695                descriptor.enumerable = descriptor.enumerable || false;
32696                descriptor.configurable = true;
32697                if ("value" in descriptor) descriptor.writable = true;
32698                Object.defineProperty(target, descriptor.key, descriptor);
32699            }
32700        }
32701
32702        return function (Constructor, protoProps, staticProps) {
32703            if (protoProps) defineProperties(Constructor.prototype, protoProps);
32704            if (staticProps) defineProperties(Constructor, staticProps);
32705            return Constructor;
32706        };
32707    }();
32708
32709    var ClipboardAction = function () {
32710        /**
32711         * @param {Object} options
32712         */
32713        function ClipboardAction(options) {
32714            _classCallCheck(this, ClipboardAction);
32715
32716            this.resolveOptions(options);
32717            this.initSelection();
32718        }
32719
32720        /**
32721         * Defines base properties passed from constructor.
32722         * @param {Object} options
32723         */
32724
32725        _createClass(ClipboardAction, [{
32726            key: 'resolveOptions',
32727            value: function resolveOptions() {
32728                var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
32729
32730                this.action = options.action;
32731                this.container = options.container;
32732                this.emitter = options.emitter;
32733                this.target = options.target;
32734                this.text = options.text;
32735                this.trigger = options.trigger;
32736
32737                this.selectedText = '';
32738            }
32739        }, {
32740            key: 'initSelection',
32741            value: function initSelection() {
32742                if (this.text) {
32743                    this.selectFake();
32744                } else if (this.target) {
32745                    this.selectTarget();
32746                }
32747            }
32748        }, {
32749            key: 'selectFake',
32750            value: function selectFake() {
32751                var _this = this;
32752
32753                var isRTL = document.documentElement.getAttribute('dir') == 'rtl';
32754
32755                this.removeFake();
32756
32757                this.fakeHandlerCallback = function () {
32758                    return _this.removeFake();
32759                };
32760                this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;
32761
32762                this.fakeElem = document.createElement('textarea');
32763                // Prevent zooming on iOS
32764                this.fakeElem.style.fontSize = '12pt';
32765                // Reset box model
32766                this.fakeElem.style.border = '0';
32767                this.fakeElem.style.padding = '0';
32768                this.fakeElem.style.margin = '0';
32769                // Move element out of screen horizontally
32770                this.fakeElem.style.position = 'absolute';
32771                this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
32772                // Move element to the same position vertically
32773                var yPosition = window.pageYOffset || document.documentElement.scrollTop;
32774                this.fakeElem.style.top = yPosition + 'px';
32775
32776                this.fakeElem.setAttribute('readonly', '');
32777                this.fakeElem.value = this.text;
32778
32779                this.container.appendChild(this.fakeElem);
32780
32781                this.selectedText = (0, _select2.default)(this.fakeElem);
32782                this.copyText();
32783            }
32784        }, {
32785            key: 'removeFake',
32786            value: function removeFake() {
32787                if (this.fakeHandler) {
32788                    this.container.removeEventListener('click', this.fakeHandlerCallback);
32789                    this.fakeHandler = null;
32790                    this.fakeHandlerCallback = null;
32791                }
32792
32793                if (this.fakeElem) {
32794                    this.container.removeChild(this.fakeElem);
32795                    this.fakeElem = null;
32796                }
32797            }
32798        }, {
32799            key: 'selectTarget',
32800            value: function selectTarget() {
32801                this.selectedText = (0, _select2.default)(this.target);
32802                this.copyText();
32803            }
32804        }, {
32805            key: 'copyText',
32806            value: function copyText() {
32807                var succeeded = void 0;
32808
32809                try {
32810                    succeeded = document.execCommand(this.action);
32811                } catch (err) {
32812                    succeeded = false;
32813                }
32814
32815                this.handleResult(succeeded);
32816            }
32817        }, {
32818            key: 'handleResult',
32819            value: function handleResult(succeeded) {
32820                this.emitter.emit(succeeded ? 'success' : 'error', {
32821                    action: this.action,
32822                    text: this.selectedText,
32823                    trigger: this.trigger,
32824                    clearSelection: this.clearSelection.bind(this)
32825                });
32826            }
32827        }, {
32828            key: 'clearSelection',
32829            value: function clearSelection() {
32830                if (this.trigger) {
32831                    this.trigger.focus();
32832                }
32833
32834                window.getSelection().removeAllRanges();
32835            }
32836        }, {
32837            key: 'destroy',
32838            value: function destroy() {
32839                this.removeFake();
32840            }
32841        }, {
32842            key: 'action',
32843            set: function set() {
32844                var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';
32845
32846                this._action = action;
32847
32848                if (this._action !== 'copy' && this._action !== 'cut') {
32849                    throw new Error('Invalid "action" value, use either "copy" or "cut"');
32850                }
32851            },
32852            get: function get() {
32853                return this._action;
32854            }
32855        }, {
32856            key: 'target',
32857            set: function set(target) {
32858                if (target !== undefined) {
32859                    if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {
32860                        if (this.action === 'copy' && target.hasAttribute('disabled')) {
32861                            throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
32862                        }
32863
32864                        if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {
32865                            throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
32866                        }
32867
32868                        this._target = target;
32869                    } else {
32870                        throw new Error('Invalid "target" value, use a valid Element');
32871                    }
32872                }
32873            },
32874            get: function get() {
32875                return this._target;
32876            }
32877        }]);
32878
32879        return ClipboardAction;
32880    }();
32881
32882    module.exports = ClipboardAction;
32883});
32884
32885/***/ }),
32886/* 213 */
32887/***/ (function(module, exports, __webpack_require__) {
32888
32889"use strict";
32890var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
32891
32892var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
32893
32894(function (global, factory) {
32895    if (true) {
32896        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, __webpack_require__(212), __webpack_require__(297), __webpack_require__(288)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
32897				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
32898				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
32899				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
32900    } else if (typeof exports !== "undefined") {
32901        factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));
32902    } else {
32903        var mod = {
32904            exports: {}
32905        };
32906        factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);
32907        global.clipboard = mod.exports;
32908    }
32909})(undefined, function (module, _clipboardAction, _tinyEmitter, _goodListener) {
32910    'use strict';
32911
32912    var _clipboardAction2 = _interopRequireDefault(_clipboardAction);
32913
32914    var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);
32915
32916    var _goodListener2 = _interopRequireDefault(_goodListener);
32917
32918    function _interopRequireDefault(obj) {
32919        return obj && obj.__esModule ? obj : {
32920            default: obj
32921        };
32922    }
32923
32924    var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) {
32925        return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);
32926    } : function (obj) {
32927        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj);
32928    };
32929
32930    function _classCallCheck(instance, Constructor) {
32931        if (!(instance instanceof Constructor)) {
32932            throw new TypeError("Cannot call a class as a function");
32933        }
32934    }
32935
32936    var _createClass = function () {
32937        function defineProperties(target, props) {
32938            for (var i = 0; i < props.length; i++) {
32939                var descriptor = props[i];
32940                descriptor.enumerable = descriptor.enumerable || false;
32941                descriptor.configurable = true;
32942                if ("value" in descriptor) descriptor.writable = true;
32943                Object.defineProperty(target, descriptor.key, descriptor);
32944            }
32945        }
32946
32947        return function (Constructor, protoProps, staticProps) {
32948            if (protoProps) defineProperties(Constructor.prototype, protoProps);
32949            if (staticProps) defineProperties(Constructor, staticProps);
32950            return Constructor;
32951        };
32952    }();
32953
32954    function _possibleConstructorReturn(self, call) {
32955        if (!self) {
32956            throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
32957        }
32958
32959        return call && ((typeof call === 'undefined' ? 'undefined' : _typeof2(call)) === "object" || typeof call === "function") ? call : self;
32960    }
32961
32962    function _inherits(subClass, superClass) {
32963        if (typeof superClass !== "function" && superClass !== null) {
32964            throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === 'undefined' ? 'undefined' : _typeof2(superClass)));
32965        }
32966
32967        subClass.prototype = Object.create(superClass && superClass.prototype, {
32968            constructor: {
32969                value: subClass,
32970                enumerable: false,
32971                writable: true,
32972                configurable: true
32973            }
32974        });
32975        if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
32976    }
32977
32978    var Clipboard = function (_Emitter) {
32979        _inherits(Clipboard, _Emitter);
32980
32981        /**
32982         * @param {String|HTMLElement|HTMLCollection|NodeList} trigger
32983         * @param {Object} options
32984         */
32985        function Clipboard(trigger, options) {
32986            _classCallCheck(this, Clipboard);
32987
32988            var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));
32989
32990            _this.resolveOptions(options);
32991            _this.listenClick(trigger);
32992            return _this;
32993        }
32994
32995        /**
32996         * Defines if attributes would be resolved using internal setter functions
32997         * or custom functions that were passed in the constructor.
32998         * @param {Object} options
32999         */
33000
33001        _createClass(Clipboard, [{
33002            key: 'resolveOptions',
33003            value: function resolveOptions() {
33004                var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
33005
33006                this.action = typeof options.action === 'function' ? options.action : this.defaultAction;
33007                this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;
33008                this.text = typeof options.text === 'function' ? options.text : this.defaultText;
33009                this.container = _typeof(options.container) === 'object' ? options.container : document.body;
33010            }
33011        }, {
33012            key: 'listenClick',
33013            value: function listenClick(trigger) {
33014                var _this2 = this;
33015
33016                this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {
33017                    return _this2.onClick(e);
33018                });
33019            }
33020        }, {
33021            key: 'onClick',
33022            value: function onClick(e) {
33023                var trigger = e.delegateTarget || e.currentTarget;
33024
33025                if (this.clipboardAction) {
33026                    this.clipboardAction = null;
33027                }
33028
33029                this.clipboardAction = new _clipboardAction2.default({
33030                    action: this.action(trigger),
33031                    target: this.target(trigger),
33032                    text: this.text(trigger),
33033                    container: this.container,
33034                    trigger: trigger,
33035                    emitter: this
33036                });
33037            }
33038        }, {
33039            key: 'defaultAction',
33040            value: function defaultAction(trigger) {
33041                return getAttributeValue('action', trigger);
33042            }
33043        }, {
33044            key: 'defaultTarget',
33045            value: function defaultTarget(trigger) {
33046                var selector = getAttributeValue('target', trigger);
33047
33048                if (selector) {
33049                    return document.querySelector(selector);
33050                }
33051            }
33052        }, {
33053            key: 'defaultText',
33054            value: function defaultText(trigger) {
33055                return getAttributeValue('text', trigger);
33056            }
33057        }, {
33058            key: 'destroy',
33059            value: function destroy() {
33060                this.listener.destroy();
33061
33062                if (this.clipboardAction) {
33063                    this.clipboardAction.destroy();
33064                    this.clipboardAction = null;
33065                }
33066            }
33067        }], [{
33068            key: 'isSupported',
33069            value: function isSupported() {
33070                var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];
33071
33072                var actions = typeof action === 'string' ? [action] : action;
33073                var support = !!document.queryCommandSupported;
33074
33075                actions.forEach(function (action) {
33076                    support = support && !!document.queryCommandSupported(action);
33077                });
33078
33079                return support;
33080            }
33081        }]);
33082
33083        return Clipboard;
33084    }(_tinyEmitter2.default);
33085
33086    /**
33087     * Helper function to retrieve attribute value.
33088     * @param {String} suffix
33089     * @param {Element} element
33090     */
33091    function getAttributeValue(suffix, element) {
33092        var attribute = 'data-clipboard-' + suffix;
33093
33094        if (!element.hasAttribute(attribute)) {
33095            return;
33096        }
33097
33098        return element.getAttribute(attribute);
33099    }
33100
33101    module.exports = Clipboard;
33102});
33103
33104/***/ }),
33105/* 214 */
33106/***/ (function(module, exports, __webpack_require__) {
33107
33108"use strict";
33109
33110
33111__webpack_require__(271);
33112__webpack_require__(259);
33113__webpack_require__(257);
33114__webpack_require__(264);
33115__webpack_require__(261);
33116__webpack_require__(267);
33117__webpack_require__(269);
33118__webpack_require__(256);
33119__webpack_require__(263);
33120__webpack_require__(253);
33121__webpack_require__(268);
33122__webpack_require__(251);
33123__webpack_require__(266);
33124__webpack_require__(265);
33125__webpack_require__(258);
33126__webpack_require__(262);
33127__webpack_require__(250);
33128__webpack_require__(252);
33129__webpack_require__(255);
33130__webpack_require__(254);
33131__webpack_require__(270);
33132__webpack_require__(260);
33133module.exports = __webpack_require__(14).Array;
33134
33135/***/ }),
33136/* 215 */
33137/***/ (function(module, exports, __webpack_require__) {
33138
33139"use strict";
33140
33141
33142__webpack_require__(274);
33143__webpack_require__(272);
33144__webpack_require__(273);
33145module.exports = __webpack_require__(14).Array;
33146
33147/***/ }),
33148/* 216 */
33149/***/ (function(module, exports, __webpack_require__) {
33150
33151"use strict";
33152
33153
33154module.exports = function (it) {
33155  if (typeof it != 'function') throw TypeError(it + ' is not a function!');
33156  return it;
33157};
33158
33159/***/ }),
33160/* 217 */
33161/***/ (function(module, exports, __webpack_require__) {
33162
33163"use strict";
33164
33165
33166var isObject = __webpack_require__(36);
33167module.exports = function (it) {
33168  if (!isObject(it)) throw TypeError(it + ' is not an object!');
33169  return it;
33170};
33171
33172/***/ }),
33173/* 218 */
33174/***/ (function(module, exports, __webpack_require__) {
33175
33176"use strict";
33177
33178
vendor: 6,458 bytes, lines 33179-33412
33179// optional / simple context binding
33180var aFunction = __webpack_require__(216);
33181module.exports = function (fn, that, length) {
33182  aFunction(fn);
33183  if (that === undefined) return fn;
33184  switch (length) {
33185    case 1:
33186      return function (a) {
33187        return fn.call(that, a);
33188      };
33189    case 2:
33190      return function (a, b) {
33191        return fn.call(that, a, b);
33192      };
33193    case 3:
33194      return function (a, b, c) {
33195        return fn.call(that, a, b, c);
33196      };
33197  }
33198  return function () /* ...args */{
33199    return fn.apply(that, arguments);
33200  };
33201};
33202
33203/***/ }),
33204/* 219 */
33205/***/ (function(module, exports, __webpack_require__) {
33206
33207"use strict";
33208
33209
33210var isObject = __webpack_require__(36);
33211var document = __webpack_require__(24).document;
33212// typeof document.createElement is 'object' in old IE
33213var is = isObject(document) && isObject(document.createElement);
33214module.exports = function (it) {
33215  return is ? document.createElement(it) : {};
33216};
33217
33218/***/ }),
33219/* 220 */
33220/***/ (function(module, exports, __webpack_require__) {
33221
33222"use strict";
33223
33224
33225var global = __webpack_require__(24);
33226var core = __webpack_require__(45);
33227var ctx = __webpack_require__(218);
33228var hide = __webpack_require__(222);
33229var has = __webpack_require__(221);
33230var PROTOTYPE = 'prototype';
33231
33232var $export = function $export(type, name, source) {
33233  var IS_FORCED = type & $export.F;
33234  var IS_GLOBAL = type & $export.G;
33235  var IS_STATIC = type & $export.S;
33236  var IS_PROTO = type & $export.P;
33237  var IS_BIND = type & $export.B;
33238  var IS_WRAP = type & $export.W;
33239  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
33240  var expProto = exports[PROTOTYPE];
33241  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
33242  var key, own, out;
33243  if (IS_GLOBAL) source = name;
33244  for (key in source) {
33245    // contains in native
33246    own = !IS_FORCED && target && target[key] !== undefined;
33247    if (own && has(exports, key)) continue;
33248    // export native or passed
33249    out = own ? target[key] : source[key];
33250    // prevent global pollution for namespaces
33251    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
33252    // bind timers to global for call from export context
33253    : IS_BIND && own ? ctx(out, global)
33254    // wrap global constructors for prevent change them in library
33255    : IS_WRAP && target[key] == out ? function (C) {
33256      var F = function F(a, b, c) {
33257        if (this instanceof C) {
33258          switch (arguments.length) {
33259            case 0:
33260              return new C();
33261            case 1:
33262              return new C(a);
33263            case 2:
33264              return new C(a, b);
33265          }return new C(a, b, c);
33266        }return C.apply(this, arguments);
33267      };
33268      F[PROTOTYPE] = C[PROTOTYPE];
33269      return F;
33270      // make static versions for prototype methods
33271    }(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
33272    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
33273    if (IS_PROTO) {
33274      (exports.virtual || (exports.virtual = {}))[key] = out;
33275      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
33276      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
33277    }
33278  }
33279};
33280// type bitmap
33281$export.F = 1; // forced
33282$export.G = 2; // global
33283$export.S = 4; // static
33284$export.P = 8; // proto
33285$export.B = 16; // bind
33286$export.W = 32; // wrap
33287$export.U = 64; // safe
33288$export.R = 128; // real proto method for `library`
33289module.exports = $export;
33290
33291/***/ }),
33292/* 221 */
33293/***/ (function(module, exports, __webpack_require__) {
33294
33295"use strict";
33296
33297
33298var hasOwnProperty = {}.hasOwnProperty;
33299module.exports = function (it, key) {
33300  return hasOwnProperty.call(it, key);
33301};
33302
33303/***/ }),
33304/* 222 */
33305/***/ (function(module, exports, __webpack_require__) {
33306
33307"use strict";
33308
33309
33310var dP = __webpack_require__(224);
33311var createDesc = __webpack_require__(225);
33312module.exports = __webpack_require__(35) ? function (object, key, value) {
33313  return dP.f(object, key, createDesc(1, value));
33314} : function (object, key, value) {
33315  object[key] = value;
33316  return object;
33317};
33318
33319/***/ }),
33320/* 223 */
33321/***/ (function(module, exports, __webpack_require__) {
33322
33323"use strict";
33324
33325
33326module.exports = !__webpack_require__(35) && !__webpack_require__(46)(function () {
33327  return Object.defineProperty(__webpack_require__(219)('div'), 'a', { get: function get() {
33328      return 7;
33329    } }).a != 7;
33330});
33331
33332/***/ }),
33333/* 224 */
33334/***/ (function(module, exports, __webpack_require__) {
33335
33336"use strict";
33337
33338
33339var anObject = __webpack_require__(217);
33340var IE8_DOM_DEFINE = __webpack_require__(223);
33341var toPrimitive = __webpack_require__(226);
33342var dP = Object.defineProperty;
33343
33344exports.f = __webpack_require__(35) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
33345  anObject(O);
33346  P = toPrimitive(P, true);
33347  anObject(Attributes);
33348  if (IE8_DOM_DEFINE) try {
33349    return dP(O, P, Attributes);
33350  } catch (e) {/* empty */}
33351  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
33352  if ('value' in Attributes) O[P] = Attributes.value;
33353  return O;
33354};
33355
33356/***/ }),
33357/* 225 */
33358/***/ (function(module, exports, __webpack_require__) {
33359
33360"use strict";
33361
33362
33363module.exports = function (bitmap, value) {
33364  return {
33365    enumerable: !(bitmap & 1),
33366    configurable: !(bitmap & 2),
33367    writable: !(bitmap & 4),
33368    value: value
33369  };
33370};
33371
33372/***/ }),
33373/* 226 */
33374/***/ (function(module, exports, __webpack_require__) {
33375
33376"use strict";
33377
33378
33379// 7.1.1 ToPrimitive(input [, PreferredType])
33380var isObject = __webpack_require__(36);
33381// instead of the ES6 spec version, we didn't implement @@toPrimitive case
33382// and the second argument - flag - preferred type is a string
33383module.exports = function (it, S) {
33384  if (!isObject(it)) return it;
33385  var fn, val;
33386  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
33387  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
33388  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
33389  throw TypeError("Can't convert object to primitive value");
33390};
33391
33392/***/ }),
33393/* 227 */
33394/***/ (function(module, exports, __webpack_require__) {
33395
33396"use strict";
33397
33398
33399var global = __webpack_require__(24);
33400var navigator = global.navigator;
33401
33402module.exports = navigator && navigator.userAgent || '';
33403
33404/***/ }),
33405/* 228 */
33406/***/ (function(module, exports, __webpack_require__) {
33407
33408"use strict";
33409
33410
33411// ie9- setTimeout & setInterval additional parameters fix
33412var global = __webpack_require__(24);
vendor: 1,862 bytes, lines 33413-33478
33413var $export = __webpack_require__(220);
33414var userAgent = __webpack_require__(227);
33415var slice = [].slice;
33416var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
33417var wrap = function wrap(set) {
33418  return function (fn, time /* , ...args */) {
33419    var boundArgs = arguments.length > 2;
33420    var args = boundArgs ? slice.call(arguments, 2) : false;
33421    return set(boundArgs ? function () {
33422      // eslint-disable-next-line no-new-func
33423      (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
33424    } : fn, time);
33425  };
33426};
33427$export($export.G + $export.B + $export.F * MSIE, {
33428  setTimeout: wrap(global.setTimeout),
33429  setInterval: wrap(global.setInterval)
33430});
33431
33432/***/ }),
33433/* 229 */
33434/***/ (function(module, exports, __webpack_require__) {
33435
33436"use strict";
33437
33438
33439__webpack_require__(228);
33440module.exports = __webpack_require__(45);
33441
33442/***/ }),
33443/* 230 */
33444/***/ (function(module, exports, __webpack_require__) {
33445
33446"use strict";
33447// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
33448
33449
33450var toObject = __webpack_require__(7);
33451var toAbsoluteIndex = __webpack_require__(32);
33452var toLength = __webpack_require__(4);
33453
33454module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
33455  var O = toObject(this);
33456  var len = toLength(O.length);
33457  var to = toAbsoluteIndex(target, len);
33458  var from = toAbsoluteIndex(start, len);
33459  var end = arguments.length > 2 ? arguments[2] : undefined;
33460  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
33461  var inc = 1;
33462  if (from < to && to < from + count) {
33463    inc = -1;
33464    from += count - 1;
33465    to += count - 1;
33466  }
33467  while (count-- > 0) {
33468    if (from in O) O[to] = O[from];else delete O[to];
33469    to += inc;
33470    from += inc;
33471  }return O;
33472};
33473
33474/***/ }),
33475/* 231 */
33476/***/ (function(module, exports, __webpack_require__) {
33477
33478"use strict";
vendor: 4,312 bytes, lines 33479-33647
33479// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
33480
33481
33482var toObject = __webpack_require__(7);
33483var toAbsoluteIndex = __webpack_require__(32);
33484var toLength = __webpack_require__(4);
33485module.exports = function fill(value /* , start = 0, end = @length */) {
33486  var O = toObject(this);
33487  var length = toLength(O.length);
33488  var aLen = arguments.length;
33489  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
33490  var end = aLen > 2 ? arguments[2] : undefined;
33491  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
33492  while (endPos > index) {
33493    O[index++] = value;
33494  }return O;
33495};
33496
33497/***/ }),
33498/* 232 */
33499/***/ (function(module, exports, __webpack_require__) {
33500
33501"use strict";
33502
33503
33504var isObject = __webpack_require__(17);
33505var isArray = __webpack_require__(40);
33506var SPECIES = __webpack_require__(5)('species');
33507
33508module.exports = function (original) {
33509  var C;
33510  if (isArray(original)) {
33511    C = original.constructor;
33512    // cross-realm fallback
33513    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
33514    if (isObject(C)) {
33515      C = C[SPECIES];
33516      if (C === null) C = undefined;
33517    }
33518  }return C === undefined ? Array : C;
33519};
33520
33521/***/ }),
33522/* 233 */
33523/***/ (function(module, exports, __webpack_require__) {
33524
33525"use strict";
33526
33527
33528// getting tag from 19.1.3.6 Object.prototype.toString()
33529var cof = __webpack_require__(27);
33530var TAG = __webpack_require__(5)('toStringTag');
33531// ES3 wrong here
33532var ARG = cof(function () {
33533  return arguments;
33534}()) == 'Arguments';
33535
33536// fallback for IE11 Script Access Denied error
33537var tryGet = function tryGet(it, key) {
33538  try {
33539    return it[key];
33540  } catch (e) {/* empty */}
33541};
33542
33543module.exports = function (it) {
33544  var O, T, B;
33545  return it === undefined ? 'Undefined' : it === null ? 'Null'
33546  // @@toStringTag case
33547  : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
33548  // builtinTag case
33549  : ARG ? cof(O)
33550  // ES3 arguments fallback
33551  : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
33552};
33553
33554/***/ }),
33555/* 234 */
33556/***/ (function(module, exports, __webpack_require__) {
33557
33558"use strict";
33559
33560
33561module.exports = !__webpack_require__(15) && !__webpack_require__(12)(function () {
33562  return Object.defineProperty(__webpack_require__(49)('div'), 'a', { get: function get() {
33563      return 7;
33564    } }).a != 7;
33565});
33566
33567/***/ }),
33568/* 235 */
33569/***/ (function(module, exports, __webpack_require__) {
33570
33571"use strict";
33572
33573
33574// check on default Array iterator
33575var Iterators = __webpack_require__(31);
33576var ITERATOR = __webpack_require__(5)('iterator');
33577var ArrayProto = Array.prototype;
33578
33579module.exports = function (it) {
33580  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
33581};
33582
33583/***/ }),
33584/* 236 */
33585/***/ (function(module, exports, __webpack_require__) {
33586
33587"use strict";
33588
33589
33590// call something on iterator step with safe closing on error
33591var anObject = __webpack_require__(26);
33592module.exports = function (iterator, fn, value, entries) {
33593  try {
33594    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
33595    // 7.4.6 IteratorClose(iterator, completion)
33596  } catch (e) {
33597    var ret = iterator['return'];
33598    if (ret !== undefined) anObject(ret.call(iterator));
33599    throw e;
33600  }
33601};
33602
33603/***/ }),
33604/* 237 */
33605/***/ (function(module, exports, __webpack_require__) {
33606
33607"use strict";
33608
33609
33610var create = __webpack_require__(241);
33611var descriptor = __webpack_require__(41);
33612var setToStringTag = __webpack_require__(55);
33613var IteratorPrototype = {};
33614
33615// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
33616__webpack_require__(16)(IteratorPrototype, __webpack_require__(5)('iterator'), function () {
33617  return this;
33618});
33619
33620module.exports = function (Constructor, NAME, next) {
33621  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
33622  setToStringTag(Constructor, NAME + ' Iterator');
33623};
33624
33625/***/ }),
33626/* 238 */
33627/***/ (function(module, exports, __webpack_require__) {
33628
33629"use strict";
33630
33631
33632var ITERATOR = __webpack_require__(5)('iterator');
33633var SAFE_CLOSING = false;
33634
33635try {
33636  var riter = [7][ITERATOR]();
33637  riter['return'] = function () {
33638    SAFE_CLOSING = true;
33639  };
33640  // eslint-disable-next-line no-throw-literal
33641  Array.from(riter, function () {
33642    throw 2;
33643  });
33644} catch (e) {/* empty */}
33645
33646module.exports = function (exec, skipClosing) {
33647  if (!skipClosing && !SAFE_CLOSING) return false;
vendor: 4,902 bytes, lines 33648-33850
33648  var safe = false;
33649  try {
33650    var arr = [7];
33651    var iter = arr[ITERATOR]();
33652    iter.next = function () {
33653      return { done: safe = true };
33654    };
33655    arr[ITERATOR] = function () {
33656      return iter;
33657    };
33658    exec(arr);
33659  } catch (e) {/* empty */}
33660  return safe;
33661};
33662
33663/***/ }),
33664/* 239 */
33665/***/ (function(module, exports, __webpack_require__) {
33666
33667"use strict";
33668
33669
33670module.exports = function (done, value) {
33671  return { value: value, done: !!done };
33672};
33673
33674/***/ }),
33675/* 240 */
33676/***/ (function(module, exports, __webpack_require__) {
33677
33678"use strict";
33679
33680
33681module.exports = false;
33682
33683/***/ }),
33684/* 241 */
33685/***/ (function(module, exports, __webpack_require__) {
33686
33687"use strict";
33688
33689
33690// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
33691var anObject = __webpack_require__(26);
33692var dPs = __webpack_require__(242);
33693var enumBugKeys = __webpack_require__(50);
33694var IE_PROTO = __webpack_require__(42)('IE_PROTO');
33695var Empty = function Empty() {/* empty */};
33696var PROTOTYPE = 'prototype';
33697
33698// Create object with fake `null` prototype: use iframe Object with cleared prototype
33699var _createDict = function createDict() {
33700  // Thrash, waste and sodomy: IE GC bug
33701  var iframe = __webpack_require__(49)('iframe');
33702  var i = enumBugKeys.length;
33703  var lt = '<';
33704  var gt = '>';
33705  var iframeDocument;
33706  iframe.style.display = 'none';
33707  __webpack_require__(52).appendChild(iframe);
33708  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
33709  // createDict = iframe.contentWindow.Object;
33710  // html.removeChild(iframe);
33711  iframeDocument = iframe.contentWindow.document;
33712  iframeDocument.open();
33713  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
33714  iframeDocument.close();
33715  _createDict = iframeDocument.F;
33716  while (i--) {
33717    delete _createDict[PROTOTYPE][enumBugKeys[i]];
33718  }return _createDict();
33719};
33720
33721module.exports = Object.create || function create(O, Properties) {
33722  var result;
33723  if (O !== null) {
33724    Empty[PROTOTYPE] = anObject(O);
33725    result = new Empty();
33726    Empty[PROTOTYPE] = null;
33727    // add "__proto__" for Object.getPrototypeOf polyfill
33728    result[IE_PROTO] = O;
33729  } else result = _createDict();
33730  return Properties === undefined ? result : dPs(result, Properties);
33731};
33732
33733/***/ }),
33734/* 242 */
33735/***/ (function(module, exports, __webpack_require__) {
33736
33737"use strict";
33738
33739
33740var dP = __webpack_require__(18);
33741var anObject = __webpack_require__(26);
33742var getKeys = __webpack_require__(245);
33743
33744module.exports = __webpack_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {
33745  anObject(O);
33746  var keys = getKeys(Properties);
33747  var length = keys.length;
33748  var i = 0;
33749  var P;
33750  while (length > i) {
33751    dP.f(O, P = keys[i++], Properties[P]);
33752  }return O;
33753};
33754
33755/***/ }),
33756/* 243 */
33757/***/ (function(module, exports, __webpack_require__) {
33758
33759"use strict";
33760
33761
33762// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
33763var has = __webpack_require__(29);
33764var toObject = __webpack_require__(7);
33765var IE_PROTO = __webpack_require__(42)('IE_PROTO');
33766var ObjectProto = Object.prototype;
33767
33768module.exports = Object.getPrototypeOf || function (O) {
33769  O = toObject(O);
33770  if (has(O, IE_PROTO)) return O[IE_PROTO];
33771  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
33772    return O.constructor.prototype;
33773  }return O instanceof Object ? ObjectProto : null;
33774};
33775
33776/***/ }),
33777/* 244 */
33778/***/ (function(module, exports, __webpack_require__) {
33779
33780"use strict";
33781
33782
33783var has = __webpack_require__(29);
33784var toIObject = __webpack_require__(20);
33785var arrayIndexOf = __webpack_require__(37)(false);
33786var IE_PROTO = __webpack_require__(42)('IE_PROTO');
33787
33788module.exports = function (object, names) {
33789  var O = toIObject(object);
33790  var i = 0;
33791  var result = [];
33792  var key;
33793  for (key in O) {
33794    if (key != IE_PROTO) has(O, key) && result.push(key);
33795  } // Don't enum bug & hidden keys
33796  while (names.length > i) {
33797    if (has(O, key = names[i++])) {
33798      ~arrayIndexOf(result, key) || result.push(key);
33799    }
33800  }return result;
33801};
33802
33803/***/ }),
33804/* 245 */
33805/***/ (function(module, exports, __webpack_require__) {
33806
33807"use strict";
33808
33809
33810// 19.1.2.14 / 15.2.3.14 Object.keys(O)
33811var $keys = __webpack_require__(244);
33812var enumBugKeys = __webpack_require__(50);
33813
33814module.exports = Object.keys || function keys(O) {
33815  return $keys(O, enumBugKeys);
33816};
33817
33818/***/ }),
33819/* 246 */
33820/***/ (function(module, exports, __webpack_require__) {
33821
33822"use strict";
33823
33824
33825var global = __webpack_require__(10);
33826var dP = __webpack_require__(18);
33827var DESCRIPTORS = __webpack_require__(15);
33828var SPECIES = __webpack_require__(5)('species');
33829
33830module.exports = function (KEY) {
33831  var C = global[KEY];
33832  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
33833    configurable: true,
33834    get: function get() {
33835      return this;
33836    }
33837  });
33838};
33839
33840/***/ }),
33841/* 247 */
33842/***/ (function(module, exports, __webpack_require__) {
33843
33844"use strict";
33845
33846
33847var toInteger = __webpack_require__(19);
33848var defined = __webpack_require__(39);
33849// true  -> String#at
33850// false ->
vendor: 13,392 bytes, lines 33850-34310
33850 String#codePointAt
33851module.exports = function (TO_STRING) {
33852  return function (that, pos) {
33853    var s = String(defined(that));
33854    var i = toInteger(pos);
33855    var l = s.length;
33856    var a, b;
33857    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
33858    a = s.charCodeAt(i);
33859    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
33860  };
33861};
33862
33863/***/ }),
33864/* 248 */
33865/***/ (function(module, exports, __webpack_require__) {
33866
33867"use strict";
33868
33869
33870// 7.1.1 ToPrimitive(input [, PreferredType])
33871var isObject = __webpack_require__(17);
33872// instead of the ES6 spec version, we didn't implement @@toPrimitive case
33873// and the second argument - flag - preferred type is a string
33874module.exports = function (it, S) {
33875  if (!isObject(it)) return it;
33876  var fn, val;
33877  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
33878  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
33879  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
33880  throw TypeError("Can't convert object to primitive value");
33881};
33882
33883/***/ }),
33884/* 249 */
33885/***/ (function(module, exports, __webpack_require__) {
33886
33887"use strict";
33888
33889
33890var classof = __webpack_require__(233);
33891var ITERATOR = __webpack_require__(5)('iterator');
33892var Iterators = __webpack_require__(31);
33893module.exports = __webpack_require__(14).getIteratorMethod = function (it) {
33894  if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
33895};
33896
33897/***/ }),
33898/* 250 */
33899/***/ (function(module, exports, __webpack_require__) {
33900
33901"use strict";
33902
33903
33904// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
33905var $export = __webpack_require__(2);
33906
33907$export($export.P, 'Array', { copyWithin: __webpack_require__(230) });
33908
33909__webpack_require__(8)('copyWithin');
33910
33911/***/ }),
33912/* 251 */
33913/***/ (function(module, exports, __webpack_require__) {
33914
33915"use strict";
33916
33917
33918var $export = __webpack_require__(2);
33919var $every = __webpack_require__(9)(4);
33920
33921$export($export.P + $export.F * !__webpack_require__(3)([].every, true), 'Array', {
33922  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
33923  every: function every(callbackfn /* , thisArg */) {
33924    return $every(this, callbackfn, arguments[1]);
33925  }
33926});
33927
33928/***/ }),
33929/* 252 */
33930/***/ (function(module, exports, __webpack_require__) {
33931
33932"use strict";
33933
33934
33935// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
33936var $export = __webpack_require__(2);
33937
33938$export($export.P, 'Array', { fill: __webpack_require__(231) });
33939
33940__webpack_require__(8)('fill');
33941
33942/***/ }),
33943/* 253 */
33944/***/ (function(module, exports, __webpack_require__) {
33945
33946"use strict";
33947
33948
33949var $export = __webpack_require__(2);
33950var $filter = __webpack_require__(9)(2);
33951
33952$export($export.P + $export.F * !__webpack_require__(3)([].filter, true), 'Array', {
33953  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
33954  filter: function filter(callbackfn /* , thisArg */) {
33955    return $filter(this, callbackfn, arguments[1]);
33956  }
33957});
33958
33959/***/ }),
33960/* 254 */
33961/***/ (function(module, exports, __webpack_require__) {
33962
33963"use strict";
33964
33965// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
33966
33967var $export = __webpack_require__(2);
33968var $find = __webpack_require__(9)(6);
33969var KEY = 'findIndex';
33970var forced = true;
33971// Shouldn't skip holes
33972if (KEY in []) Array(1)[KEY](function () {
33973  forced = false;
33974});
33975$export($export.P + $export.F * forced, 'Array', {
33976  findIndex: function findIndex(callbackfn /* , that = undefined */) {
33977    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
33978  }
33979});
33980__webpack_require__(8)(KEY);
33981
33982/***/ }),
33983/* 255 */
33984/***/ (function(module, exports, __webpack_require__) {
33985
33986"use strict";
33987
33988// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
33989
33990var $export = __webpack_require__(2);
33991var $find = __webpack_require__(9)(5);
33992var KEY = 'find';
33993var forced = true;
33994// Shouldn't skip holes
33995if (KEY in []) Array(1)[KEY](function () {
33996  forced = false;
33997});
33998$export($export.P + $export.F * forced, 'Array', {
33999  find: function find(callbackfn /* , that = undefined */) {
34000    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
34001  }
34002});
34003__webpack_require__(8)(KEY);
34004
34005/***/ }),
34006/* 256 */
34007/***/ (function(module, exports, __webpack_require__) {
34008
34009"use strict";
34010
34011
34012var $export = __webpack_require__(2);
34013var $forEach = __webpack_require__(9)(0);
34014var STRICT = __webpack_require__(3)([].forEach, true);
34015
34016$export($export.P + $export.F * !STRICT, 'Array', {
34017  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
34018  forEach: function forEach(callbackfn /* , thisArg */) {
34019    return $forEach(this, callbackfn, arguments[1]);
34020  }
34021});
34022
34023/***/ }),
34024/* 257 */
34025/***/ (function(module, exports, __webpack_require__) {
34026
34027"use strict";
34028
34029
34030var ctx = __webpack_require__(28);
34031var $export = __webpack_require__(2);
34032var toObject = __webpack_require__(7);
34033var call = __webpack_require__(236);
34034var isArrayIter = __webpack_require__(235);
34035var toLength = __webpack_require__(4);
34036var createProperty = __webpack_require__(48);
34037var getIterFn = __webpack_require__(249);
34038
34039$export($export.S + $export.F * !__webpack_require__(238)(function (iter) {
34040  Array.from(iter);
34041}), 'Array', {
34042  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
34043  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
34044    var O = toObject(arrayLike);
34045    var C = typeof this == 'function' ? this : Array;
34046    var aLen = arguments.length;
34047    var mapfn = aLen > 1 ? arguments[1] : undefined;
34048    var mapping = mapfn !== undefined;
34049    var index = 0;
34050    var iterFn = getIterFn(O);
34051    var length, result, step, iterator;
34052    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
34053    // if object isn't iterable or it's array with default iterator - use simple case
34054    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
34055      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
34056        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
34057      }
34058    } else {
34059      length = toLength(O.length);
34060      for (result = new C(length); length > index; index++) {
34061        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
34062      }
34063    }
34064    result.length = index;
34065    return result;
34066  }
34067});
34068
34069/***/ }),
34070/* 258 */
34071/***/ (function(module, exports, __webpack_require__) {
34072
34073"use strict";
34074
34075
34076var $export = __webpack_require__(2);
34077var $indexOf = __webpack_require__(37)(false);
34078var $native = [].indexOf;
34079var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
34080
34081$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(3)($native)), 'Array', {
34082  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
34083  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
34084    return NEGATIVE_ZERO
34085    // convert -0 to +0
34086    ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]);
34087  }
34088});
34089
34090/***/ }),
34091/* 259 */
34092/***/ (function(module, exports, __webpack_require__) {
34093
34094"use strict";
34095
34096
34097// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
34098var $export = __webpack_require__(2);
34099
34100$export($export.S, 'Array', { isArray: __webpack_require__(40) });
34101
34102/***/ }),
34103/* 260 */
34104/***/ (function(module, exports, __webpack_require__) {
34105
34106"use strict";
34107
34108
34109var addToUnscopables = __webpack_require__(8);
34110var step = __webpack_require__(239);
34111var Iterators = __webpack_require__(31);
34112var toIObject = __webpack_require__(20);
34113
34114// 22.1.3.4 Array.prototype.entries()
34115// 22.1.3.13 Array.prototype.keys()
34116// 22.1.3.29 Array.prototype.values()
34117// 22.1.3.30 Array.prototype[@@iterator]()
34118module.exports = __webpack_require__(53)(Array, 'Array', function (iterated, kind) {
34119  this._t = toIObject(iterated); // target
34120  this._i = 0; // next index
34121  this._k = kind; // kind
34122  // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
34123}, function () {
34124  var O = this._t;
34125  var kind = this._k;
34126  var index = this._i++;
34127  if (!O || index >= O.length) {
34128    this._t = undefined;
34129    return step(1);
34130  }
34131  if (kind == 'keys') return step(0, index);
34132  if (kind == 'values') return step(0, O[index]);
34133  return step(0, [index, O[index]]);
34134}, 'values');
34135
34136// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
34137Iterators.Arguments = Iterators.Array;
34138
34139addToUnscopables('keys');
34140addToUnscopables('values');
34141addToUnscopables('entries');
34142
34143/***/ }),
34144/* 261 */
34145/***/ (function(module, exports, __webpack_require__) {
34146
34147"use strict";
34148
34149// 22.1.3.13 Array.prototype.join(separator)
34150
34151var $export = __webpack_require__(2);
34152var toIObject = __webpack_require__(20);
34153var arrayJoin = [].join;
34154
34155// fallback for not array-like strings
34156$export($export.P + $export.F * (__webpack_require__(30) != Object || !__webpack_require__(3)(arrayJoin)), 'Array', {
34157  join: function join(separator) {
34158    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
34159  }
34160});
34161
34162/***/ }),
34163/* 262 */
34164/***/ (function(module, exports, __webpack_require__) {
34165
34166"use strict";
34167
34168
34169var $export = __webpack_require__(2);
34170var toIObject = __webpack_require__(20);
34171var toInteger = __webpack_require__(19);
34172var toLength = __webpack_require__(4);
34173var $native = [].lastIndexOf;
34174var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
34175
34176$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(3)($native)), 'Array', {
34177  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
34178  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
34179    // convert -0 to +0
34180    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
34181    var O = toIObject(this);
34182    var length = toLength(O.length);
34183    var index = length - 1;
34184    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
34185    if (index < 0) index = length + index;
34186    for (; index >= 0; index--) {
34187      if (index in O) if (O[index] === searchElement) return index || 0;
34188    }return -1;
34189  }
34190});
34191
34192/***/ }),
34193/* 263 */
34194/***/ (function(module, exports, __webpack_require__) {
34195
34196"use strict";
34197
34198
34199var $export = __webpack_require__(2);
34200var $map = __webpack_require__(9)(1);
34201
34202$export($export.P + $export.F * !__webpack_require__(3)([].map, true), 'Array', {
34203  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
34204  map: function map(callbackfn /* , thisArg */) {
34205    return $map(this, callbackfn, arguments[1]);
34206  }
34207});
34208
34209/***/ }),
34210/* 264 */
34211/***/ (function(module, exports, __webpack_require__) {
34212
34213"use strict";
34214
34215
34216var $export = __webpack_require__(2);
34217var createProperty = __webpack_require__(48);
34218
34219// WebKit Array.of isn't generic
34220$export($export.S + $export.F * __webpack_require__(12)(function () {
34221  function F() {/* empty */}
34222  return !(Array.of.call(F) instanceof F);
34223}), 'Array', {
34224  // 22.1.2.3 Array.of( ...items)
34225  of: function of() /* ...args */{
34226    var index = 0;
34227    var aLen = arguments.length;
34228    var result = new (typeof this == 'function' ? this : Array)(aLen);
34229    while (aLen > index) {
34230      createProperty(result, index, arguments[index++]);
34231    }result.length = aLen;
34232    return result;
34233  }
34234});
34235
34236/***/ }),
34237/* 265 */
34238/***/ (function(module, exports, __webpack_require__) {
34239
34240"use strict";
34241
34242
34243var $export = __webpack_require__(2);
34244var $reduce = __webpack_require__(47);
34245
34246$export($export.P + $export.F * !__webpack_require__(3)([].reduceRight, true), 'Array', {
34247  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
34248  reduceRight: function reduceRight(callbackfn /* , initialValue */) {
34249    return $reduce(this, callbackfn, arguments.length, arguments[1], true);
34250  }
34251});
34252
34253/***/ }),
34254/* 266 */
34255/***/ (function(module, exports, __webpack_require__) {
34256
34257"use strict";
34258
34259
34260var $export = __webpack_require__(2);
34261var $reduce = __webpack_require__(47);
34262
34263$export($export.P + $export.F * !__webpack_require__(3)([].reduce, true), 'Array', {
34264  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
34265  reduce: function reduce(callbackfn /* , initialValue */) {
34266    return $reduce(this, callbackfn, arguments.length, arguments[1], false);
34267  }
34268});
34269
34270/***/ }),
34271/* 267 */
34272/***/ (function(module, exports, __webpack_require__) {
34273
34274"use strict";
34275
34276
34277var $export = __webpack_require__(2);
34278var html = __webpack_require__(52);
34279var cof = __webpack_require__(27);
34280var toAbsoluteIndex = __webpack_require__(32);
34281var toLength = __webpack_require__(4);
34282var arraySlice = [].slice;
34283
34284// fallback for not array-like ES3 strings and DOM objects
34285$export($export.P + $export.F * __webpack_require__(12)(function () {
34286  if (html) arraySlice.call(html);
34287}), 'Array', {
34288  slice: function slice(begin, end) {
34289    var len = toLength(this.length);
34290    var klass = cof(this);
34291    end = end === undefined ? len : end;
34292    if (klass == 'Array') return arraySlice.call(this, begin, end);
34293    var start = toAbsoluteIndex(begin, len);
34294    var upTo = toAbsoluteIndex(end, len);
34295    var size = toLength(upTo - start);
34296    var cloned = new Array(size);
34297    var i = 0;
34298    for (; i < size; i++) {
34299      cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i];
34300    }return cloned;
34301  }
34302});
34303
34304/***/ }),
34305/* 268 */
34306/***/ (function(module, exports, __webpack_require__) {
34307
34308"use strict";
34309
34310
vendor: 4,237 bytes, lines 34311-34475
34311var $export = __webpack_require__(2);
34312var $some = __webpack_require__(9)(3);
34313
34314$export($export.P + $export.F * !__webpack_require__(3)([].some, true), 'Array', {
34315  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
34316  some: function some(callbackfn /* , thisArg */) {
34317    return $some(this, callbackfn, arguments[1]);
34318  }
34319});
34320
34321/***/ }),
34322/* 269 */
34323/***/ (function(module, exports, __webpack_require__) {
34324
34325"use strict";
34326
34327
34328var $export = __webpack_require__(2);
34329var aFunction = __webpack_require__(25);
34330var toObject = __webpack_require__(7);
34331var fails = __webpack_require__(12);
34332var $sort = [].sort;
34333var test = [1, 2, 3];
34334
34335$export($export.P + $export.F * (fails(function () {
34336  // IE8-
34337  test.sort(undefined);
34338}) || !fails(function () {
34339  // V8 bug
34340  test.sort(null);
34341  // Old WebKit
34342}) || !__webpack_require__(3)($sort)), 'Array', {
34343  // 22.1.3.25 Array.prototype.sort(comparefn)
34344  sort: function sort(comparefn) {
34345    return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn));
34346  }
34347});
34348
34349/***/ }),
34350/* 270 */
34351/***/ (function(module, exports, __webpack_require__) {
34352
34353"use strict";
34354
34355
34356__webpack_require__(246)('Array');
34357
34358/***/ }),
34359/* 271 */
34360/***/ (function(module, exports, __webpack_require__) {
34361
34362"use strict";
34363
34364
34365var $at = __webpack_require__(247)(true);
34366
34367// 21.1.3.27 String.prototype[@@iterator]()
34368__webpack_require__(53)(String, 'String', function (iterated) {
34369  this._t = String(iterated); // target
34370  this._i = 0; // next index
34371  // 21.1.5.2.1 %StringIteratorPrototype%.next()
34372}, function () {
34373  var O = this._t;
34374  var index = this._i;
34375  var point;
34376  if (index >= O.length) return { value: undefined, done: true };
34377  point = $at(O, index);
34378  this._i += point.length;
34379  return { value: point, done: false };
34380});
34381
34382/***/ }),
34383/* 272 */
34384/***/ (function(module, exports, __webpack_require__) {
34385
34386"use strict";
34387
34388// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
34389
34390var $export = __webpack_require__(2);
34391var flattenIntoArray = __webpack_require__(51);
34392var toObject = __webpack_require__(7);
34393var toLength = __webpack_require__(4);
34394var aFunction = __webpack_require__(25);
34395var arraySpeciesCreate = __webpack_require__(38);
34396
34397$export($export.P, 'Array', {
34398  flatMap: function flatMap(callbackfn /* , thisArg */) {
34399    var O = toObject(this);
34400    var sourceLen, A;
34401    aFunction(callbackfn);
34402    sourceLen = toLength(O.length);
34403    A = arraySpeciesCreate(O, 0);
34404    flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);
34405    return A;
34406  }
34407});
34408
34409__webpack_require__(8)('flatMap');
34410
34411/***/ }),
34412/* 273 */
34413/***/ (function(module, exports, __webpack_require__) {
34414
34415"use strict";
34416
34417// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten
34418
34419var $export = __webpack_require__(2);
34420var flattenIntoArray = __webpack_require__(51);
34421var toObject = __webpack_require__(7);
34422var toLength = __webpack_require__(4);
34423var toInteger = __webpack_require__(19);
34424var arraySpeciesCreate = __webpack_require__(38);
34425
34426$export($export.P, 'Array', {
34427  flatten: function flatten() /* depthArg = 1 */{
34428    var depthArg = arguments[0];
34429    var O = toObject(this);
34430    var sourceLen = toLength(O.length);
34431    var A = arraySpeciesCreate(O, 0);
34432    flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
34433    return A;
34434  }
34435});
34436
34437__webpack_require__(8)('flatten');
34438
34439/***/ }),
34440/* 274 */
34441/***/ (function(module, exports, __webpack_require__) {
34442
34443"use strict";
34444
34445// https://github.com/tc39/Array.prototype.includes
34446
34447var $export = __webpack_require__(2);
34448var $includes = __webpack_require__(37)(true);
34449
34450$export($export.P, 'Array', {
34451  includes: function includes(el /* , fromIndex = 0 */) {
34452    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
34453  }
34454});
34455
34456__webpack_require__(8)('includes');
34457
34458/***/ }),
34459/* 275 */
34460/***/ (function(module, exports, __webpack_require__) {
34461
34462"use strict";
34463
34464
34465var DOCUMENT_NODE_TYPE = 9;
34466
34467/**
34468 * A polyfill for Element.matches()
34469 */
34470if (typeof Element !== 'undefined' && !Element.prototype.matches) {
34471    var proto = Element.prototype;
34472
34473    proto.matches = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector;
34474}
34475
34476/**
34477 * Finds the closest parent that matches a selector.
34478 *
34479 * @param {Element} element
34480 * @param {String} selector
34481 * @return {Function}
34482 */
34483function closest(element, selector) {
34484    while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {
34485        if (typeof element.matches === 'function' && element.matches(selector)) {
34486            return element;
34487        }
34488        element = element.parentNode;
34489    }
34490}
34491
34492module.exports = closest;
34493
34494/***/ }),
34495/* 276 */
34496/***/ (function(module, exports, __webpack_require__) {
34497
34498"use strict";
34499
34500
34501var closest = __webpack_require__(275);
34502
34503/**
34504 * Delegates event to a selector.
34505 *
34506 * @param {Element} element
34507 * @param {String} selector
34508 * @param {String} type
34509 * @param {Function} callback
34510 * @param {Boolean} useCapture
34511 * @return {Object}
34512 */
34513function _delegate(element, selector, type, callback, useCapture) {
34514    var listenerFn = listener.apply(this, arguments);
34515
34516    element.addEventListener(type, listenerFn, useCapture);
34517
34518    return {
34519        destroy: function destroy() {
34520            element.removeEventListener(type, listenerFn, useCapture);
34521        }
34522    };
34523}
34524
34525/**
34526 * Delegates event to a selector.
34527 *
34528 * @param {Element|String|Array} [elements]
34529 * @param {String} selector
34530 * @param {String} type
34531 * @param {Function} callback
34532 * @param {Boolean} useCapture
34533 * @return {Object}
34534 */
34535function delegate(elements, selector, type, callback, useCapture) {
34536    // Handle the regular Element usage
34537    if (typeof elements.addEventListener === 'function') {
34538        return _delegate.apply(null, arguments);
34539    }
34540
34541    // Handle Element-less usage, it defaults to global delegation
34542    if (typeof type === 'function') {
34543        // Use `document` as the first parameter, then apply arguments
34544        // This is a short way to .unshift `arguments` without running into deoptimizations
34545        return _delegate.bind(null, document).apply(null, arguments);
34546    }
34547
34548    // Handle Selector-based usage
34549    if (typeof elements === 'string') {
34550        elements = document.querySelectorAll(elements);
34551    }
34552
34553    // Handle Array-like based usage
34554    return Array.prototype.map.call(elements, function (element) {
34555        return _delegate(element, selector, type, callback, useCapture);
34556    });
34557}
34558
34559/**
34560 * Finds closest match and invokes callback.
34561 *
34562 * @param {Element} element
34563 * @param {String} selector
34564 * @param {String} type
34565 * @param {Function} callback
34566 * @return {Function}
34567 */
34568function listener(element, selector, type, callback) {
34569    return function (e) {
34570        e.delegateTarget = closest(e.target, selector);
34571
34572        if (e.delegateTarget) {
34573            callback.call(element, e);
34574        }
34575    };
34576}
34577
34578module.exports = delegate;
34579
34580/***/ }),
34581/* 277 */
34582/***/ (function(module, exports, __webpack_require__) {
34583
34584"use strict";
34585
34586
34587Object.defineProperty(exports, "__esModule", {
34588  value: true
34589});
34590exports.Foundation = undefined;
34591
34592var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
34593
34594var _jquery = __webpack_require__(1);
34595
34596var _jquery2 = _interopRequireDefault(_jquery);
34597
34598var _foundationUtil = __webpack_require__(6);
34599
34600var _foundationUtil2 = __webpack_require__(22);
34601
34602function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34603
34604var FOUNDATION_VERSION = '6.4.4-rc1';
34605
34606// Global Foundation object
34607// This is attached to the window, or used as a module for AMD/Browserify
34608var Foundation = {
34609  version: FOUNDATION_VERSION,
34610
34611  /**
34612   * Stores initialized plugins.
34613   */
34614  _plugins: {},
34615
34616  /**
34617   * Stores generated unique ids for plugin instances
34618   */
34619  _uuids: [],
34620
34621  /**
34622   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
34623   * @param {Object} plugin - The constructor of the plugin.
34624   */
34625  plugin: function plugin(_plugin, name) {
34626    // Object key to use when adding to global Foundation object
34627    // Examples: Foundation.Reveal, Foundation.OffCanvas
34628    var className = name || functionName(_plugin);
34629    // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
34630    // Examples: data-reveal, data-off-canvas
34631    var attrName = hyphenate(className);
34632
34633    // Add to the Foundation object and the plugins list (for reflowing)
34634    this._plugins[attrName] = this[className] = _plugin;
34635  },
34636  /**
34637   * @function
34638   * Populates the _uuids array with pointers to each individual plugin instance.
34639   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
34640   * Also fires the initialization event for each plugin, consolidating repetitive code.
34641   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
34642   * @param {String} name - the name of the plugin, passed as a camelCased string.
34643   * @fires Plugin#init
34644   */
34645  registerPlugin: function registerPlugin(plugin, name) {
34646    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
34647    plugin.uuid = (0, _foundationUtil.GetYoDigits)(6, pluginName);
34648
34649    if (!plugin.$element.attr('data-' + pluginName)) {
34650      plugin.$element.attr('data-' + pluginName, plugin.uuid);
34651    }
34652    if (!plugin.$element.data('zfPlugin')) {
34653      plugin.$element.data('zfPlugin', plugin);
34654    }
34655    /**
34656     * Fires when the plugin has initialized.
34657     * @event Plugin#init
34658     */
34659    plugin.$element.trigger('init.zf.' + pluginName);
34660
34661    this._uuids.push(plugin.uuid);
34662
34663    return;
34664  },
34665  /**
34666   * @function
34667   * Removes the plugins uuid from the _uuids array.
34668   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
34669   * Also fires the destroyed event for the plugin, consolidating repetitive code.
34670   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
34671   * @fires Plugin#destroyed
34672   */
34673  unregisterPlugin: function unregisterPlugin(plugin) {
34674    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
34675
34676    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
34677    plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')
34678    /**
34679     * Fires when the plugin has been destroyed.
34680     * @event Plugin#destroyed
34681     */
34682    .trigger('destroyed.zf.' + pluginName);
34683    for (var prop in plugin) {
34684      plugin[prop] = null; //clean up script to prep for garbage collection.
34685    }
34686    return;
34687  },
34688
34689  /**
34690   * @function
34691   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
34692   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
34693   * @default If no argument is passed, reflow all currently active plugins.
34694   */
34695  reInit: function reInit(plugins) {
34696    var isJQ = plugins instanceof _jquery2.default;
34697    try {
34698      if (isJQ) {
34699        plugins.each(function () {
34700          (0, _jquery2.default)(this).data('zfPlugin')._init();
34701        });
34702      } else {
34703        var type = typeof plugins === 'undefined' ? 'undefined' : _typeof(plugins),
34704            _this = this,
34705            fns = {
34706          'object': function object(plgs) {
34707            plgs.forEach(function (p) {
34708              p = hyphenate(p);
34709              (0, _jquery2.default)('[data-' + p + ']').foundation('_init');
34710            });
34711          },
34712          'string': function string() {
34713            plugins = hyphenate(plugins);
34714            (0, _jquery2.default)('[data-' + plugins + ']').foundation('_init');
34715          },
34716          'undefined': function undefined() {
34717            this['object'](Object.keys(_this._plugins));
34718          }
34719        };
34720        fns[type](plugins);
34721      }
34722    } catch (err) {
34723      console.error(err);
34724    } finally {
34725      return plugins;
34726    }
34727  },
34728
34729  /**
34730   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
34731   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
34732   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
34733   */
34734  reflow: function reflow(elem, plugins) {
34735
34736    // If plugins is undefined, just grab everything
34737    if (typeof plugins === 'undefined') {
34738      plugins = Object.keys(this._plugins);
34739    }
34740    // If plugins is a string, convert it to an array with one item
34741    else if (typeof plugins === 'string') {
34742        plugins = [plugins];
34743      }
34744
34745    var _this = this;
34746
34747    // Iterate through each plugin
34748    _jquery2.default.each(plugins, function (i, name) {
34749      // Get the current plugin
34750      var plugin = _this._plugins[name];
34751
34752      // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
34753      var $elem = (0, _jquery2.default)(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');
34754
34755      // For each plugin found, initialize it
34756      $elem.each(function () {
34757        var $el = (0, _jquery2.default)(this),
34758            opts = {};
34759        // Don't double-dip on plugins
34760        if ($el.data('zfPlugin')) {
34761          console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin.");
34762          return;
34763        }
34764
34765        if ($el.attr('data-options')) {
34766          var thing = $el.attr('data-options').split(';').forEach(function (e, i) {
34767            var opt = e.split(':').map(function (el) {
34768              return el.trim();
34769            });
34770            if (opt[0]) opts[opt[0]] = parseValue(opt[1]);
34771          });
34772        }
34773        try {
34774          $el.data('zfPlugin', new plugin((0, _jquery2.default)(this), opts));
34775        } catch (er) {
34776          console.error(er);
34777        } finally {
34778          return;
34779        }
34780      });
34781    });
34782  },
34783  getFnName: functionName,
34784
34785  addToJquery: function addToJquery($) {
34786    // TODO: consider not making this a jQuery function
34787    // TODO: need way to reflow vs. re-initialize
34788    /**
34789     * The Foundation jQuery method.
34790     * @param {String|Array} method - An action to perform on the current jQuery object.
34791     */
34792    var foundation = function foundation(method) {
34793      var type = typeof method === 'undefined' ? 'undefined' : _typeof(method),
34794          $noJS = $('.no-js');
34795
34796      if ($noJS.length) {
34797        $noJS.removeClass('no-js');
34798      }
34799
34800      if (type === 'undefined') {
34801        //needs to initialize the Foundation object, or an individual plugin.
34802        _foundationUtil2.MediaQuery._init();
34803        Foundation.reflow(this);
34804      } else if (type === 'string') {
34805        //an individual method to invoke on a plugin or group of plugins
34806        var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary
34807        var plugClass = this.data('zfPlugin'); //determine the class of plugin
34808
34809        if (plugClass !== undefined && plugClass[method] !== undefined) {
34810          //make sure both the class and method exist
34811          if (this.length === 1) {
34812            //if there's only one, call it directly.
34813            plugClass[method].apply(plugClass, args);
34814          } else {
34815            this.each(function (i, el) {
34816              //otherwise loop through the jQuery collection and invoke the method on each
34817              plugClass[method].apply($(el).data('zfPlugin'), args);
34818            });
34819          }
34820        } else {
34821          //error for no class or no method
34822          throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
34823        }
34824      } else {
34825        //error for invalid argument type
34826        throw new TypeError('We\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');
34827      }
34828      return this;
34829    };
34830    $.fn.foundation = foundation;
34831    return $;
34832  }
34833};
34834
34835Foundation.util = {
34836  /**
34837   * Function for applying a debounce effect to a function call.
34838   * @function
34839   * @param {Function} func - Function to be called at end of timeout.
34840   * @param {Number} delay - Time in ms to delay the call of `func`.
34841   * @returns function
34842   */
34843  throttle: function throttle(func, delay) {
34844    var timer = null;
34845
34846    return function () {
34847      var context = this,
34848          args = arguments;
34849
34850      if (timer === null) {
34851        timer = setTimeout(function () {
34852          func.apply(context, args);
34853          timer = null;
34854        }, delay);
34855      }
34856    };
34857  }
34858};
34859
34860window.Foundation = Foundation;
34861
34862// Polyfill for requestAnimationFrame
34863(function () {
34864  if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {
34865    return new Date().getTime();
34866  };
34867
34868  var vendors = ['webkit', 'moz'];
34869  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
34870    var vp = vendors[i];
34871    window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
34872    window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];
34873  }
34874  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
34875    var lastTime = 0;
34876    window.requestAnimationFrame = function (callback) {
34877      var now = Date.now();
34878      var nextTime = Math.max(lastTime + 16, now);
34879      return setTimeout(function () {
34880        callback(lastTime = nextTime);
34881      }, nextTime - now);
34882    };
34883    window.cancelAnimationFrame = clearTimeout;
34884  }
34885  /**
34886   * Polyfill for performance.now, required by rAF
34887   */
34888  if (!window.performance || !window.performance.now) {
34889    window.performance = {
34890      start: Date.now(),
34891      now: function now() {
34892        return Date.now() - this.start;
34893      }
34894    };
34895  }
34896})();
34897if (!Function.prototype.bind) {
34898  Function.prototype.bind = function (oThis) {
34899    if (typeof this !== 'function') {
34900      // closest thing possible to the ECMAScript 5
34901      // internal IsCallable function
34902      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
34903    }
34904
34905    var aArgs = Array.prototype.slice.call(arguments, 1),
34906        fToBind = this,
34907        fNOP = function fNOP() {},
34908        fBound = function fBound() {
34909      return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
34910    };
34911
34912    if (this.prototype) {
34913      // native functions don't have a prototype
34914      fNOP.prototype = this.prototype;
34915    }
34916    fBound.prototype = new fNOP();
34917
34918    return fBound;
34919  };
34920}
34921// Polyfill to get the name of a function in IE9
34922function functionName(fn) {
34923  if (Function.prototype.name === undefined) {
34924    var funcNameRegex = /function\s([^(]{1,})\(/;
34925    var results = funcNameRegex.exec(fn.toString());
34926    return results && results.length > 1 ? results[1].trim() : "";
34927  } else if (fn.prototype === undefined) {
34928    return fn.constructor.name;
34929  } else {
34930    return fn.prototype.constructor.name;
34931  }
34932}
34933function parseValue(str) {
34934  if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);
34935  return str;
34936}
34937// Convert PascalCase to kebab-case
34938// Thank you: http://stackoverflow.com/a/8955580
34939function hyphenate(str) {
34940  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
34941}
34942
34943exports.Foundation = Foundation;
34944
34945/***/ }),
34946/* 278 */
34947/***/ (function(module, exports, __webpack_require__) {
34948
34949"use strict";
34950
34951
34952Object.defineProperty(exports, "__esModule", {
34953  value: true
34954});
34955exports.Dropdown = undefined;
34956
34957var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
34958
34959var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
34960
34961var _jquery = __webpack_require__(1);
34962
34963var _jquery2 = _interopRequireDefault(_jquery);
34964
34965var _foundationUtil = __webpack_require__(33);
34966
34967var _foundationUtil2 = __webpack_require__(6);
34968
34969var _foundation = __webpack_require__(57);
34970
34971var _foundationUtil3 = __webpack_require__(23);
34972
34973function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34974
34975function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34976
34977function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
34978
34979function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
34979onstructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
34980
34981/**
34982 * Dropdown module.
34983 * @module foundation.dropdown
34984 * @requires foundation.util.keyboard
34985 * @requires foundation.util.box
34986 * @requires foundation.util.triggers
34987 */
34988var Dropdown = function (_Positionable) {
34989  _inherits(Dropdown, _Positionable);
34990
34991  function Dropdown() {
34992    _classCallCheck(this, Dropdown);
34993
34994    return _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).apply(this, arguments));
34995  }
34996
34997  _createClass(Dropdown, [{
34998    key: '_setup',
34999
35000    /**
35001     * Creates a new instance of a dropdown.
35002     * @class
35003     * @name Dropdown
35004     * @param {jQuery} element - jQuery object to make into a dropdown.
35005     *        Object should be of the dropdown panel, rather than its anchor.
35006     * @param {Object} options - Overrides to the default plugin settings.
35007     */
35008    value: function _setup(element, options) {
35009      this.$element = element;
35010      this.options = _jquery2.default.extend({}, Dropdown.defaults, this.$element.data(), options);
35011      this.className = 'Dropdown'; // ie9 back compat
35012
35013      // Triggers init is idempotent, just need to make sure it is initialized
35014      _foundationUtil3.Triggers.init(_jquery2.default);
35015
35016      this._init();
35017
35018      _foundationUtil.Keyboard.register('Dropdown', {
35019        'ENTER': 'open',
35020        'SPACE': 'open',
35021        'ESCAPE': 'close'
35022      });
35023    }
35024
35025    /**
35026     * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
35027     * @function
35028     * @private
35029     */
35030
35031  }, {
35032    key: '_init',
35033    value: function _init() {
35034      var $id = this.$element.attr('id');
35035
35036      this.$anchors = (0, _jquery2.default)('[data-toggle="' + $id + '"]').length ? (0, _jquery2.default)('[data-toggle="' + $id + '"]') : (0, _jquery2.default)('[data-open="' + $id + '"]');
35037      this.$anchors.attr({
35038        'aria-controls': $id,
35039        'data-is-focus': false,
35040        'data-yeti-box': $id,
35041        'aria-haspopup': true,
35042        'aria-expanded': false
35043      });
35044
35045      this._setCurrentAnchor(this.$anchors.first());
35046
35047      if (this.options.parentClass) {
35048        this.$parent = this.$element.parents('.' + this.options.parentClass);
35049      } else {
35050        this.$parent = null;
35051      }
35052
35053      this.$element.attr({
35054        'aria-hidden': 'true',
35055        'data-yeti-box': $id,
35056        'data-resize': $id,
35057        'aria-labelledby': this.$currentAnchor.id || (0, _foundationUtil2.GetYoDigits)(6, 'dd-anchor')
35058      });
35059      _get(Dropdown.prototype.__proto__ || Object.getPrototypeOf(Dropdown.prototype), '_init', this).call(this);
35060      this._events();
35061    }
35062  }, {
35063    key: '_getDefaultPosition',
35064    value: function _getDefaultPosition() {
35065      // handle legacy classnames
35066      var position = this.$element[0].className.match(/(top|left|right|bottom)/g);
35067      if (position) {
35068        return position[0];
35069      } else {
35070        return 'bottom';
35071      }
35072    }
35073  }, {
35074    key: '_getDefaultAlignment',
35075    value: function _getDefaultAlignment() {
35076      // handle legacy float approach
35077      var horizontalPosition = /float-(\S+)/.exec(this.$currentAnchor.className);
35078      if (horizontalPosition) {
35079        return horizontalPosition[1];
35080      }
35081
35082      return _get(Dropdown.prototype.__proto__ || Object.getPrototypeOf(Dropdown.prototype), '_getDefaultAlignment', this).call(this);
35083    }
35084
35085    /**
35086     * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.
35087     * Recursively calls itself if a collision is detected, with a new position class.
35088     * @function
35089     * @private
35090     */
35091
35092  }, {
35093    key: '_setPosition',
35094    value: function _setPosition() {
35095      this.$element.removeClass('has-position-' + this.position + ' has-alignment-' + this.alignment);
35096      _get(Dropdown.prototype.__proto__ || Object.getPrototypeOf(Dropdown.prototype), '_setPosition', this).call(this, this.$currentAnchor, this.$element, this.$parent);
35097      this.$element.addClass('has-position-' + this.position + ' has-alignment-' + this.alignment);
35098    }
35099
35100    /**
35101     * Make it a current anchor.
35102     * Current anchor as the reference for the position of Dropdown panes.
35103     * @param {HTML}
35103 el - DOM element of the anchor.
35104     * @function
35105     * @private
35106     */
35107
35108  }, {
35109    key: '_setCurrentAnchor',
35110    value: function _setCurrentAnchor(el) {
35111      this.$currentAnchor = (0, _jquery2.default)(el);
35112    }
35113
35114    /**
35115     * Adds event listeners to the element utilizing the triggers utility library.
35116     * @function
35117     * @private
35118     */
35119
35120  }, {
35121    key: '_events',
35122    value: function _events() {
35123      var _this = this;
35124      this.$element.on({
35125        'open.zf.trigger': this.open.bind(this),
35126        'close.zf.trigger': this.close.bind(this),
35127        'toggle.zf.trigger': this.toggle.bind(this),
35128        'resizeme.zf.trigger': this._setPosition.bind(this)
35129      });
35130
35131      this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function () {
35132        _this._setCurrentAnchor(this);
35133      });
35134
35135      if (this.options.hover) {
35136        this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
35137          _this._setCurrentAnchor(this);
35138
35139          var bodyData = (0, _jquery2.default)('body').data();
35140          if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') {
35141            clearTimeout(_this.timeout);
35142            _this.timeout = setTimeout(function () {
35143              _this.open();
35144              _this.$anchors.data('hover', true);
35145            }, _this.options.hoverDelay);
35146          }
35147        }).on('mouseleave.zf.dropdown', function () {
35148          clearTimeout(_this.timeout);
35149          _this.timeout = setTimeout(function () {
35150            _this.close();
35151            _this.$anchors.data('hover', false);
35152          }, _this.options.hoverDelay);
35153        });
35154        if (this.options.hoverPane) {
35155          this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
35156            clearTimeout(_this.timeout);
35157          }).on('mouseleave.zf.dropdown', function () {
35158            clearTimeout(_this.timeout);
35159            _this.timeout = setTimeout(function () {
35160              _this.close();
35161              _this.$anchors.data('hover', false);
35162            }, _this.options.hoverDelay);
35163          });
35164        }
35165      }
35166      this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) {
35167
35168        var $target = (0, _jquery2.default)(this),
35169            visibleFocusableElements = _foundationUtil.Keyboard.findFocusable(_this.$element);
35170
35171        _foundationUtil.Keyboard.handleKey(e, 'Dropdown', {
35172          open: function open() {
35173            if ($target.is(_this.$anchors)) {
35174              _this.open();
35175              _this.$element.attr('tabindex', -1).focus();
35176              e.preventDefault();
35177            }
35178          },
35179          close: function close() {
35180            _this.close();
35181            _this.$anchors.focus();
35182          }
35183        });
35184      });
35185    }
35186
35187    /**
35188     * Adds an event handler to the body to close any dropdowns on a click.
35189     * @function
35190     * @private
35191     */
35192
35193  }, {
35194    key: '_addBodyHandler',
35195    value: function _addBodyHandler() {
35196      var $body = (0, _jquery2.default)(document.body).not(this.$element),
35197          _this = this;
35198      $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {
35199        if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {
35200          return;
35201        }
35202        if (_this.$element.is(e.target) || _this.$element.find(e.target).length) {
35203          return;
35204        }
35205        _this.close();
35206        $body.off('click.zf.dropdown');
35207      });
35208    }
35209
35210    /**
35211     * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
35212     * @function
35213     * @fires Dropdown#closeme
35214     * @fires Dropdown#show
35215     */
35216
35217  }, {
35218    key: 'open',
35219    value: function open() {
35220      // var _this = this;
35221      /**
35222       * Fires to close other open dropdowns, typically when dropdown is opening
35223       * @event Dropdown#closeme
35224       */
35225      this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
35226      this.$anchors.addClass('hover').attr({ 'aria-expanded': true });
35227      // this.$element/*.show()*/;
35228
35229      this.$element.addClass('is-opening');
35230      this._setPosition();
35231      this.$element.removeClass('is-opening').addClass('is-open').attr({ 'aria-hidden': false });
35232
35233      if (this.options.autoFocus) {
35234        var $focusable = _foundationUtil.Keyboard.findFocusable(this.$element);
35235        if ($focusable.length) {
35236          $focusable.eq(0).focus();
35237        }
35238      }
35239
35240      if (this.options.closeOnClick) {
35241        this._addBodyHandler();
35242      }
35243
35244      if (this.options.trapFocus) {
35245        _foundationUtil.Keyboard.trapFocus(this.$element);
35246      }
35247
35248      /**
35249       * Fires once the dropdown is visible.
35250       * @event Dropdown#show
35251       */
35252      this.$element.trigger('show.zf.dropdown', [this.$element]);
35253    }
35254
35255    /**
35256     * Closes the open dropdown pane.
35257     * @function
35258     * @fires Dropdown#hide
35259     */
35260
35261  }, {
35262    key: 'close',
35263    value: function close() {
35264      if (!this.$element.hasClass('is-open')) {
35265        return false;
35266      }
35267      this.$element.removeClass('is-open').attr({ 'aria-hidden': true });
35268
35269      this.$anchors.removeClass('hover').attr('aria-expanded', false);
35270
35271      /**
35272       * Fires once the dropdown is no longer visible.
35273       * @event Dropdown#hide
35274       */
35275      this.$element.trigger('hide.zf.dropdown', [this.$element]);
35276
35277      if (this.options.trapFocus) {
35278        _foundationUtil.Keyboard.releaseFocus(this.$element);
35279      }
35280    }
35281
35282    /**
35283     * Toggles the dropdown pane's visibility.
35284     * @function
35285     */
35286
35287  }, {
35288    key: 'toggle',
35289    value: function toggle() {
35290      if (this.$element.hasClass('is-open')) {
35291        if (this.$anchors.data('hover')) return;
35292        this.close();
35293      } else {
35294        this.open();
35295      }
35296    }
35297
35298    /**
35299     * Destroys the dropdown.
35300     * @function
35301     */
35302
35303  }, {
35304    key: '_destroy',
35305    value: function _destroy() {
35306      this.$element.off('.zf.trigger').hide();
35307      this.$anchors.off('.zf.dropdown');
35308      (0, _jquery2.default)(document.body).off('click.zf.dropdown');
35309    }
35310  }]);
35311
35312  return Dropdown;
35313}(_foundation.Positionable);
35314
35315Dropdown.defaults = {
35316  /**
35317   * Class that designates bounding container of Dropdown (default: window)
35318   * @option
35319   * @type {?string}
35320   * @default null
35321   */
35322  parentClass: null,
35323  /**
35324   * Amount of time to delay opening a submenu on hover event.
35325   * @option
35326   * @type {number}
35327   * @default 250
35328   */
35329  hoverDelay: 250,
35330  /**
35331   * Allow submenus to open on hover events
35332   * @option
35333   * @type {boolean}
35334   * @default false
35335   */
35336  hover: false,
35337  /**
35338   * Don't close dropdown when hovering over dropdown pane
35339   * @option
35340   * @type {boolean}
35341   * @default false
35342   */
35343  hoverPane: false,
35344  /**
35345   * Number of pixels between the dropdown pane and the triggering element on open.
35346   * @option
35347   * @type {number}
35348   * @default 0
35349   */
35350  vOffset: 0,
35351  /**
35352   * Number of pixels between the dropdown pane and the triggering element on open.
35353   * @option
35354   * @type {number}
35355   * @default 0
35356   */
35357  hOffset: 0,
35358  /**
35359   * DEPRECATED: Class applied to adjust open position.
35360   * @option
35361   * @type {string}
35362   * @default ''
35363   */
35364  positionClass: '',
35365
35366  /**
35367   * Position of dropdown. Can be left, right, bottom, top, or auto.
35368   * @option
35369   * @type {string}
35370   * @default 'auto'
35371   */
35372  position: 'auto',
35373  /**
35374   * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.
35375   * @option
35376   * @type {string}
35377   * @default 'auto'
35378   */
35379  alignment: 'auto',
35380  /**
35381   * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.
35382   * @option
35383   * @type {boolean}
35384   * @default false
35385   */
35386  allowOverlap: false,
35387  /**
35388   * Allow overlap of only the bottom of the container. This is the most common
35389   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
35390   * screen but not otherwise influence or break out of the container.
35391   * @option
35392   * @type {boolean}
35393   * @default true
35394   */
35395  allowBottomOverlap: true,
35396  /**
35397   * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
35398   * @option
35399   * @type {boolean}
35400   * @default false
35401   */
35402  trapFocus: false,
35403  /**
35404   * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
35405   * @option
35406   * @type {boolean}
35407   * @default false
35408   */
35409  autoFocus: false,
35410  /**
35411   * Allows a click on the body to close the dropdown.
35412   * @option
35413   * @type {boolean}
35414   * @default false
35415   */
35416  closeOnClick: false
35417};
35418
35419exports.Dropdown = Dropdown;
35420
35421/***/ }),
35422/* 279 */
35423/***/ (function(module, exports, __webpack_require__) {
35424
35425"use strict";
35426
35427
35428Object.defineProperty(exports, "__esModule", {
35429  value: true
35430});
35431exports.DropdownMenu = undefined;
35432
35433var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
35434
35435var _jquery = __webpack_require__(1);
35436
35437var _jquery2 = _interopRequireDefault(_jquery);
35438
35439var _foundationUtil = __webpack_require__(33);
35440
35441var _foundationUtil2 = __webpack_require__(285);
35442
35443var _foundationUtil3 = __webpack_require__(58);
35444
35445var _foundationUtil4 = __webpack_require__(6);
35446
35447var _foundation = __webpack_require__(21);
35448
35449function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35450
35451function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35452
35453function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
35454
35455function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
35455onstructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
35456
35457/**
35458 * DropdownMenu module.
35459 * @module foundation.dropdown-menu
35460 * @requires foundation.util.keyboard
35461 * @requires foundation.util.box
35462 * @requires foundation.util.nest
35463 */
35464
35465var DropdownMenu = function (_Plugin) {
35466  _inherits(DropdownMenu, _Plugin);
35467
35468  function DropdownMenu() {
35469    _classCallCheck(this, DropdownMenu);
35470
35471    return _possibleConstructorReturn(this, (DropdownMenu.__proto__ || Object.getPrototypeOf(DropdownMenu)).apply(this, arguments));
35472  }
35473
35474  _createClass(DropdownMenu, [{
35475    key: '_setup',
35476
35477    /**
35478     * Creates a new instance of DropdownMenu.
35479     * @class
35480     * @name DropdownMenu
35481     * @fires DropdownMenu#init
35482     * @param {jQuery} element - jQuery object to make into a dropdown menu.
35483     * @param {Object} options - Overrides to the default plugin settings.
35484     */
35485    value: function _setup(element, options) {
35486      this.$element = element;
35487      this.options = _jquery2.default.extend({}, DropdownMenu.defaults, this.$element.data(), options);
35488      this.className = 'DropdownMenu'; // ie9 back compat
35489
35490      this._init();
35491
35492      _foundationUtil.Keyboard.register('DropdownMenu', {
35493        'ENTER': 'open',
35494        'SPACE': 'open',
35495        'ARROW_RIGHT': 'next',
35496        'ARROW_UP': 'up',
35497        'ARROW_DOWN': 'down',
35498        'ARROW_LEFT': 'previous',
35499        'ESCAPE': 'close'
35500      });
35501    }
35502
35503    /**
35504     * Initializes the plugin, and calls _prepareMenu
35505     * @private
35506     * @function
35507     */
35508
35509  }, {
35510    key: '_init',
35511    value: function _init() {
35512      _foundationUtil2.Nest.Feather(this.$element, 'dropdown');
35513
35514      var subs = this.$element.find('li.is-dropdown-submenu-parent');
35515      this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
35516
35517      this.$menuItems = this.$element.find('[role="menuitem"]');
35518      this.$tabs = this.$element.children('[role="menuitem"]');
35519      this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
35520
35521      if (this.options.alignment === 'auto') {
35522        if (this.$element.hasClass(this.options.rightClass) || (0, _foundationUtil4.rtl)() || this.$element.parents('.top-bar-right').is('*')) {
35523          this.options.alignment = 'right';
35524          subs.addClass('opens-left');
35525        } else {
35526          this.options.alignment = 'left';
35527          subs.addClass('opens-right');
35528        }
35529      } else {
35530        if (this.options.alignment === 'right') {
35531          subs.addClass('opens-left');
35532        } else {
35533          subs.addClass('opens-right');
35534        }
35535      }
35536      this.changed = false;
35537      this._events();
35538    }
35539  }, {
35540    key: '_isVertical',
35541    value: function _isVertical() {
35542      return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column';
35543    }
35544  }, {
35545    key: '_isRtl',
35546    value: function _isRtl() {
35547      return this.$element.hasClass('align-right') || (0, _foundationUtil4.rtl)() && !this.$element.hasClass('align-left');
35548    }
35549
35550    /**
35551     * Adds event listeners to elements within the menu
35552     * @private
35553     * @function
35554     */
35555
35556  }, {
35557    key: '_events',
35558    value: function _events() {
35559      var _this = this,
35560          hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',
35561          parClass = 'is-dropdown-submenu-parent';
35562
35563      // used for onClick and in the keyboard handlers
35564      var handleClickFn = function handleClickFn(e) {
35565        var $elem = (0, _jquery2.default)(e.target).parentsUntil('ul', '.' + parClass),
35566            hasSub = $elem.hasClass(parClass),
35567            hasClicked = $elem.attr('data-is-click') === 'true',
35568            $sub = $elem.children('.is-dropdown-submenu');
35569
35570        if (hasSub) {
35571          if (hasClicked) {
35572            if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {
35573              return;
35574            } else {
35575              e.stopImmediatePropagation();
35576              e.preventDefault();
35577              _this._hide($elem);
35578            }
35579          } else {
35580            e.preventDefault();
35581            e.stopImmediatePropagation();
35582            _this._show($sub);
35583            $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);
35584          }
35585        }
35586      };
35587
35588      if (this.options.clickOpen || hasTouch) {
35589        this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClick
35589Fn);
35590      }
35591
35592      // Handle Leaf element Clicks
35593      if (_this.options.closeOnClickInside) {
35594        this.$menuItems.on('click.zf.dropdownmenu', function (e) {
35595          var $elem = (0, _jquery2.default)(this),
35596              hasSub = $elem.hasClass(parClass);
35597          if (!hasSub) {
35598            _this._hide();
35599          }
35600        });
35601      }
35602
35603      if (!this.options.disableHover) {
35604        this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {
35605          var $elem = (0, _jquery2.default)(this),
35606              hasSub = $elem.hasClass(parClass);
35607
35608          if (hasSub) {
35609            clearTimeout($elem.data('_delay'));
35610            $elem.data('_delay', setTimeout(function () {
35611              _this._show($elem.children('.is-dropdown-submenu'));
35612            }, _this.options.hoverDelay));
35613          }
35614        }).on('mouseleave.zf.dropdownmenu', function (e) {
35615          var $elem = (0, _jquery2.default)(this),
35616              hasSub = $elem.hasClass(parClass);
35617          if (hasSub && _this.options.autoclose) {
35618            if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {
35619              return false;
35620            }
35621
35622            clearTimeout($elem.data('_delay'));
35623            $elem.data('_delay', setTimeout(function () {
35624              _this._hide($elem);
35625            }, _this.options.closingTime));
35626          }
35627        });
35628      }
35629      this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {
35630        var $element = (0, _jquery2.default)(e.target).parentsUntil('ul', '[role="menuitem"]'),
35631            isTab = _this.$tabs.index($element) > -1,
35632            $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
35633            $prevElement,
35634            $nextElement;
35635
35636        $elements.each(function (i) {
35637          if ((0, _jquery2.default)(this).is($element)) {
35638            $prevElement = $elements.eq(i - 1);
35639            $nextElement = $elements.eq(i + 1);
35640            return;
35641          }
35642        });
35643
35644        var nextSibling = function nextSibling() {
35645          $nextElement.children('a:first').focus();
35646          e.preventDefault();
35647        },
35648            prevSibling = function prevSibling() {
35649          $prevElement.children('a:first').focus();
35650          e.preventDefault();
35651        },
35652            openSub = function openSub() {
35653          var $sub = $element.children('ul.is-dropdown-submenu');
35654          if ($sub.length) {
35655            _this._show($sub);
35656            $element.find('li > a:first').focus();
35657            e.preventDefault();
35658          } else {
35659            return;
35660          }
35661        },
35662            closeSub = function closeSub() {
35663          //if ($element.is(':first-child')) {
35664          var close = $element.parent('ul').parent('li');
35665          close.children('a:first').focus();
35666          _this._hide(close);
35667          e.preventDefault();
35668          //}
35669        };
35670        var functions = {
35671          open: openSub,
35672          close: function close() {
35673            _this._hide(_this.$element);
35674            _this.$menuItems.eq(0).children('a').focus(); // focus to first element
35675            e.preventDefault();
35676          },
35677          handled: function handled() {
35678            e.stopImmediatePropagation();
35679          }
35680        };
35681
35682        if (isTab) {
35683          if (_this._isVertical()) {
35684            // vertical menu
35685            if (_this._isRtl()) {
35686              // right aligned
35687              _jquery2.default.extend(functions, {
35688                down: nextSibling,
35689                up: prevSibling,
35690                next: closeSub,
35691                previous: openSub
35692              });
35693            } else {
35694              // left aligned
35695              _jquery2.default.extend(functions, {
35696                down: nextSibling,
35697                up: prevSibling,
35698                next: openSub,
35699                previous: closeSub
35700              });
35701            }
35702          } else {
35703            // horizontal menu
35704            if (_this._isRtl()) {
35705              // right aligned
35706              _jquery2.default.extend(functions, {
35707                next: prevSibling,
35708                previous: nextSibling,
35709                down: openSub,
35710                up: closeSub
35711              });
35712            } else {
35713              // left aligned
35714              _jquery2.default.extend(functions, {
35715                next: nextSibling,
35716                previous: prevSibling,
35717                down: openSub,
35718                up: closeSub
35719              });
35720            }
35721          }
35722        } else {
35723          // not tabs -> one sub
35724          if (_this._isRtl()) {
35725            // right aligned
35726            _jquery2.default.extend(functions, {
35727              next: closeSub,
35728              previous: openSub,
35729              down: nextSibling,
35730              up: prevSibling
35731            });
35732          } else {
35733            // left aligned
35734            _jquery2.default.extend(functions, {
35735              next: openSub,
35736              previous: closeSub,
35737              down: nextSibling,
35738              up: prevSibling
35739            });
35740          }
35741        }
35742        _foundationUtil.Keyboard.handleKey(e, 'DropdownMenu', functions);
35743      });
35744    }
35745
35746    /**
35747     * Adds an event handler to the body to close any dropdowns on a click.
35748     * @function
35749     * @private
35750     */
35751
35752  }, {
35753    key: '_addBodyHandler',
35754    value: function _addBodyHandler() {
35755      var $body = (0, _jquery2.default)(document.body),
35756          _this = this;
35757      $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {
35758        var $link = _this.$element.find(e.target);
35759        if ($link.length) {
35760          return;
35761        }
35762
35763        _this._hide();
35764        $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
35765      });
35766    }
35767
35768    /**
35769     * Opens a dropdown pane, and checks for collisions first.
35770     * @param {jQuery} $sub - ul element that is a submenu to show
35771     * @function
35772     * @private
35773     * @fires DropdownMenu#show
35774     */
35775
35776  }, {
35777    key: '_show',
35778    value: function _show($sub) {
35779      var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {
35780        return (0, _jquery2.default)(el).find($sub).length > 0;
35781      }));
35782      var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
35783      this._hide($sibs, idx);
35784      $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active');
35785      var clear = _foundationUtil3.Box.ImNotTouchingYou($sub, null, true);
35786      if (!clear) {
35787        var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
35788            $parentLi = $sub.parent('.is-dropdown-submenu-parent');
35789        $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);
35790        clear = _foundationUtil3.Box.ImNotTouchingYou($sub, null, true);
35791        if (!clear) {
35792          $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');
35793        }
35794        this.changed = true;
35795      }
35796      $sub.css('visibility', '');
35797      if (this.options.closeOnClick) {
35798        this._addBodyHandler();
35799      }
35800      /**
35801       * Fires when the new dropdown pane is visible.
35802       * @event DropdownMenu#show
35803       */
35804      this.$element.trigger('show.zf.dropdownmenu', [$sub]);
35805    }
35806
35807    /**
35808     * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
35809     * @function
35810     * @param {jQuery} $elem - element with a submenu to hide
35811     * @param {Number} idx - index of the $tabs collection to hide
35812     * @private
35813     */
35814
35815  }, {
35816    key: '_hide',
35817    value: function _hide($elem, idx) {
35818      var $toClose;
35819      if ($elem && $elem.length) {
35820        $toClose = $elem;
35821      } else if (idx !== undefined) {
35822        $toClose = this.$tabs.not(function (i, el) {
35823          return i === idx;
35824        });
35825      } else {
35826        $toClose = this.$element;
35827      }
35828      var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
35829
35830      if (somethingToClose) {
35831        $toClose.find('li.is-active').add($toClose).attr({
35832          'data-is-click': false
35833        }).removeClass('is-active');
35834
35835        $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');
35836
35837        if (this.changed || $toClose.find('opens-inner').length) {
35838          var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
35839          $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);
35840          this.changed = false;
35841        }
35842        /**
35843         * Fires when the open menus are closed.
35844         * @event DropdownMenu#hide
35845         */
35846        this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
35847      }
35848    }
35849
35850    /**
35851     * Destroys the plugin.
35852     * @function
35853     */
35854
35855  }, {
35856    key: '_destroy',
35857    value: function _destroy() {
35858      this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
35859      (0, _jquery2.default)(document.body).off('.zf.dropdownmenu');
35860      _foundationUtil2.Nest.Burn(this.$element, 'dropdown');
35861    }
35862  }]);
35863
35864  return DropdownMenu;
35865}(_foundation.Plugin);
35866
35867/**
35868 * Default settings for plugin
35869 */
35870
35871
35872DropdownMenu.defaults = {
35873  /**
35874   * Disallows hover events from opening submenus
35875   * @option
35876   * @type {boolean}
35877   * @default false
35878   */
35879  disableHover: false,
35880  /**
35881   * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
35882   * @option
35883   * @type {boolean}
35884   * @default true
35885   */
35886  autoclose: true,
35887  /**
35888   * Amount of time to delay opening a submenu on hover event.
35889   * @option
35890   * @type {number}
35891   * @default 50
35892   */
35893  hoverDelay: 50,
35894  /**
35895   * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
35896   * @option
35897   * @type {boolean}
35898   * @default false
35899   */
35900  clickOpen: false,
35901  /**
35902   * Amount of time to delay closing a submenu on a mouseleave event.
35903   * @option
35904   * @type {number}
35905   * @default 500
35906   */
35907
35908  closingTime: 500,
35909  /**
35910   * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.
35911   * @option
35912   * @type {string}
35913   * @default 'auto'
35914   */
35915  alignment: 'auto',
35916  /**
35917   * Allow clicks on the body to close any open submenus.
35918   * @option
35919   * @type {boolean}
35920   * @default true
35921   */
35922  closeOnClick: true,
35923  /**
35924   * Allow clicks on leaf anchor links to close any open submenus.
35925   * @option
35926   * @type {boolean}
35927   * @default true
35928   */
35929  closeOnClickInside: true,
35930  /**
35931   * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
35932   * @option
35933   * @type {string}
35934   * @default 'vertical'
35935   */
35936  verticalClass: 'vertical',
35937  /**
35938   * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
35939   * @option
35940   * @type {string}
35941   * @default 'align-right'
35942   */
35943  rightClass: 'align-right',
35944  /**
35945   * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
35946   * @option
35947   * @type {boolean}
35948   * @default true
35949   */
35950  forceFollow: true
35951};
35952
35953exports.DropdownMenu = DropdownMenu;
35954
35955/***/ }),
35956/* 280 */
35957/***/ (function(module, exports, __webpack_require__) {
35958
35959"use strict";
35960
35961
35962Object.defineProperty(exports, "__esModule", {
35963  value: true
35964});
35965exports.Equalizer = undefined;
35966
35967var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
35968
35969var _jquery = __webpack_require__(1);
35970
35971var _jquery2 = _interopRequireDefault(_jquery);
35972
35973var _foundationUtil = __webpack_require__(22);
35974
35975var _foundationUtil2 = __webpack_require__(284);
35976
35977var _foundationUtil3 = __webpack_require__(6);
35978
35979var _foundation = __webpack_require__(21);
35980
35981function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35982
35983function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35984
35985function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
35986
35987function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
35988
35989/**
35990 * Equalizer module.
35991 * @module foundation.equalizer
35992 * @requires foundation.util.mediaQuery
35993 * @requires foundation.util.imageLoader if equalizer contains images
35994 */
35995
35996var Equalizer = function (_Plugin) {
35997  _inherits(Equalizer, _Plugin);
35998
35999  function Equalizer() {
36000    _classCallCheck(this, Equalizer);
36001
36002    return _possibleConstructorReturn(this, (Equalizer.__proto__ || Object.getPrototypeOf(Equalizer)).apply(this, arguments));
36003  }
36004
36005  _createClass(Equalizer, [{
36006    key: '_setup',
36007
36008    /**
36009     * Creates a new instance of Equalizer.
36010     * @class
36011     * @name Equalizer
36012     * @fires Equalizer#init
36013     * @param {Object} element - jQuery object to add the trigger to.
36014     * @param {Object} options - Overrides to the default plugin settings.
36015     */
36016    value: function _setup(element, options) {
36017      this.$element = element;
36018      this.options = _jquery2.default.extend({}, Equalizer.defaults, this.$element.data(), options);
36019      this.className = 'Equalizer'; // ie9 back compat
36020
36021      this._init();
36022    }
36023
36024    /**
36025     * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
36026     * @private
36027     */
36028
36029  }, {
36030    key: '_init',
36031    value: function _init() {
36032      var eqId = this.$element.attr('data-equalizer') || '';
36033      var $watched = this.$element.find('[data-equalizer-watch="' + eqId + '"]');
36034
36035      _foundationUtil.MediaQuery._init();
36036
36037      this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');
36038      this.$element.attr('data-resize', eqId || (0, _foundationUtil3.GetYoDigits)(6, 'eq'));
36039      this.$element.attr('data-mutate', eqId || (0, _foundationUtil3.GetYoDigits)(6, 'eq'));
36040
36041      this.hasNested = this.$element.find('[data-equalizer]').length > 0;
36042      this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
36043      this.isOn = false;
vendor: 6,208 bytes, lines 36044-36260
36044      this._bindHandler = {
36045        onResizeMeBound: this._onResizeMe.bind(this),
36046        onPostEqualizedBound: this._onPostEqualized.bind(this)
36047      };
36048
36049      var imgs = this.$element.find('img');
36050      var tooSmall;
36051      if (this.options.equalizeOn) {
36052        tooSmall = this._checkMQ();
36053        (0, _jquery2.default)(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));
36054      } else {
36055        this._events();
36056      }
36057      if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {
36058        if (imgs.length) {
36059          (0, _foundationUtil2.onImagesLoaded)(imgs, this._reflow.bind(this));
36060        } else {
36061          this._reflow();
36062        }
36063      }
36064    }
36065
36066    /**
36067     * Removes event listeners if the breakpoint is too small.
36068     * @private
36069     */
36070
36071  }, {
36072    key: '_pauseEvents',
36073    value: function _pauseEvents() {
36074      this.isOn = false;
36075      this.$element.off({
36076        '.zf.equalizer': this._bindHandler.onPostEqualizedBound,
36077        'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,
36078        'mutateme.zf.trigger': this._bindHandler.onResizeMeBound
36079      });
36080    }
36081
36082    /**
36083     * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
36084     * @private
36085     */
36086
36087  }, {
36088    key: '_onResizeMe',
36089    value: function _onResizeMe(e) {
36090      this._reflow();
36091    }
36092
36093    /**
36094     * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
36095     * @private
36096     */
36097
36098  }, {
36099    key: '_onPostEqualized',
36100    value: function _onPostEqualized(e) {
36101      if (e.target !== this.$element[0]) {
36102        this._reflow();
36103      }
36104    }
36105
36106    /**
36107     * Initializes events for Equalizer.
36108     * @private
36109     */
36110
36111  }, {
36112    key: '_events',
36113    value: function _events() {
36114      var _this = this;
36115      this._pauseEvents();
36116      if (this.hasNested) {
36117        this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);
36118      } else {
36119        this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);
36120        this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);
36121      }
36122      this.isOn = true;
36123    }
36124
36125    /**
36126     * Checks the current breakpoint to the minimum required size.
36127     * @private
36128     */
36129
36130  }, {
36131    key: '_checkMQ',
36132    value: function _checkMQ() {
36133      var tooSmall = !_foundationUtil.MediaQuery.is(this.options.equalizeOn);
36134      if (tooSmall) {
36135        if (this.isOn) {
36136          this._pauseEvents();
36137          this.$watched.css('height', 'auto');
36138        }
36139      } else {
36140        if (!this.isOn) {
36141          this._events();
36142        }
36143      }
36144      return tooSmall;
36145    }
36146
36147    /**
36148     * A noop version for the plugin
36149     * @private
36150     */
36151
36152  }, {
36153    key: '_killswitch',
36154    value: function _killswitch() {
36155      return;
36156    }
36157
36158    /**
36159     * Calls necessary functions to update Equalizer upon DOM change
36160     * @private
36161     */
36162
36163  }, {
36164    key: '_reflow',
36165    value: function _reflow() {
36166      if (!this.options.equalizeOnStack) {
36167        if (this._isStacked()) {
36168          this.$watched.css('height', 'auto');
36169          return false;
36170        }
36171      }
36172      if (this.options.equalizeByRow) {
36173        this.getHeightsByRow(this.applyHeightByRow.bind(this));
36174      } else {
36175        this.getHeights(this.applyHeight.bind(this));
36176      }
36177    }
36178
36179    /**
36180     * Manually determines if the first 2 elements are *NOT* stacked.
36181     * @private
36182     */
36183
36184  }, {
36185    key: '_isStacked',
36186    value: function _isStacked() {
36187      if (!this.$watched[0] || !this.$watched[1]) {
36188        return true;
36189      }
36190      return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;
36191    }
36192
36193    /**
36194     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
36195     * @param {Function} cb - A non-optional callback to return the heights array to.
36196     * @returns {Array} heights - An array of heights of children within Equalizer container
36197     */
36198
36199  }, {
36200    key: 'getHeights',
36201    value: function getHeights(cb) {
36202      var heights = [];
36203      for (var i = 0, len = this.$watched.length; i < len; i++) {
36204        this.$watched[i].style.height = 'auto';
36205        heights.push(this.$watched[i].offsetHeight);
36206      }
36207      cb(heights);
36208    }
36209
36210    /**
36211     * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
36212     * @param {Function} cb - A non-optional callback to return the heights array to.
36213     * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
36214     */
36215
36216  }, {
36217    key: 'getHeightsByRow',
36218    value: function getHeightsByRow(cb) {
36219      var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,
36220          groups = [],
36221          group = 0;
36222      //group by Row
36223      groups[group] = [];
36224      for (var i = 0, len = this.$watched.length; i < len; i++) {
36225        this.$watched[i].style.height = 'auto';
36226        //maybe could use this.$watched[i].offsetTop
36227        var elOffsetTop = (0, _jquery2.default)(this.$watched[i]).offset().top;
36228        if (elOffsetTop != lastElTopOffset) {
36229          group++;
36230          groups[group] = [];
36231          lastElTopOffset = elOffsetTop;
36232        }
36233        groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);
36234      }
36235
36236      for (var j = 0, ln = groups.length; j < ln; j++) {
36237        var heights = (0, _jquery2.default)(groups[j]).map(function () {
36238          return this[1];
36239        }).get();
36240        var max = Math.max.apply(null, heights);
36241        groups[j].push(max);
36242      }
36243      cb(groups);
36244    }
36245
36246    /**
36247     * Changes the CSS height property of each child in an Equalizer parent to match the tallest
36248     * @param {array} heights - An array of heights of children within Equalizer container
36249     * @fires Equalizer#preequalized
36250     * @fires Equalizer#postequalized
36251     */
36252
36253  }, {
36254    key: 'applyHeight',
36255    value: function applyHeight(heights) {
36256      var max = Math.max.apply(null, heights);
36257      /**
36258       * Fires before the heights are applied
36259       * @event Equalizer#preequalized
36260       */
36261      this.$element.trigger('preequalized.zf.equalizer');
36262
36263      this.$watched.css('height', max);
36264
36265      /**
36266       * Fires when the heights have been applied
36267       * @event Equalizer#postequalized
36268       */
36269      this.$element.trigger('postequalized.zf.equalizer');
36270    }
36271
36272    /**
36273     * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
36274     * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
36275     * @fires Equalizer#preequalized
36276     * @fires Equalizer#preequalizedrow
36277     * @fires Equalizer#postequalizedrow
36278     * @fires Equalizer#postequalized
36279     */
36280
36281  }, {
36282    key: 'applyHeightByRow',
36283    value: function applyHeightByRow(groups) {
36284      /**
36285       * Fires before the heights are applied
36286       */
36287      this.$element.trigger('preequalized.zf.equalizer');
36288      for (var i = 0, len = groups.length; i < len; i++) {
36289        var groupsILength = groups[i].length,
36290            max = groups[i][groupsILength - 1];
36291        if (groupsILength <= 2) {
36292          (0, _jquery2.default)(groups[i][0][0]).css({ 'height': 'auto' });
36293          continue;
36294        }
36295        /**
36296          * Fires before the heights per row are applied
36297          * @event Equalizer#preequalizedrow
36298          */
36299        this.$element.trigger('preequalizedrow.zf.equalizer');
36300        for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {
36301          (0, _jquery2.default)(groups[i][j][0]).css({ 'height': max });
36302        }
36303        /**
36304          * Fires when the heights per row have been applied
36305          * @event Equalizer#postequalizedrow
36306          */
36307        this.$element.trigger('postequalizedrow.zf.equalizer');
36308      }
36309      /**
36310       * Fires when the heights have been applied
36311       */
36312      this.$element.trigger('postequalized.zf.equalizer');
36313    }
36314
36315    /**
36316     * Destroys an instance of Equalizer.
36317     * @function
36318     */
36319
36320  }, {
36321    key: '_destroy',
36322    value: function _destroy() {
36323      this._pauseEvents();
36324      this.$watched.css('height', 'auto');
36325    }
36326  }]);
36327
36328  return Equalizer;
36329}(_foundation.Plugin);
36330
36331/**
36332 * Default settings for plugin
36333 */
36334
36335
36336Equalizer.defaults = {
36337  /**
36338   * Enable height equalization when stacked on smaller screens.
36339   * @option
36340   * @type {boolean}
36341   * @default false
36342   */
36343  equalizeOnStack: false,
36344  /**
36345   * Enable height equalization row by row.
36346   * @option
36347   * @type {boolean}
36348   * @default false
36349   */
36350  equalizeByRow: false,
36351  /**
36352   * String representing the minimum breakpoint size the plugin should equalize heights on.
36353   * @option
36354   * @type {string}
36355   * @default ''
36356   */
36357  equalizeOn: ''
36358};
36359
36360exports.Equalizer = Equalizer;
36361
36362/***/ }),
36363/* 281 */
36364/***/ (function(module, exports, __webpack_require__) {
36365
36366"use strict";
36367
36368
36369Object.defineProperty(exports, "__esModule", {
36370  value: true
36371});
36372exports.Reveal = undefined;
36373
36374var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
36375
36376var _jquery = __webpack_require__(1);
36377
36378var _jquery2 = _interopRequireDefault(_jquery);
36379
36380var _foundationUtil = __webpack_require__(33);
36381
36382var _foundationUtil2 = __webpack_require__(22);
36383
36384var _foundationUtil3 = __webpack_require__(34);
36385
36386var _foundation = __webpack_require__(21);
36387
36388var _foundationUtil4 = __webpack_require__(23);
36389
36390function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36391
36392function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36393
36394function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
36395
36396function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
36396onstructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
36397
36398/**
36399 * Reveal module.
36400 * @module foundation.reveal
36401 * @requires foundation.util.keyboard
36402 * @requires foundation.util.triggers
36403 * @requires foundation.util.mediaQuery
36404 * @requires foundation.util.motion if using animations
36405 */
36406
36407var Reveal = function (_Plugin) {
36408  _inherits(Reveal, _Plugin);
36409
36410  function Reveal() {
36411    _classCallCheck(this, Reveal);
36412
36413    return _possibleConstructorReturn(this, (Reveal.__proto__ || Object.getPrototypeOf(Reveal)).apply(this, arguments));
36414  }
36415
36416  _createClass(Reveal, [{
36417    key: '_setup',
36418
36419    /**
36420     * Creates a new instance of Reveal.
36421     * @class
36422     * @name Reveal
36423     * @param {jQuery} element - jQuery object to use for the modal.
36424     * @param {Object} options - optional parameters.
36425     */
36426    value: function _setup(element, options) {
36427      this.$element = element;
36428      this.options = _jquery2.default.extend({}, Reveal.defaults, this.$element.data(), options);
36429      this.className = 'Reveal'; // ie9 back compat
36430      this._init();
36431
36432      // Triggers init is idempotent, just need to make sure it is initialized
36433      _foundationUtil4.Triggers.init(_jquery2.default);
36434
36435      _foundationUtil.Keyboard.register('Reveal', {
36436        'ESCAPE': 'close'
36437      });
36438    }
36439
36440    /**
36441     * Initializes the modal by adding the overlay and close buttons, (if selected).
36442     * @private
36443     */
36444
36445  }, {
36446    key: '_init',
36447    value: function _init() {
36448      _foundationUtil2.MediaQuery._init();
36449      this.id = this.$element.attr('id');
36450      this.isActive = false;
36451      this.cached = { mq: _foundationUtil2.MediaQuery.current };
36452
36453      this.$anchor = (0, _jquery2.default)('[data-open="' + this.id + '"]').length ? (0, _jquery2.default)('[data-open="' + this.id + '"]') : (0, _jquery2.default)('[data-toggle="' + this.id + '"]');
36454      this.$anchor.attr({
36455        'aria-controls': this.id,
36456        'aria-haspopup': true,
36457        'tabindex': 0
36458      });
36459
36460      if (this.options.fullScreen || this.$element.hasClass('full')) {
36461        this.options.fullScreen = true;
36462        this.options.overlay = false;
36463      }
36464      if (this.options.overlay && !this.$overlay) {
36465        this.$overlay = this._makeOverlay(this.id);
36466      }
36467
36468      this.$element.attr({
36469        'role': 'dialog',
36470        'aria-hidden': true,
36471        'data-yeti-box': this.id,
36472        'data-resize': this.id
36473      });
36474
36475      if (this.$overlay) {
36476        this.$element.detach().appendTo(this.$overlay);
36477      } else {
36478        this.$element.detach().appendTo((0, _jquery2.default)(this.options.appendTo));
36479        this.$element.addClass('without-overlay');
36480      }
36481      this._events();
36482      if (this.options.deepLink && window.location.hash === '#' + this.id) {
36483        (0, _jquery2.default)(window).one('load.zf.reveal', this.open.bind(this));
36484      }
36485    }
36486
36487    /**
36488     * Creates an overlay div to display behind the modal.
36489     * @private
36490     */
36491
36492  }, {
36493    key: '_makeOverlay',
36494    value: function _makeOverlay() {
36495      var additionalOverlayClasses = '';
36496
36497      if (this.options.additionalOverlayClasses) {
36498        additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;
36499      }
36500
36501      return (0, _jquery2.default)('<div></div>').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo);
36502    }
36503
36504    /**
36505     * Updates position of modal
36506     * TODO:  Figure out if we actually need to cache these values or if it doesn't matter
36507     * @private
36508     */
36509
36510  }, {
36511    key: '_updatePosition',
36512    value: function _updatePosition() {
36513      var width = this.$element.outerWidth();
36514      var outerWidth = (0, _jquery2.default)(window).width();
36515      var height = this.$element.outerHeight();
36516      var outerHeight = (0, _jquery2.default)(window).height();
36517      var left,
36518          top = null;
36519      if (this.options.hOffset === 'auto') {
36520        left = parseInt((outerWidth - width) / 2, 10);
36521      } else {
36522        left = parseInt(this.options.hOffset, 10);
36523      }
36524      if (this.options.vOffset === 'auto') {
36525        if (height > outerHeight) {
36526          top = parseInt(Math.min(100, outerHeight / 10), 10);
36527        } else {
36528          top = parseInt((outerHeight - height) / 4, 10);
36529        }
36530      } else if (this.options.vOffset !== null) {
36531        top = parseInt(this.options.vOffset, 10);
36532      }
36533
36534      if (top !== null) {
36535        this.$element.css({ top: top + 'px' });
36536      }
36537
36538      // only worry about left if we don't have an overlay or we have a horizontal offset,
36539      // otherwise we're perfectly in the middle
36540      if (!this.$overlay || this.options.hOffset !== 'auto') {
36541        this.$element.css({ left: left + 'px' });
36542        this.$element.css({ margin: '0px' });
36543      }
36544    }
36545
36546    /**
36547     * Adds event handlers for the modal.
36548     * @private
36549     */
36550
36551  }, {
36552    key: '_events',
36553    value: function _events() {
36554      var _this3 = this;
36555
36556      var _this = this;
36557
36558      this.$element.on({
36559        'open.zf.trigger': this.open.bind(this),
36560        'close.zf.trigger': function closeZfTrigger(event, $element) {
36561          if (event.target === _this.$element[0] || (0, _jquery2.default)(event.target).parents('[data-closable]')[0] === $element) {
36562            // only close reveal when it's explicitly called
36563            return _this3.close.apply(_this3);
36564          }
36565        },
36566        'toggle.zf.trigger': this.toggle.bind(this),
36567        'resizeme.zf.trigger': function resizemeZfTrigger() {
36568          _this._updatePosition();
36569        }
36570      });
36571
36572      if (this.options.closeOnClick && this.options.overlay) {
36573        this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {
36574          if (e.target === _this.$element[0] || _jquery2.default.contains(_this.$element[0], e.target) || !_jquery2.default.contains(document, e.target)) {
36575            return;
36576          }
36577          _this.close();
36578        });
36579      }
36580      if (this.options.deepLink) {
36581        (0, _jquery2.default)(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));
36582      }
36583    }
36584
36585    /**
36586     * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
36587     * @private
36588     */
36589
36590  }, {
36591    key: '_handleState',
36592    value: function _handleState(e) {
36593      if (window.location.hash === '#' + this.id && !this.isActive) {
36594        this.open();
36595      } else {
36596        this.close();
36597      }
36598    }
36599
36600    /**
36601    * Disables the scroll when Reveal is shown to prevent the background from shifting
36602    */
36603
36604  }, {
36605    key: '_disableScroll',
36606    value: function _disableScroll() {
36607      if ((0, _jquery2.default)(document).height() > (0, _jquery2.default)(window).height()) {
36608        var scrollTop = (0, _jquery2.default)(window).scrollTop();
36609        (0, _jquery2.default)("html").css("top", -scrollTop);
36610      }
36611    }
36612
36613    /**
36614    * Reenables the scroll when Reveal closes
36615    */
36616
36617  }, {
36618    key: '_enableScroll',
36619    value: function _enableScroll() {
36620      if ((0, _jquery2.default)(document).height() > (0, _jquery2.default)(window).height()) {
36621        var scrollTop = parseInt((0, _jquery2.default)("html").css("top"));
36622        (0, _jquery2.default)("html").css("top", "");
36623        (0, _jquery2.default)(window).scrollTop(-scrollTop);
36624      }
36625    }
36626
36627    /**
36628     * Opens the modal controlled by `this.$anchor`, and closes all others by default.
36629     * @function
36630     * @fires Reveal#closeme
36631     * @fires Reveal#open
36632     */
36633
36634  }, {
36635    key: 'open',
36636    value: function open() {
36637      var _this4 = this;
36638
36639      // either update or replace browser history
36640      if (this.options.deepLink) {
36641        var hash = '#' + this.id;
36642
36643        if (window.history.pushState) {
36644          if (this.options.updateHistory) {
36645            window.history.pushState({}, '', hash);
36646          } else {
36647            window.history.replaceState({}, '', hash);
36648          }
36649        } else {
36650          window.location.hash = hash;
36651        }
36652      }
36653
36654      this.isActive = true;
36655
36656      // Make elements invisible, but remove display: none so we can get size and positioning
36657      this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);
36658      if (this.options.overlay) {
36659        this.$overlay.css({ 'visibility': 'hidden' }).show();
36660      }
36661
36662      this._updatePosition();
36663
36664      this.$element.hide().css({ 'visibility': '' });
36665
36666      if (this.$overlay) {
36667        this.$overlay.css({ 'visibility': '' }).hide();
36668        if (this.$element.hasClass('fast')) {
36669          this.$overlay.addClass('fast');
36670        } else if (this.$element.hasClass('slow')) {
36671          this.$overlay.addClass('slow');
36672        }
36673      }
36674
36675      if (!this.options.multipleOpened) {
36676        /**
36677         * Fires immediately before the modal opens.
36678         * Closes any other modals that are currently open
36679         * @event Reveal#closeme
36680         */
36681        this.$element.trigger('closeme.zf.reveal', this.id);
36682      }
36683
36684      this._disableScroll();
36685
36686      var _this = this;
36687
36688      function addRevealOpenClasses() {
36689
36690        (0, _jquery2.default)('html').addClass('is-reveal-open');
36691      }
36692
36693      // Motion UI method of reveal
36694      if (this.options.animationIn) {
36695        var afterAnimation = function afterAnimation() {
36696          _this.$element.attr({
36697            'aria-hidden': false,
36698            'tabindex': -1
36699          }).focus();
36700          addRevealOpenClasses();
36701          _foundationUtil.Keyboard.trapFocus(_this.$element);
36702        };
36703
36704        if (this.options.overlay) {
36705          _foundationUtil3.Motion.animateIn(this.$overlay, 'fade-in');
36706        }
36707        _foundationUtil3.Motion.animateIn(this.$element, this.options.animationIn, function () {
36708          if (_this4.$element) {
36709            // protect against object having been removed
36710            _this4.focusableElements = _foundationUtil.Keyboard.findFocusable(_this4.$element);
36711            afterAnimation();
36712          }
36713        });
36714      }
36715      // jQuery method of reveal
36716      else {
36717          if (this.options.overlay) {
36718            this.$overlay.show(0);
36719          }
36720          this.$element.show(this.options.showDelay);
36721        }
36722
36723      // handle accessibility
36724      this.$element.attr({
36725        'aria-hidden': false,
36726        'tabindex': -1
36727      }).focus();
36728      _foundationUtil.Keyboard.trapFocus(this.$element);
36729
36730      addRevealOpenClasses();
36731
36732      this._extraHandlers();
36733
36734      /**
36735       * Fires when the modal has successfully opened.
36736       * @event Reveal#open
36737       */
36738      this.$element.trigger('open.zf.reveal');
36739    }
36740
36741    /**
36742     * Adds extra event handlers for the body and window if necessary.
36743     * @private
36744     */
36745
36746  }, {
36747    key: '_extraHandlers',
36748    value: function _extraHandlers() {
36749      var _this = this;
36750      if (!this.$element) {
36751        return;
36752      } // If we're in the middle of cleanup, don't freak out
36753      this.focusableElements = _foundationUtil.Keyboard.findFocusable(this.$element);
36754
36755      if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {
36756        (0, _jquery2.default)('body').on('click.zf.reveal', function (e) {
36757          if (e.target === _this.$element[0] || _jquery2.default.contains(_this.$element[0], e.target) || !_jquery2.default.contains(document, e.target)) {
36758            return;
36759          }
36760          _this.close();
36761        });
36762      }
36763
36764      if (this.options.closeOnEsc) {
36765        (0, _jquery2.default)(window).on('keydown.zf.reveal', function (e) {
36766          _foundationUtil.Keyboard.handleKey(e, 'Reveal', {
36767            close: function close() {
36768              if (_this.options.closeOnEsc) {
36769                _this.close();
36770              }
36771            }
36772          });
36773        });
36774      }
36775    }
36776
36777    /**
36778     * Closes the modal.
36779     * @function
36780     * @fires Reveal#closed
36781     */
36782
36783  }, {
36784    key: 'close',
36785    value: function close() {
36786      if (!this.isActive || !this.$element.is(':visible')) {
36787        return false;
36788      }
36789      var _this = this;
36790
36791      // Motion UI method of hiding
36792      if (this.options.animationOut) {
36793        if (this.options.overlay) {
36794          _foundationUtil3.Motion.animateOut(this.$overlay, 'fade-out');
36795        }
36796
36797        _foundationUtil3.Motion.animateOut(this.$element, this.options.animationOut, finishUp);
36798      }
36799      // jQuery method of hiding
36800      else {
36801          this.$element.hide(this.options.hideDelay);
36802
36803          if (this.options.overlay) {
36804            this.$overlay.hide(0, finishUp);
36805          } else {
36806            finishUp();
36807          }
36808        }
36809
36810      // Conditionals to remove extra event listeners added on open
36811      if (this.options.closeOnEsc) {
36812        (0, _jquery2.default)(window).off('keydown.zf.reveal');
36813      }
36814
36815      if (!this.options.overlay && this.options.closeOnClick) {
36816        (0, _jquery2.default)('body').off('click.zf.reveal');
36817      }
36818
36819      this.$element.off('keydown.zf.reveal');
36820
36821      function finishUp() {
36822
36823        if ((0, _jquery2.default)('.reveal:visible').length === 0) {
36824          (0, _jquery2.default)('html').removeClass('is-reveal-open');
36825        }
36826
36827        _foundationUtil.Keyboard.releaseFocus(_this.$element);
36828
36829        _this.$element.attr('aria-hidden', true);
36830
36831        _this._enableScroll();
36832
36833        /**
36834        * Fires when the modal is done closing.
36835        * @event Reveal#closed
36836        */
36837        _this.$element.trigger('closed.zf.reveal');
36838      }
36839
36840      /**
36841      * Resets the modal content
36842      * This prevents a running video to keep going in the background
36843      */
36844      if (this.options.resetOnClose) {
36845        this.$element.html(this.$element.html());
36846      }
36847
36848      this.isActive = false;
36849      if (_this.options.deepLink) {
36850        if (window.history.replaceState) {
36851          window.history.replaceState('', document.title, window.location.href.replace('#' + this.id, ''));
36852        } else {
36853          window.location.hash = '';
36854        }
36855      }
36856
36857      this.$anchor.focus();
36858    }
36859
36860    /**
36861     * Toggles the open/closed state of a modal.
36862     * @function
36863     */
36864
36865  }, {
36866    key: 'toggle',
36867    value: function toggle() {
36868      if (this.isActive) {
36869        this.close();
36870      } else {
36871        this.open();
36872      }
36873    }
36874  }, {
36875    key: '_destroy',
36876
36877
36878    /**
36879     * Destroys an instance of a modal.
36880     * @function
36881     */
36882    value: function _destroy() {
36883      if (this.options.overlay) {
36884        this.$element.appendTo((0, _jquery2.default)(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()
36885        this.$overlay.hide().off().remove();
36886      }
36887      this.$element.hide().off();
36888      this.$anchor.off('.zf');
36889      (0, _jquery2.default)(window).off('.zf.reveal:' + this.id);
36890    }
36891  }]);
36892
36893  return Reveal;
36894}(_foundation.Plugin);
36895
36896Reveal.defaults = {
36897  /**
36898   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
36899   * @option
36900   * @type {string}
36901   * @default ''
36902   */
36903  animationIn: '',
36904  /**
36905   * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
36906   * @option
36907   * @type {string}
36908   * @default ''
36909   */
36910  animationOut: '',
36911  /**
36912   * Time, in ms, to delay the opening of a modal after a click if no animation used.
36913   * @option
36914   * @type {number}
36915   * @default 0
36916   */
36917  showDelay: 0,
36918  /**
36919   * Time, in ms, to delay the closing of a modal after a click if no animation used.
36920   * @option
36921   * @type {number}
36922   * @default 0
36923   */
36924  hideDelay: 0,
36925  /**
36926   * Allows a click on the body/overlay to close the modal.
36927   * @option
36928   * @type {boolean}
36929   * @default true
36930   */
36931  closeOnClick: true,
36932  /**
36933   * Allows the modal to close if the user presses the `ESCAPE` key.
36934   * @option
36935   * @type {boolean}
36936   * @default true
36937   */
36938  closeOnEsc: true,
36939  /**
36940   * If true, allows multiple modals to be displayed at once.
36941   * @option
36942   * @type {boolean}
36943   * @default false
36944   */
36945  multipleOpened: false,
36946  /**
36947   * Distance, in pixels, the modal should push down from the top of the screen.
36948   * @option
36949   * @type {number|string}
36950   * @default auto
36951   */
36952  vOffset: 'auto',
36953  /**
36954   * Distance, in pixels, the modal should push in from the side of the screen.
36955   * @option
36956   * @type {number|string}
36957   * @default auto
36958   */
36959  hOffset: 'auto',
36960  /**
36961   * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
36962   * @option
36963   * @type {boolean}
36964   * @default false
36965   */
36966  fullScreen: false,
36967  /**
36968   * Percentage of screen height the modal should push up from the bottom of the view.
36969   * @option
36970   * @type {number}
36971   * @default 10
36972   */
36973  btmOffsetPct: 10,
36974  /**
36975   * Allows the modal to generate an overlay div, which will cover the view when modal opens.
36976   * @option
36977   * @type {boolean}
36978   * @default true
36979   */
36980  overlay: true,
36981  /**
36982   * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
36983   * @option
36984   * @type {boolean}
36985   * @default false
36986   */
36987  resetOnClose: false,
36988  /**
36989   * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal'
36989s user-set id.
36990   * @option
36991   * @type {boolean}
36992   * @default false
36993   */
36994  deepLink: false,
36995  /**
36996   * Update the browser history with the open modal
36997   * @option
36998   * @default false
36999   */
37000  updateHistory: false,
37001  /**
37002  * Allows the modal to append to custom div.
37003  * @option
37004  * @type {string}
37005  * @default "body"
37006  */
37007  appendTo: "body",
37008  /**
37009   * Allows adding additional class names to the reveal overlay.
37010   * @option
37011   * @type {string}
37012   * @default ''
37013   */
37014  additionalOverlayClasses: ''
37015};
37016
37017exports.Reveal = Reveal;
37018
37019/***/ }),
37020/* 282 */
37021/***/ (function(module, exports, __webpack_require__) {
37022
37023"use strict";
37024
37025
37026Object.defineProperty(exports, "__esModule", {
37027  value: true
37028});
37029exports.Toggler = undefined;
37030
37031var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
37032
37033var _jquery = __webpack_require__(1);
37034
37035var _jquery2 = _interopRequireDefault(_jquery);
37036
37037var _foundationUtil = __webpack_require__(34);
37038
37039var _foundation = __webpack_require__(21);
37040
37041var _foundationUtil2 = __webpack_require__(23);
37042
37043function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37044
37045function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37046
37047function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
37048
37049function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
37050
37051/**
37052 * Toggler module.
37053 * @module foundation.toggler
37054 * @requires foundation.util.motion
37055 * @requires foundation.util.triggers
37056 */
37057
37058var Toggler = function (_Plugin) {
37059  _inherits(Toggler, _Plugin);
37060
37061  function Toggler() {
37062    _classCallCheck(this, Toggler);
37063
37064    return _possibleConstructorReturn(this, (Toggler.__proto__ || Object.getPrototypeOf(Toggler)).apply(this, arguments));
37065  }
37066
37067  _createClass(Toggler, [{
37068    key: '_setup',
37069
37070    /**
37071     * Creates a new instance of Toggler.
37072     * @class
37073     * @name Toggler
37074     * @fires Toggler#init
37075     * @param {Object} element - jQuery object to add the trigger to.
37076     * @param {Object} options - Overrides to the default plugin settings.
37077     */
37078    value: function _setup(element, options) {
37079      this.$element = element;
37080      this.options = _jquery2.default.extend({}, Toggler.defaults, element.data(), options);
37081      this.className = '';
37082      this.className = 'Toggler'; // ie9 back compat
37083
37084      // Triggers init is idempotent, just need to make sure it is initialized
37085      _foundationUtil2.Triggers.init(_jquery2.default);
37086
37087      this._init();
37088      this._events();
37089    }
37090
37091    /**
37092     * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
37093     * @function
37094     * @private
37095     */
37096
37097  }, {
37098    key: '_init',
37099    value: function _init() {
37100      var input;
37101      // Parse animation classes if they were set
37102      if (this.options.animate) {
37103        input = this.options.animate.split(' ');
37104
37105        this.animationIn = input[0];
37106        this.animationOut = input[1] || null;
37107      }
37108      // Otherwise, parse toggle class
37109      else {
37110          input = this.$element.data('toggler');
37111          // Allow for a . at the beginning of the string
37112          this.className = input[0] === '.' ? input.slice(1) : input;
37113        }
37114
37115      // Add ARIA attributes to triggers
37116      var id = this.$element[0].id;
37117      (0, _jquery2.default)('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-controls', id);
37118      // If the target is hidden, add aria-hidden
37119      this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
37120    }
37121
37122    /**
37123     * Initializes events for the toggle trigger.
37124     * @function
37125     * @private
37126     */
37127
37128  }, {
37129    key: '_events',
37130    value: function _events() {
37131      this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
37132    }
37133
37134    /**
37135     * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
37136     * @function
37137     * @fires Toggler#on
37138     * @fires Toggler#off
37139     */
37140
37141  }, {
37142    key: 'toggle',
37143    value: function toggle() {
37144      this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();
37145    }
37146  }, {
37147    key: '_toggleClass',
37148    value: function _toggleClass() {
37149      this.$element.toggleClass(this.className);
37150
37151      var isOn = this.$element.hasClass(this.className);
37152      if (isOn) {
37153        /**
37154         * Fires if the target element has the class after a toggle.
37155         * @event Toggler#on
37156         */
37157        this.$element.trigger('on.zf.toggler');
37158      } else {
37159        /**
37160         * Fires if the target element does not have the class after a toggle.
37161         * @event Toggler#off
37162         */
37163        this.$element.trigger('off.zf.toggler');
37164      }
37165
37166      this._updateARIA(isOn);
37167      this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');
37168    }
37169  }, {
37170    key: '_toggleAnimate',
37171    value: function _toggleAnimate() {
37172      var _this = this;
37173
37174      if (this.$element.is(':hidden')) {
37175        _foundationUtil.Motion.animateIn(this.$element, this.animationIn, function () {
37176          _this._updateARIA(true);
37177          this.trigger('on.zf.toggler');
37178          this.find('[data-mutate]').trigger('mutateme.zf.trigger');
37179        });
37180      } else {
37181        _foundationUtil.Motion.animateOut(this.$element, this.animationOut, function () {
37182          _this._updateARIA(false);
37183          this.trigger('off.zf.toggler');
37184          this.find('[data-mutate]').trigger('mutateme.zf.trigger');
37185        });
37186      }
37187    }
37188  }, {
37189    key: '_updateARIA',
37190    value: function _updateARIA(isOn) {
37191      this.$element.attr('aria-expanded', isOn ? true : false);
37192    }
37193
37194    /**
37195     * Destroys the instance of Toggler on the element.
37196     * @function
37197     */
37198
37199  }, {
37200    key: '_destroy',
37201    value: function _destroy() {
37202      this.$element.off('.zf.toggler');
37203    }
37204  }]);
37205
37206  return Toggler;
37207}(_foundation.Plugin);
37208
37209Toggler.defaults = {
37210  /**
37211   * Tells the plugin if the element should animated when toggled.
37212   * @option
37213   * @type {boolean}
37214   * @default false
37215   */
37216  animate: false
37217};
37218
37219exports.Toggler = Toggler;
37220
37221/***/ }),
37222/* 283 */
37223/***/ (function(module, exports, __webpack_require__) {
37224
37225"use strict";
37226
37227
37228Object.defineProperty(exports, "__esModule", {
37229  value: true
37230});
37231exports.Tooltip = undefined;
37232
37233var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
37234
37235var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
37236
37237var _jquery = __webpack_require__(1);
37238
37239var _jquery2 = _interopRequireDefault(_jquery);
37240
37241var _foundationUtil = __webpack_require__(6);
37242
37243var _foundationUtil2 = __webpack_require__(22);
37244
37245var _foundationUtil3 = __webpack_require__(23);
37246
37247var _foundation = __webpack_require__(57);
37248
37249function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37250
37251function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37252
37253function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
37254
37255function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
37255onstructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
37256
37257/**
37258 * Tooltip module.
37259 * @module foundation.tooltip
37260 * @requires foundation.util.box
37261 * @requires foundation.util.mediaQuery
37262 * @requires foundation.util.triggers
37263 */
37264
37265var Tooltip = function (_Positionable) {
37266  _inherits(Tooltip, _Positionable);
37267
37268  function Tooltip() {
37269    _classCallCheck(this, Tooltip);
37270
37271    return _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).apply(this, arguments));
37272  }
37273
37274  _createClass(Tooltip, [{
37275    key: '_setup',
37276
37277    /**
37278     * Creates a new instance of a Tooltip.
37279     * @class
37280     * @name Tooltip
37281     * @fires Tooltip#init
37282     * @param {jQuery} element - jQuery object to attach a tooltip to.
37283     * @param {Object} options - object to extend the default configuration.
37284     */
37285    value: function _setup(element, options) {
37286      this.$element = element;
37287      this.options = _jquery2.default.extend({}, Tooltip.defaults, this.$element.data(), options);
37288      this.className = 'Tooltip'; // ie9 back compat
37289
37290      this.isActive = false;
37291      this.isClick = false;
37292
37293      // Triggers init is idempotent, just need to make sure it is initialized
37294      _foundationUtil3.Triggers.init(_jquery2.default);
37295
37296      this._init();
37297    }
37298
37299    /**
37300     * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
37301     * @private
37302     */
37303
37304  }, {
37305    key: '_init',
37306    value: function _init() {
37307      _foundationUtil2.MediaQuery._init();
37308      var elemId = this.$element.attr('aria-describedby') || (0, _foundationUtil.GetYoDigits)(6, 'tooltip');
37309
37310      this.options.tipText = this.options.tipText || this.$element.attr('title');
37311      this.template = this.options.template ? (0, _jquery2.default)(this.options.template) : this._buildTemplate(elemId);
37312
37313      if (this.options.allowHtml) {
37314        this.template.appendTo(document.body).html(this.options.tipText).hide();
37315      } else {
37316        this.template.appendTo(document.body).text(this.options.tipText).hide();
37317      }
37318
37319      this.$element.attr({
37320        'title': '',
37321        'aria-describedby': elemId,
37322        'data-yeti-box': elemId,
37323        'data-toggle': elemId,
37324        'data-resize': elemId
37325      }).addClass(this.options.triggerClass);
37326
37327      _get(Tooltip.prototype.__proto__ || Object.getPrototypeOf(Tooltip.prototype), '_init', this).call(this);
37328      this._events();
37329    }
37330  }, {
37331    key: '_getDefaultPosition',
37332    value: function _getDefaultPosition() {
37333      // handle legacy classnames
37334      var position = this.$element[0].className.match(/\b(top|left|right|bottom)\b/g);
37335      return position ? position[0] : 'top';
37336    }
37337  }, {
37338    key: '_getDefaultAlignment',
37339    value: function _getDefaultAlignment() {
37340      return 'center';
37341    }
37342  }, {
37343    key: '_getHOffset',
37344    value: function _getHOffset() {
37345      if (this.position === 'left' || this.position === 'right') {
37346        return this.options.hOffset + this.options.tooltipWidth;
37347      } else {
37348        return this.options.hOffset;
37349      }
37350    }
37351  }, {
37352    key: '_getVOffset',
37353    value: function _getVOffset() {
37354      if (this.position === 'top' || this.position === 'bottom') {
37355        return this.options.vOffset + this.options.tooltipHeight;
37356      } else {
37357        return this.options.vOffset;
37358      }
37359    }
37360
37361    /**
37362     * builds the tooltip element, adds attributes, and returns the template.
37363     * @private
37364     */
37365
37366  }, {
37367    key: '_buildTemplate',
37368    value: function _buildTemplate(id) {
37369      var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();
37370      var $template = (0, _jquery2.default)('<div></div>').addClass(templateClasses).attr({
37371        'role': 'tooltip',
37372        'aria-hidden': true,
37373        'data-is-active': false,
37374        'data-is-focus': false,
37375        'id': id
37376      });
37377      return $template;
37378    }
37379
37380    /**
37381     * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
37382     * if the tooltip is larger than the screen width, default to full width - any user selected margin
37383     * @private
37384     */
37385
37386  }, {
37387    key: '_setPosition',
37388    value: function _setPosition() {
37389      _get(Tooltip.prototype.__proto__ || Object.getPrototypeOf(Tooltip.prototype), '_setPosition', this).call(this, this.$element, this.template);
37390    }
37391
37392    /**
37393     * reveals the tooltip, and fires an event to close any other open tooltips on the page
37394     * @fires Tooltip#closeme
37395     * @fires Tooltip#show
37396     * @function
37397     */
37398
37399  }, {
37400    key: 'show',
37401    value: function show() {
37402      if (this.options.showOn !== 'all' && !_foundationUtil2.MediaQuery.is(this.options.showOn)) {
37403        // console.error('The screen is too small to display this tooltip');
37404        return false;
vendor: 1,717 bytes, lines 37405-37461
37405      }
37406
37407      var _this = this;
37408      this.template.css('visibility', 'hidden').show();
37409      this._setPosition();
37410      this.template.removeClass('top bottom left right').addClass(this.position);
37411      this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);
37412
37413      /**
37414       * Fires to close all other open tooltips on the page
37415       * @event Closeme#tooltip
37416       */
37417      this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));
37418
37419      this.template.attr({
37420        'data-is-active': true,
37421        'aria-hidden': false
37422      });
37423      _this.isActive = true;
37424      // console.log(this.template);
37425      this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {
37426        //maybe do stuff?
37427      });
37428      /**
37429       * Fires when the tooltip is shown
37430       * @event Tooltip#show
37431       */
37432      this.$element.trigger('show.zf.tooltip');
37433    }
37434
37435    /**
37436     * Hides the current tooltip, and resets the positioning class if it was changed due to collision
37437     * @fires Tooltip#hide
37438     * @function
37439     */
37440
37441  }, {
37442    key: 'hide',
37443    value: function hide() {
37444      // console.log('hiding', this.$element.data('yeti-box'));
37445      var _this = this;
37446      this.template.stop().attr({
37447        'aria-hidden': true,
37448        'data-is-active': false
37449      }).fadeOut(this.options.fadeOutDuration, function () {
37450        _this.isActive = false;
37451        _this.isClick = false;
37452      });
37453      /**
37454       * fires when the tooltip is hidden
37455       * @event Tooltip#hide
37456       */
37457      this.$element.trigger('hide.zf.tooltip');
37458    }
37459
37460    /**
37461     * adds event listeners for the tooltip and its anchor
37462     * TODO combine some of the listeners like focus and mouseenter, etc.
37463     * @private
37464     */
37465
37466  }, {
37467    key: '_events',
37468    value: function _events() {
37469      var _this = this;
37470      var $template = this.template;
37471      var isFocus = false;
37472
37473      if (!this.options.disableHover) {
37474
37475        this.$element.on('mouseenter.zf.tooltip', function (e) {
37476          if (!_this.isActive) {
37477            _this.timeout = setTimeout(function () {
37478              _this.show();
37479            }, _this.options.hoverDelay);
37480          }
37481        }).on('mouseleave.zf.tooltip', function (e) {
37482          clearTimeout(_this.timeout);
37483          if (!isFocus || _this.isClick && !_this.options.clickOpen) {
37484            _this.hide();
37485          }
37486        });
37487      }
37488
37489      if (this.options.clickOpen) {
37490        this.$element.on('mousedown.zf.tooltip', function (e) {
37491          e.stopImmediatePropagation();
37492          if (_this.isClick) {
37493            //_this.hide();
37494            // _this.isClick = false;
37495          } else {
37496            _this.isClick = true;
37497            if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {
37498              _this.show();
37499            }
37500          }
37501        });
37502      } else {
37503        this.$element.on('mousedown.zf.tooltip', function (e) {
37504          e.stopImmediatePropagation();
37505          _this.isClick = true;
37506        });
37507      }
37508
37509      if (!this.options.disableForTouch) {
37510        this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
37511          _this.isActive ? _this.hide() : _this.show();
37512        });
37513      }
37514
37515      this.$element.on({
37516        // 'toggle.zf.trigger': this.toggle.bind(this),
37517        // 'close.zf.trigger': this.hide.bind(this)
37518        'close.zf.trigger': this.hide.bind(this)
37519      });
37520
37521      this.$element.on('focus.zf.tooltip', function (e) {
37522        isFocus = true;
37523        if (_this.isClick) {
37524          // If we're not showing open on clicks, we need to pretend a click-launched focus isn't
37525          // a real focus, otherwise on hover and come back we get bad behavior
37526          if (!_this.options.clickOpen) {
37527            isFocus = false;
37528          }
37529          return false;
37530        } else {
37531          _this.show();
37532        }
37533      }).on('focusout.zf.tooltip', function (e) {
37534        isFocus = false;
37535        _this.isClick = false;
37536        _this.hide();
37537      }).on('resizeme.zf.trigger', function () {
37538        if (_this.isActive) {
37539          _this._setPosition();
37540        }
37541      });
37542    }
37543
37544    /**
37545     * adds a toggle method, in addition to the static show() & hide() functions
37546     * @function
37547     */
37548
37549  }, {
37550    key: 'toggle',
37551    value: function toggle() {
37552      if (this.isActive) {
37553        this.hide();
37554      } else {
37555        this.show();
37556      }
37557    }
37558
37559    /**
37560     * Destroys an instance of tooltip, removes template element from the view.
37561     * @function
37562     */
37563
37564  }, {
37565    key: '_destroy',
37566    value: function _destroy() {
37567      this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tooltip').removeClass('has-tip top right left').removeAttr('aria-describedby aria-haspopup data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');
37568
37569      this.template.remove();
37570    }
37571  }]);
37572
37573  return Tooltip;
37574}(_foundation.Positionable);
37575
37576Tooltip.defaults = {
37577  disableForTouch: false,
37578  /**
37579   * Time, in ms, before a tooltip should open on hover.
37580   * @option
37581   * @type {number}
37582   * @default 200
37583   */
37584  hoverDelay: 200,
37585  /**
37586   * Time, in ms, a tooltip should take to fade into view.
37587   * @option
37588   * @type {number}
37589   * @default 150
37590   */
37591  fadeInDuration: 150,
37592  /**
37593   * Time, in ms, a tooltip should take to fade out of view.
37594   * @option
37595   * @type {number}
37596   * @default 150
37597   */
37598  fadeOutDuration: 150,
37599  /**
37600   * Disables hover events from opening the tooltip if set to true
37601   * @option
37602   * @type {boolean}
37603   * @default false
37604   */
37605  disableHover: false,
37606  /**
37607   * Optional addtional classes to apply to the tooltip template on init.
37608   * @option
37609   * @type {string}
37610   * @default ''
37611   */
37612  templateClasses: '',
37613  /**
37614   * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
37615   * @option
37616   * @type {string}
37617   * @default 'tooltip'
37618   */
37619  tooltipClass: 'tooltip',
37620  /**
37621   * Class applied to the tooltip anchor element.
37622   * @option
37623   * @type {string}
37624   * @default 'has-tip'
37625   */
37626  triggerClass: 'has-tip',
37627  /**
37628   * Minimum breakpoint size at which to open the tooltip.
37629   * @option
37630   * @type {string}
37631   * @default 'small'
37632   */
37633  showOn: 'small',
37634  /**
37635   * Custom template to be used to generate markup for tooltip.
37636   * @option
37637   * @type {string}
37638   * @default ''
37639   */
37640  template: '',
37641  /**
37642   * Text displayed in the tooltip template on open.
37643   * @option
37644   * @type {string}
37645   * @default ''
37646   */
37647  tipText: '',
37648  touchCloseText: 'Tap to close.',
37649  /**
37650   * Allows the tooltip to remain open if triggered with a click or touch event.
37651   * @option
37652   * @type {boolean}
37653   * @default true
37654   */
37655  clickOpen: true,
37656  /**
37657   * DEPRECATED Additional positioning classes, set by the JS
37658   * @option
37659   * @type {string}
37660   * @default ''
37661   */
37662  positionClass: '',
37663  /**
37664   * Position of tooltip. Can be left, right, bottom, top, or auto.
37665   * @option
37666   * @type {string}
37667   * @default 'auto'
37668   */
37669  position: 'auto',
37670  /**
37671   * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto.
37672   * @option
37673   * @type {string}
37674   * @default 'auto'
37675   */
37676  alignment: 'auto',
37677  /**
37678   * Allow overlap of container/window. If false, tooltip will first try to
37679   * position as defined by data-position and data-alignment, but reposition if
37680   * it would cause an overflow.  @option
37681   * @type {boolean}
37682   * @default false
37683   */
37684  allowOverlap: false,
37685  /**
37686   * Allow overlap of only the bottom of the container. This is the most common
37687   * behavior for dropdowns, allowing the dropdown to extend the bottom of the
37688   * screen but not otherwise influence or break out of the container.
37689   * Less common for tooltips.
37690   * @option
37691   * @type {boolean}
37692   * @default false
37693   */
37694  allowBottomOverlap: false,
37695  /**
37696   * Distance, in pixels, the template should push away from the anch
37696or on the Y axis.
37697   * @option
37698   * @type {number}
37699   * @default 0
37700   */
37701  vOffset: 0,
37702  /**
37703   * Distance, in pixels, the template should push away from the anchor on the X axis
37704   * @option
37705   * @type {number}
37706   * @default 0
37707   */
37708  hOffset: 0,
37709  /**
37710   * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip
37711   * @option
37712   * @type {number}
37713   * @default 14
37714   */
37715  tooltipHeight: 14,
37716  /**
37717   * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip
37718   * @option
37719   * @type {number}
37720   * @default 12
37721   */
37722  tooltipWidth: 12,
37723  /**
37724  * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,
37725  * allowing HTML may open yourself up to XSS attacks.
37726  * @option
37727  * @type {boolean}
37728  * @default false
37729  */
37730  allowHtml: false
37731};
37732
37733/**
37734 * TODO utilize resize event trigger
37735 */
37736
37737exports.Tooltip = Tooltip;
37738
37739/***/ }),
37740/* 284 */
37741/***/ (function(module, exports, __webpack_require__) {
37742
37743"use strict";
37744
37745
37746Object.defineProperty(exports, "__esModule", {
37747  value: true
37748});
37749exports.onImagesLoaded = undefined;
37750
37751var _jquery = __webpack_require__(1);
37752
37753var _jquery2 = _interopRequireDefault(_jquery);
37754
37755function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37756
37757/**
37758 * Runs a callback function when images are fully loaded.
37759 * @param {Object} images - Image(s) to check if loaded.
37760 * @param {Func} callback - Function to execute when image is fully loaded.
37761 */
37762function onImagesLoaded(images, callback) {
37763  var self = this,
37764      unloaded = images.length;
37765
37766  if (unloaded === 0) {
37767    callback();
37768  }
37769
37770  images.each(function () {
37771    // Check if image is loaded
37772    if (this.complete && this.naturalWidth !== undefined) {
37773      singleImageLoaded();
37774    } else {
37775      // If the above check failed, simulate loading on detached element.
37776      var image = new Image();
37777      // Still count image as loaded if it finalizes with an error.
37778      var events = "load.zf.images error.zf.images";
37779      (0, _jquery2.default)(image).one(events, function me(event) {
37780        // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.
37781        (0, _jquery2.default)(this).off(events, me);
37782        singleImageLoaded();
37783      });
37784      image.src = (0, _jquery2.default)(this).attr('src');
37785    }
37786  });
37787
37788  function singleImageLoaded() {
37789    unloaded--;
37790    if (unloaded === 0) {
37791      callback();
37792    }
37793  }
37794}
37795
37796exports.onImagesLoaded = onImagesLoaded;
37797
37798/***/ }),
37799/* 285 */
37800/***/ (function(module, exports, __webpack_require__) {
37801
37802"use strict";
37803
37804
37805Object.defineProperty(exports, "__esModule", {
37806  value: true
37807});
37808exports.Nest = undefined;
37809
37810var _jquery = __webpack_require__(1);
37811
37812var _jquery2 = _interopRequireDefault(_jquery);
37813
37814function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37815
37816var Nest = {
37817  Feather: function Feather(menu) {
37818    var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';
37819
37820    menu.attr('role', 'menubar');
37821
37822    var items = menu.find('li').attr({ 'role': 'menuitem' }),
37823        subMenuClass = 'is-' + type + '-submenu',
37824        subItemClass = subMenuClass + '-item',
37825        hasSubClass = 'is-' + type + '-submenu-parent',
37826        applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes.
37827
37828    items.each(function () {
37829      var $item = (0, _jquery2.default)(this),
37830          $sub = $item.children('ul');
37831
37832      if ($sub.length) {
37833        $item.addClass(hasSubClass);
37834        $sub.addClass('submenu ' + subMenuClass).attr({ 'data-submenu': '' });
37835        if (applyAria) {
37836          $item.attr({
37837            'aria-haspopup': true,
37838            'aria-label': $item.children('a:first').text()
37839          });
37840          // Note:  Drilldowns behave differently in how they hide, and so need
37841          // additional attributes.  We should look if this possibly over-generalized
37842          // utility (Nest) is appropriate when we rework menus in 6.4
37843          if (type === 'drilldown') {
37844            $item.attr({ 'aria-expanded': false });
37845          }
37846        }
37847        $sub.addClass('submenu ' + subMenuClass).attr({
37848          'data-submenu': '',
37849          'role': 'menu'
37850        });
37851        if (type === 'drilldown') {
37852          $sub.attr({ 'aria-hidden': true });
37853        }
37854      }
37855
37856      if ($item.parent('[data-submenu]').length) {
37857        $item.addClass('is-submenu-item ' + subItemClass);
37858      }
37859    });
37860
37861    return;
37862  },
37863  Burn: function Burn(menu, type) {
37864    var //items = menu.find('li'),
37865    subMenuClass = 'is-' + type + '-submenu',
37866        subItemClass = subMenuClass + '-item',
37867        hasSubClass = 'is-' + type + '-submenu-parent';
37868
37869    menu.find('>li, .menu, .menu > li').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
37870  }
37871};
37872
37873exports.Nest = Nest;
37874
37875/***/ }),
37876/* 286 */
37877/***/ (function(module, exports, __webpack_require__) {
37878
37879"use strict";
37880
37881
37882Object.defineProperty(exports, "__esModule", {
37883  value: true
37884});
37885exports.Touch = undefined;
37886
37887var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); //**************************************************
37888//**Work inspired by multiple jquery swipe plugins**
37889//**Done by Yohai Ararat ***************************
37890//**************************************************
37891
37892var _jquery = __webpack_require__(1);
37893
37894var _jquery2 = _interopRequireDefault(_jquery);
37895
37896function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37897
37898function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37899
37900var Touch = {};
37901
37902var startPosX,
37903    startPosY,
37904    startTime,
37905    elapsedTime,
37906    isMoving = false;
37907
37908function onTouchEnd() {
37909  //  alert(this);
37910  this.removeEventListener('touchmove', onTouchMove);
37911  this.removeEventListener('touchend', onTouchEnd);
37912  isMoving = false;
37913}
37914
37915function onTouchMove(e) {
37916  if (_jquery2.default.spotSwipe.preventDefault) {
37917    e.preventDefault();
37918  }
37919  if (isMoving) {
37920    var x = e.touches[0].pageX;
37921    var y = e.touches[0].pageY;
37922    var dx = startPosX - x;
37923    var dy = startPosY - y;
37924    var dir;
37925    elapsedTime = new Date().getTime() - startTime;
37926    if (Math.abs(dx) >= _jquery2.default.spotSwipe.moveThreshold && elapsedTime <= _jquery2.default.spotSwipe.timeThreshold) {
37927      dir = dx > 0 ? 'left' : 'right';
37928    }
37929    // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
37930    //   dir = dy > 0 ? 'down' : 'up';
37931    // }
37932    if (dir) {
37933      e.preventDefault();
37934      onTouchEnd.call(this);
37935      (0, _jquery2.default)(this).trigger('swipe', dir).trigger('swipe' + dir);
37936    }
37937  }
37938}
37939
37940function onTouchStart(e) {
37941  if (e.touches.length == 1) {
37942    startPosX = e.touches[0].pageX;
37943    startPosY = e.touches[0].pageY;
37944    isMoving = true;
37945    startTime = new Date().getTime();
37946    this.addEventListener('touchmove', onTouchMove, false);
37947    this.addEventListener('touchend', onTouchEnd, false);
37948  }
37949}
37950
37951function init() {
37952  this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
37953}
37954
37955function teardown() {
37956  this.removeEventListener('touchstart', onTouchStart);
37957}
37958
37959var SpotSwipe = function () {
37960  function SpotSwipe($) {
37961    _classCallCheck(this, SpotSwipe);
37962
37963    this.version = '1.0.0';
37964    this.enabled = 'ontouchstart' in document.documentElement;
37965    this.preventDefault = false;
37966    this.moveThreshold = 75;
37967    this.timeThreshold = 200;
37968    this.$ = $;
37969    this._init();
37970  }
37971
37972  _createClass(SpotSwipe, [{
37973    key: '_init',
37974    value: function _init() {
37975      var $ = this.$;
37976      $.event.special.swipe = { setup: init };
37977
37978      $.each(['left', 'up', 'down', 'right'], function () {
37979        $.event.special['swipe' + this] = { setup: function setup() {
37980            $(this).on('swipe', $.noop);
37981          } };
37982      });
37983    }
37984  }]);
37985
37986  return SpotSwipe;
37987}();
37988
37989/****************************************************
37990 * As far as I can tell, both setupSpotSwipe and    *
37991 * setupTouchHandler should be idempotent,          *
37992 * because they directly replace functions &        *
37993 * values, and do not add event handlers directly.  *
37994 ****************************************************/
37995
37996Touch.setupSpotSwipe = function ($) {
37997  $.spotSwipe = new SpotSwipe($);
37998};
37999
38000/****************************************************
38001 * Method for adding pseudo drag events to elements *
38002 ***************************************************/
38003Touch.setupTouchHandler = function ($) {
38004  $.fn.addTouch = function () {
38005    this.each(function (i, el) {
38006      $(el).bind('touchstart touchmove touchend touchcancel', function (event) {
38007        //we pass the original event object because the jQuery event
38008        //object is normalized to w3c specs and does not provide the TouchList
38009        handleTouch(event);
38010      });
38011    });
38012
38013    var handleTouch = function handleTouch(event) {
38014      var touches = event.changedTouches,
38015          first = touches[0],
38016          eventTypes = {
38017        touchstart: 'mousedown',
38018        touchmove: 'mousemove',
38019        touchend: 'mouseup'
38020      },
38021          type = eventTypes[event.type],
38022          simulatedEvent;
38023
38024      if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {
38025        simulatedEvent = new window.MouseEvent(type, {
38026          'bubbles': true,
38027          'cancelable': true,
38028          'screenX': first.screenX,
38029          'screenY': first.screenY,
38030          'clientX': first.clientX,
38031          'clientY': first.clientY
38032        });
38033      } else {
38034        simulatedEvent = document.createEvent('MouseEvent');
38035        simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);
38036      }
38037      first.target.dispatchEvent(simulatedEvent);
38038    };
38039  };
38040};
38041
38042Touch.init = function ($) {
38043  if (typeof $.spotSwipe === 'undefined') {
38044    Touch.setupSpotSwipe($);
38045    Touch.setupTouchHandler($);
38046  }
38047};
38048
38049exports.Touch = Touch;
38050
38051/***/ }),
38052/* 287 */
38053/***/ (function(module, exports, __webpack_require__) {
38054
38055"use strict";
38056
38057
38058/**
38059 * Check if argument is a HTML element.
38060 *
38061 * @param {Object} value
38062 * @return {Boolean}
38063 */
38064exports.node = function (value) {
38065  return value !== undefined && value instanceof HTMLElement && value.nodeType === 1;
38066};
38067
38068/**
38069 * Check if argument is a list of HTML elements.
38070 *
38071 * @param {Object} value
38072 * @return {Boolean}
38073 */
38074exports.nodeList = function (value) {
38075  var type = Object.prototype.toString.call(value);
38076
38077  return value !== undefined && (type === '[object NodeList]' || type === '[object HTMLCollection]') && 'length' in value && (value.length === 0 || exports.node(value[0]));
38078};
38079
38080/**
38081 * Check if argument is a string.
38082 *
38083 * @param {Object} value
38084 * @return {Boolean}
38085 */
38086exports.string = function (value) {
38087  return typeof value === 'string' || value instanceof String;
38088};
38089
38090/**
38091 * Check if argument is a function.
38092 *
38093 * @param {Object} value
38094 * @return {Boolean}
38095 */
38096exports.fn = function (value) {
38097  var type = Object.prototype.toString.call(value);
38098
38099  return type === '[object Function]';
38100};
38101
38102/***/ }),
38103/* 288 */
38104/***/ (function(module, exports, __webpack_require__) {
38105
38106"use strict";
38107
38108
38109var is = __webpack_require__(287);
38110var delegate = __webpack_require__(276);
38111
38112/**
38113 * Validates all params and calls the right
38114 * listener function based on its target type.
38115 *
38116 * @param {String|HTMLElement|HTMLCollection|NodeList} target
38117 * @param {String} type
38118 * @param {Function} callback
38119 * @return {Object}
38120 */
38121function listen(target, type, callback) {
38122    if (!target && !type && !callback) {
38123        throw new Error('Missing required arguments');
38124    }
38125
38126    if (!is.string(type)) {
38127        throw new TypeError('Second argument must be a String');
38128    }
38129
38130    if (!is.fn(callback)) {
38131        throw new TypeError('Third argument must be a Function');
38132    }
38133
38134    if (is.node(target)) {
38135        return listenNode(target, type, callback);
38136    } else if (is.nodeList(target)) {
38137        return listenNodeList(target, type, callback);
38138    } else if (is.string(target)) {
38139        return listenSelector(target, type, callback);
38140    } else {
38141        throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');
38142    }
38143}
38144
38145/**
38146 * Adds an event listener to a HTML element
38147 * and returns a remove listener function.
38148 *
38149 * @param {HTMLElement} node
38150 * @param {String} type
38151 * @param {Function} callback
38152 * @return {Object}
38153 */
38154function listenNode(node, type, callback) {
38155    node.addEventListener(type, callback);
38156
38157    return {
38158        destroy: function destroy() {
38159            node.removeEventListener(type, callback);
38160        }
38161    };
38162}
38163
38164/**
38165 * Add an event listener to a list of HTML elements
38166 * and returns a remove listener function.
38167 *
38168 * @param {NodeList|HTMLCollection} nodeList
38169 * @param {String} type
38170 * @param {Function} callback
38171 * @return {Object}
38172 */
38173function listenNodeList(nodeList, type, callback) {
38174    Array.prototype.forEach.call(nodeList, function (node) {
38175        node.addEventListener(type, callback);
38176    });
38177
38178    return {
38179        destroy: function destroy() {
38180            Array.prototype.forEach.call(nodeList, function (node) {
38181                node.removeEventListener(type, callback);
38182            });
38183        }
38184    };
38185}
38186
38187/**
38188 * Add an event listener to a selector
38189 * and returns a remove listener function.
38190 *
38191 * @param {String} selector
38192 * @param {String} type
38193 * @param {Function} callback
38194 * @return {Object}
38195 */
38196function listenSelector(selector, type, callback) {
38197    return delegate(document.body, selector, type, callback);
38198}
38199
38200module.exports = listen;
38201
38202/***/ }),
38203/* 289 */
38204/***/ (function(module, exports, __webpack_require__) {
38205
38206"use strict";
38207var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
38208
38209var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
38210
38211(function (root, factory) {
38212
38213	if (root === null) {
38214		throw new Error('Google-maps package can be used only in browser');
38215	}
38216
38217	if (true) {
38218		!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
38219				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
38220				(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
38221				__WEBPACK_AMD_DEFINE_FACTORY__),
38222				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
38223	} else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {
38224		module.exports = factory();
38225	} else {
38226		root.GoogleMapsLoader = factory();
38227	}
38228})(typeof window !== 'undefined' ? window : null, function () {
38229
38230	'use strict';
38231
38232	var googleVersion = '3.18';
38233
38234	var script = null;
38235
38236	var google = null;
38237
38238	var loading = false;
38239
38240	var callbacks = [];
38241
38242	var onLoadEvents = [];
38243
38244	var originalCreateLoaderMethod = null;
38245
38246	var GoogleMapsLoader = {};
38247
38248	GoogleMapsLoader.URL = 'https://maps.googleapis.com/maps/api/js';
38249
38250	GoogleMapsLoader.KEY = null;
38251
38252	GoogleMapsLoader.LIBRARIES = [];
38253
38254	GoogleMapsLoader.CLIENT = null;
38255
38256	GoogleMapsLoader.CHANNEL = null;
38257
38258	GoogleMapsLoader.LANGUAGE = null;
38259
38260	GoogleMapsLoader.REGION = null;
38261
38262	GoogleMapsLoader.VERSION = googleVersion;
38263
38264	GoogleMapsLoader.WINDOW_CALLBACK_NAME = '__google_maps_api_provider_initializator__';
38265
38266	GoogleMapsLoader._googleMockApiObject = {};
38267
38268	GoogleMapsLoader.load = function (fn) {
38269		if (google === null) {
38270			if (loading === true) {
38271				if (fn) {
38272					callbacks.push(fn);
38273				}
38274			} else {
38275				loading = true;
38276
38277				window[GoogleMapsLoader.WINDOW_CALLBACK_NAME] = function () {
38278					ready(fn);
38279				};
38280
38281				GoogleMapsLoader.createLoader();
38282			}
38283		} else if (fn) {
38284			fn(google);
38285		}
38286	};
38287
38288	GoogleMapsLoader.createLoader = function () {
38289		script = document.createElement('script');
38290		script.type = 'text/javascript';
38291		script.src = GoogleMapsLoader.createUrl();
38292
38293		document.body.appendChild(script);
38294	};
38295
38296	GoogleMapsLoader.isLoaded = function () {
38297		return google !== null;
38298	};
38299
38300	GoogleMapsLoader.createUrl = function () {
38301		var url = GoogleMapsLoader.URL;
38302
38303		url += '?callback=' + GoogleMapsLoader.WINDOW_CALLBACK_NAME;
38304
38305		if (GoogleMapsLoader.KEY) {
38306			url += '&key=' + GoogleMapsLoader.KEY;
38307		}
38308
38309		if (GoogleMapsLoader.LIBRARIES.length > 0) {
38310			url += '&libraries=' + GoogleMapsLoader.LIBRARIES.join(',');
38311		}
38312
38313		if (GoogleMapsLoader.CLIENT) {
38314			url += '&client=' + GoogleMapsLoader.CLIENT + '&v=' + GoogleMapsLoader.VERSION;
38315		}
38316
38317		if (GoogleMapsLoader.CHANNEL) {
38318			url += '&channel=' + GoogleMapsLoader.CHANNEL;
38319		}
38320
38321		if (GoogleMapsLoader.LANGUAGE) {
38322			url += '&language=' + GoogleMapsLoader.LANGUAGE;
38323		}
38324
38325		if (GoogleMapsLoader.REGION) {
38326			url += '&region=' + GoogleMapsLoader.REGION;
38327		}
38328
38329		return url;
38330	};
38331
38332	GoogleMapsLoader.release = function (fn) {
38333		var release = function release() {
38334			GoogleMapsLoader.KEY = null;
38335			GoogleMapsLoader.LIBRARIES = [];
38336			GoogleMapsLoader.CLIENT = null;
38337			GoogleMapsLoader.CHANNEL = null;
38338			GoogleMapsLoader.LANGUAGE = null;
38339			GoogleMapsLoader.REGION = null;
38340			GoogleMapsLoader.VERSION = googleVersion;
38341
38342			google = null;
38343			loading = false;
38344			callbacks = [];
38345			onLoadEvents = [];
38346
38347			if (typeof window.google !== 'undefined') {
38348				delete window.google;
38349			}
38350
38351			if (typeof window[GoogleMapsLoader.WINDOW_CALLBACK_NAME] !== 'undefined') {
38352				delete window[GoogleMapsLoader.WINDOW_CALLBACK_NAME];
38353			}
38354
38355			if (originalCreateLoaderMethod !== null) {
38356				GoogleMapsLoader.createLoader = originalCreateLoaderMethod;
38357				originalCreateLoaderMethod = null;
38358			}
38359
38360			if (script !== null) {
38361				script.parentElement.removeChild(script);
38362				script = null;
38363			}
38364
38365			if (fn) {
38366				fn();
38367			}
38368		};
38369
38370		if (loading) {
38371			GoogleMapsLoader.load(function () {
38372				release();
38373			});
38374		} else {
38375			release();
38376		}
38377	};
38378
38379	GoogleMapsLoader.onLoad = function (fn) {
38380		onLoadEvents.push(fn);
38381	};
38382
38383	GoogleMapsLoader.makeMock = function () {
38384		originalCreateLoaderMethod = GoogleMapsLoader.createLoader;
38385
38386		GoogleMapsLoader.createLoader = function () {
38387			window.google = GoogleMapsLoader._googleMockApiObject;
38388			window[GoogleMapsLoader.WINDOW_CALLBACK_NAME]();
38389		};
38390	};
38391
38392	var ready = function ready(fn) {
38393		var i;
38394
38395		loading = false;
38396
38397		if (google === null) {
38398			google = window.google;
38399		}
38400
38401		for (i = 0; i < onLoadEvents.length; i++) {
38402			onLoadEvents[i](google);
38403		}
38404
38405		if (fn) {
38406			fn(google);
38407		}
38408
38409		for (i = 0; i < callbacks.length; i++) {
38410			callbacks[i](google);
38411		}
38412
38413		callbacks = [];
38414	};
38415
38416	return GoogleMapsLoader;
38417});
38418
38419/***/ }),
38420/* 290 */
38421/***/ (function(module, exports, __webpack_require__) {
38422
38423"use strict";
38424var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
38425
38426var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
38427
38428/*!
38429 * jQuery Placeholder Plugin v2.3.1
38430 * https://github.com/mathiasbynens/jquery-placeholder
38431 *
38432 * Copyright 2011, 2015 Mathias Bynens
38433 * Released under the MIT license
38434 */
38435(function (factory) {
38436    if (true) {
38437        // AMD
38438        !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
38439				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
38440				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
vendor: 10,116 bytes, lines 38441-38724
38441				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
38442    } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) {
38443        factory(require('jquery'));
38444    } else {
38445        // Browser globals
38446        factory(jQuery);
38447    }
38448})(function ($) {
38449
38450    /****
38451     * Allows plugin behavior simulation in modern browsers for easier debugging. 
38452     * When setting to true, use attribute "placeholder-x" rather than the usual "placeholder" in your inputs/textareas 
38453     * i.e. <input type="text" placeholder-x="my placeholder text" />
38454     */
38455    var debugMode = false;
38456
38457    // Opera Mini v7 doesn't support placeholder although its DOM seems to indicate so
38458    var isOperaMini = Object.prototype.toString.call(window.operamini) === '[object OperaMini]';
38459    var isInputSupported = 'placeholder' in document.createElement('input') && !isOperaMini && !debugMode;
38460    var isTextareaSupported = 'placeholder' in document.createElement('textarea') && !isOperaMini && !debugMode;
38461    var valHooks = $.valHooks;
38462    var propHooks = $.propHooks;
38463    var hooks;
38464    var placeholder;
38465    var settings = {};
38466
38467    if (isInputSupported && isTextareaSupported) {
38468
38469        placeholder = $.fn.placeholder = function () {
38470            return this;
38471        };
38472
38473        placeholder.input = true;
38474        placeholder.textarea = true;
38475    } else {
38476
38477        placeholder = $.fn.placeholder = function (options) {
38478
38479            var defaults = { customClass: 'placeholder' };
38480            settings = $.extend({}, defaults, options);
38481
38482            return this.filter((isInputSupported ? 'textarea' : ':input') + '[' + (debugMode ? 'placeholder-x' : 'placeholder') + ']').not('.' + settings.customClass).not(':radio, :checkbox, [type=hidden]').bind({
38483                'focus.placeholder': clearPlaceholder,
38484                'blur.placeholder': setPlaceholder
38485            }).data('placeholder-enabled', true).trigger('blur.placeholder');
38486        };
38487
38488        placeholder.input = isInputSupported;
38489        placeholder.textarea = isTextareaSupported;
38490
38491        hooks = {
38492            'get': function get(element) {
38493
38494                var $element = $(element);
38495                var $passwordInput = $element.data('placeholder-password');
38496
38497                if ($passwordInput) {
38498                    return $passwordInput[0].value;
38499                }
38500
38501                return $element.data('placeholder-enabled') && $element.hasClass(settings.customClass) ? '' : element.value;
38502            },
38503            'set': function set(element, value) {
38504
38505                var $element = $(element);
38506                var $replacement;
38507                var $passwordInput;
38508
38509                if (value !== '') {
38510
38511                    $replacement = $element.data('placeholder-textinput');
38512                    $passwordInput = $element.data('placeholder-password');
38513
38514                    if ($replacement) {
38515                        clearPlaceholder.call($replacement[0], true, value) || (element.value = value);
38516                        $replacement[0].value = value;
38517                    } else if ($passwordInput) {
38518                        clearPlaceholder.call(element, true, value) || ($passwordInput[0].value = value);
38519                        element.value = value;
38520                    }
38521                }
38522
38523                if (!$element.data('placeholder-enabled')) {
38524                    element.value = value;
38525                    return $element;
38526                }
38527
38528                if (value === '') {
38529
38530                    element.value = value;
38531
38532                    // Setting the placeholder causes problems if the element continues to have focus.
38533                    if (element != safeActiveElement()) {
38534                        // We can't use `triggerHandler` here because of dummy text/password inputs :(
38535                        setPlaceholder.call(element);
38536                    }
38537                } else {
38538
38539                    if ($element.hasClass(settings.customClass)) {
38540                        clearPlaceholder.call(element);
38541                    }
38542
38543                    element.value = value;
38544                }
38545                // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363
38546                return $element;
38547            }
38548        };
38549
38550        if (!isInputSupported) {
38551            valHooks.input = hooks;
38552            propHooks.value = hooks;
38553        }
38554
38555        if (!isTextareaSupported) {
38556            valHooks.textarea = hooks;
38557            propHooks.value = hooks;
38558        }
38559
38560        $(function () {
38561            // Look for forms
38562            $(document).delegate('form', 'submit.placeholder', function () {
38563
38564                // Clear the placeholder values so they don't get submitted
38565                var $inputs = $('.' + settings.customClass, this).each(function () {
38566                    clearPlaceholder.call(this, true, '');
38567                });
38568
38569                setTimeout(function () {
38570                    $inputs.each(setPlaceholder);
38571                }, 10);
38572            });
38573        });
38574
38575        // Clear placeholder values upon page reload
38576        $(window).bind('beforeunload.placeholder', function () {
38577
38578            var clearPlaceholders = true;
38579
38580            try {
38581                // Prevent IE javascript:void(0) anchors from causing cleared values
38582                if (document.activeElement.toString() === 'javascript:void(0)') {
38583                    clearPlaceholders = false;
38584                }
38585            } catch (exception) {}
38586
38587            if (clearPlaceholders) {
38588                $('.' + settings.customClass).each(function () {
38589                    this.value = '';
38590                });
38591            }
38592        });
38593    }
38594
38595    function args(elem) {
38596        // Return an object of element attributes
38597        var newAttrs = {};
38598        var rinlinejQuery = /^jQuery\d+$/;
38599
38600        $.each(elem.attributes, function (i, attr) {
38601            if (attr.specified && !rinlinejQuery.test(attr.name)) {
38602                newAttrs[attr.name] = attr.value;
38603            }
38604        });
38605
38606        return newAttrs;
38607    }
38608
38609    function clearPlaceholder(event, value) {
38610
38611        var input = this;
38612        var $input = $(this);
38613
38614        if (input.value === $input.attr(debugMode ? 'placeholder-x' : 'placeholder') && $input.hasClass(settings.customClass)) {
38615
38616            input.value = '';
38617            $input.removeClass(settings.customClass);
38618
38619            if ($input.data('placeholder-password')) {
38620
38621                $input = $input.hide().nextAll('input[type="password"]:first').show().attr('id', $input.removeAttr('id').data('placeholder-id'));
38622
38623                // If `clearPlaceholder` was called from `$.valHooks.input.set`
38624                if (event === true) {
38625                    $input[0].value = value;
38626
38627                    return value;
38628                }
38629
38630                $input.focus();
38631            } else {
38632                input == safeActiveElement() && input.select();
38633            }
38634        }
38635    }
38636
38637    function setPlaceholder(event) {
38638        var $replacement;
38639        var input = this;
38640        var $input = $(this);
38641        var id = input.id;
38642
38643        // If the placeholder is activated, triggering blur event (`$input.trigger('blur')`) should do nothing.
38644        if (event && event.type === 'blur' && $input.hasClass(settings.customClass)) {
38645            return;
38646        }
38647
38648        if (input.value === '') {
38649            if (input.type === 'password') {
38650                if (!$input.data('placeholder-textinput')) {
38651
38652                    try {
38653                        $replacement = $input.clone().prop({ 'type': 'text' });
38654                    } catch (e) {
38655                        $replacement = $('<input>').attr($.extend(args(this), { 'type': 'text' }));
38656                    }
38657
38658                    $replacement.removeAttr('name').data({
38659                        'placeholder-enabled': true,
38660                        'placeholder-password': $input,
38661                        'placeholder-id': id
38662                    }).bind('focus.placeholder', clearPlaceholder);
38663
38664                    $input.data({
38665                        'placeholder-textinput': $replacement,
38666                        'placeholder-id': id
38667                    }).before($replacement);
38668                }
38669
38670                input.value = '';
38671                $input = $input.removeAttr('id').hide().prevAll('input[type="text"]:first').attr('id', $input.data('placeholder-id')).show();
38672            } else {
38673
38674                var $passwordInput = $input.data('placeholder-password');
38675
38676                if ($passwordInput) {
38677                    $passwordInput[0].value = '';
38678                    $input.attr('id', $input.data('placeholder-id')).show().nextAll('input[type="password"]:last').hide().removeAttr('id');
38679                }
38680            }
38681
38682            $input.addClass(settings.customClass);
38683            $input[0].value = $input.attr(debugMode ? 'placeholder-x' : 'placeholder');
38684        } else {
38685            $input.removeClass(settings.customClass);
38686        }
38687    }
38688
38689    function safeActiveElement() {
38690        // Avoid IE9 `document.activeElement` of death
38691        try {
38692            return document.activeElement;
38693        } catch (exception) {}
38694    }
38695});
38696
38697/***/ }),
38698/* 291 */
38699/***/ (function(module, exports, __webpack_require__) {
38700
38701"use strict";
38702var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
38703
38704/*!
38705 * jQuery UI Unique ID 1.12.1
38706 * http://jqueryui.com
38707 *
38708 * Copyright jQuery Foundation and other contributors
38709 * Released under the MIT license.
38710 * http://jquery.org/license
38711 */
38712
38713//>>label: uniqueId
38714//>>group: Core
38715//>>description: Functions to generate and remove uniqueId's
38716//>>docs: http://api.jqueryui.com/uniqueId/
38717
38718(function (factory) {
38719	if (true) {
38720
38721		// AMD. Register as an anonymous module.
38722		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(11)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
38723				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
38724				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
38725				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
38726	} else {
38727
38728		// Browser globals
38729		factory(jQuery);
38730	}
38731})(function ($) {
38732
38733	return $.fn.extend({
38734		uniqueId: function () {
38735			var uuid = 0;
38736
38737			return function () {
38738				return this.each(function () {
38739					if (!this.id) {
38740						this.id = "ui-id-" + ++uuid;
38741					}
38742				});
38743			};
38744		}(),
38745
38746		removeUniqueId: function removeUniqueId() {
38747			return this.each(function () {
38748				if (/^ui-id-\d+$/.test(this.id)) {
38749					$(this).removeAttr("id");
38750				}
38751			});
38752		}
38753	});
38754});
38755
38756/***/ }),
38757/* 292 */
38758/***/ (function(module, exports, __webpack_require__) {
38759
38760"use strict";
38761var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
38762
38763/*!
38764 * jQuery UI Autocomplete 1.12.1
38765 * http://jqueryui.com
38766 *
38767 * Copyright jQuery Foundation and other contributors
38768 * Released under the MIT license.
38769 * http://jquery.org/license
38770 */
38771
38772//>>label: Autocomplete
38773//>>group: Widgets
38774//>>description: Lists suggested words as the user is typing.
38775//>>docs: http://api.jqueryui.com/autocomplete/
38776//>>demos: http://jqueryui.com/autocomplete/
38777//>>css.structure: ../../themes/base/core.css
38778//>>css.structure: ../../themes/base/autocomplete.css
38779//>>css.theme: ../../themes/base/theme.css
38780
38781(function (factory) {
38782	if (true) {
38783
38784		// AMD. Register as an anonymous module.
38785		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(293), __webpack_require__(59), __webpack_require__(60), __webpack_require__(61), __webpack_require__(11), __webpack_require__(62)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
38786				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
38787				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
38788				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
38789	} else {
38790
38791		// Browser globals
38792		factory(jQuery);
38793	}
38794})(function ($) {
38795
38796	$.widget("ui.autocomplete", {
38797		version: "1.12.1",
38798		defaultElement: "<input>",
38799		options: {
38800			appendTo: null,
38801			autoFocus: false,
38802			delay: 300,
38803			minLength: 1,
38804			position: {
38805				my: "left top",
38806				at: "left bottom",
38807				collision: "none"
38808			},
38809			source: null,
38810
38811			// Callbacks
38812			change: null,
38813			close: null,
38814			focus: null,
38815			open: null,
38816			response: null,
38817			search: null,
38818			select: null
38819		},
38820
38821		requestIndex: 0,
38822		pending: 0,
38823
38824		_create: function _create() {
38825
38826			// Some browsers only repeat keydown events, not keypress events,
38827			// so we use the suppressKeyPress flag to determine if we've already
38828			// handled the keydown event. #7269
38829			// Unfortunately the code for & in keypress is the same as the up arrow,
38830			// so we use the suppressKeyPressRepeat flag to avoid handling keypress
38831			// events when we know the keydown event was used to modify the
38832			// search term. #7799
38833			var suppressKeyPress,
38834			    suppressKeyPressRepeat,
38835			    suppressInput,
38836			    nodeName = this.element[0].nodeName.toLowerCase(),
38837			    isTextarea = nodeName === "textarea",
38838			    isInput = nodeName === "input";
38839
38840			// Textareas are always multi-line
38841			// Inputs are always single-line, even if inside a contentEditable element
38842			// IE also treats inputs as contentEditable
38843			// All other element types are determined by whether or not they're contentEditable
38844			this.isMultiLine = isTextarea || !isInput && this._isContentEditable(this.element);
38845
38846			this.valueMethod = this.element[isTextarea || isInput ? "val" : "text"];
38847			this.isNewMenu = true;
38848
38849			this._addClass("ui-autocomplete-input");
38850			this.element.attr("autocomplete", "off");
38851
38852			this._on(this.element, {
38853				keydown: function keydown(event) {
38854					if (this.element.prop("readOnly")) {
38855						suppressKeyPress = true;
38856						suppressInput = true;
38857						suppressKeyPressRepeat = true;
38858						return;
38859					}
38860
38861					suppressKeyPress = false;
38862					suppressInput = false;
38863					suppressKeyPressRepeat = false;
38864					var keyCode = $.ui.keyCode;
38865					switch (event.keyCode) {
38866						case keyCode.PAGE_UP:
38867							suppressKeyPress = true;
38868							this._move("previousPage", event);
38869							break;
38870						case keyCode.PAGE_DOWN:
38871							suppressKeyPress = true;
38872							this._move("nextPage", event);
38873							break;
38874						case keyCode.UP:
38875							suppressKeyPress = true;
38876							this._keyEvent("previous", event);
38877							break;
38878						case keyCode.DOWN:
38879							suppressKeyPress = true;
38880							this._keyEvent("next", event);
38881							break;
38882						case keyCode.ENTER:
38883
38884							// when menu is open and has focus
38885							if (this.menu.active) {
38886
38887								// #6055 - Opera still allows the keypress to occur
38888								// which causes forms to submit
38889								suppressKeyPress = true;
38890								event.preventDefault();
38891								this.menu.select(event);
38892							}
38893							break;
38894						case keyCode.TAB:
38895							if (this.menu.active) {
38896								this.menu.select(event);
38897							}
38898							break;
38899						case keyCode.ESCAPE:
38900							if (this.menu.element.is(":visible")) {
38901								if (!this.isMultiLine) {
38902									this._value(this.term);
38903								}
38904								this.close(event);
38905
38906								// Different browsers have different default behavior for escape
38907								// Single press can mean undo or clear
38908								// Double press in IE means clear the whole form
38909								event.preventDefault();
38910							}
38911							break;
38912						default:
38913							suppressKeyPressRepeat = true;
38914
38915							// search timeout should be triggered before the input value is changed
38916							this._searchTimeout(event);
38917							break;
38918					}
38919				},
38920				keypress: function keypress(event) {
38921					if (suppressKeyPress) {
38922						suppressKeyPress = false;
38923						if (!this.isMultiLine || this.menu.element.is(":visible")) {
38924							event.preventDefault();
38925						}
38926						return;
38927					}
38928					if (suppressKeyPressRepeat) {
38929						return;
38930					}
38931
38932					// Replicate some key handlers to allow them to repeat in Firefox and Opera
38933					var keyCode = $.ui.keyCode;
38934					switch (event.keyCode) {
38935						case keyCode.PAGE_UP:
38936							this._move("previousPage", event);
38937							break;
38938						case keyCode.PAGE_DOWN:
38939							this._move("nextPage", event);
38940							break;
38941						case keyCode.UP:
38942							this._keyEvent("previous", event);
38943							break;
38944						case keyCode.DOWN:
38945							this._keyEvent("next", event);
38946							break;
38947					}
38948				},
38949				input: function input(event) {
38950					if (suppressInput) {
38951						suppressInput = false;
38952						event.preventDefault();
38953						return;
38954					}
38955					this._searchTimeout(event);
38956				},
38957				focus: function focus() {
38958					this.selectedItem = null;
38959					this.previous = this._value();
38960				},
38961				blur: function blur(event) {
38962					if (this.cancelBlur) {
38963						delete this.cancelBlur;
38964						return;
38965					}
38966
38967					clearTimeout(this.searching);
38968					this.close(event);
38969					this._change(event);
38970				}
38971			});
38972
38973			this._initSource();
38974			this.menu = $("<ul>").appendTo(this._appendTo()).menu({
38975
38976				// disable ARIA support, the live region takes care of that
38977				role: null
38978			}).hide().menu("instance");
38979
38980			this._addClass(this.menu.element, "ui-autocomplete", "ui-front");
38981			this._on(this.menu.element, {
38982				mousedown: function mousedown(event) {
38983
38984					// prevent moving focus out of the text field
38985					event.preventDefault();
38986
38987					// IE doesn't prevent moving focus even with event.preventDefault()
38988					// so we set a flag to know when we should ignore the blur event
38989					this.cancelBlur = true;
38990					this._delay(function () {
38991						delete this.cancelBlur;
38992
38993						// Support: IE 8 only
38994						// Right clicking a menu item or selecting text from the menu items will
38995						// result in focus moving out of the input. However, we've already received
38996						// and ignored the blur event because of the cancelBlur flag set above. So
38997						// we restore focus to ensure that the menu closes properly based on the user's
38998						// next actions.
38999						if (this.element[0] !== $.ui.safeActiveElement(this.document[0])) {
39000							this.element.trigger("focus");
39001						}
39002					});
39003				},
39004				menufocus: function menufocus(event, ui) {
39005					var label, item;
39006
39007					// support: Firefox
39008					// Prevent accidental activation of menu items in Firefox (#7024 #9118)
39009					if (this.isNewMenu) {
39010						this.isNewMenu = false;
vendor: 9,306 bytes, lines 39011-39364
39011						if (event.originalEvent && /^mouse/.test(event.originalEvent.type)) {
39012							this.menu.blur();
39013
39014							this.document.one("mousemove", function () {
39015								$(event.target).trigger(event.originalEvent);
39016							});
39017
39018							return;
39019						}
39020					}
39021
39022					item = ui.item.data("ui-autocomplete-item");
39023					if (false !== this._trigger("focus", event, { item: item })) {
39024
39025						// use value to match what will end up in the input, if it was a key event
39026						if (event.originalEvent && /^key/.test(event.originalEvent.type)) {
39027							this._value(item.value);
39028						}
39029					}
39030
39031					// Announce the value in the liveRegion
39032					label = ui.item.attr("aria-label") || item.value;
39033					if (label && $.trim(label).length) {
39034						this.liveRegion.children().hide();
39035						$("<div>").text(label).appendTo(this.liveRegion);
39036					}
39037				},
39038				menuselect: function menuselect(event, ui) {
39039					var item = ui.item.data("ui-autocomplete-item"),
39040					    previous = this.previous;
39041
39042					// Only trigger when focus was lost (click on menu)
39043					if (this.element[0] !== $.ui.safeActiveElement(this.document[0])) {
39044						this.element.trigger("focus");
39045						this.previous = previous;
39046
39047						// #6109 - IE triggers two focus events and the second
39048						// is asynchronous, so we need to reset the previous
39049						// term synchronously and asynchronously :-(
39050						this._delay(function () {
39051							this.previous = previous;
39052							this.selectedItem = item;
39053						});
39054					}
39055
39056					if (false !== this._trigger("select", event, { item: item })) {
39057						this._value(item.value);
39058					}
39059
39060					// reset the term after the select event
39061					// this allows custom select handling to work properly
39062					this.term = this._value();
39063
39064					this.close(event);
39065					this.selectedItem = item;
39066				}
39067			});
39068
39069			this.liveRegion = $("<div>", {
39070				role: "status",
39071				"aria-live": "assertive",
39072				"aria-relevant": "additions"
39073			}).appendTo(this.document[0].body);
39074
39075			this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible");
39076
39077			// Turning off autocomplete prevents the browser from remembering the
39078			// value when navigating through history, so we re-enable autocomplete
39079			// if the page is unloaded before the widget is destroyed. #7790
39080			this._on(this.window, {
39081				beforeunload: function beforeunload() {
39082					this.element.removeAttr("autocomplete");
39083				}
39084			});
39085		},
39086
39087		_destroy: function _destroy() {
39088			clearTimeout(this.searching);
39089			this.element.removeAttr("autocomplete");
39090			this.menu.element.remove();
39091			this.liveRegion.remove();
39092		},
39093
39094		_setOption: function _setOption(key, value) {
39095			this._super(key, value);
39096			if (key === "source") {
39097				this._initSource();
39098			}
39099			if (key === "appendTo") {
39100				this.menu.element.appendTo(this._appendTo());
39101			}
39102			if (key === "disabled" && value && this.xhr) {
39103				this.xhr.abort();
39104			}
39105		},
39106
39107		_isEventTargetInWidget: function _isEventTargetInWidget(event) {
39108			var menuElement = this.menu.element[0];
39109
39110			return event.target === this.element[0] || event.target === menuElement || $.contains(menuElement, event.target);
39111		},
39112
39113		_closeOnClickOutside: function _closeOnClickOutside(event) {
39114			if (!this._isEventTargetInWidget(event)) {
39115				this.close();
39116			}
39117		},
39118
39119		_appendTo: function _appendTo() {
39120			var element = this.options.appendTo;
39121
39122			if (element) {
39123				element = element.jquery || element.nodeType ? $(element) : this.document.find(element).eq(0);
39124			}
39125
39126			if (!element || !element[0]) {
39127				element = this.element.closest(".ui-front, dialog");
39128			}
39129
39130			if (!element.length) {
39131				element = this.document[0].body;
39132			}
39133
39134			return element;
39135		},
39136
39137		_initSource: function _initSource() {
39138			var array,
39139			    url,
39140			    that = this;
39141			if ($.isArray(this.options.source)) {
39142				array = this.options.source;
39143				this.source = function (request, response) {
39144					response($.ui.autocomplete.filter(array, request.term));
39145				};
39146			} else if (typeof this.options.source === "string") {
39147				url = this.options.source;
39148				this.source = function (request, response) {
39149					if (that.xhr) {
39150						that.xhr.abort();
39151					}
39152					that.xhr = $.ajax({
39153						url: url,
39154						data: request,
39155						dataType: "json",
39156						success: function success(data) {
39157							response(data);
39158						},
39159						error: function error() {
39160							response([]);
39161						}
39162					});
39163				};
39164			} else {
39165				this.source = this.options.source;
39166			}
39167		},
39168
39169		_searchTimeout: function _searchTimeout(event) {
39170			clearTimeout(this.searching);
39171			this.searching = this._delay(function () {
39172
39173				// Search if the value has changed, or if the user retypes the same value (see #7434)
39174				var equalValues = this.term === this._value(),
39175				    menuVisible = this.menu.element.is(":visible"),
39176				    modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
39177
39178				if (!equalValues || equalValues && !menuVisible && !modifierKey) {
39179					this.selectedItem = null;
39180					this.search(null, event);
39181				}
39182			}, this.options.delay);
39183		},
39184
39185		search: function search(value, event) {
39186			value = value != null ? value : this._value();
39187
39188			// Always save the actual value, not the one passed as an argument
39189			this.term = this._value();
39190
39191			if (value.length < this.options.minLength) {
39192				return this.close(event);
39193			}
39194
39195			if (this._trigger("search", event) === false) {
39196				return;
39197			}
39198
39199			return this._search(value);
39200		},
39201
39202		_search: function _search(value) {
39203			this.pending++;
39204			this._addClass("ui-autocomplete-loading");
39205			this.cancelSearch = false;
39206
39207			this.source({ term: value }, this._response());
39208		},
39209
39210		_response: function _response() {
39211			var index = ++this.requestIndex;
39212
39213			return $.proxy(function (content) {
39214				if (index === this.requestIndex) {
39215					this.__response(content);
39216				}
39217
39218				this.pending--;
39219				if (!this.pending) {
39220					this._removeClass("ui-autocomplete-loading");
39221				}
39222			}, this);
39223		},
39224
39225		__response: function __response(content) {
39226			if (content) {
39227				content = this._normalize(content);
39228			}
39229			this._trigger("response", null, { content: content });
39230			if (!this.options.disabled && content && content.length && !this.cancelSearch) {
39231				this._suggest(content);
39232				this._trigger("open");
39233			} else {
39234
39235				// use ._close() instead of .close() so we don't cancel future searches
39236				this._close();
39237			}
39238		},
39239
39240		close: function close(event) {
39241			this.cancelSearch = true;
39242			this._close(event);
39243		},
39244
39245		_close: function _close(event) {
39246
39247			// Remove the handler that closes the menu on outside clicks
39248			this._off(this.document, "mousedown");
39249
39250			if (this.menu.element.is(":visible")) {
39251				this.menu.element.hide();
39252				this.menu.blur();
39253				this.isNewMenu = true;
39254				this._trigger("close", event);
39255			}
39256		},
39257
39258		_change: function _change(event) {
39259			if (this.previous !== this._value()) {
39260				this._trigger("change", event, { item: this.selectedItem });
39261			}
39262		},
39263
39264		_normalize: function _normalize(items) {
39265
39266			// assume all items have the right format when the first item is complete
39267			if (items.length && items[0].label && items[0].value) {
39268				return items;
39269			}
39270			return $.map(items, function (item) {
39271				if (typeof item === "string") {
39272					return {
39273						label: item,
39274						value: item
39275					};
39276				}
39277				return $.extend({}, item, {
39278					label: item.label || item.value,
39279					value: item.value || item.label
39280				});
39281			});
39282		},
39283
39284		_suggest: function _suggest(items) {
39285			var ul = this.menu.element.empty();
39286			this._renderMenu(ul, items);
39287			this.isNewMenu = true;
39288			this.menu.refresh();
39289
39290			// Size and position menu
39291			ul.show();
39292			this._resizeMenu();
39293			ul.position($.extend({
39294				of: this.element
39295			}, this.options.position));
39296
39297			if (this.options.autoFocus) {
39298				this.menu.next();
39299			}
39300
39301			// Listen for interactions outside of the widget (#6642)
39302			this._on(this.document, {
39303				mousedown: "_closeOnClickOutside"
39304			});
39305		},
39306
39307		_resizeMenu: function _resizeMenu() {
39308			var ul = this.menu.element;
39309			ul.outerWidth(Math.max(
39310
39311			// Firefox wraps long text (possibly a rounding bug)
39312			// so we add 1px to avoid the wrapping (#7513)
39313			ul.width("").outerWidth() + 1, this.element.outerWidth()));
39314		},
39315
39316		_renderMenu: function _renderMenu(ul, items) {
39317			var that = this;
39318			$.each(items, function (index, item) {
39319				that._renderItemData(ul, item);
39320			});
39321		},
39322
39323		_renderItemData: function _renderItemData(ul, item) {
39324			return this._renderItem(ul, item).data("ui-autocomplete-item", item);
39325		},
39326
39327		_renderItem: function _renderItem(ul, item) {
39328			return $("<li>").append($("<div>").text(item.label)).appendTo(ul);
39329		},
39330
39331		_move: function _move(direction, event) {
39332			if (!this.menu.element.is(":visible")) {
39333				this.search(null, event);
39334				return;
39335			}
39336			if (this.menu.isFirstItem() && /^previous/.test(direction) || this.menu.isLastItem() && /^next/.test(direction)) {
39337
39338				if (!this.isMultiLine) {
39339					this._value(this.term);
39340				}
39341
39342				this.menu.blur();
39343				return;
39344			}
39345			this.menu[direction](event);
39346		},
39347
39348		widget: function widget() {
39349			return this.menu.element;
39350		},
39351
39352		_value: function _value() {
39353			return this.valueMethod.apply(this.element, arguments);
39354		},
39355
39356		_keyEvent: function _keyEvent(keyEvent, event) {
39357			if (!this.isMultiLine || this.menu.element.is(":visible")) {
39358				this._move(keyEvent, event);
39359
39360				// Prevents moving cursor to beginning/end of the text field in some browsers
39361				event.preventDefault();
39362			}
39363		},
39364
39365		// Support: Chrome <=50
39366		// We should be able to just use this.element.prop( "isContentEditable" )
39367		// but hidden elements always report false in Chrome.
39368		// https://code.google.com/p/chromium/issues/detail?id=313082
39369		_isContentEditable: function _isContentEditable(element) {
39370			if (!element.length) {
39371				return false;
39372			}
39373
39374			var editable = element.prop("contentEditable");
39375
39376			if (editable === "inherit") {
39377				return this._isContentEditable(element.parent());
39378			}
39379
39380			return editable === "true";
39381		}
39382	});
39383
39384	$.extend($.ui.autocomplete, {
39385		escapeRegex: function escapeRegex(value) {
39386			return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
39387		},
39388		filter: function filter(array, term) {
39389			var matcher = new RegExp($.ui.autocomplete.escapeRegex(term), "i");
39390			return $.grep(array, function (value) {
39391				return matcher.test(value.label || value.value || value);
39392			});
39393		}
39394	});
39395
39396	// Live region extension, adding a `messages` option
39397	// NOTE: This is an experimental API. We are still investigating
39398	// a full solution for string manipulation and internationalization.
39399	$.widget("ui.autocomplete", $.ui.autocomplete, {
39400		options: {
39401			messages: {
39402				noResults: "No search results.",
39403				results: function results(amount) {
39404					return amount + (amount > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate.";
39405				}
39406			}
39407		},
39408
39409		__response: function __response(content) {
39410			var message;
39411			this._superApply(arguments);
39412			if (this.options.disabled || this.cancelSearch) {
39413				return;
39414			}
39415			if (content && content.length) {
39416				message = this.options.messages.results(content.length);
39417			} else {
39418				message = this.options.messages.noResults;
39419			}
39420			this.liveRegion.children().hide();
39421			$("<div>").text(message).appendTo(this.liveRegion);
39422		}
39423	});
39424
39425	return $.ui.autocomplete;
39426});
39427
39428/***/ }),
39429/* 293 */
39430/***/ (function(module, exports, __webpack_require__) {
39431
39432"use strict";
39433var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
39434
39435/*!
39436 * jQuery UI Menu 1.12.1
39437 * http://jqueryui.com
39438 *
39439 * Copyright jQuery Foundation and other contributors
39440 * Released under the MIT license.
39441 * http://jquery.org/license
39442 */
39443
39444//>>label: Menu
39445//>>group: Widgets
39446//>>description: Creates nestable menus.
39447//>>docs: http://api.jqueryui.com/menu/
39448//>>demos: http://jqueryui.com/menu/
39449//>>css.structure: ../../themes/base/core.css
39450//>>css.structure: ../../themes/base/menu.css
39451//>>css.theme: ../../themes/base/theme.css
39452
39453(function (factory) {
39454	if (true) {
39455
39456		// AMD. Register as an anonymous module.
39457		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(59), __webpack_require__(60), __webpack_require__(61), __webpack_require__(291), __webpack_require__(11), __webpack_require__(62)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
39458				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
39459				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
39460				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
39461	} else {
39462
39463		// Browser globals
39464		factory(jQuery);
39465	}
39466})(function ($) {
39467
39468	return $.widget("ui.menu", {
39469		version: "1.12.1",
39470		defaultElement: "<ul>",
39471		delay: 300,
39472		options: {
39473			icons: {
39474				submenu: "ui-icon-caret-1-e"
39475			},
39476			items: "> *",
39477			menus: "ul",
39478			position: {
39479				my: "left top",
39480				at: "right top"
39481			},
39482			role: "menu",
39483
39484			// Callbacks
39485			blur: null,
39486			focus: null,
39487			select: null
39488		},
39489
39490		_create: function _create() {
39491			this.activeMenu = this.element;
39492
39493			// Flag used to prevent firing of the click handler
39494			// as the event bubbles up through nested menus
39495			this.mouseHandled = false;
39496			this.element.uniqueId().attr({
39497				role: this.options.role,
39498				tabIndex: 0
39499			});
39500
39501			this._addClass("ui-menu", "ui-widget ui-widget-content");
39502			this._on({
39503
39504				// Prevent focus from sticking to links inside menu after clicking
39505				// them (focus should always stay on UL during navigation).
39506				"mousedown .ui-menu-item": function mousedownUiMenuItem(event) {
39507					event.preventDefault();
39508				},
39509				"click .ui-menu-item": function clickUiMenuItem(event) {
39510					var target = $(event.target);
39511					var active = $($.ui.safeActiveElement(this.document[0]));
39512					if (!this.mouseHandled && target.not(".ui-state-disabled").length) {
39513						this.select(event);
39514
39515						// Only set the mouseHandled flag if the event will bubble, see #9469.
39516						if (!event.isPropagationStopped()) {
39517							this.mouseHandled = true;
39518						}
39519
39520						// Open submenu on click
39521						if (target.has(".ui-menu").length) {
39522							this.expand(event);
39523						} else if (!this.element.is(":focus") && active.closest(".ui-menu").length) {
39524
39525							// Redirect focus to the menu
39526							this.element.trigger("focus", [true]);
39527
39528							// If the active item is on the top level, let it stay active.
39529							// Otherwise, blur the active item since it is no longer visible.
39530							if (this.active && this.active.parents(".ui-menu").length === 1) {
39531								clearTimeout(this.timer);
39532							}
39533						}
39534					}
39535				},
39536				"mouseenter .ui-menu-item": function mouseenterUiMenuItem(event) {
39537
39538					// Ignore mouse events while typeahead is active, see #10458.
39539					// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
39540					// is over an item in the menu
39541					if (this.previousFilter) {
39542						return;
39543					}
39544
39545					var actualTarget = $(event.target).closest(".ui-menu-item"),
39546					    target = $(event.currentTarget);
39547
39548					// Ignore bubbled events on parent items, see #11641
39549					if (actualTarget[0] !== target[0]) {
39550						return;
39551					}
39552
39553					// Remove ui-state-active class from siblings of the newly focused menu item
39554					// to avoid a jump caused by adjacent elements both having a class with a border
39555					this._removeClass(target.siblings().children(".ui-state-active"), null, "ui-state-active");
39556					this.focus(event, target);
39557				},
39558				mouseleave: "collapseAll",
39559				"mouseleave .ui-menu": "collapseAll",
39560				focus: function focus(event, keepActiveItem) {
39561
39562					// If there's already an active item, keep it active
39563					// If not, activate the first item
39564					var item = this.active || this.element.find(this.options.items).eq(0);
39565
39566					if (!keepActiveItem) {
39567						this.focus(event, item);
39568					}
39569				},
39570				blur: function blur(event) {
39571					this._delay(function () {
39572						var notContained = !$.contains(this.element[0], $.ui.safeActiveElement(this.document[0]));
39573						if (notContained) {
39574							this.collapseAll(event);
39575						}
39576					});
39577				},
39578				keydown: "_keydown"
39579			});
39580
39581			this.refresh();
39582
vendor: 1,904 bytes, lines 39583-39653
39583			// Clicks outside of a menu collapse any open menus
39584			this._on(this.document, {
39585				click: function click(event) {
39586					if (this._closeOnDocumentClick(event)) {
39587						this.collapseAll(event);
39588					}
39589
39590					// Reset the mouseHandled flag
39591					this.mouseHandled = false;
39592				}
39593			});
39594		},
39595
39596		_destroy: function _destroy() {
39597			var items = this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),
39598			    submenus = items.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");
39599
39600			// Destroy (sub)menus
39601			this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled " + "tabIndex").removeUniqueId().show();
39602
39603			submenus.children().each(function () {
39604				var elem = $(this);
39605				if (elem.data("ui-menu-submenu-caret")) {
39606					elem.remove();
39607				}
39608			});
39609		},
39610
39611		_keydown: function _keydown(event) {
39612			var match,
39613			    prev,
39614			    character,
39615			    skip,
39616			    preventDefault = true;
39617
39618			switch (event.keyCode) {
39619				case $.ui.keyCode.PAGE_UP:
39620					this.previousPage(event);
39621					break;
39622				case $.ui.keyCode.PAGE_DOWN:
39623					this.nextPage(event);
39624					break;
39625				case $.ui.keyCode.HOME:
39626					this._move("first", "first", event);
39627					break;
39628				case $.ui.keyCode.END:
39629					this._move("last", "last", event);
39630					break;
39631				case $.ui.keyCode.UP:
39632					this.previous(event);
39633					break;
39634				case $.ui.keyCode.DOWN:
39635					this.next(event);
39636					break;
39637				case $.ui.keyCode.LEFT:
39638					this.collapse(event);
39639					break;
39640				case $.ui.keyCode.RIGHT:
39641					if (this.active && !this.active.is(".ui-state-disabled")) {
39642						this.expand(event);
39643					}
39644					break;
39645				case $.ui.keyCode.ENTER:
39646				case $.ui.keyCode.SPACE:
39647					this._activate(event);
39648					break;
39649				case $.ui.keyCode.ESCAPE:
39650					this.collapse(event);
39651					break;
39652				default:
39653					preventDefault = false;
vendor: 6,937 bytes, lines 39654-39883
39654					prev = this.previousFilter || "";
39655					skip = false;
39656
39657					// Support number pad values
39658					character = event.keyCode >= 96 && event.keyCode <= 105 ? (event.keyCode - 96).toString() : String.fromCharCode(event.keyCode);
39659
39660					clearTimeout(this.filterTimer);
39661
39662					if (character === prev) {
39663						skip = true;
39664					} else {
39665						character = prev + character;
39666					}
39667
39668					match = this._filterMenuItems(character);
39669					match = skip && match.index(this.active.next()) !== -1 ? this.active.nextAll(".ui-menu-item") : match;
39670
39671					// If no matches on the current filter, reset to the last character pressed
39672					// to move down the menu to the first item that starts with that character
39673					if (!match.length) {
39674						character = String.fromCharCode(event.keyCode);
39675						match = this._filterMenuItems(character);
39676					}
39677
39678					if (match.length) {
39679						this.focus(event, match);
39680						this.previousFilter = character;
39681						this.filterTimer = this._delay(function () {
39682							delete this.previousFilter;
39683						}, 1000);
39684					} else {
39685						delete this.previousFilter;
39686					}
39687			}
39688
39689			if (preventDefault) {
39690				event.preventDefault();
39691			}
39692		},
39693
39694		_activate: function _activate(event) {
39695			if (this.active && !this.active.is(".ui-state-disabled")) {
39696				if (this.active.children("[aria-haspopup='true']").length) {
39697					this.expand(event);
39698				} else {
39699					this.select(event);
39700				}
39701			}
39702		},
39703
39704		refresh: function refresh() {
39705			var menus,
39706			    items,
39707			    newSubmenus,
39708			    newItems,
39709			    newWrappers,
39710			    that = this,
39711			    icon = this.options.icons.submenu,
39712			    submenus = this.element.find(this.options.menus);
39713
39714			this._toggleClass("ui-menu-icons", null, !!this.element.find(".ui-icon").length);
39715
39716			// Initialize nested menus
39717			newSubmenus = submenus.filter(":not(.ui-menu)").hide().attr({
39718				role: this.options.role,
39719				"aria-hidden": "true",
39720				"aria-expanded": "false"
39721			}).each(function () {
39722				var menu = $(this),
39723				    item = menu.prev(),
39724				    submenuCaret = $("<span>").data("ui-menu-submenu-caret", true);
39725
39726				that._addClass(submenuCaret, "ui-menu-icon", "ui-icon " + icon);
39727				item.attr("aria-haspopup", "true").prepend(submenuCaret);
39728				menu.attr("aria-labelledby", item.attr("id"));
39729			});
39730
39731			this._addClass(newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front");
39732
39733			menus = submenus.add(this.element);
39734			items = menus.find(this.options.items);
39735
39736			// Initialize menu-items containing spaces and/or dashes only as dividers
39737			items.not(".ui-menu-item").each(function () {
39738				var item = $(this);
39739				if (that._isDivider(item)) {
39740					that._addClass(item, "ui-menu-divider", "ui-widget-content");
39741				}
39742			});
39743
39744			// Don't refresh list items that are already adapted
39745			newItems = items.not(".ui-menu-item, .ui-menu-divider");
39746			newWrappers = newItems.children().not(".ui-menu").uniqueId().attr({
39747				tabIndex: -1,
39748				role: this._itemRole()
39749			});
39750			this._addClass(newItems, "ui-menu-item")._addClass(newWrappers, "ui-menu-item-wrapper");
39751
39752			// Add aria-disabled attribute to any disabled menu item
39753			items.filter(".ui-state-disabled").attr("aria-disabled", "true");
39754
39755			// If the active item has been removed, blur the menu
39756			if (this.active && !$.contains(this.element[0], this.active[0])) {
39757				this.blur();
39758			}
39759		},
39760
39761		_itemRole: function _itemRole() {
39762			return {
39763				menu: "menuitem",
39764				listbox: "option"
39765			}[this.options.role];
39766		},
39767
39768		_setOption: function _setOption(key, value) {
39769			if (key === "icons") {
39770				var icons = this.element.find(".ui-menu-icon");
39771				this._removeClass(icons, null, this.options.icons.submenu)._addClass(icons, null, value.submenu);
39772			}
39773			this._super(key, value);
39774		},
39775
39776		_setOptionDisabled: function _setOptionDisabled(value) {
39777			this._super(value);
39778
39779			this.element.attr("aria-disabled", String(value));
39780			this._toggleClass(null, "ui-state-disabled", !!value);
39781		},
39782
39783		focus: function focus(event, item) {
39784			var nested, focused, activeParent;
39785			this.blur(event, event && event.type === "focus");
39786
39787			this._scrollIntoView(item);
39788
39789			this.active = item.first();
39790
39791			focused = this.active.children(".ui-menu-item-wrapper");
39792			this._addClass(focused, null, "ui-state-active");
39793
39794			// Only update aria-activedescendant if there's a role
39795			// otherwise we assume focus is managed elsewhere
39796			if (this.options.role) {
39797				this.element.attr("aria-activedescendant", focused.attr("id"));
39798			}
39799
39800			// Highlight active parent menu item, if any
39801			activeParent = this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper");
39802			this._addClass(activeParent, null, "ui-state-active");
39803
39804			if (event && event.type === "keydown") {
39805				this._close();
39806			} else {
39807				this.timer = this._delay(function () {
39808					this._close();
39809				}, this.delay);
39810			}
39811
39812			nested = item.children(".ui-menu");
39813			if (nested.length && event && /^mouse/.test(event.type)) {
39814				this._startOpening(nested);
39815			}
39816			this.activeMenu = item.parent();
39817
39818			this._trigger("focus", event, { item: item });
39819		},
39820
39821		_scrollIntoView: function _scrollIntoView(item) {
39822			var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
39823			if (this._hasScroll()) {
39824				borderTop = parseFloat($.css(this.activeMenu[0], "borderTopWidth")) || 0;
39825				paddingTop = parseFloat($.css(this.activeMenu[0], "paddingTop")) || 0;
39826				offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
39827				scroll = this.activeMenu.scrollTop();
39828				elementHeight = this.activeMenu.height();
39829				itemHeight = item.outerHeight();
39830
39831				if (offset < 0) {
39832					this.activeMenu.scrollTop(scroll + offset);
39833				} else if (offset + itemHeight > elementHeight) {
39834					this.activeMenu.scrollTop(scroll + offset - elementHeight + itemHeight);
39835				}
39836			}
39837		},
39838
39839		blur: function blur(event, fromFocus) {
39840			if (!fromFocus) {
39841				clearTimeout(this.timer);
39842			}
39843
39844			if (!this.active) {
39845				return;
39846			}
39847
39848			this._removeClass(this.active.children(".ui-menu-item-wrapper"), null, "ui-state-active");
39849
39850			this._trigger("blur", event, { item: this.active });
39851			this.active = null;
39852		},
39853
39854		_startOpening: function _startOpening(submenu) {
39855			clearTimeout(this.timer);
39856
39857			// Don't open if already open fixes a Firefox bug that caused a .5 pixel
39858			// shift in the submenu position when mousing over the caret icon
39859			if (submenu.attr("aria-hidden") !== "true") {
39860				return;
39861			}
39862
39863			this.timer = this._delay(function () {
39864				this._close();
39865				this._open(submenu);
39866			}, this.delay);
39867		},
39868
39869		_open: function _open(submenu) {
39870			var position = $.extend({
39871				of: this.active
39872			}, this.options.position);
39873
39874			clearTimeout(this.timer);
39875			this.element.find(".ui-menu").not(submenu.parents(".ui-menu")).hide().attr("aria-hidden", "true");
39876
39877			submenu.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(position);
39878		},
39879
39880		collapseAll: function collapseAll(event, all) {
39881			clearTimeout(this.timer);
39882			this.timer = this._delay(function () {
39883
39884				// If we were passed an event, look for the submenu that contains the event
39885				var currentMenu = all ? this.element : $(event && event.target).closest(this.element.find(".ui-menu"));
39886
39887				// If we found no valid submenu ancestor, use the main menu to close all
39888				// sub menus anyway
39889				if (!currentMenu.length) {
39890					currentMenu = this.element;
39891				}
39892
39893				this._close(currentMenu);
39894
39895				this.blur(event);
39896
39897				// Work around active item staying active after menu is blurred
39898				this._removeClass(currentMenu.find(".ui-state-active"), null, "ui-state-active");
39899
39900				this.activeMenu = currentMenu;
39901			}, this.delay);
39902		},
39903
39904		// With no arguments, closes the currently active menu - if nothing is active
39905		// it closes all menus.  If passed an argument, it will search for menus BELOW
39906		_close: function _close(startMenu) {
39907			if (!startMenu) {
39908				startMenu = this.active ? this.active.parent() : this.element;
39909			}
39910
39911			startMenu.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false");
39912		},
39913
39914		_closeOnDocumentClick: function _closeOnDocumentClick(event) {
39915			return !$(event.target).closest(".ui-menu").length;
39916		},
39917
39918		_isDivider: function _isDivider(item) {
39919
39920			// Match hyphen, em dash, en dash
39921			return !/[^\-\u2014\u2013\s]/.test(item.text());
39922		},
39923
39924		collapse: function collapse(event) {
39925			var newItem = this.active && this.active.parent().closest(".ui-menu-item", this.element);
39926			if (newItem && newItem.length) {
39927				this._close();
39928				this.focus(event, newItem);
39929			}
39930		},
39931
39932		expand: function expand(event) {
39933			var newItem = this.active && this.active.children(".ui-menu ").find(this.options.items).first();
39934
39935			if (newItem && newItem.length) {
39936				this._open(newItem.parent());
39937
39938				// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
39939				this._delay(function () {
39940					this.focus(event, newItem);
39941				});
39942			}
39943		},
39944
39945		next: function next(event) {
39946			this._move("next", "first", event);
39947		},
39948
39949		previous: function previous(event) {
39950			this._move("prev", "last", event);
39951		},
39952
39953		isFirstItem: function isFirstItem() {
39954			return this.active && !this.active.prevAll(".ui-menu-item").length;
39955		},
39956
39957		isLastItem: function isLastItem() {
39958			return this.active && !this.active.nextAll(".ui-menu-item").length;
39959		},
39960
39961		_move: function _move(direction, filter, event) {
39962			var next;
39963			if (this.active) {
39964				if (direction === "first" || direction === "last") {
39965					next = this.active[direction === "first" ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1);
39966				} else {
39967					next = this.active[direction + "All"](".ui-menu-item").eq(0);
39968				}
39969			}
39970			if (!next || !next.length || !this.active) {
39971				next = this.activeMenu.find(this.options.items)[filter]();
39972			}
39973
39974			this.focus(event, next);
39975		},
39976
39977		nextPage: function nextPage(event) {
39978			var item, base, height;
39979
39980			if (!this.active) {
39981				this.next(event);
39982				return;
39983			}
39984			if (this.isLastItem()) {
39985				return;
39986			}
39987			if (this._hasScroll()) {
39988				base = this.active.offset().top;
39989				height = this.element.height();
39990				this.active.nextAll(".ui-menu-item").each(function () {
39991					item = $(this);
39992					return item.offset().top - base - height < 0;
39993				});
39994
39995				this.focus(event, item);
39996			} else {
39997				this.focus(event, this.activeMenu.find(this.options.items)[!this.active ? "first" : "last"]());
39998			}
39999		},
40000
40001		previousPage: function previousPage(event) {
40002			var item, base, height;
40003			if (!this.active) {
40004				this.next(event);
40005				return;
40006			}
40007			if (this.isFirstItem()) {
40008				return;
40009			}
40010			if (this._hasScroll()) {
40011				base = this.active.offset().top;
40012				height = this.element.height();
40013				this.active.prevAll(".ui-menu-item").each(function () {
40014					item = $(this);
40015					return item.offset().top - base + height > 0;
40016				});
40017
40018				this.focus(event, item);
40019			} else {
40020				this.focus(event, this.activeMenu.find(this.options.items).first());
40021			}
40022		},
40023
40024		_hasScroll: function _hasScroll() {
40025			return this.element.outerHeight() < this.element.prop("scrollHeight");
40026		},
40027
40028		select: function select(event) {
40029
40030			// TODO: It should never be possible to not have an active item at this
40031			// point, but the tests don't trigger mouseenter before click.
40032			this.active = this.active || $(event.target).closest(".ui-menu-item");
40033			var ui = { item: this.active };
40034			if (!this.active.has(".ui-menu").length) {
40035				this.collapseAll(event, true);
40036			}
40037			this._trigger("select", event, ui);
40038		},
40039
40040		_filterMenuItems: function _filterMenuItems(character) {
40041			var escapedCharacter = character.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"),
40042			    regex = new RegExp("^" + escapedCharacter, "i");
40043
40044			return this.activeMenu.find(this.options.items)
40045
40046			// Only match on items, not dividers or other content (#10571)
40047			.filter(".ui-menu-item").filter(function () {
40048				return regex.test($.trim($(this).children(".ui-menu-item-wrapper").text()));
40049			});
40050		}
40051	});
40052});
40053
40054/***/ }),
40055/* 294 */
40056/***/ (function(module, exports, __webpack_require__) {
40057
40058"use strict";
40059var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
40060
40061var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
40062
40063;(function (root, factory) {
40064  if (true) {
40065    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
40066				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
40067				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
40068				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
40069  } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {
40070    module.exports = factory(require('jquery'));
40071  } else {
40072    root.jquery_dotdotdot_js = factory(root.jQuery);
40073  }
40074})(undefined, function (jQuery) {
40075  /*
40076   *	jQuery dotdotdot 3.2.1
40077   *	@requires jQuery 1.7.0 or later
40078   *
40079   *	dotdotdot.frebsite.nl
40080   *
40081   *	Copyright (c) Fred Heusschen
40082   *	www.frebsite.nl
40083   *
40084   *	License: CC-BY-NC-4.0
40085   *	http://creativecommons.org/licenses/by-nc/4.0/
40086   */
40087  !function (t) {
40088    "use strict";
40089    function e() {
40090      h = t(window), s = {}, o = {}, r = {}, t.each([s, o, r], function (t, e) {
40091        e.add = function (t) {
40092          t = t.split(" ");for (var i = 0, n = t.length; i < n; i++) {
40093            e[t[i]] = e.ddd(t[i]);
40094          }
40095        };
40096      }), s.ddd = function (t) {
40097        return "ddd-" + t;
40098      }, s.add("truncated keep"), o.ddd = function (t) {
40099        return "ddd-" + t;
40100      }, r.ddd = function (t) {
40101        return t + ".ddd";
40102      }, r.add("resize"), e = function e() {};
40103    }var i = "dotdotdot",
40104        n = "3.2.1";if (!(t[i] && t[i].version > n)) {
40105      t[i] = function (t, e) {
40106        this.$dot = t, this.api = ["getInstance", "truncate", "restore", "destroy", "watch", "unwatch"], this.opts = e;var n = this.$dot.data(i);return n && n.destroy(), this.init(), this.truncate(), this.opts.watch && this.watch(), this;
40107      }, t[i].version = n, t[i].uniqueId = 0, t[i].defaults = { ellipsis: "… ", callback: function callback(t) {}, truncate: "word", tolerance: 0, keep: null, watch: "window", height: null }, t[i].prototype = { init: function init() {
40108          this.watchTimeout = null, this.watchInterval = null, this.uniqueId = t[i].uniqueId++, this.originalStyle = this.$dot.attr("style") || "", this.originalContent = this._getOriginalContent(), "break-word" !== this.$dot.css("word-wrap") && this.$dot.css("word-wrap", "break-word"), "nowrap" === this.$dot.css("white-space") && this.$dot.css("white-space", "normal"), null === this.opts.height && (this.opts.height = this._getMaxHeight()), "string" == typeof this.opts.ellipsis && (this.opts.ellipsis = document.createTextNode(this.opts.ellipsis));
40109        }, getInstance: function getInstance() {
40110          return this;
40111        }, truncate: function truncate() {
40112          this.$inner = this.$dot.wrapInner("<div />").children().css({ display: "block", height: "auto", width: "auto", border: "none", padding: 0, margin: 0 }), this.$inner.empty().append(this.originalContent.clone(!0)), this.maxHeight = this._getMaxHeight();var t = !this._fits();return this._truncateToNode(this.$inner[0]), this.$dot[t ? "addClass" : "removeClass"](s.truncated), this.$inner.replaceWith(this.$inner.contents()), this.$inner = null, this.opts.callback.call(this.$dot[0], t), t;
40113        }, restore: function restore() {
40114          this.unwatch(), this.$dot.empty().append(this.originalContent).attr("style", this.originalStyle).removeClass(s.truncated);
40115        }, destroy: function destroy() {
40116          this.restore(), this.$dot.data(i, null);
40117        }, watch: function watch() {
40118          var t = this;this.unwatch();var e = {};"window" == this.opts.watch ? h.on(r.resize + t.uniqueId, function (i) {
40119            t.watchTimeout && clearTimeout(t.watchTimeout), t.watchTimeout = setTimeout(function () {
40120              e = t._watchSizes(e, h, "width", "height");
40121            }, 100);
40122          }) : this.watchInterval = setInterval(function () {
40123            e = t._watchSizes(e, t.$dot, "innerWidth", "innerHeight");
40124          }, 500);
40125        }, unwatch: function unwatch() {
40126          h.off(r.resize + this.uniqueId), this.watchInterval && clearInterval(this.watchInterval), this.watchTimeout && clearTimeout(this.watchTimeout);
40127        }, _api: function _api() {
40128          var e = this,
40129              i = {};return t.each(this.api, function (t) {
40130            var n = this;i[n] = function () {
40131              var t = e[n].apply(e, arguments);return "undefined" == typeof t ? i : t;
40132            };
40133          }), i;
40134        }, _truncateToNode: function _truncateToNode(e) {
40135          var i = [],
40136              n = [];if (t(e).contents().each(function () {
40137            var e = t(this);if (!e.hasClass(s.keep)) {
40138              var o = document.createComment("");e.replaceWith(o), n.push(this), i.push(o);
40139            }
40140          }), n.length) {
40141            for (var o = 0; o < n.length; o++) {
40142              t(i[o]).replaceWith(n[o]), t(n[o]).append(this.opts.ellipsis);var r = this._fits();if (t(this.opts.ellipsis, n[o]).remove(), !r) {
40143                if ("node" == this.opts.truncate && o > 1) return void t(n[o - 2]).remove();break;
40144              }
40145            }for (var h = o; h < i.length; h++) {
40146              t(i[h]).remove();
40147            }var a = n[Math.max(0, Math.min(o, n.length - 1))];if (1 == a.nodeType) {
40148              var d = t("<" + a.nodeName + " />");d.append(this.opts.ellipsis), t(a).replaceWith(d), this._fits() ? d.replaceWith(a) : (d.remove(), a = n[Math.max(0, o - 1)]);
40149            }1 == a.nodeType ? this._truncateToNode(a) : this._truncateToWord(a);
40150          }
40151        }, _truncateToWord: function _truncateToWord(t) {
40152          for (var e = t, i = this, n = this.__getTextContent(e), s = n.indexOf(" ") !== -1 ? " " : " ", o = n.split(s), r = "", h = o.length; h >= 0; h--) {
40153            if (r = o.slice(0, h).join(s), i.__setTextContent(e, i._addEllipsis(r)), i._fits()) {
40154              "letter" == i.opts.truncate && (i.__setTextContent(e, o.slice(0, h + 1).join(s)), i._truncateToLetter(e));break;
40155            }
40156          }
40157        }, _truncateToLetter: function _truncateToLetter(t) {
40158          for (var e = this, i = this.__getTextContent(t), n = i.split(""), s = "", o = n.length; o >= 0 && (s = n.slice(0, o).join(""), !s.length || (e.__setTextContent(t, e._addEllipsis(s)), !e._fits())); o--) {}
40159        }, _fits: function _fits() {
40160          return this.$inner.innerHeight() <= this.maxHeight + this.opts.tolerance;
40161        }, _addEllipsis: function _addEllipsis(e) {
40162          for (var i = [" ", " ", ",", ";", ".", "!", "?"]; t.inArray(e.slice(-1), i) > -1;) {
40163            e = e.slice(0, -1);
40164          }return e += this.__getTextContent(this.opts.ellipsis);
40165        }, _getOriginalContent: function _getOriginalContent() {
40166          var e = this;return this.$dot.find("script, style").addClass(s.keep), this.opts.keep && this.$dot.find(this.opts.keep).addClass(s.keep), this.$dot.find("*").not("." + s.keep).add(this.$dot).contents().each(function () {
40167            var i = this,
40168                n = t(this);if (3 == i.nodeType) {
40169              if ("" == t.trim(e.__getTextContent(i))) {
40170                if (n.parent().is("table, thead, tbody, tfoot, tr, dl, ul, ol, video")) return void n.remove();if (n.prev().is("div, p, table, td, td, dt, dd, li")) return void n.remove();if (n.next().is("div, p, table, td, td, dt, dd, li")) return void n.remove();if (!n.prev().length) return void n.remove();if (!n.next().length) return void n.remove();
40171              }
40172            } else 8 == i.nodeType && n.remove();
40173          }), this.$dot.contents();
40174        }, _getMaxHeight: function _getMaxHeight() {
40175          if ("number" == typeof this.opts.height) return this.opts.height;for (var t = ["maxHeight", "height"], e = 0, i = 0; i < t.length; i++) {
40176            if (e = window.getComputedStyle(this.$dot[0])[t[i]], "px" == e.slice(-2)) {
40177              e = parseFloat(e);break;
40178            }
40179          }var t = [];switch (this.$dot.css("boxSizing")) {case "border-box":
40180              t.push("borderTopWidth"), t.push("borderBottomWidth");case "padding-box":
40181              t.push("paddingTop"), t.push("paddingBottom");}for (var i = 0; i < t.length; i++) {
40182            var n = window.getComputedStyle(this.$dot[0])[t[i]];"px" == n.slice(-2) && (e -= parseFloat(n));
40183          }return Math.max(e, 0);
40184        }, _watchSizes: function _watchSizes(t, e, i, n) {
40185          if (this.$dot.is(":visible")) {
40186            var s = { width: e[i](), height: e[n]() };return t.width == s.width && t.height == s.height || this.truncate(), s;
40187          }return t;
40188        }, __getTextContent: function __getTextContent(t) {
40189          for (var e = ["nodeValue", "textContent", "innerText"], i = 0; i < e.length; i++) {
40190            if ("string" == typeof t[e[i]]) return t[e[i]];
40191          }return "";
40192        }, __setTextContent: function __setTextContent(t, e) {
40193          for (var i = ["nodeValue", "textContent", "innerText"], n = 0; n < i.length; n++) {
40194            t[i[n]] = e;
40195          }
40196        } }, t.fn[i] = function (n) {
40197        return e(), n = t.extend(!0, {}, t[i].defaults, n), this.each(function () {
40198          t(this).data(i, new t[i](t(this), n)._api());
40199        });
40200      };var s, o, r, h;
40201    }
40202  }(jQuery);
40203  return true;
40204});
40205
40206/***/ }),
40207/* 295 */
40208/***/ (function(module, exports, __webpack_require__) {
40209
40210"use strict";
40211var __WEBPACK_AMD_DEFINE_RESULT__;
40212
40213var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
40214
40215/*!
40216 * Pikaday
40217 *
40218 * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
40219 */
40220
40221(function (root, factory) {
40222    'use strict';
40223
40224    var moment;
40225    if (( false ? 'undefined' : _typeof(exports)) === 'object') {
40226        // CommonJS module
40227        // Load moment.js as an optional dependency
40228        try {
40229            moment = __webpack_require__(0);
40230        } catch (e) {}
40231        module.exports = factory(moment);
40232    } else if (true) {
40233        // AMD. Register as an anonymous module.
40234        !(__WEBPACK_AMD_DEFINE_RESULT__ = function (req) {
40235            // Load moment.js as an optional dependency
40236            var id = 'moment';
40237            try {
40238                moment = !(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }());
40239            } catch (e) {}
40240            return factory(moment);
40241        }.call(exports, __webpack_require__, exports, module),
40242				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
40243    } else {
40244        root.Pikaday = factory(root.moment);
40245    }
40246})(undefined, function (moment) {
40247    'use strict';
40248
40249    /**
40250     * feature detection and helper functions
40251     */
40252
40253    var hasMoment = typeof moment === 'function',
40254        hasEventListeners = !!window.addEventListener,
40255        document = window.document,
40256        sto = window.setTimeout,
40257        addEvent = function addEvent(el, e, callback, capture) {
40258        if (hasEventListeners) {
40259            el.addEventListener(e, callback, !!capture);
40260        } else {
40261            el.attachEvent('on' + e, callback);
40262        }
40263    },
40264        removeEvent = function removeEvent(el, e, callback, capture) {
40265        if (hasEventListeners) {
40266            el.removeEventListener(e, callback, !!capture);
40267        } else {
40268            el.detachEvent('on' + e, callback);
40269        }
40270    },
40271        trim = function trim(str) {
40272        return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
40273    },
40274        hasClass = function hasClass(el, cn) {
40275        return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1;
40276    },
40277        addClass = function addClass(el, cn) {
40278        if (!hasClass(el, cn)) {
40279            el.className = el.className === '' ? cn : el.className + ' ' + cn;
40280        }
40281    },
40282        removeClass = function removeClass(el, cn) {
40283        el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' '));
40284    },
40285        isArray = function isArray(obj) {
40286        return (/Array/.test(Object.prototype.toString.call(obj))
40287        );
40288    },
40289        isDate = function isDate(obj) {
40290        return (/Date/.test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime())
40291        );
40292    },
40293        isWeekend = function isWeekend(date) {
40294        var day = date.getDay();
40295        return day === 0 || day === 6;
40296    },
40297        isLeapYear = function isLeapYear(year) {
40298        // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
40299        return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
40300    },
40301        getDaysInMonth = function getDaysInMonth(year, month) {
40302        return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
40303    },
40304        setToStartOfDay = function setToStartOfDay(date) {
40305        if (isDate(date)) date.setHours(0, 0, 0, 0);
40306    },
40307        compareDates = function compareDates(a, b) {
40308        // weak date comparison (use setToStartOfDay(date) to ensure correct result)
40309        return a.getTime() === b.getTime();
40310    },
40311        extend = function extend(to, from, overwrite) {
40312        var prop, hasProp;
40313        for (prop in from) {
40314            hasProp = to[prop] !== undefined;
40315            if (hasProp && _typeof(from[prop]) === 'object' && from[prop] !== null && from[prop].nodeName === undefined) {
40316                if (isDate(from[prop])) {
40317                    if (overwrite) {
40318                        to[prop] = new Date(from[prop].getTime());
40319                    }
40320                } else if (isArray(from[prop])) {
40321                    if (overwrite) {
40322                        to[prop] = from[prop].slice(0);
40323                    }
40324                } else {
40325                    to[prop] = extend({}, from[prop], overwrite);
40326                }
40327            } else if (overwrite || !hasProp) {
40328                to[prop] = from[prop];
40329            }
40330        }
40331        return to;
40332    },
40333        fireEvent = function fireEvent(el, eventName, data) {
40334        var ev;
40335
40336        if (document.createEvent) {
40337            ev = document.createEvent('HTMLEvents');
40338            ev.initEvent(eventName, true, false);
40339            ev = extend(ev, data);
40340            el.dispatchEvent(ev);
40341        } else if (document.createEventObject) {
40342            ev = document.createEventObject();
40343            ev = extend(ev, data);
40344            el.fireEvent('on' + eventName, ev);
40345        }
40346    },
40347        adjustCalendar = function adjustCalendar(calendar) {
40348        if (calendar.month < 0) {
40349            calendar.year -= Math.ceil(Math.abs(calendar.month) / 12);
40350            calendar.month += 12;
40351        }
40352        if (calendar.month > 11) {
40353            calendar.year += Math.floor(Math.abs(calendar.month) / 12);
40354            calendar.month -= 12;
40355        }
40356        return calendar;
40357    },
40358
40359
40360    /**
40361     * defaults and localisation
40362     */
40363    defaults = {
40364
40365        // bind the picker to a form field
40366        field: null,
40367
40368        // automatically show/hide the picker on `field` focus (default `true` if `field` is set)
40369        bound: undefined,
40370
40371        // position of the datepicker, relative to the field (default to bottom & left)
40372        // ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)
40373        position: 'bottom left',
40374
40375        // automatically fit in the viewport even if it means repositioning from the position option
40376        reposition: true,
40377
40378        // the default output format for `.toString()` and `field` value
40379        format: 'YYYY-MM-DD',
40380
40381        // the toString function which gets passed a current date object and format
40382        // and returns a string
40383        toString: null,
40384
40385        // used to create date object from current input string
40386        parse: null,
40387
40388        // the initial date to view when first opened
40389        defaultDate: null,
40390
40391        // make the `defaultDate` the initial selected value
40392        setDefaultDate: false,
40393
40394        // first day of week (0: Sunday, 1: Monday etc)
40395        firstDay: 0,
40396
40397        // the default flag for moment's strict date parsing
40398        formatStrict: false,
40399
40400        // the minimum/earliest date that can be selected
40401        minDate: null,
40402        // the maximum/latest date that can be selected
40403        maxDate: null,
40404
40405        // number of years either side, or array of upper/lower range
40406        yearRange: 10,
40407
40408        // show week numbers at head of row
40409        showWeekNumber: false,
40410
40411        // Week picker mode
40412        pickWholeWeek: false,
40413
40414        // used internally (don't config outside)
40415        minYear: 0,
40416        maxYear: 9999,
40417        minMonth: undefined,
40418        maxMonth: undefined,
40419
40420        startRange: null,
40421        endRange: null,
40422
40423        isRTL: false,
40424
40425        // Additional text to append to the year in the calendar title
40426        yearSuffix: '',
40427
40428        // Render the month after year in the calendar title
40429        showMonthAfterYear: false,
40430
40431        // Render days of the calendar grid that fall in the next or previous month
40432        showDaysInNextAndPreviousMonths: false,
40433
40434        // Allows user to select days that fall in the next or previous month
40435        enableSelectionDaysInNextAndPreviousMonths: false,
40436
40437        // how many months are visible
40438        numberOfMonths: 1,
40439
40440        // when numberOfMonths is used, this will help you to choose where the main calendar will be (default `left`, can be set to `right`)
40441        // only used for the first display or when a selected date is not visible
40442        mainCalendar: 'left',
40443
40444        // Specify a DOM element to render the calendar in
40445        container: undefined,
40446
40447        // Blur field when date is selected
40448        blurFieldOnSelect: true,
40449
40450        // internationalization
40451        i18n: {
40452            previousMonth: 'Previous Month',
40453            nextMonth: 'Next Month',
40454            months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
40455            weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
40456            weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
40457        },
40458
40459        // Theme Classname
40460        theme: null,
40461
40462        // events array
40463        events: [],
40464
40465        // callback function
40466        onSelect: null,
40467        onOpen: null,
40468        onClose: null,
40469        onDraw: null,
40470
40471        // Enable keyboard input
40472        keyboardInput: true
40473    },
40474
40475
40476    /**
40477     * templating functions to abstract HTML rendering
40478     */
40479    renderDayName = function renderDayName(opts, day, abbr) {
40480        day += opts.firstDay;
40481        while (day >= 7) {
40482            day -= 7;
40483        }
40484        return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day];
40485    },
40486        renderDay = function renderDay(opts) {
40487        var arr = [];
40488        var ariaSelected = 'false';
40489        if (opts.isEmpty) {
40490            if (opts.showDaysInNextAndPreviousMonths) {
40491                arr.push('is-outside-current-month');
40492
40493                if (!opts.enableSelectionDaysInNextAndPreviousMonths) {
40494                    arr.push('is-selection-disabled');
40495                }
40496            } else {
40497                return '<td class="is-empty"></td>';
40498            }
40499        }
40500        if (opts.isDisabled) {
40501            arr.push('is-disabled');
40502        }
40503        if (opts.isToday) {
40504            arr.push('is-today');
40505        }
40506        if (opts.isSelected) {
40507            arr.push('is-selected');
40508            ariaSelected = 'true';
40509        }
40510        if (opts.hasEvent) {
40511            arr.push('has-event');
40512        }
40513        if (opts.isInRange) {
40514            arr.push('is-inrange');
40515        }
40516        if (opts.isStartRange) {
40517            arr.push('is-startrange');
40518        }
40519        if (opts.isEndRange) {
40520            arr.push('is-endrange');
40521        }
40522        return '<td data-day="' + opts.day + '" class="' + arr.join(' ') + '" aria-selected="' + ariaSelected + '">' + '<button class="pika-button pika-day" type="button" ' + 'data-pika-year="' + opts.year + '" data-pika-month="' + opts.month + '" data-pika-day="' + opts.day + '">' + opts.day + '</button>' + '</td>';
40523    },
40524        renderWeek = function renderWeek(d, m, y) {
40525        // Lifted from http://javascript.about.com/library/blweekyear.htm, lightly modified.
40526        var onejan = new Date(y, 0, 1),
40527            weekNum = Math.ceil(((new Date(y, m, d) - onejan) / 86400000 + onejan.getDay() + 1) / 7);
40528        return '<td class="pika-week">' + weekNum + '</td>';
40529    },
40530        renderRow = function renderRow(days, isRTL, pickWholeWeek, isRowSelected) {
40531        return '<tr class="pika-row' + (pickWholeWeek ? ' pick-whole-week' : '') + (isRowSelected ? ' is-selected' : '') + '">' + (isRTL ? days.reverse() : days).join('') + '</tr>';
40532    },
40533        renderBody = function renderBody(rows) {
40534        return '<tbody>' + rows.join('') + '</tbody>';
40535    },
40536        renderHead = function renderHead(opts) {
40537        var i,
40538            arr = [];
40539        if (opts.showWeekNumber) {
40540            arr.push('<th></th>');
40541        }
40542        for (i = 0; i < 7; i++) {
40543            arr.push('<th scope="col"><abbr title="' + renderDayName(opts, i) + '">' + renderDayName(opts, i, true) + '</abbr></th>');
40544        }
40545        return '<thead><tr>' + (opts.isRTL ? arr.reverse() : arr).join('') + '</tr></thead>';
40546    },
40547        renderTitle = function renderTitle(instance, c, year, month, refYear, randId) {
40548        var i,
40549            j,
40550            arr,
40551            opts = instance._o,
40552            isMinYear = year === opts.minYear,
40553            isMaxYear = year === opts.maxYear,
40554            html = '<div id="' + randId + '" class="pika-title" role="heading" aria-live="assertive">',
40555            monthHtml,
40556            yearHtml,
40557            prev = true,
40558            next = true;
40559
40560        for (arr = [], i = 0; i < 12; i++) {
40561            arr.push('<option value="' + (year === refYear ? i - c : 12 + i - c) + '"' + (i === month ? ' selected="selected"' : '') + (isMinYear && i < opts.minMonth || isMaxYear && i > opts.maxMonth ? 'disabled="disabled"' : '') + '>
40561' + opts.i18n.months[i] + '</option>');
40562        }
40563
40564        monthHtml = '<div class="pika-label">' + opts.i18n.months[month] + '<select class="pika-select pika-select-month" tabindex="-1">' + arr.join('') + '</select></div>';
40565
40566        if (isArray(opts.yearRange)) {
40567            i = opts.yearRange[0];
40568            j = opts.yearRange[1] + 1;
40569        } else {
40570            i = year - opts.yearRange;
40571            j = 1 + year + opts.yearRange;
40572        }
40573
40574        for (arr = []; i < j && i <= opts.maxYear; i++) {
40575            if (i >= opts.minYear) {
40576                arr.push('<option value="' + i + '"' + (i === year ? ' selected="selected"' : '') + '>' + i + '</option>');
40577            }
40578        }
40579        yearHtml = '<div class="pika-label">' + year + opts.yearSuffix + '<select class="pika-select pika-select-year" tabindex="-1">' + arr.join('') + '</select></div>';
40580
40581        if (opts.showMonthAfterYear) {
40582            html += yearHtml + monthHtml;
40583        } else {
40584            html += monthHtml + yearHtml;
40585        }
40586
40587        if (isMinYear && (month === 0 || opts.minMonth >= month)) {
40588            prev = false;
40589        }
40590
40591        if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
40592            next = false;
40593        }
40594
40595        if (c === 0) {
40596            html += '<button class="pika-prev' + (prev ? '' : ' is-disabled') + '" type="button">' + opts.i18n.previousMonth + '</button>';
40597        }
40598        if (c === instance._o.numberOfMonths - 1) {
40599            html += '<button class="pika-next' + (next ? '' : ' is-disabled') + '" type="button">' + opts.i18n.nextMonth + '</button>';
40600        }
40601
40602        return html += '</div>';
40603    },
40604        renderTable = function renderTable(opts, data, randId) {
40605        return '<table cellpadding="0" cellspacing="0" class="pika-table" role="grid" aria-labelledby="' + randId + '">' + renderHead(opts) + renderBody(data) + '</table>';
40606    },
40607
40608
40609    /**
40610     * Pikaday constructor
40611     */
40612    Pikaday = function Pikaday(options) {
40613        var self = this,
40614            opts = self.config(options);
40615
40616        self._onMouseDown = function (e) {
40617            if (!self._v) {
40618                return;
40619            }
40620            e = e || window.event;
40621            var target = e.target || e.srcElement;
40622            if (!target) {
40623                return;
40624            }
40625
40626            if (!hasClass(target, 'is-disabled')) {
40627                if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty') && !hasClass(target.parentNode, 'is-disabled')) {
40628                    self.setDate(new Date(target.getAttribute('data-pika-year'), target.getAttribute('data-pika-month'), target.getAttribute('data-pika-day')));
40629                    if (opts.bound) {
40630                        sto(function () {
40631                            self.hide();
40632                            if (opts.blurFieldOnSelect && opts.field) {
40633                                opts.field.blur();
40634                            }
40635                        }, 100);
40636                    }
40637                } else if (hasClass(target, 'pika-prev')) {
40638                    self.prevMonth();
40639                } else if (hasClass(target, 'pika-next')) {
40640                    self.nextMonth();
40641                }
40642            }
40643            if (!hasClass(target, 'pika-select')) {
40644                // if this is touch event prevent mouse events emulation
40645                if (e.preventDefault) {
40646                    e.preventDefault();
40647                } else {
40648                    e.returnValue = false;
40649                    return false;
40650                }
40651            } else {
40652                self._c = true;
40653            }
40654        };
40655
40656        self._onChange = function (e) {
40657            e = e || window.event;
40658            var target = e.target || e.srcElement;
40659            if (!target) {
40660                return;
40661            }
40662            if (hasClass(target, 'pika-select-month')) {
40663                self.gotoMonth(target.value);
40664            } else if (hasClass(target, 'pika-select-year')) {
40665                self.gotoYear(target.value);
40666            }
40667        };
40668
40669        self._onKeyChange = function (e) {
40670            e = e || window.event;
40671
40672            if (self.isVisible()) {
40673
40674                switch (e.keyCode) {
40675                    case 13:
40676                    case 27:
40677                        if (opts.field) {
40678                            opts.field.blur();
40679                        }
40680                        break;
40681                    case 37:
40682                        e.preventDefault();
40683                        self.adjustDate('subtract', 1);
40684                        break;
40685                    case 38:
40686                        self.adjustDate('subtract', 7);
40687                        break;
40688                    case 39:
40689                        self.adjustDate('add', 1);
40690                        break;
40691                    case 40:
40692                        self.adjustDate('add', 7);
40693                        break;
40694                }
40695            }
40696        };
40697
40698        self._onInputChange = function (e) {
40699            var date;
40700
40701            if (e.firedBy === self) {
40702                return;
40703            }
40704            if (opts.parse) {
40705                date = opts.parse(opts.field.value, opts.format);
40706            } else if (hasMoment) {
40707                date = moment(opts.field.value, opts.format, opts.formatStrict);
40708                date = date && date.isValid() ? date.toDate() : null;
40709            } else {
40710                date = new Date(Date.parse(opts.field.value));
40711            }
40712            if (isDate(date)) {
40713                self.setDate(date);
40714            }
40715            if (!self._v) {
40716                self.show();
40717            }
40718        };
40719
40720        self._onInputFocus = function () {
40721            self.show();
40722        };
40723
40724        self._onInputClick = function () {
40725            self.show();
40726        };
40727
40728        self._onInputBlur = function () {
40729            // IE allows pika div to gain focus; catch blur the input field
40730            var pEl = document.activeElement;
40731            do {
40732                if (hasClass(pEl, 'pika-single')) {
40733                    return;
40734                }
40735            } while (pEl = pEl.parentNode);
40736
40737            if (!self._c) {
40738                self._b = sto(function () {
40739                    self.hide();
40740                }, 50);
40741            }
40742            self._c = false;
vendor: 7,315 bytes, lines 40743-40967
40743        };
40744
40745        self._onClick = function (e) {
40746            e = e || window.event;
40747            var target = e.target || e.srcElement,
40748                pEl = target;
40749            if (!target) {
40750                return;
40751            }
40752            if (!hasEventListeners && hasClass(target, 'pika-select')) {
40753                if (!target.onchange) {
40754                    target.setAttribute('onchange', 'return;');
40755                    addEvent(target, 'change', self._onChange);
40756                }
40757            }
40758            do {
40759                if (hasClass(pEl, 'pika-single') || pEl === opts.trigger) {
40760                    return;
40761                }
40762            } while (pEl = pEl.parentNode);
40763            if (self._v && target !== opts.trigger && pEl !== opts.trigger) {
40764                self.hide();
40765            }
40766        };
40767
40768        self.el = document.createElement('div');
40769        self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '') + (opts.theme ? ' ' + opts.theme : '');
40770
40771        addEvent(self.el, 'mousedown', self._onMouseDown, true);
40772        addEvent(self.el, 'touchend', self._onMouseDown, true);
40773        addEvent(self.el, 'change', self._onChange);
40774
40775        if (opts.keyboardInput) {
40776            addEvent(document, 'keydown', self._onKeyChange);
40777        }
40778
40779        if (opts.field) {
40780            if (opts.container) {
40781                opts.container.appendChild(self.el);
40782            } else if (opts.bound) {
40783                document.body.appendChild(self.el);
40784            } else {
40785                opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling);
40786            }
40787            addEvent(opts.field, 'change', self._onInputChange);
40788
40789            if (!opts.defaultDate) {
40790                if (hasMoment && opts.field.value) {
40791                    opts.defaultDate = moment(opts.field.value, opts.format).toDate();
40792                } else {
40793                    opts.defaultDate = new Date(Date.parse(opts.field.value));
40794                }
40795                opts.setDefaultDate = true;
40796            }
40797        }
40798
40799        var defDate = opts.defaultDate;
40800
40801        if (isDate(defDate)) {
40802            if (opts.setDefaultDate) {
40803                self.setDate(defDate, true);
40804            } else {
40805                self.gotoDate(defDate);
40806            }
40807        } else {
40808            self.gotoDate(new Date());
40809        }
40810
40811        if (opts.bound) {
40812            this.hide();
40813            self.el.className += ' is-bound';
40814            addEvent(opts.trigger, 'click', self._onInputClick);
40815            addEvent(opts.trigger, 'focus', self._onInputFocus);
40816            addEvent(opts.trigger, 'blur', self._onInputBlur);
40817        } else {
40818            this.show();
40819        }
40820    };
40821
40822    /**
40823     * public Pikaday API
40824     */
40825    Pikaday.prototype = {
40826
40827        /**
40828         * configure functionality
40829         */
40830        config: function config(options) {
40831            if (!this._o) {
40832                this._o = extend({}, defaults, true);
40833            }
40834
40835            var opts = extend(this._o, options, true);
40836
40837            opts.isRTL = !!opts.isRTL;
40838
40839            opts.field = opts.field && opts.field.nodeName ? opts.field : null;
40840
40841            opts.theme = typeof opts.theme === 'string' && opts.theme ? opts.theme : null;
40842
40843            opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field);
40844
40845            opts.trigger = opts.trigger && opts.trigger.nodeName ? opts.trigger : opts.field;
40846
40847            opts.disableWeekends = !!opts.disableWeekends;
40848
40849            opts.disableDayFn = typeof opts.disableDayFn === 'function' ? opts.disableDayFn : null;
40850
40851            var nom = parseInt(opts.numberOfMonths, 10) || 1;
40852            opts.numberOfMonths = nom > 4 ? 4 : nom;
40853
40854            if (!isDate(opts.minDate)) {
40855                opts.minDate = false;
40856            }
40857            if (!isDate(opts.maxDate)) {
40858                opts.maxDate = false;
40859            }
40860            if (opts.minDate && opts.maxDate && opts.maxDate < opts.minDate) {
40861                opts.maxDate = opts.minDate = false;
40862            }
40863            if (opts.minDate) {
40864                this.setMinDate(opts.minDate);
40865            }
40866            if (opts.maxDate) {
40867                this.setMaxDate(opts.maxDate);
40868            }
40869
40870            if (isArray(opts.yearRange)) {
40871                var fallback = new Date().getFullYear() - 10;
40872                opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback;
40873                opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback;
40874            } else {
40875                opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange;
40876                if (opts.yearRange > 100) {
40877                    opts.yearRange = 100;
40878                }
40879            }
40880
40881            return opts;
40882        },
40883
40884        /**
40885         * return a formatted string of the current selection (using Moment.js if available)
40886         */
40887        toString: function toString(format) {
40888            format = format || this._o.format;
40889            if (!isDate(this._d)) {
40890                return '';
40891            }
40892            if (this._o.toString) {
40893                return this._o.toString(this._d, format);
40894            }
40895            if (hasMoment) {
40896                return moment(this._d).format(format);
40897            }
40898            return this._d.toDateString();
40899        },
40900
40901        /**
40902         * return a Moment.js object of the current selection (if available)
40903         */
40904        getMoment: function getMoment() {
40905            return hasMoment ? moment(this._d) : null;
40906        },
40907
40908        /**
40909         * set the current selection from a Moment.js object (if available)
40910         */
40911        setMoment: function setMoment(date, preventOnSelect) {
40912            if (hasMoment && moment.isMoment(date)) {
40913                this.setDate(date.toDate(), preventOnSelect);
40914            }
40915        },
40916
40917        /**
40918         * return a Date object of the current selection
40919         */
40920        getDate: function getDate() {
40921            return isDate(this._d) ? new Date(this._d.getTime()) : null;
40922        },
40923
40924        /**
40925         * set the current selection
40926         */
40927        setDate: function setDate(date, preventOnSelect) {
40928            if (!date) {
40929                this._d = null;
40930
40931                if (this._o.field) {
40932                    this._o.field.value = '';
40933                    fireEvent(this._o.field, 'change', { firedBy: this });
40934                }
40935
40936                return this.draw();
40937            }
40938            if (typeof date === 'string') {
40939                date = new Date(Date.parse(date));
40940            }
40941            if (!isDate(date)) {
40942                return;
40943            }
40944
40945            var min = this._o.minDate,
40946                max = this._o.maxDate;
40947
40948            if (isDate(min) && date < min) {
40949                date = min;
40950            } else if (isDate(max) && date > max) {
40951                date = max;
40952            }
40953
40954            this._d = new Date(date.getTime());
40955            setToStartOfDay(this._d);
40956            this.gotoDate(this._d);
40957
40958            if (this._o.field) {
40959                this._o.field.value = this.toString();
40960                fireEvent(this._o.field, 'change', { firedBy: this });
40961            }
40962            if (!preventOnSelect && typeof this._o.onSelect === 'function') {
40963                this._o.onSelect.call(this, this.getDate());
40964            }
40965        },
40966
40967        /**
40968         * change view to a specific date
40969         */
40970        gotoDate: function gotoDate(date) {
40971            var newCalendar = true;
40972
40973            if (!isDate(date)) {
40974                return;
40975            }
40976
40977            if (this.calendars) {
40978                var firstVisibleDate = new Date(this.calendars[0].year, this.calendars[0].month, 1),
40979                    lastVisibleDate = new Date(this.calendars[this.calendars.length - 1].year, this.calendars[this.calendars.length - 1].month, 1),
40980                    visibleDate = date.getTime();
40981                // get the end of the month
40982                lastVisibleDate.setMonth(lastVisibleDate.getMonth() + 1);
40983                lastVisibleDate.setDate(lastVisibleDate.getDate() - 1);
40984                newCalendar = visibleDate < firstVisibleDate.getTime() || lastVisibleDate.getTime() < visibleDate;
40985            }
40986
40987            if (newCalendar) {
40988                this.calendars = [{
40989                    month: date.getMonth(),
40990                    year: date.getFullYear()
40991                }];
40992                if (this._o.mainCalendar === 'right') {
40993                    this.calendars[0].month += 1 - this._o.numberOfMonths;
40994                }
40995            }
40996
40997            this.adjustCalendars();
40998        },
40999
41000        adjustDate: function adjustDate(sign, days) {
41001
41002            var day = this.getDate() || new Date();
41003            var difference = parseInt(days) * 24 * 60 * 60 * 1000;
41004
41005            var newDay;
41006
41007            if (sign === 'add') {
41008                newDay = new Date(day.valueOf() + difference);
41009            } else if (sign === 'subtract') {
41010                newDay = new Date(day.valueOf() - difference);
41011            }
41012
41013            this.setDate(newDay);
41014        },
41015
41016        adjustCalendars: function adjustCalendars() {
41017            this.calendars[0] = adjustCalendar(this.calendars[0]);
41018            for (var c = 1; c < this._o.numberOfMonths; c++) {
41019                this.calendars[c] = adjustCalendar({
41020                    month: this.calendars[0].month + c,
41021                    year: this.calendars[0].year
41022                });
41023            }
41024            this.draw();
41025        },
41026
41027        gotoToday: function gotoToday() {
41028            this.gotoDate(new Date());
41029        },
41030
41031        /**
41032         * change view to a specific month (zero-index, e.g. 0: January)
41033         */
41034        gotoMonth: function gotoMonth(month) {
41035            if (!isNaN(month)) {
41036                this.calendars[0].month = parseInt(month, 10);
41037                this.adjustCalendars();
41038            }
41039        },
41040
41041        nextMonth: function nextMonth() {
41042            this.calendars[0].month++;
41043            this.adjustCalendars();
41044        },
41045
41046        prevMonth: function prevMonth() {
41047            this.calendars[0].month--;
41048            this.adjustCalendars();
41049        },
41050
41051        /**
41052         * change view to a specific full year (e.g. "2012")
41053         */
41054        gotoYear: function gotoYear(year) {
41055            if (!isNaN(year)) {
41056                this.calendars[0].year = parseInt(year, 10);
41057                this.adjustCalendars();
41058            }
41059        },
41060
41061        /**
41062         * change the minDate
41063         */
41064        setMinDate: function setMinDate(value) {
41065            if (value instanceof Date) {
41066                setToStartOfDay(value);
41067                this._o.minDate = value;
41068                this._o.minYear = value.getFullYear();
41069                this._o.minMonth = value.getMonth();
41070            } else {
41071                this._o.minDate = defaults.minDate;
41072                this._o.minYear = defaults.minYear;
41073                this._o.minMonth = defaults.minMonth;
41074                this._o.startRange = defaults.startRange;
41075            }
41076
41077            this.draw();
41078        },
41079
41080        /**
41081         * change the maxDate
41082         */
41083        setMaxDate: function setMaxDate(value) {
41084            if (value instanceof Date) {
41085                setToStartOfDay(value);
41086                this._o.maxDate = value;
41087                this._o.maxYear = value.getFullYear();
41088                this._o.maxMonth = value.getMonth();
41089            } else {
41090                this._o.maxDate = defaults.maxDate;
41091                this._o.maxYear = defaults.maxYear;
41092                this._o.maxMonth = defaults.maxMonth;
41093                this._o.endRange = defaults.endRange;
41094            }
41095
41096            this.draw();
41097        },
41098
41099        setStartRange: function setStartRange(value) {
41100            this._o.startRange = value;
41101        },
41102
41103        setEndRange: function setEndRange(value) {
41104            this._o.endRange = value;
41105        },
41106
41107        /**
41108         * refresh the HTML
41109         */
41110        draw: function draw(force) {
41111            if (!this._v && !force) {
41112                return;
41113            }
41114            var opts = this._o,
41115                minYear = opts.minYear,
41116                maxYear = opts.maxYear,
41117                minMonth = opts.minMonth,
41118                maxMonth = opts.maxMonth,
41119                html = '',
41120                randId;
41121
41122            if (this._y <= minYear) {
41123                this._y = minYear;
41124                if (!isNaN(minMonth) && this._m < minMonth) {
41125                    this._m = minMonth;
41126                }
41127            }
41128            if (this._y >= maxYear) {
41129                this._y = maxYear;
41130                if (!isNaN(maxMonth) && this._m > maxMonth) {
41131                    this._m = maxMonth;
41132                }
41133            }
41134
41135            randId = 'pika-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);
41136
41137            for (var c = 0; c < opts.numberOfMonths; c++) {
41138                html += '<div class="pika-lendar">' + renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId) + '</div>';
41139            }
41140
41141            this.el.innerHTML = html;
41142
41143            if (opts.bound) {
41144                if (opts.field.type !== 'hidden') {
41145                    sto(function () {
41146                        opts.trigger.focus();
41147                    }, 1);
41148                }
41149            }
41150
41151            if (typeof this._o.onDraw === 'function') {
41152                this._o.onDraw(this);
41153            }
41154
41155            if (opts.bound) {
41156                // let the screen reader user know to use arrow keys
41157                opts.field.setAttribute('aria-label', 'Use the arrow keys to pick a date');
41158            }
41159        },
41160
41161        adjustPosition: function adjustPosition() {
41162            var field, pEl, width, height, viewportWidth, viewportHeight, scrollTop, left, top, clientRect;
41163
41164            if (this._o.container) return;
41165
41166            this.el.style.position = 'absolute';
41167
41168            field = this._o.trigger;
41169            pEl = field;
41170            width = this.el.offsetWidth;
41171            height = this.el.offsetHeight;
41172            viewportWidth = window.innerWidth || document.documentElement.clientWidth;
41173            viewportHeight = window.innerHeight || document.documentElement.clientHeight;
41174            scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
41175
41176            if (typeof field.getBoundingClientRect === 'function') {
41177                clientRect = field.getBoundingClientRect();
41178                left = clientRect.left + window.pageXOffset;
41179                top = clientRect.bottom + window.pageYOffset;
41180            } else {
41181                left = pEl.offsetLeft;
41182                top = pEl.offsetTop + pEl.offsetHeight;
41183                while (pEl = pEl.offsetParent) {
41184                    left += pEl.offsetLeft;
41185                    top += pEl.offsetTop;
41186                }
41187            }
41188
41189            // default position is bottom & left
41190            if (this._o.reposition && left + width > viewportWidth || this._o.position.indexOf('right') > -1 && left - width + field.offsetWidth > 0) {
41191                left = left - width + field.offsetWidth;
41192            }
41193            if (this._o.reposition && top + height > viewportHeight + scrollTop || this._o.position.indexOf('top') > -1 && top - height - field.offsetHeight > 0) {
41194                top = top - height - field.offsetHeight;
41195            }
41196
41197            this.el.style.left = left + 'px';
41198            this.el.style.top = top + 'px';
41199        },
41200
41201        /**
41202         * render HTML for a particular month
41203         */
41204        render: function render(year, month, randId) {
41205            var opts = this._o,
41206                now = new Date(),
41207                days = getDaysInMonth(year, month),
41208                before = new Date(year, month, 1).getDay(),
41209                data = [],
41210                row = [];
41211            setToStartOfDay(now);
41212            if (opts.firstDay > 0) {
41213                before -= opts.firstDay;
41214                if (before < 0) {
41215                    before += 7;
41216                }
41217            }
41218            var previousMonth = month === 0 ? 11 : month - 1,
41219                nextMonth = month === 11 ? 0 : month + 1,
41220                yearOfPreviousMonth = month === 0 ? year - 1 : year,
41221                yearOfNextMonth = month === 11 ? year + 1 : year,
41222                daysInPreviousMonth = getDaysInMonth(yearOfPreviousMonth, previousMonth);
41223            var cells = days + before,
41224                after = cells;
41225            while (after > 7) {
41226                after -= 7;
41227            }
41228            cells += 7 - after;
41229            var isWeekSelected = false;
41230            for (var i = 0, r = 0; i < cells; i++) {
41231                var day = new Date(year, month, 1 + (i - before)),
41232                    isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
41233                    isToday = compareDates(day, now),
41234                    hasEvent = opts.events.indexOf(day.toDateString()) !== -1 ? true : false,
41235                    isEmpty = i < before || i >= days + before,
41236                    dayNumber = 1 + (i - before),
41237                    monthNumber = month,
41238                    yearNumber = year,
41239                    isStartRange = opts.startRange && compareDates(opts.startRange, day),
41240                    isEndRange = opts.endRange && compareDates(opts.endRange, day),
41241                    isInRange = opts.startRange && opts.endRange && opts.startRange < day && day < opts.endRange,
41242                    isDisabled = opts.minDate && day < opts.minDate || opts.maxDate && day > opts.maxDate || opts.disableWeekends && isWeekend(day) || opts.disableDayFn && opts.disableDayFn(day);
41243
41244                if (isEmpty) {
41245                    if (i < before) {
41246                        dayNumber = daysInPreviousMonth + dayNumber;
41247                        monthNumber = previousMonth;
41248                        yearNumber = yearOfPreviousMonth;
41249                    } else {
41250                        dayNumber = dayNumber - days;
41251                        monthNumber = nextMonth;
41252                        yearNumber = yearOfNextMonth;
41253                    }
41254                }
41255
41256                var dayConfig = {
41257                    day: dayNumber,
41258                    month: monthNumber,
41259                    year: yearNumber,
41260                    hasEvent: hasEvent,
41261                    isSelected: isSelected,
41262                    isToday: isToday,
41263                    isDisabled: isDisabled,
41264                    isEmpty: isEmpty,
41265                    isStartRange: isStartRange,
41266                    isEndRange: isEndRange,
41267                    isInRange: isInRange,
41268                    showDaysInNextAndPreviousMonths: opts.showDaysInNextAndPreviousMonths,
41269                    enableSelectionDaysInNextAndPreviousMonths: opts.enableSelectionDaysInNextAndPreviousMonths
41270                };
41271
41272                if (opts.pickWholeWeek && isSelected) {
41273                    isWeekSelected = true;
41274                }
41275
41276                row.push(renderDay(dayConfig));
41277
41278                if (++r === 7) {
41279                    if (opts.showWeekNumber) {
41280                        row.unshift(renderWeek(i - before, month, year));
41281                    }
41282                    data.push(renderRow(row, opts.isRTL, opts.pickWholeWeek, isWeekSelected));
41283                    row = [];
41284                    r = 0;
41285                    isWeekSelected = false;
41286                }
41287            }
41288            return renderTable(opts, data, randId);
41289        },
41290
41291        isVisible: function isVisible() {
41292            return this._v;
41293        },
41294
41295        show: function show() {
41296            if (!this.isVisible()) {
41297                this._v = true;
41298                this.draw();
41299                removeClass(this.el, 'is-hidden');
41300                if (this._o.bound) {
41301                    addEvent(document, 'click', this._onClick);
41302                    this.adjustPosition();
41303                }
41304                if (typeof this._o.onOpen === 'function') {
41305                    this._o.onOpen.call(this);
41306                }
41307            }
41308        },
41309
41310        hide: function hide() {
41311            var v = this._v;
41312            if (v !== false) {
41313                if (this._o.bound) {
41314                    removeEvent(document, 'click', this._onClick);
41315                }
41316                this.el.style.position = 'static'; // reset
41317                this.el.style.left = 'auto';
41318                this.el.style.top = 'auto';
41319                addClass(this.el, 'is-hidden');
41320                this._v = false;
41321                if (v !== undefined && typeof this._o.onClose === 'function') {
41322                    this._o.onClose.call(this);
41323                }
41324            }
41325        },
41326
41327        /**
41328         * GAME OVER
41329         */
41330        destroy: function destroy() {
41331            var opts = this._o;
41332
41333            this.hide();
41334            removeEvent(this.el, 'mousedown', this._onMouseDown, true);
41335            removeEvent(this.el, 'touchend', this._onMouseDown, true);
41336            removeEvent(this.el, 'change', this._onChange);
41337            if (opts.keyboardInput) {
41338                removeEvent(document, 'keydown', this._onKeyChange);
41339            }
41340            if (opts.field) {
41341                removeEvent(opts.field, 'change', this._onInputChange);
41342                if (opts.bound) {
41343                    removeEvent(opts.trigger, 'click', this._onInputClick);
41344                    removeEvent(opts.trigger, 'focus', this._onInputFocus);
41345                    removeEvent(opts.trigger, 'blur', this._onInputBlur);
41346                }
41347            }
41348            if (this.el.parentNode) {
41349                this.el.parentNode.removeChild(this.el);
41350            }
41351        }
41352
41353    };
41354
41355    return Pikaday;
41356});
41357
41358/***/ }),
41359/* 296 */
41360/***/ (function(module, exports, __webpack_require__) {
41361
41362"use strict";
41363
41364
41365function select(element) {
41366    var selectedText;
41367
41368    if (element.nodeName === 'SELECT') {
41369        element.focus();
41370
41371        selectedText = element.value;
41372    } else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
41373        var isReadOnly = element.hasAttribute('readonly');
41374
41375        if (!isReadOnly) {
41376            element.setAttribute('readonly', '');
41377        }
41378
41379        element.select();
41380        element.setSelectionRange(0, element.value.length);
41381
41382        if (!isReadOnly) {
41383            element.removeAttribute('readonly');
41384        }
41385
41386        selectedText = element.value;
41387    } else {
41388        if (element.hasAttribute('contenteditable')) {
41389            element.focus();
41390        }
41391
41392        var selection = window.getSelection();
41393        var range = document.createRange();
41394
41395        range.selectNodeContents(element);
41396        selection.removeAllRanges();
41397        selection.addRange(range);
41398
41399        selectedText = selection.toString();
41400    }
41401
41402    return selectedText;
41403}
41404
41405module.exports = select;
41406
41407/***/ }),
41408/* 297 */
41409/***/ (function(module, exports, __webpack_require__) {
41410
41411"use strict";
41412
41413
41414function E() {
41415  // Keep this empty so it's easier to inherit from
41416  // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
41417}
41418
41419E.prototype = {
41420  on: function on(name, callback, ctx) {
41421    var e = this.e || (this.e = {});
41422
41423    (e[name] || (e[name] = [])).push({
41424      fn: callback,
41425      ctx: ctx
41426    });
41427
41428    return this;
41429  },
41430
41431  once: function once(name, callback, ctx) {
41432    var self = this;
41433    function listener() {
41434      self.off(name, listener);
41435      callback.apply(ctx, arguments);
41436    };
41437
41438    listener._ = callback;
41439    return this.on(name, listener, ctx);
41440  },
41441
41442  emit: function emit(name) {
41443    var data = [].slice.call(arguments, 1);
41444    var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
41445    var i = 0;
41446    var len = evtArr.length;
41447
41448    for (i; i < len; i++) {
41449      evtArr[i].fn.apply(evtArr[i].ctx, data);
41450    }
41451
41452    return this;
41453  },
41454
41455  off: function off(name, callback) {
41456    var e = this.e || (this.e = {});
41457    var evts = e[name];
41458    var liveEvents = [];
41459
41460    if (evts && callback) {
41461      for (var i = 0, len = evts.length; i < len; i++) {
41462        if (evts[i].fn !== callback && evts[i].fn._ !== callback) liveEvents.push(evts[i]);
41463      }
41464    }
41465
41466    // Remove event from queue to prevent memory leak
41467    // Suggested by https://github.com/lazd
41468    // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
41469
41470    liveEvents.length ? e[name] = liveEvents : delete e[name];
41471
41472    return this;
41473  }
41474};
41475
41476module.exports = E;
41477
41478/***/ }),
41479/* 298 */
41480/***/ (function(module, exports, __webpack_require__) {
41481
41482"use strict";
41483/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
41484
41485var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
41486
41487/**
41488 * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).
41489 * @version v4.3.1
41490 * @link https://github.com/ten1seven/what-input
41491 * @license MIT
41492 */
41493(function webpackUniversalModuleDefinition(root, factory) {
41494	if (( false ? 'undefined' : _typeof(exports)) === 'object' && ( false ? 'undefined' : _typeof(module)) === 'object') module.exports = factory();else if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
41495				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
41496				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
41497				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') exports["whatInput"] = factory();else root["whatInput"] = factory();
41498})(undefined, function () {
41499	return (/******/function (modules) {
41500			// webpackBootstrap
41501			/******/ // The module cache
41502			/******/var installedModules = {};
41503
41504			/******/ // The require function
41505			/******/function __webpack_require__(moduleId) {
41506
41507				/******/ // Check if module is in cache
41508				/******/if (installedModules[moduleId])
41509					/******/return installedModules[moduleId].exports;
41510
41511				/******/ // Create a new module (and put it into the cache)
41512				/******/var module = installedModules[moduleId] = {
41513					/******/exports: {},
41514					/******/id: moduleId,
41515					/******/loaded: false
41516					/******/ };
41517
41518				/******/ // Execute the module function
41519				/******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
41520
41521				/******/ // Flag the module as loaded
41522				/******/module.loaded = true;
41523
41524				/******/ // Return the exports of the module
41525				/******/return module.exports;
41526				/******/
41527			}
41528
41529			/******/ // expose the modules object (__webpack_modules__)
41530			/******/__webpack_require__.m = modules;
41531
41532			/******/ // expose the module cache
41533			/******/__webpack_require__.c = installedModules;
41534
41535			/******/ // __webpack_public_path__
41536			/******/__webpack_require__.p = "";
41537
41538			/******/ // Load entry module and return exports
41539			/******/return __webpack_require__(0);
41540			/******/
41541		}(
41542		/************************************************************************/
41543		/******/[
41544		/* 0 */
41545		/***/function (module, exports) {
41546
41547			'use strict';
41548
41549			module.exports = function () {
41550				/*
41551     * variables
41552     */
41553
41554				// last used input type
41555				var currentInput = 'initial';
41556
41557				// last used input intent
41558				var currentIntent = null;
41559
41560				// cache document.documentElement
41561				var doc = document.documentElement;
41562
41563				// form input types
41564				var formInputs = ['input', 'select', 'textarea'];
41565
41566				var functionList = [];
41567
41568				// list of modifier keys commonly used with the mouse and
41569				// can be safely ignored to prevent false keyboard detection
41570				var ignoreMap = [16, // shift
41571				17, // control
41572				18, // alt
41573				91, // Windows key / left Apple cmd
41574				93 // Windows menu / right Apple cmd
41575				];
41576
41577				// list of keys for which we change intent even for form inputs
41578				var changeIntentMap = [9 // tab
41579				];
41580
41581				// mapping of events to input types
41582				var inputMap = {
41583					keydown: 'keyboard',
41584					keyup: 'keyboard',
41585					mousedown: 'mouse',
41586					mousemove: 'mouse',
41587					MSPointerDown: 'pointer',
41588					MSPointerMove: 'pointer',
41589					pointerdown: 'pointer',
41590					pointermove: 'pointer',
41591					touchstart: 'touch'
41592				};
41593
41594				// array of all used input types
41595				var inputTypes = [];
41596
41597				// boolean: true if touch buffer is active
41598				var isBuffering = false;
41599
41600				// boolean: true if the page is being scrolled
41601				var isScrolling = false;
41602
41603				// store current mouse position
41604				var mousePos = {
41605					x: null,
41606					y: null
41607				};
41608
41609				// map of IE 10 pointer events
41610				var pointerMap = {
41611					2: 'touch',
41612					3: 'touch', // treat pen like touch
41613					4: 'mouse'
41614				};
41615
41616				var supportsPassive = false;
41617
41618				try {
41619					var opts = Object.defineProperty({}, 'passive', {
41620						get: function get() {
41621							supportsPassive = true;
41622						}
41623					});
41624
41625					window.addEventListener('test', null, opts);
41626				} catch (e) {}
41627
41628				/*
41629     * set up
41630     */
41631
41632				var setUp = function setUp() {
41633					// add correct mouse wheel event mapping to `inputMap`
41634					inputMap[detectWheel()] = 'mouse';
41635
41636					addListeners();
41637					setInput();
41638				};
41639
41640				/*
41641     * events
41642     */
41643
41644				var addListeners = function addListeners() {
41645					// `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding
41646					// can only demonstrate potential, but not actual, interaction
41647					// and are treated separately
41648					var options = supportsPassive ? { passive: true } : false;
41649
41650					// pointer events (mouse, pen, touch)
41651					if (window.PointerEvent) {
41652						doc.addEventListener('pointerdown', updateInput);
41653						doc.addEventListener('pointermove', setIntent);
41654					} else if (window.MSPointerEvent) {
41655						doc.addEventListener('MSPointerDown', updateInput);
41656						doc.addEventListener('MSPointerMove', setIntent);
41657					} else {
41658						// mouse events
41659						doc.addEventListener('mousedown', updateInput);
41660						doc.addEventListener('mousemove', setIntent);
41661
41662						// touch events
41663						if ('ontouchstart' in window) {
41664							doc.addEventListener('touchstart', touchBuffer, options);
41665							doc.addEventListener('touchend', touchBuffer);
41666						}
41667					}
41668
41669					// mouse wheel
41670					doc.addEventListener(detectWheel(), setIntent, options);
41671
41672					// keyboard events
41673					doc.addEventListener('keydown', updateInput);
41674					doc.addEventListener('keyup', updateInput);
41675				};
41676
41677				// checks conditions before updating new input
41678				var updateInput = function updateInput(event) {
41679					// only execute if the touch buffer timer isn't running
41680					if (!isBuffering) {
41681						var eventKey = event.which;
41682						var value = inputMap[event.type];
41683						if (value === 'pointer') value = pointerType(event);
41684
41685						if (currentInput !== value || currentIntent !== value) {
41686							var activeElem = document.activeElement;
41687							var activeInput = false;
41688							var notFormInput = activeElem && activeElem.nodeName && formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1;
41689
41690							if (notFormInput || changeIntentMap.indexOf(eventKey) !== -1) {
41691								activeInput = true;
41692							}
41693
41694							if (value === 'touch' ||
41695							// ignore mouse modifier keys
41696							value === 'mouse' ||
41697							// don't switch if the current element is a form input
41698							value === 'keyboard' && eventKey && activeInput && ignoreMap.indexOf(eventKey) === -1) {
41699								// set the current and catch-all variable
41700								currentInput = currentIntent = value;
41701
41702								setInput();
41703							}
41704						}
41705					}
41706				};
41707
41708				// updates the doc and `inputTypes` array with new input
41709				var setInput = function setInput() {
41710					doc.setAttribute('data-whatinput', currentInput);
41711					doc.setAttribute('data-whatintent', currentInput);
41712
41713					if (inputTypes.indexOf(currentInput) === -1) {
41714						inputTypes.push(currentInput);
41715						doc.className += ' whatinput-types-' + currentInput;
41716					}
41717
41718					fireFunctions('input');
41719				};
41720
41721				// updates input intent for `mousemove` and `pointermove`
41722				var setIntent = function setIntent(event) {
41723					// test to see if `mousemove` happened relative to the screen
41724					// to detect scrolling versus mousemove
41725					if (mousePos['x'] !== event.screenX || mousePos['y'] !== event.screenY) {
41726						isScrolling = false;
41727
41728						mousePos['x'] = event.screenX;
41729						mousePos['y'] = event.screenY;
41730					} else {
41731						isScrolling = true;
41732					}
41733
41734					// only execute if the touch buffer timer isn't running
41735					// or scrolling isn't happening
41736					if (!isBuffering && !isScrolling) {
41737						var value = inputMap[event.type];
41738						if (value === 'pointer') value = pointerType(event);
41739
41740						if (currentIntent !== value) {
41741							currentIntent = value;
41742
41743							doc.setAttribute('data-whatintent', currentIntent);
41744
41745							fireFunctions('intent');
41746						}
41747					}
41748				};
41749
41750				// buffers touch events because they frequently also fire mouse events
41751				var touchBuffer = function touchBuffer(event) {
41752					if (event.type === 'touchstart') {
41753						isBuffering = false;
41754
41755						// set the current input
41756						updateInput(event);
41757					} else {
41758						isBuffering = true;
41759					}
41760				};
41761
41762				var fireFunctions = function fireFunctions(type) {
41763					for (var i = 0, len = functionList.length; i < len; i++) {
41764						if (functionList[i].type === type) {
41765							functionList[i].fn.call(undefined, currentIntent);
41766						}
41767					}
41768				};
41769
41770				/*
41771     * utilities
41772     */
41773
41774				var pointerType = function pointerType(event) {
41775					if (typeof event.pointerType === 'number') {
41776						return pointerMap[event.pointerType];
41777					} else {
41778						// treat pen like touch
41779						return event.pointerType === 'pen' ? 'touch' : event.pointerType;
41780					}
41781				};
41782
41783				// detect version of mouse wheel event to use
41784				// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel
41785				var detectWheel = function detectWheel() {
41786					var wheelType = void 0;
41787
41788					// Modern browsers support "wheel"
41789					if ('onwheel' in document.createElement('div')) {
41790						wheelType = 'wheel';
41791					} else {
41792						// Webkit and IE support at least "mousewheel"
41793						// or assume that remaining browsers are older Firefox
41794						wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';
41795					}
41796
41797					return wheelType;
41798				};
41799
41800				var objPos = function objPos(match) {
41801					for (var i = 0, len = functionList.length; i < len; i++) {
41802						if (functionList[i].fn === match) {
41803							return i;
41804						}
41805					}
41806				};
41807
41808				/*
41809     * init
41810     */
41811
41812				// don't start script unless browser cuts the mustard
41813				// (also passes if polyfills are used)
41814				if ('addEventListener' in window && Array.prototype.indexOf) {
41815					setUp();
41816				}
41817
41818				/*
41819     * api
41820     */
41821
41822				return {
41823					// returns string: the current input type
41824					// opt: 'loose'|'strict'
41825					// 'strict' (default): returns the same value as the `data-whatinput` attribute
41826					// 'loose': includes `data-whatintent` value if it's more current than `data-whatinput`
41827					ask: function ask(opt) {
41828						return opt === 'loose' ? currentIntent : currentInput;
41829					},
41830
41831					// returns array: all the detected input types
41832					types: function types() {
41833						return inputTypes;
41834					},
41835
41836					// overwrites ignored keys with provided array
41837					ignoreKeys: function ignoreKeys(arr) {
41838						ignoreMap = arr;
41839					},
41840
41841					// attach functions to input and intent "events"
41842					// funct: function to fire on change
41843					// eventType: 'input'|'intent'
41844					registerOnChange: function registerOnChange(fn, eventType) {
41845						functionList.push({
41846							fn: fn,
41847							type: eventType || 'input'
41848						});
41849					},
41850
41851					unRegisterOnChange: function unRegisterOnChange(fn) {
41852						var position = objPos(fn);
41853
41854						if (position) {
41855							functionList.splice(position, 1);
41856						}
41857					}
41858				};
41859			}();
41860
41861			/***/
41862		}
41863		/******/])
41864	);
41865});
41866;
41867/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(44)(module)))
41868
41869/***/ }),
41870/* 299 */
41871/***/ (function(module, exports, __webpack_require__) {
41872
41873var map = {
41874	"./af": 63,
41875	"./af.js": 63,
41876	"./ar": 70,
41877	"./ar-dz": 64,
41878	"./ar-dz.js": 64,
41879	"./ar-kw": 65,
41880	"./ar-kw.js": 65,
41881	"./ar-ly": 66,
41882	"./ar-ly.js": 66,
41883	"./ar-ma": 67,
41884	"./ar-ma.js": 67,
41885	"./ar-sa": 68,
41886	"./ar-sa.js": 68,
41887	"./ar-tn": 69,
41888	"./ar-tn.js": 69,
41889	"./ar.js": 70,
41890	"./az": 71,
41891	"./az.js": 71,
41892	"./be": 72,
41893	"./be.js": 72,
41894	"./bg": 73,
41895	"./bg.js": 73,
41896	"./bm": 74,
41897	"./bm.js": 74,
41898	"./bn": 75,
41899	"./bn.js": 75,
41900	"./bo": 76,
41901	"./bo.js": 76,
41902	"./br": 77,
41903	"./br.js": 77,
41904	"./bs": 78,
41905	"./bs.js": 78,
41906	"./ca": 79,
41907	"./ca.js": 79,
41908	"./cs": 80,
41909	"./cs.js": 80,
41910	"./cv": 81,
41911	"./cv.js": 81,
41912	"./cy": 82,
41913	"./cy.js": 82,
41914	"./da": 83,
41915	"./da.js": 83,
41916	"./de": 86,
41917	"./de-at": 84,
41918	"./de-at.js": 84,
41919	"./de-ch": 85,
41920	"./de-ch.js": 85,
41921	"./de.js": 86,
41922	"./dv": 87,
41923	"./dv.js": 87,
41924	"./el": 88,
41925	"./el.js": 88,
41926	"./en-au": 89,
41927	"./en-au.js": 89,
41928	"./en-ca": 90,
41929	"./en-ca.js": 90,
41930	"./en-gb": 91,
41931	"./en-gb.js": 91,
41932	"./en-ie": 92,
41933	"./en-ie.js": 92,
41934	"./en-il": 93,
41935	"./en-il.js": 93,
41936	"./en-nz": 94,
41937	"./en-nz.js": 94,
41938	"./eo": 95,
41939	"./eo.js": 95,
41940	"./es": 98,
41941	"./es-do": 96,
41942	"./es-do.js": 96,
41943	"./es-us": 97,
41944	"./es-us.js": 97,
41945	"./es.js": 98,
41946	"./et": 99,
41947	"./et.js": 99,
41948	"./eu": 100,
41949	"./eu.js": 100,
41950	"./fa": 101,
41951	"./fa.js": 101,
41952	"./fi": 102,
41953	"./fi.js": 102,
41954	"./fo": 103,
41955	"./fo.js": 103,
41956	"./fr": 106,
41957	"./fr-ca": 104,
41958	"./fr-ca.js": 104,
41959	"./fr-ch": 105,
41960	"./fr-ch.js": 105,
41961	"./fr.js": 106,
41962	"./fy": 107,
41963	"./fy.js": 107,
41964	"./gd": 108,
41965	"./gd.js": 108,
41966	"./gl": 109,
41967	"./gl.js": 109,
41968	"./gom-latn": 110,
41969	"./gom-latn.js": 110,
41970	"./gu": 111,
41971	"./gu.js": 111,
41972	"./he": 112,
41973	"./he.js": 112,
41974	"./hi": 113,
41975	"./hi.js": 113,
41976	"./hr": 114,
41977	"./hr.js": 114,
41978	"./hu": 115,
41979	"./hu.js": 115,
41980	"./hy-am": 116,
41981	"./hy-am.js": 116,
41982	"./id": 117,
41983	"./id.js": 117,
41984	"./is": 118,
41985	"./is.js": 118,
41986	"./it": 119,
41987	"./it.js": 119,
41988	"./ja": 120,
41989	"./ja.js": 120,
41990	"./jv": 121,
41991	"./jv.js": 121,
41992	"./ka": 122,
41993	"./ka.js": 122,
41994	"./kk": 123,
41995	"./kk.js": 123,
41996	"./km": 124,
41997	"./km.js": 124,
41998	"./kn": 125,
41999	"./kn.js": 125,
42000	"./ko": 126,
42001	"./ko.js": 126,
42002	"./ky": 127,
42003	"./ky.js": 127,
42004	"./lb": 128,
42005	"./lb.js": 128,
42006	"./lo": 129,
42007	"./lo.js": 129,
42008	"./lt": 130,
42009	"./lt.js": 130,
42010	"./lv": 131,
42011	"./lv.js": 131,
42012	"./me": 132,
42013	"./me.js": 132,
42014	"./mi": 133,
42015	"./mi.js": 133,
42016	"./mk": 134,
42017	"./mk.js": 134,
42018	"./ml": 135,
42019	"./ml.js": 135,
42020	"./mn": 136,
42021	"./mn.js": 136,
42022	"./mr": 137,
42023	"./mr.js": 137,
42024	"./ms": 139,
42025	"./ms-my": 138,
42026	"./ms-my.js": 138,
42027	"./ms.js": 139,
42028	"./mt": 140,
42029	"./mt.js": 140,
42030	"./my": 141,
42031	"./my.js": 141,
42032	"./nb": 142,
42033	"./nb.js": 142,
42034	"./ne": 143,
42035	"./ne.js": 143,
42036	"./nl": 145,
42037	"./nl-be": 144,
42038	"./nl-be.js": 144,
42039	"./nl.js": 145,
42040	"./nn": 146,
42041	"./nn.js": 146,
42042	"./pa-in": 147,
42043	"./pa-in.js": 147,
42044	"./pl": 148,
42045	"./pl.js": 148,
42046	"./pt": 150,
42047	"./pt-br": 149,
42048	"./pt-br.js": 149,
42049	"./pt.js": 150,
42050	"./ro": 151,
42051	"./ro.js": 151,
42052	"./ru": 152,
42053	"./ru.js": 152,
42054	"./sd": 153,
42055	"./sd.js": 153,
42056	"./se": 154,
42057	"./se.js": 154,
42058	"./si": 155,
42059	"./si.js": 155,
42060	"./sk": 156,
42061	"./sk.js": 156,
42062	"./sl": 157,
42063	"./sl.js": 157,
42064	"./sq": 158,
42065	"./sq.js": 158,
42066	"./sr": 160,
42067	"./sr-cyrl": 159,
42068	"./sr-cyrl.js": 159,
42069	"./sr.js": 160,
42070	"./ss": 161,
42071	"./ss.js": 161,
42072	"./sv": 162,
42073	"./sv.js": 162,
42074	"./sw": 163,
42075	"./sw.js": 163,
42076	"./ta": 164,
42077	"./ta.js": 164,
42078	"./te": 165,
42079	"./te.js": 165,
42080	"./tet": 166,
42081	"./tet.js": 166,
42082	"./tg": 167,
42083	"./tg.js": 167,
42084	"./th": 168,
42085	"./th.js": 168,
42086	"./tl-ph": 169,
42087	"./tl-ph.js": 169,
42088	"./tlh": 170,
42089	"./tlh.js": 170,
42090	"./tr": 171,
42091	"./tr.js": 171,
42092	"./tzl": 172,
42093	"./tzl.js": 172,
42094	"./tzm": 174,
42095	"./tzm-latn": 173,
42096	"./tzm-latn.js": 173,
42097	"./tzm.js": 174,
42098	"./ug-cn": 175,
42099	"./ug-cn.js": 175,
42100	"./uk": 176,
42101	"./uk.js": 176,
42102	"./ur": 177,
42103	"./ur.js": 177,
42104	"./uz": 179,
42105	"./uz-latn": 178,
42106	"./uz-latn.js": 178,
42107	"./uz.js": 179,
42108	"./vi": 180,
42109	"./vi.js": 180,
42110	"./x-pseudo": 181,
42111	"./x-pseudo.js": 181,
42112	"./yo": 182,
42113	"./yo.js": 182,
42114	"./zh-cn": 183,
42115	"./zh-cn.js": 183,
42116	"./zh-hk": 184,
42117	"./zh-hk.js": 184,
42118	"./zh-tw": 185,
42119	"./zh-tw.js": 185
42120};
42121function webpackContext(req) {
42122	return __webpack_require__(webpackContextResolve(req));
42123};
42124function webpackContextResolve(req) {
42125	var id = map[req];
42126	if(!(id + 1)) // check for number or string
42127		throw new Error("Cannot find module '" + req + "'.");
42128	return id;
42129};
42130webpackContext.keys = function webpackContextKeys() {
42131	return Object.keys(map);
42132};
42133webpackContext.resolve = webpackContextResolve;
42134module.exports = webpackContext;
42135webpackContext.id = 299;
42136
42137/***/ }),
42138/* 300 */
42139/***/ (function(module, exports
42139) {
42140
42141function webpackEmptyContext(req) {
42142	throw new Error("Cannot find module '" + req + "'.");
42143}
42144webpackEmptyContext.keys = function() { return []; };
42145webpackEmptyContext.resolve = webpackEmptyContext;
42146module.exports = webpackEmptyContext;
42147webpackEmptyContext.id = 300;
42148
42149/***/ }),
42150/* 301 */
42151/***/ (function(module, exports, __webpack_require__) {
42152
42153module.exports = __webpack_require__(186);
42154
42155
42156/***/ })
42157/******/ ]);

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.