{"version":3,"file":"moment-with-locales.min.js","sources":["Project/MorganLewis/website/Contents/jQuery/moment-with-locales.js"],"sourcesContent":[";(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n global.moment = factory()\r\n}(this, (function () { 'use strict';\r\n\r\nvar hookCallback;\r\n\r\nfunction hooks () {\r\n return hookCallback.apply(null, arguments);\r\n}\r\n\r\n// This is done to register the method called with moment()\r\n// without creating circular dependencies.\r\nfunction setHookCallback (callback) {\r\n hookCallback = callback;\r\n}\r\n\r\nfunction isArray(input) {\r\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\r\n}\r\n\r\nfunction isObject(input) {\r\n // IE8 will treat undefined and null as object if it wasn't for\r\n // input != null\r\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\r\n}\r\n\r\nfunction isObjectEmpty(obj) {\r\n if (Object.getOwnPropertyNames) {\r\n return (Object.getOwnPropertyNames(obj).length === 0);\r\n } else {\r\n var k;\r\n for (k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nfunction isUndefined(input) {\r\n return input === void 0;\r\n}\r\n\r\nfunction isNumber(input) {\r\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\r\n}\r\n\r\nfunction isDate(input) {\r\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\r\n}\r\n\r\nfunction map(arr, fn) {\r\n var res = [], i;\r\n for (i = 0; i < arr.length; ++i) {\r\n res.push(fn(arr[i], i));\r\n }\r\n return res;\r\n}\r\n\r\nfunction hasOwnProp(a, b) {\r\n return Object.prototype.hasOwnProperty.call(a, b);\r\n}\r\n\r\nfunction extend(a, b) {\r\n for (var i in b) {\r\n if (hasOwnProp(b, i)) {\r\n a[i] = b[i];\r\n }\r\n }\r\n\r\n if (hasOwnProp(b, 'toString')) {\r\n a.toString = b.toString;\r\n }\r\n\r\n if (hasOwnProp(b, 'valueOf')) {\r\n a.valueOf = b.valueOf;\r\n }\r\n\r\n return a;\r\n}\r\n\r\nfunction createUTC (input, format, locale, strict) {\r\n return createLocalOrUTC(input, format, locale, strict, true).utc();\r\n}\r\n\r\nfunction defaultParsingFlags() {\r\n // We need to deep clone this object.\r\n return {\r\n empty : false,\r\n unusedTokens : [],\r\n unusedInput : [],\r\n overflow : -2,\r\n charsLeftOver : 0,\r\n nullInput : false,\r\n invalidMonth : null,\r\n invalidFormat : false,\r\n userInvalidated : false,\r\n iso : false,\r\n parsedDateParts : [],\r\n meridiem : null,\r\n rfc2822 : false,\r\n weekdayMismatch : false\r\n };\r\n}\r\n\r\nfunction getParsingFlags(m) {\r\n if (m._pf == null) {\r\n m._pf = defaultParsingFlags();\r\n }\r\n return m._pf;\r\n}\r\n\r\nvar some;\r\nif (Array.prototype.some) {\r\n some = Array.prototype.some;\r\n} else {\r\n some = function (fun) {\r\n var t = Object(this);\r\n var len = t.length >>> 0;\r\n\r\n for (var i = 0; i < len; i++) {\r\n if (i in t && fun.call(this, t[i], i, t)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n}\r\n\r\nfunction isValid(m) {\r\n if (m._isValid == null) {\r\n var flags = getParsingFlags(m);\r\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\r\n return i != null;\r\n });\r\n var isNowValid = !isNaN(m._d.getTime()) &&\r\n flags.overflow < 0 &&\r\n !flags.empty &&\r\n !flags.invalidMonth &&\r\n !flags.invalidWeekday &&\r\n !flags.weekdayMismatch &&\r\n !flags.nullInput &&\r\n !flags.invalidFormat &&\r\n !flags.userInvalidated &&\r\n (!flags.meridiem || (flags.meridiem && parsedParts));\r\n\r\n if (m._strict) {\r\n isNowValid = isNowValid &&\r\n flags.charsLeftOver === 0 &&\r\n flags.unusedTokens.length === 0 &&\r\n flags.bigHour === undefined;\r\n }\r\n\r\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\r\n m._isValid = isNowValid;\r\n }\r\n else {\r\n return isNowValid;\r\n }\r\n }\r\n return m._isValid;\r\n}\r\n\r\nfunction createInvalid (flags) {\r\n var m = createUTC(NaN);\r\n if (flags != null) {\r\n extend(getParsingFlags(m), flags);\r\n }\r\n else {\r\n getParsingFlags(m).userInvalidated = true;\r\n }\r\n\r\n return m;\r\n}\r\n\r\n// Plugins that add properties should also add the key here (null value),\r\n// so we can properly clone ourselves.\r\nvar momentProperties = hooks.momentProperties = [];\r\n\r\nfunction copyConfig(to, from) {\r\n var i, prop, val;\r\n\r\n if (!isUndefined(from._isAMomentObject)) {\r\n to._isAMomentObject = from._isAMomentObject;\r\n }\r\n if (!isUndefined(from._i)) {\r\n to._i = from._i;\r\n }\r\n if (!isUndefined(from._f)) {\r\n to._f = from._f;\r\n }\r\n if (!isUndefined(from._l)) {\r\n to._l = from._l;\r\n }\r\n if (!isUndefined(from._strict)) {\r\n to._strict = from._strict;\r\n }\r\n if (!isUndefined(from._tzm)) {\r\n to._tzm = from._tzm;\r\n }\r\n if (!isUndefined(from._isUTC)) {\r\n to._isUTC = from._isUTC;\r\n }\r\n if (!isUndefined(from._offset)) {\r\n to._offset = from._offset;\r\n }\r\n if (!isUndefined(from._pf)) {\r\n to._pf = getParsingFlags(from);\r\n }\r\n if (!isUndefined(from._locale)) {\r\n to._locale = from._locale;\r\n }\r\n\r\n if (momentProperties.length > 0) {\r\n for (i = 0; i < momentProperties.length; i++) {\r\n prop = momentProperties[i];\r\n val = from[prop];\r\n if (!isUndefined(val)) {\r\n to[prop] = val;\r\n }\r\n }\r\n }\r\n\r\n return to;\r\n}\r\n\r\nvar updateInProgress = false;\r\n\r\n// Moment prototype object\r\nfunction Moment(config) {\r\n copyConfig(this, config);\r\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\r\n if (!this.isValid()) {\r\n this._d = new Date(NaN);\r\n }\r\n // Prevent infinite loop in case updateOffset creates new moment\r\n // objects.\r\n if (updateInProgress === false) {\r\n updateInProgress = true;\r\n hooks.updateOffset(this);\r\n updateInProgress = false;\r\n }\r\n}\r\n\r\nfunction isMoment (obj) {\r\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\r\n}\r\n\r\nfunction absFloor (number) {\r\n if (number < 0) {\r\n // -0 -> 0\r\n return Math.ceil(number) || 0;\r\n } else {\r\n return Math.floor(number);\r\n }\r\n}\r\n\r\nfunction toInt(argumentForCoercion) {\r\n var coercedNumber = +argumentForCoercion,\r\n value = 0;\r\n\r\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\r\n value = absFloor(coercedNumber);\r\n }\r\n\r\n return value;\r\n}\r\n\r\n// compare two arrays, return the number of differences\r\nfunction compareArrays(array1, array2, dontConvert) {\r\n var len = Math.min(array1.length, array2.length),\r\n lengthDiff = Math.abs(array1.length - array2.length),\r\n diffs = 0,\r\n i;\r\n for (i = 0; i < len; i++) {\r\n if ((dontConvert && array1[i] !== array2[i]) ||\r\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\r\n diffs++;\r\n }\r\n }\r\n return diffs + lengthDiff;\r\n}\r\n\r\nfunction warn(msg) {\r\n if (hooks.suppressDeprecationWarnings === false &&\r\n (typeof console !== 'undefined') && console.warn) {\r\n console.warn('Deprecation warning: ' + msg);\r\n }\r\n}\r\n\r\nfunction deprecate(msg, fn) {\r\n var firstTime = true;\r\n\r\n return extend(function () {\r\n if (hooks.deprecationHandler != null) {\r\n hooks.deprecationHandler(null, msg);\r\n }\r\n if (firstTime) {\r\n var args = [];\r\n var arg;\r\n for (var i = 0; i < arguments.length; i++) {\r\n arg = '';\r\n if (typeof arguments[i] === 'object') {\r\n arg += '\\n[' + i + '] ';\r\n for (var key in arguments[0]) {\r\n arg += key + ': ' + arguments[0][key] + ', ';\r\n }\r\n arg = arg.slice(0, -2); // Remove trailing comma and space\r\n } else {\r\n arg = arguments[i];\r\n }\r\n args.push(arg);\r\n }\r\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\r\n firstTime = false;\r\n }\r\n return fn.apply(this, arguments);\r\n }, fn);\r\n}\r\n\r\nvar deprecations = {};\r\n\r\nfunction deprecateSimple(name, msg) {\r\n if (hooks.deprecationHandler != null) {\r\n hooks.deprecationHandler(name, msg);\r\n }\r\n if (!deprecations[name]) {\r\n warn(msg);\r\n deprecations[name] = true;\r\n }\r\n}\r\n\r\nhooks.suppressDeprecationWarnings = false;\r\nhooks.deprecationHandler = null;\r\n\r\nfunction isFunction(input) {\r\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\r\n}\r\n\r\nfunction set (config) {\r\n var prop, i;\r\n for (i in config) {\r\n prop = config[i];\r\n if (isFunction(prop)) {\r\n this[i] = prop;\r\n } else {\r\n this['_' + i] = prop;\r\n }\r\n }\r\n this._config = config;\r\n // Lenient ordinal parsing accepts just a number in addition to\r\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\r\n // TODO: Remove \"ordinalParse\" fallback in next major release.\r\n this._dayOfMonthOrdinalParseLenient = new RegExp(\r\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\r\n '|' + (/\\d{1,2}/).source);\r\n}\r\n\r\nfunction mergeConfigs(parentConfig, childConfig) {\r\n var res = extend({}, parentConfig), prop;\r\n for (prop in childConfig) {\r\n if (hasOwnProp(childConfig, prop)) {\r\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\r\n res[prop] = {};\r\n extend(res[prop], parentConfig[prop]);\r\n extend(res[prop], childConfig[prop]);\r\n } else if (childConfig[prop] != null) {\r\n res[prop] = childConfig[prop];\r\n } else {\r\n delete res[prop];\r\n }\r\n }\r\n }\r\n for (prop in parentConfig) {\r\n if (hasOwnProp(parentConfig, prop) &&\r\n !hasOwnProp(childConfig, prop) &&\r\n isObject(parentConfig[prop])) {\r\n // make sure changes to properties don't modify parent config\r\n res[prop] = extend({}, res[prop]);\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nfunction Locale(config) {\r\n if (config != null) {\r\n this.set(config);\r\n }\r\n}\r\n\r\nvar keys;\r\n\r\nif (Object.keys) {\r\n keys = Object.keys;\r\n} else {\r\n keys = function (obj) {\r\n var i, res = [];\r\n for (i in obj) {\r\n if (hasOwnProp(obj, i)) {\r\n res.push(i);\r\n }\r\n }\r\n return res;\r\n };\r\n}\r\n\r\nvar defaultCalendar = {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n};\r\n\r\nfunction calendar (key, mom, now) {\r\n var output = this._calendar[key] || this._calendar['sameElse'];\r\n return isFunction(output) ? output.call(mom, now) : output;\r\n}\r\n\r\nvar defaultLongDateFormat = {\r\n LTS : 'h:mm:ss A',\r\n LT : 'h:mm A',\r\n L : 'MM/DD/YYYY',\r\n LL : 'MMMM D, YYYY',\r\n LLL : 'MMMM D, YYYY h:mm A',\r\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\r\n};\r\n\r\nfunction longDateFormat (key) {\r\n var format = this._longDateFormat[key],\r\n formatUpper = this._longDateFormat[key.toUpperCase()];\r\n\r\n if (format || !formatUpper) {\r\n return format;\r\n }\r\n\r\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\r\n return val.slice(1);\r\n });\r\n\r\n return this._longDateFormat[key];\r\n}\r\n\r\nvar defaultInvalidDate = 'Invalid date';\r\n\r\nfunction invalidDate () {\r\n return this._invalidDate;\r\n}\r\n\r\nvar defaultOrdinal = '%d';\r\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\r\n\r\nfunction ordinal (number) {\r\n return this._ordinal.replace('%d', number);\r\n}\r\n\r\nvar defaultRelativeTime = {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n};\r\n\r\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\r\n var output = this._relativeTime[string];\r\n return (isFunction(output)) ?\r\n output(number, withoutSuffix, string, isFuture) :\r\n output.replace(/%d/i, number);\r\n}\r\n\r\nfunction pastFuture (diff, output) {\r\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\r\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\r\n}\r\n\r\nvar aliases = {};\r\n\r\nfunction addUnitAlias (unit, shorthand) {\r\n var lowerCase = unit.toLowerCase();\r\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\r\n}\r\n\r\nfunction normalizeUnits(units) {\r\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\r\n}\r\n\r\nfunction normalizeObjectUnits(inputObject) {\r\n var normalizedInput = {},\r\n normalizedProp,\r\n prop;\r\n\r\n for (prop in inputObject) {\r\n if (hasOwnProp(inputObject, prop)) {\r\n normalizedProp = normalizeUnits(prop);\r\n if (normalizedProp) {\r\n normalizedInput[normalizedProp] = inputObject[prop];\r\n }\r\n }\r\n }\r\n\r\n return normalizedInput;\r\n}\r\n\r\nvar priorities = {};\r\n\r\nfunction addUnitPriority(unit, priority) {\r\n priorities[unit] = priority;\r\n}\r\n\r\nfunction getPrioritizedUnits(unitsObj) {\r\n var units = [];\r\n for (var u in unitsObj) {\r\n units.push({unit: u, priority: priorities[u]});\r\n }\r\n units.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n return units;\r\n}\r\n\r\nfunction zeroFill(number, targetLength, forceSign) {\r\n var absNumber = '' + Math.abs(number),\r\n zerosToFill = targetLength - absNumber.length,\r\n sign = number >= 0;\r\n return (sign ? (forceSign ? '+' : '') : '-') +\r\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\r\n}\r\n\r\nvar 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;\r\n\r\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\r\n\r\nvar formatFunctions = {};\r\n\r\nvar formatTokenFunctions = {};\r\n\r\n// token: 'M'\r\n// padded: ['MM', 2]\r\n// ordinal: 'Mo'\r\n// callback: function () { this.month() + 1 }\r\nfunction addFormatToken (token, padded, ordinal, callback) {\r\n var func = callback;\r\n if (typeof callback === 'string') {\r\n func = function () {\r\n return this[callback]();\r\n };\r\n }\r\n if (token) {\r\n formatTokenFunctions[token] = func;\r\n }\r\n if (padded) {\r\n formatTokenFunctions[padded[0]] = function () {\r\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\r\n };\r\n }\r\n if (ordinal) {\r\n formatTokenFunctions[ordinal] = function () {\r\n return this.localeData().ordinal(func.apply(this, arguments), token);\r\n };\r\n }\r\n}\r\n\r\nfunction removeFormattingTokens(input) {\r\n if (input.match(/\\[[\\s\\S]/)) {\r\n return input.replace(/^\\[|\\]$/g, '');\r\n }\r\n return input.replace(/\\\\/g, '');\r\n}\r\n\r\nfunction makeFormatFunction(format) {\r\n var array = format.match(formattingTokens), i, length;\r\n\r\n for (i = 0, length = array.length; i < length; i++) {\r\n if (formatTokenFunctions[array[i]]) {\r\n array[i] = formatTokenFunctions[array[i]];\r\n } else {\r\n array[i] = removeFormattingTokens(array[i]);\r\n }\r\n }\r\n\r\n return function (mom) {\r\n var output = '', i;\r\n for (i = 0; i < length; i++) {\r\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\r\n }\r\n return output;\r\n };\r\n}\r\n\r\n// format date using native date object\r\nfunction formatMoment(m, format) {\r\n if (!m.isValid()) {\r\n return m.localeData().invalidDate();\r\n }\r\n\r\n format = expandFormat(format, m.localeData());\r\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\r\n\r\n return formatFunctions[format](m);\r\n}\r\n\r\nfunction expandFormat(format, locale) {\r\n var i = 5;\r\n\r\n function replaceLongDateFormatTokens(input) {\r\n return locale.longDateFormat(input) || input;\r\n }\r\n\r\n localFormattingTokens.lastIndex = 0;\r\n while (i >= 0 && localFormattingTokens.test(format)) {\r\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\r\n localFormattingTokens.lastIndex = 0;\r\n i -= 1;\r\n }\r\n\r\n return format;\r\n}\r\n\r\nvar match1 = /\\d/; // 0 - 9\r\nvar match2 = /\\d\\d/; // 00 - 99\r\nvar match3 = /\\d{3}/; // 000 - 999\r\nvar match4 = /\\d{4}/; // 0000 - 9999\r\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\r\nvar match1to2 = /\\d\\d?/; // 0 - 99\r\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\r\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\r\nvar match1to3 = /\\d{1,3}/; // 0 - 999\r\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\r\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\r\n\r\nvar matchUnsigned = /\\d+/; // 0 - inf\r\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\r\n\r\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\r\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\r\n\r\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\r\n\r\n// any word (or two) characters or numbers including two/three word month in arabic.\r\n// includes scottish gaelic two word and hyphenated months\r\nvar 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;\r\n\r\nvar regexes = {};\r\n\r\nfunction addRegexToken (token, regex, strictRegex) {\r\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\r\n return (isStrict && strictRegex) ? strictRegex : regex;\r\n };\r\n}\r\n\r\nfunction getParseRegexForToken (token, config) {\r\n if (!hasOwnProp(regexes, token)) {\r\n return new RegExp(unescapeFormat(token));\r\n }\r\n\r\n return regexes[token](config._strict, config._locale);\r\n}\r\n\r\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\r\nfunction unescapeFormat(s) {\r\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\r\n return p1 || p2 || p3 || p4;\r\n }));\r\n}\r\n\r\nfunction regexEscape(s) {\r\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\r\n}\r\n\r\nvar tokens = {};\r\n\r\nfunction addParseToken (token, callback) {\r\n var i, func = callback;\r\n if (typeof token === 'string') {\r\n token = [token];\r\n }\r\n if (isNumber(callback)) {\r\n func = function (input, array) {\r\n array[callback] = toInt(input);\r\n };\r\n }\r\n for (i = 0; i < token.length; i++) {\r\n tokens[token[i]] = func;\r\n }\r\n}\r\n\r\nfunction addWeekParseToken (token, callback) {\r\n addParseToken(token, function (input, array, config, token) {\r\n config._w = config._w || {};\r\n callback(input, config._w, config, token);\r\n });\r\n}\r\n\r\nfunction addTimeToArrayFromToken(token, input, config) {\r\n if (input != null && hasOwnProp(tokens, token)) {\r\n tokens[token](input, config._a, config, token);\r\n }\r\n}\r\n\r\nvar YEAR = 0;\r\nvar MONTH = 1;\r\nvar DATE = 2;\r\nvar HOUR = 3;\r\nvar MINUTE = 4;\r\nvar SECOND = 5;\r\nvar MILLISECOND = 6;\r\nvar WEEK = 7;\r\nvar WEEKDAY = 8;\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('Y', 0, 0, function () {\r\n var y = this.year();\r\n return y <= 9999 ? '' + y : '+' + y;\r\n});\r\n\r\naddFormatToken(0, ['YY', 2], 0, function () {\r\n return this.year() % 100;\r\n});\r\n\r\naddFormatToken(0, ['YYYY', 4], 0, 'year');\r\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\r\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('year', 'y');\r\n\r\n// PRIORITIES\r\n\r\naddUnitPriority('year', 1);\r\n\r\n// PARSING\r\n\r\naddRegexToken('Y', matchSigned);\r\naddRegexToken('YY', match1to2, match2);\r\naddRegexToken('YYYY', match1to4, match4);\r\naddRegexToken('YYYYY', match1to6, match6);\r\naddRegexToken('YYYYYY', match1to6, match6);\r\n\r\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\r\naddParseToken('YYYY', function (input, array) {\r\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\r\n});\r\naddParseToken('YY', function (input, array) {\r\n array[YEAR] = hooks.parseTwoDigitYear(input);\r\n});\r\naddParseToken('Y', function (input, array) {\r\n array[YEAR] = parseInt(input, 10);\r\n});\r\n\r\n// HELPERS\r\n\r\nfunction daysInYear(year) {\r\n return isLeapYear(year) ? 366 : 365;\r\n}\r\n\r\nfunction isLeapYear(year) {\r\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n}\r\n\r\n// HOOKS\r\n\r\nhooks.parseTwoDigitYear = function (input) {\r\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\r\n};\r\n\r\n// MOMENTS\r\n\r\nvar getSetYear = makeGetSet('FullYear', true);\r\n\r\nfunction getIsLeapYear () {\r\n return isLeapYear(this.year());\r\n}\r\n\r\nfunction makeGetSet (unit, keepTime) {\r\n return function (value) {\r\n if (value != null) {\r\n set$1(this, unit, value);\r\n hooks.updateOffset(this, keepTime);\r\n return this;\r\n } else {\r\n return get(this, unit);\r\n }\r\n };\r\n}\r\n\r\nfunction get (mom, unit) {\r\n return mom.isValid() ?\r\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\r\n}\r\n\r\nfunction set$1 (mom, unit, value) {\r\n if (mom.isValid() && !isNaN(value)) {\r\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\r\n }\r\n else {\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\r\n }\r\n }\r\n}\r\n\r\n// MOMENTS\r\n\r\nfunction stringGet (units) {\r\n units = normalizeUnits(units);\r\n if (isFunction(this[units])) {\r\n return this[units]();\r\n }\r\n return this;\r\n}\r\n\r\n\r\nfunction stringSet (units, value) {\r\n if (typeof units === 'object') {\r\n units = normalizeObjectUnits(units);\r\n var prioritized = getPrioritizedUnits(units);\r\n for (var i = 0; i < prioritized.length; i++) {\r\n this[prioritized[i].unit](units[prioritized[i].unit]);\r\n }\r\n } else {\r\n units = normalizeUnits(units);\r\n if (isFunction(this[units])) {\r\n return this[units](value);\r\n }\r\n }\r\n return this;\r\n}\r\n\r\nfunction mod(n, x) {\r\n return ((n % x) + x) % x;\r\n}\r\n\r\nvar indexOf;\r\n\r\nif (Array.prototype.indexOf) {\r\n indexOf = Array.prototype.indexOf;\r\n} else {\r\n indexOf = function (o) {\r\n // I know\r\n var i;\r\n for (i = 0; i < this.length; ++i) {\r\n if (this[i] === o) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n}\r\n\r\nfunction daysInMonth(year, month) {\r\n if (isNaN(year) || isNaN(month)) {\r\n return NaN;\r\n }\r\n var modMonth = mod(month, 12);\r\n year += (month - modMonth) / 12;\r\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('M', ['MM', 2], 'Mo', function () {\r\n return this.month() + 1;\r\n});\r\n\r\naddFormatToken('MMM', 0, 0, function (format) {\r\n return this.localeData().monthsShort(this, format);\r\n});\r\n\r\naddFormatToken('MMMM', 0, 0, function (format) {\r\n return this.localeData().months(this, format);\r\n});\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('month', 'M');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('month', 8);\r\n\r\n// PARSING\r\n\r\naddRegexToken('M', match1to2);\r\naddRegexToken('MM', match1to2, match2);\r\naddRegexToken('MMM', function (isStrict, locale) {\r\n return locale.monthsShortRegex(isStrict);\r\n});\r\naddRegexToken('MMMM', function (isStrict, locale) {\r\n return locale.monthsRegex(isStrict);\r\n});\r\n\r\naddParseToken(['M', 'MM'], function (input, array) {\r\n array[MONTH] = toInt(input) - 1;\r\n});\r\n\r\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\r\n var month = config._locale.monthsParse(input, token, config._strict);\r\n // if we didn't find a month name, mark the date as invalid.\r\n if (month != null) {\r\n array[MONTH] = month;\r\n } else {\r\n getParsingFlags(config).invalidMonth = input;\r\n }\r\n});\r\n\r\n// LOCALES\r\n\r\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\r\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\r\nfunction localeMonths (m, format) {\r\n if (!m) {\r\n return isArray(this._months) ? this._months :\r\n this._months['standalone'];\r\n }\r\n return isArray(this._months) ? this._months[m.month()] :\r\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\r\n}\r\n\r\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\r\nfunction localeMonthsShort (m, format) {\r\n if (!m) {\r\n return isArray(this._monthsShort) ? this._monthsShort :\r\n this._monthsShort['standalone'];\r\n }\r\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\r\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\r\n}\r\n\r\nfunction handleStrictParse(monthName, format, strict) {\r\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\r\n if (!this._monthsParse) {\r\n // this is not used\r\n this._monthsParse = [];\r\n this._longMonthsParse = [];\r\n this._shortMonthsParse = [];\r\n for (i = 0; i < 12; ++i) {\r\n mom = createUTC([2000, i]);\r\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\r\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if (strict) {\r\n if (format === 'MMM') {\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n } else {\r\n if (format === 'MMM') {\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._longMonthsParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortMonthsParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n }\r\n}\r\n\r\nfunction localeMonthsParse (monthName, format, strict) {\r\n var i, mom, regex;\r\n\r\n if (this._monthsParseExact) {\r\n return handleStrictParse.call(this, monthName, format, strict);\r\n }\r\n\r\n if (!this._monthsParse) {\r\n this._monthsParse = [];\r\n this._longMonthsParse = [];\r\n this._shortMonthsParse = [];\r\n }\r\n\r\n // TODO: add sorting\r\n // Sorting makes sure if one month (or abbr) is a prefix of another\r\n // see sorting in computeMonthsParse\r\n for (i = 0; i < 12; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, i]);\r\n if (strict && !this._longMonthsParse[i]) {\r\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\r\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\r\n }\r\n if (!strict && !this._monthsParse[i]) {\r\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\r\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\r\n }\r\n // test the regex\r\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\r\n return i;\r\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\r\n return i;\r\n } else if (!strict && this._monthsParse[i].test(monthName)) {\r\n return i;\r\n }\r\n }\r\n}\r\n\r\n// MOMENTS\r\n\r\nfunction setMonth (mom, value) {\r\n var dayOfMonth;\r\n\r\n if (!mom.isValid()) {\r\n // No op\r\n return mom;\r\n }\r\n\r\n if (typeof value === 'string') {\r\n if (/^\\d+$/.test(value)) {\r\n value = toInt(value);\r\n } else {\r\n value = mom.localeData().monthsParse(value);\r\n // TODO: Another silent failure?\r\n if (!isNumber(value)) {\r\n return mom;\r\n }\r\n }\r\n }\r\n\r\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\r\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\r\n return mom;\r\n}\r\n\r\nfunction getSetMonth (value) {\r\n if (value != null) {\r\n setMonth(this, value);\r\n hooks.updateOffset(this, true);\r\n return this;\r\n } else {\r\n return get(this, 'Month');\r\n }\r\n}\r\n\r\nfunction getDaysInMonth () {\r\n return daysInMonth(this.year(), this.month());\r\n}\r\n\r\nvar defaultMonthsShortRegex = matchWord;\r\nfunction monthsShortRegex (isStrict) {\r\n if (this._monthsParseExact) {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n computeMonthsParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._monthsShortStrictRegex;\r\n } else {\r\n return this._monthsShortRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_monthsShortRegex')) {\r\n this._monthsShortRegex = defaultMonthsShortRegex;\r\n }\r\n return this._monthsShortStrictRegex && isStrict ?\r\n this._monthsShortStrictRegex : this._monthsShortRegex;\r\n }\r\n}\r\n\r\nvar defaultMonthsRegex = matchWord;\r\nfunction monthsRegex (isStrict) {\r\n if (this._monthsParseExact) {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n computeMonthsParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._monthsStrictRegex;\r\n } else {\r\n return this._monthsRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_monthsRegex')) {\r\n this._monthsRegex = defaultMonthsRegex;\r\n }\r\n return this._monthsStrictRegex && isStrict ?\r\n this._monthsStrictRegex : this._monthsRegex;\r\n }\r\n}\r\n\r\nfunction computeMonthsParse () {\r\n function cmpLenRev(a, b) {\r\n return b.length - a.length;\r\n }\r\n\r\n var shortPieces = [], longPieces = [], mixedPieces = [],\r\n i, mom;\r\n for (i = 0; i < 12; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, i]);\r\n shortPieces.push(this.monthsShort(mom, ''));\r\n longPieces.push(this.months(mom, ''));\r\n mixedPieces.push(this.months(mom, ''));\r\n mixedPieces.push(this.monthsShort(mom, ''));\r\n }\r\n // Sorting makes sure if one month (or abbr) is a prefix of another it\r\n // will match the longer piece.\r\n shortPieces.sort(cmpLenRev);\r\n longPieces.sort(cmpLenRev);\r\n mixedPieces.sort(cmpLenRev);\r\n for (i = 0; i < 12; i++) {\r\n shortPieces[i] = regexEscape(shortPieces[i]);\r\n longPieces[i] = regexEscape(longPieces[i]);\r\n }\r\n for (i = 0; i < 24; i++) {\r\n mixedPieces[i] = regexEscape(mixedPieces[i]);\r\n }\r\n\r\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\r\n this._monthsShortRegex = this._monthsRegex;\r\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\r\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\r\n}\r\n\r\nfunction createDate (y, m, d, h, M, s, ms) {\r\n // can't just apply() to create a date:\r\n // https://stackoverflow.com/q/181348\r\n var date = new Date(y, m, d, h, M, s, ms);\r\n\r\n // the date constructor remaps years 0-99 to 1900-1999\r\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\r\n date.setFullYear(y);\r\n }\r\n return date;\r\n}\r\n\r\nfunction createUTCDate (y) {\r\n var date = new Date(Date.UTC.apply(null, arguments));\r\n\r\n // the Date.UTC function remaps years 0-99 to 1900-1999\r\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\r\n date.setUTCFullYear(y);\r\n }\r\n return date;\r\n}\r\n\r\n// start-of-first-week - start-of-year\r\nfunction firstWeekOffset(year, dow, doy) {\r\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\r\n fwd = 7 + dow - doy,\r\n // first-week day local weekday -- which local weekday is fwd\r\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\r\n\r\n return -fwdlw + fwd - 1;\r\n}\r\n\r\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\r\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\r\n var localWeekday = (7 + weekday - dow) % 7,\r\n weekOffset = firstWeekOffset(year, dow, doy),\r\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\r\n resYear, resDayOfYear;\r\n\r\n if (dayOfYear <= 0) {\r\n resYear = year - 1;\r\n resDayOfYear = daysInYear(resYear) + dayOfYear;\r\n } else if (dayOfYear > daysInYear(year)) {\r\n resYear = year + 1;\r\n resDayOfYear = dayOfYear - daysInYear(year);\r\n } else {\r\n resYear = year;\r\n resDayOfYear = dayOfYear;\r\n }\r\n\r\n return {\r\n year: resYear,\r\n dayOfYear: resDayOfYear\r\n };\r\n}\r\n\r\nfunction weekOfYear(mom, dow, doy) {\r\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\r\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\r\n resWeek, resYear;\r\n\r\n if (week < 1) {\r\n resYear = mom.year() - 1;\r\n resWeek = week + weeksInYear(resYear, dow, doy);\r\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\r\n resWeek = week - weeksInYear(mom.year(), dow, doy);\r\n resYear = mom.year() + 1;\r\n } else {\r\n resYear = mom.year();\r\n resWeek = week;\r\n }\r\n\r\n return {\r\n week: resWeek,\r\n year: resYear\r\n };\r\n}\r\n\r\nfunction weeksInYear(year, dow, doy) {\r\n var weekOffset = firstWeekOffset(year, dow, doy),\r\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\r\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('w', ['ww', 2], 'wo', 'week');\r\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('week', 'w');\r\naddUnitAlias('isoWeek', 'W');\r\n\r\n// PRIORITIES\r\n\r\naddUnitPriority('week', 5);\r\naddUnitPriority('isoWeek', 5);\r\n\r\n// PARSING\r\n\r\naddRegexToken('w', match1to2);\r\naddRegexToken('ww', match1to2, match2);\r\naddRegexToken('W', match1to2);\r\naddRegexToken('WW', match1to2, match2);\r\n\r\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\r\n week[token.substr(0, 1)] = toInt(input);\r\n});\r\n\r\n// HELPERS\r\n\r\n// LOCALES\r\n\r\nfunction localeWeek (mom) {\r\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\r\n}\r\n\r\nvar defaultLocaleWeek = {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n};\r\n\r\nfunction localeFirstDayOfWeek () {\r\n return this._week.dow;\r\n}\r\n\r\nfunction localeFirstDayOfYear () {\r\n return this._week.doy;\r\n}\r\n\r\n// MOMENTS\r\n\r\nfunction getSetWeek (input) {\r\n var week = this.localeData().week(this);\r\n return input == null ? week : this.add((input - week) * 7, 'd');\r\n}\r\n\r\nfunction getSetISOWeek (input) {\r\n var week = weekOfYear(this, 1, 4).week;\r\n return input == null ? week : this.add((input - week) * 7, 'd');\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('d', 0, 'do', 'day');\r\n\r\naddFormatToken('dd', 0, 0, function (format) {\r\n return this.localeData().weekdaysMin(this, format);\r\n});\r\n\r\naddFormatToken('ddd', 0, 0, function (format) {\r\n return this.localeData().weekdaysShort(this, format);\r\n});\r\n\r\naddFormatToken('dddd', 0, 0, function (format) {\r\n return this.localeData().weekdays(this, format);\r\n});\r\n\r\naddFormatToken('e', 0, 0, 'weekday');\r\naddFormatToken('E', 0, 0, 'isoWeekday');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('day', 'd');\r\naddUnitAlias('weekday', 'e');\r\naddUnitAlias('isoWeekday', 'E');\r\n\r\n// PRIORITY\r\naddUnitPriority('day', 11);\r\naddUnitPriority('weekday', 11);\r\naddUnitPriority('isoWeekday', 11);\r\n\r\n// PARSING\r\n\r\naddRegexToken('d', match1to2);\r\naddRegexToken('e', match1to2);\r\naddRegexToken('E', match1to2);\r\naddRegexToken('dd', function (isStrict, locale) {\r\n return locale.weekdaysMinRegex(isStrict);\r\n});\r\naddRegexToken('ddd', function (isStrict, locale) {\r\n return locale.weekdaysShortRegex(isStrict);\r\n});\r\naddRegexToken('dddd', function (isStrict, locale) {\r\n return locale.weekdaysRegex(isStrict);\r\n});\r\n\r\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\r\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\r\n // if we didn't get a weekday name, mark the date as invalid\r\n if (weekday != null) {\r\n week.d = weekday;\r\n } else {\r\n getParsingFlags(config).invalidWeekday = input;\r\n }\r\n});\r\n\r\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\r\n week[token] = toInt(input);\r\n});\r\n\r\n// HELPERS\r\n\r\nfunction parseWeekday(input, locale) {\r\n if (typeof input !== 'string') {\r\n return input;\r\n }\r\n\r\n if (!isNaN(input)) {\r\n return parseInt(input, 10);\r\n }\r\n\r\n input = locale.weekdaysParse(input);\r\n if (typeof input === 'number') {\r\n return input;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction parseIsoWeekday(input, locale) {\r\n if (typeof input === 'string') {\r\n return locale.weekdaysParse(input) % 7 || 7;\r\n }\r\n return isNaN(input) ? null : input;\r\n}\r\n\r\n// LOCALES\r\n\r\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\r\nfunction localeWeekdays (m, format) {\r\n if (!m) {\r\n return isArray(this._weekdays) ? this._weekdays :\r\n this._weekdays['standalone'];\r\n }\r\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\r\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\r\n}\r\n\r\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\r\nfunction localeWeekdaysShort (m) {\r\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\r\n}\r\n\r\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\r\nfunction localeWeekdaysMin (m) {\r\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\r\n}\r\n\r\nfunction handleStrictParse$1(weekdayName, format, strict) {\r\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\r\n if (!this._weekdaysParse) {\r\n this._weekdaysParse = [];\r\n this._shortWeekdaysParse = [];\r\n this._minWeekdaysParse = [];\r\n\r\n for (i = 0; i < 7; ++i) {\r\n mom = createUTC([2000, 1]).day(i);\r\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\r\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\r\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if (strict) {\r\n if (format === 'dddd') {\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else if (format === 'ddd') {\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n } else {\r\n if (format === 'dddd') {\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else if (format === 'ddd') {\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n } else {\r\n ii = indexOf.call(this._minWeekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._weekdaysParse, llc);\r\n if (ii !== -1) {\r\n return ii;\r\n }\r\n ii = indexOf.call(this._shortWeekdaysParse, llc);\r\n return ii !== -1 ? ii : null;\r\n }\r\n }\r\n}\r\n\r\nfunction localeWeekdaysParse (weekdayName, format, strict) {\r\n var i, mom, regex;\r\n\r\n if (this._weekdaysParseExact) {\r\n return handleStrictParse$1.call(this, weekdayName, format, strict);\r\n }\r\n\r\n if (!this._weekdaysParse) {\r\n this._weekdaysParse = [];\r\n this._minWeekdaysParse = [];\r\n this._shortWeekdaysParse = [];\r\n this._fullWeekdaysParse = [];\r\n }\r\n\r\n for (i = 0; i < 7; i++) {\r\n // make the regex if we don't have it already\r\n\r\n mom = createUTC([2000, 1]).day(i);\r\n if (strict && !this._fullWeekdaysParse[i]) {\r\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\r\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\r\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\r\n }\r\n if (!this._weekdaysParse[i]) {\r\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\r\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\r\n }\r\n // test the regex\r\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\r\n return i;\r\n }\r\n }\r\n}\r\n\r\n// MOMENTS\r\n\r\nfunction getSetDayOfWeek (input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\r\n if (input != null) {\r\n input = parseWeekday(input, this.localeData());\r\n return this.add(input - day, 'd');\r\n } else {\r\n return day;\r\n }\r\n}\r\n\r\nfunction getSetLocaleDayOfWeek (input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\r\n return input == null ? weekday : this.add(input - weekday, 'd');\r\n}\r\n\r\nfunction getSetISODayOfWeek (input) {\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n\r\n // behaves the same as moment#day except\r\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\r\n // as a setter, sunday should belong to the previous week.\r\n\r\n if (input != null) {\r\n var weekday = parseIsoWeekday(input, this.localeData());\r\n return this.day(this.day() % 7 ? weekday : weekday - 7);\r\n } else {\r\n return this.day() || 7;\r\n }\r\n}\r\n\r\nvar defaultWeekdaysRegex = matchWord;\r\nfunction weekdaysRegex (isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysStrictRegex;\r\n } else {\r\n return this._weekdaysRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n this._weekdaysRegex = defaultWeekdaysRegex;\r\n }\r\n return this._weekdaysStrictRegex && isStrict ?\r\n this._weekdaysStrictRegex : this._weekdaysRegex;\r\n }\r\n}\r\n\r\nvar defaultWeekdaysShortRegex = matchWord;\r\nfunction weekdaysShortRegex (isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysShortStrictRegex;\r\n } else {\r\n return this._weekdaysShortRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\r\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\r\n }\r\n return this._weekdaysShortStrictRegex && isStrict ?\r\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\r\n }\r\n}\r\n\r\nvar defaultWeekdaysMinRegex = matchWord;\r\nfunction weekdaysMinRegex (isStrict) {\r\n if (this._weekdaysParseExact) {\r\n if (!hasOwnProp(this, '_weekdaysRegex')) {\r\n computeWeekdaysParse.call(this);\r\n }\r\n if (isStrict) {\r\n return this._weekdaysMinStrictRegex;\r\n } else {\r\n return this._weekdaysMinRegex;\r\n }\r\n } else {\r\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\r\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\r\n }\r\n return this._weekdaysMinStrictRegex && isStrict ?\r\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\r\n }\r\n}\r\n\r\n\r\nfunction computeWeekdaysParse () {\r\n function cmpLenRev(a, b) {\r\n return b.length - a.length;\r\n }\r\n\r\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\r\n i, mom, minp, shortp, longp;\r\n for (i = 0; i < 7; i++) {\r\n // make the regex if we don't have it already\r\n mom = createUTC([2000, 1]).day(i);\r\n minp = this.weekdaysMin(mom, '');\r\n shortp = this.weekdaysShort(mom, '');\r\n longp = this.weekdays(mom, '');\r\n minPieces.push(minp);\r\n shortPieces.push(shortp);\r\n longPieces.push(longp);\r\n mixedPieces.push(minp);\r\n mixedPieces.push(shortp);\r\n mixedPieces.push(longp);\r\n }\r\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\r\n // will match the longer piece.\r\n minPieces.sort(cmpLenRev);\r\n shortPieces.sort(cmpLenRev);\r\n longPieces.sort(cmpLenRev);\r\n mixedPieces.sort(cmpLenRev);\r\n for (i = 0; i < 7; i++) {\r\n shortPieces[i] = regexEscape(shortPieces[i]);\r\n longPieces[i] = regexEscape(longPieces[i]);\r\n mixedPieces[i] = regexEscape(mixedPieces[i]);\r\n }\r\n\r\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\r\n this._weekdaysShortRegex = this._weekdaysRegex;\r\n this._weekdaysMinRegex = this._weekdaysRegex;\r\n\r\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\r\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\r\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\r\n}\r\n\r\n// FORMATTING\r\n\r\nfunction hFormat() {\r\n return this.hours() % 12 || 12;\r\n}\r\n\r\nfunction kFormat() {\r\n return this.hours() || 24;\r\n}\r\n\r\naddFormatToken('H', ['HH', 2], 0, 'hour');\r\naddFormatToken('h', ['hh', 2], 0, hFormat);\r\naddFormatToken('k', ['kk', 2], 0, kFormat);\r\n\r\naddFormatToken('hmm', 0, 0, function () {\r\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\r\n});\r\n\r\naddFormatToken('hmmss', 0, 0, function () {\r\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\r\n zeroFill(this.seconds(), 2);\r\n});\r\n\r\naddFormatToken('Hmm', 0, 0, function () {\r\n return '' + this.hours() + zeroFill(this.minutes(), 2);\r\n});\r\n\r\naddFormatToken('Hmmss', 0, 0, function () {\r\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\r\n zeroFill(this.seconds(), 2);\r\n});\r\n\r\nfunction meridiem (token, lowercase) {\r\n addFormatToken(token, 0, 0, function () {\r\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\r\n });\r\n}\r\n\r\nmeridiem('a', true);\r\nmeridiem('A', false);\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('hour', 'h');\r\n\r\n// PRIORITY\r\naddUnitPriority('hour', 13);\r\n\r\n// PARSING\r\n\r\nfunction matchMeridiem (isStrict, locale) {\r\n return locale._meridiemParse;\r\n}\r\n\r\naddRegexToken('a', matchMeridiem);\r\naddRegexToken('A', matchMeridiem);\r\naddRegexToken('H', match1to2);\r\naddRegexToken('h', match1to2);\r\naddRegexToken('k', match1to2);\r\naddRegexToken('HH', match1to2, match2);\r\naddRegexToken('hh', match1to2, match2);\r\naddRegexToken('kk', match1to2, match2);\r\n\r\naddRegexToken('hmm', match3to4);\r\naddRegexToken('hmmss', match5to6);\r\naddRegexToken('Hmm', match3to4);\r\naddRegexToken('Hmmss', match5to6);\r\n\r\naddParseToken(['H', 'HH'], HOUR);\r\naddParseToken(['k', 'kk'], function (input, array, config) {\r\n var kInput = toInt(input);\r\n array[HOUR] = kInput === 24 ? 0 : kInput;\r\n});\r\naddParseToken(['a', 'A'], function (input, array, config) {\r\n config._isPm = config._locale.isPM(input);\r\n config._meridiem = input;\r\n});\r\naddParseToken(['h', 'hh'], function (input, array, config) {\r\n array[HOUR] = toInt(input);\r\n getParsingFlags(config).bigHour = true;\r\n});\r\naddParseToken('hmm', function (input, array, config) {\r\n var pos = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos));\r\n array[MINUTE] = toInt(input.substr(pos));\r\n getParsingFlags(config).bigHour = true;\r\n});\r\naddParseToken('hmmss', function (input, array, config) {\r\n var pos1 = input.length - 4;\r\n var pos2 = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos1));\r\n array[MINUTE] = toInt(input.substr(pos1, 2));\r\n array[SECOND] = toInt(input.substr(pos2));\r\n getParsingFlags(config).bigHour = true;\r\n});\r\naddParseToken('Hmm', function (input, array, config) {\r\n var pos = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos));\r\n array[MINUTE] = toInt(input.substr(pos));\r\n});\r\naddParseToken('Hmmss', function (input, array, config) {\r\n var pos1 = input.length - 4;\r\n var pos2 = input.length - 2;\r\n array[HOUR] = toInt(input.substr(0, pos1));\r\n array[MINUTE] = toInt(input.substr(pos1, 2));\r\n array[SECOND] = toInt(input.substr(pos2));\r\n});\r\n\r\n// LOCALES\r\n\r\nfunction localeIsPM (input) {\r\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\r\n // Using charAt should be more compatible.\r\n return ((input + '').toLowerCase().charAt(0) === 'p');\r\n}\r\n\r\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\r\nfunction localeMeridiem (hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'pm' : 'PM';\r\n } else {\r\n return isLower ? 'am' : 'AM';\r\n }\r\n}\r\n\r\n\r\n// MOMENTS\r\n\r\n// Setting the hour should keep the time, because the user explicitly\r\n// specified which hour he wants. So trying to maintain the same hour (in\r\n// a new timezone) makes sense. Adding/subtracting hours does not follow\r\n// this rule.\r\nvar getSetHour = makeGetSet('Hours', true);\r\n\r\nvar baseConfig = {\r\n calendar: defaultCalendar,\r\n longDateFormat: defaultLongDateFormat,\r\n invalidDate: defaultInvalidDate,\r\n ordinal: defaultOrdinal,\r\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\r\n relativeTime: defaultRelativeTime,\r\n\r\n months: defaultLocaleMonths,\r\n monthsShort: defaultLocaleMonthsShort,\r\n\r\n week: defaultLocaleWeek,\r\n\r\n weekdays: defaultLocaleWeekdays,\r\n weekdaysMin: defaultLocaleWeekdaysMin,\r\n weekdaysShort: defaultLocaleWeekdaysShort,\r\n\r\n meridiemParse: defaultLocaleMeridiemParse\r\n};\r\n\r\n// internal storage for locale config files\r\nvar locales = {};\r\nvar localeFamilies = {};\r\nvar globalLocale;\r\n\r\nfunction normalizeLocale(key) {\r\n return key ? key.toLowerCase().replace('_', '-') : key;\r\n}\r\n\r\n// pick the locale from the array\r\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\r\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\r\nfunction chooseLocale(names) {\r\n var i = 0, j, next, locale, split;\r\n\r\n while (i < names.length) {\r\n split = normalizeLocale(names[i]).split('-');\r\n j = split.length;\r\n next = normalizeLocale(names[i + 1]);\r\n next = next ? next.split('-') : null;\r\n while (j > 0) {\r\n locale = loadLocale(split.slice(0, j).join('-'));\r\n if (locale) {\r\n return locale;\r\n }\r\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\r\n //the next array item is better than a shallower substring of this one\r\n break;\r\n }\r\n j--;\r\n }\r\n i++;\r\n }\r\n return globalLocale;\r\n}\r\n\r\nfunction loadLocale(name) {\r\n var oldLocale = null;\r\n // TODO: Find a better way to register and load all the locales in Node\r\n if (!locales[name] && (typeof module !== 'undefined') &&\r\n module && module.exports) {\r\n try {\r\n oldLocale = globalLocale._abbr;\r\n var aliasedRequire = require;\r\n aliasedRequire('./locale/' + name);\r\n getSetGlobalLocale(oldLocale);\r\n } catch (e) {}\r\n }\r\n return locales[name];\r\n}\r\n\r\n// This function will load locale and then set the global locale. If\r\n// no arguments are passed in, it will simply return the current global\r\n// locale key.\r\nfunction getSetGlobalLocale (key, values) {\r\n var data;\r\n if (key) {\r\n if (isUndefined(values)) {\r\n data = getLocale(key);\r\n }\r\n else {\r\n data = defineLocale(key, values);\r\n }\r\n\r\n if (data) {\r\n // moment.duration._locale = moment._locale = data;\r\n globalLocale = data;\r\n }\r\n else {\r\n if ((typeof console !== 'undefined') && console.warn) {\r\n //warn user if arguments are passed but the locale could not be set\r\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\r\n }\r\n }\r\n }\r\n\r\n return globalLocale._abbr;\r\n}\r\n\r\nfunction defineLocale (name, config) {\r\n if (config !== null) {\r\n var locale, parentConfig = baseConfig;\r\n config.abbr = name;\r\n if (locales[name] != null) {\r\n deprecateSimple('defineLocaleOverride',\r\n 'use moment.updateLocale(localeName, config) to change ' +\r\n 'an existing locale. moment.defineLocale(localeName, ' +\r\n 'config) should only be used for creating a new locale ' +\r\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\r\n parentConfig = locales[name]._config;\r\n } else if (config.parentLocale != null) {\r\n if (locales[config.parentLocale] != null) {\r\n parentConfig = locales[config.parentLocale]._config;\r\n } else {\r\n locale = loadLocale(config.parentLocale);\r\n if (locale != null) {\r\n parentConfig = locale._config;\r\n } else {\r\n if (!localeFamilies[config.parentLocale]) {\r\n localeFamilies[config.parentLocale] = [];\r\n }\r\n localeFamilies[config.parentLocale].push({\r\n name: name,\r\n config: config\r\n });\r\n return null;\r\n }\r\n }\r\n }\r\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\r\n\r\n if (localeFamilies[name]) {\r\n localeFamilies[name].forEach(function (x) {\r\n defineLocale(x.name, x.config);\r\n });\r\n }\r\n\r\n // backwards compat for now: also set the locale\r\n // make sure we set the locale AFTER all child locales have been\r\n // created, so we won't end up with the child locale set.\r\n getSetGlobalLocale(name);\r\n\r\n\r\n return locales[name];\r\n } else {\r\n // useful for testing\r\n delete locales[name];\r\n return null;\r\n }\r\n}\r\n\r\nfunction updateLocale(name, config) {\r\n if (config != null) {\r\n var locale, tmpLocale, parentConfig = baseConfig;\r\n // MERGE\r\n tmpLocale = loadLocale(name);\r\n if (tmpLocale != null) {\r\n parentConfig = tmpLocale._config;\r\n }\r\n config = mergeConfigs(parentConfig, config);\r\n locale = new Locale(config);\r\n locale.parentLocale = locales[name];\r\n locales[name] = locale;\r\n\r\n // backwards compat for now: also set the locale\r\n getSetGlobalLocale(name);\r\n } else {\r\n // pass null for config to unupdate, useful for tests\r\n if (locales[name] != null) {\r\n if (locales[name].parentLocale != null) {\r\n locales[name] = locales[name].parentLocale;\r\n } else if (locales[name] != null) {\r\n delete locales[name];\r\n }\r\n }\r\n }\r\n return locales[name];\r\n}\r\n\r\n// returns locale data\r\nfunction getLocale (key) {\r\n var locale;\r\n\r\n if (key && key._locale && key._locale._abbr) {\r\n key = key._locale._abbr;\r\n }\r\n\r\n if (!key) {\r\n return globalLocale;\r\n }\r\n\r\n if (!isArray(key)) {\r\n //short-circuit everything else\r\n locale = loadLocale(key);\r\n if (locale) {\r\n return locale;\r\n }\r\n key = [key];\r\n }\r\n\r\n return chooseLocale(key);\r\n}\r\n\r\nfunction listLocales() {\r\n return keys(locales);\r\n}\r\n\r\nfunction checkOverflow (m) {\r\n var overflow;\r\n var a = m._a;\r\n\r\n if (a && getParsingFlags(m).overflow === -2) {\r\n overflow =\r\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\r\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\r\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\r\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\r\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\r\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\r\n -1;\r\n\r\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\r\n overflow = DATE;\r\n }\r\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\r\n overflow = WEEK;\r\n }\r\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\r\n overflow = WEEKDAY;\r\n }\r\n\r\n getParsingFlags(m).overflow = overflow;\r\n }\r\n\r\n return m;\r\n}\r\n\r\n// Pick the first defined of two or three arguments.\r\nfunction defaults(a, b, c) {\r\n if (a != null) {\r\n return a;\r\n }\r\n if (b != null) {\r\n return b;\r\n }\r\n return c;\r\n}\r\n\r\nfunction currentDateArray(config) {\r\n // hooks is actually the exported moment object\r\n var nowValue = new Date(hooks.now());\r\n if (config._useUTC) {\r\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\r\n }\r\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\r\n}\r\n\r\n// convert an array to a date.\r\n// the array should mirror the parameters below\r\n// note: all values past the year are optional and will default to the lowest possible value.\r\n// [year, month, day , hour, minute, second, millisecond]\r\nfunction configFromArray (config) {\r\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\r\n\r\n if (config._d) {\r\n return;\r\n }\r\n\r\n currentDate = currentDateArray(config);\r\n\r\n //compute day of the year from weeks and weekdays\r\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\r\n dayOfYearFromWeekInfo(config);\r\n }\r\n\r\n //if the day of the year is set, figure out what it is\r\n if (config._dayOfYear != null) {\r\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\r\n\r\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\r\n getParsingFlags(config)._overflowDayOfYear = true;\r\n }\r\n\r\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\r\n config._a[MONTH] = date.getUTCMonth();\r\n config._a[DATE] = date.getUTCDate();\r\n }\r\n\r\n // Default to current date.\r\n // * if no year, month, day of month are given, default to today\r\n // * if day of month is given, default month and year\r\n // * if month is given, default only year\r\n // * if year is given, don't default anything\r\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\r\n config._a[i] = input[i] = currentDate[i];\r\n }\r\n\r\n // Zero out whatever was not defaulted, including time\r\n for (; i < 7; i++) {\r\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\r\n }\r\n\r\n // Check for 24:00:00.000\r\n if (config._a[HOUR] === 24 &&\r\n config._a[MINUTE] === 0 &&\r\n config._a[SECOND] === 0 &&\r\n config._a[MILLISECOND] === 0) {\r\n config._nextDay = true;\r\n config._a[HOUR] = 0;\r\n }\r\n\r\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\r\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\r\n\r\n // Apply timezone offset from input. The actual utcOffset can be changed\r\n // with parseZone.\r\n if (config._tzm != null) {\r\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\r\n }\r\n\r\n if (config._nextDay) {\r\n config._a[HOUR] = 24;\r\n }\r\n\r\n // check for mismatching day of week\r\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\r\n getParsingFlags(config).weekdayMismatch = true;\r\n }\r\n}\r\n\r\nfunction dayOfYearFromWeekInfo(config) {\r\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\r\n\r\n w = config._w;\r\n if (w.GG != null || w.W != null || w.E != null) {\r\n dow = 1;\r\n doy = 4;\r\n\r\n // TODO: We need to take the current isoWeekYear, but that depends on\r\n // how we interpret now (local, utc, fixed offset). So create\r\n // a now version of current config (take local/utc/offset flags, and\r\n // create now).\r\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\r\n week = defaults(w.W, 1);\r\n weekday = defaults(w.E, 1);\r\n if (weekday < 1 || weekday > 7) {\r\n weekdayOverflow = true;\r\n }\r\n } else {\r\n dow = config._locale._week.dow;\r\n doy = config._locale._week.doy;\r\n\r\n var curWeek = weekOfYear(createLocal(), dow, doy);\r\n\r\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\r\n\r\n // Default to current week.\r\n week = defaults(w.w, curWeek.week);\r\n\r\n if (w.d != null) {\r\n // weekday -- low day numbers are considered next week\r\n weekday = w.d;\r\n if (weekday < 0 || weekday > 6) {\r\n weekdayOverflow = true;\r\n }\r\n } else if (w.e != null) {\r\n // local weekday -- counting starts from begining of week\r\n weekday = w.e + dow;\r\n if (w.e < 0 || w.e > 6) {\r\n weekdayOverflow = true;\r\n }\r\n } else {\r\n // default to begining of week\r\n weekday = dow;\r\n }\r\n }\r\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\r\n getParsingFlags(config)._overflowWeeks = true;\r\n } else if (weekdayOverflow != null) {\r\n getParsingFlags(config)._overflowWeekday = true;\r\n } else {\r\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\r\n config._a[YEAR] = temp.year;\r\n config._dayOfYear = temp.dayOfYear;\r\n }\r\n}\r\n\r\n// iso 8601 regex\r\n// 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)\r\nvar 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)?)?$/;\r\nvar 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)?)?$/;\r\n\r\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\r\n\r\nvar isoDates = [\r\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\r\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\r\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\r\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\r\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\r\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\r\n ['YYYYYYMMDD', /[+-]\\d{10}/],\r\n ['YYYYMMDD', /\\d{8}/],\r\n // YYYYMM is NOT allowed by the standard\r\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\r\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\r\n ['YYYYDDD', /\\d{7}/]\r\n];\r\n\r\n// iso time formats and regexes\r\nvar isoTimes = [\r\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\r\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\r\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\r\n ['HH:mm', /\\d\\d:\\d\\d/],\r\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\r\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\r\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\r\n ['HHmm', /\\d\\d\\d\\d/],\r\n ['HH', /\\d\\d/]\r\n];\r\n\r\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\r\n\r\n// date from iso format\r\nfunction configFromISO(config) {\r\n var i, l,\r\n string = config._i,\r\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\r\n allowTime, dateFormat, timeFormat, tzFormat;\r\n\r\n if (match) {\r\n getParsingFlags(config).iso = true;\r\n\r\n for (i = 0, l = isoDates.length; i < l; i++) {\r\n if (isoDates[i][1].exec(match[1])) {\r\n dateFormat = isoDates[i][0];\r\n allowTime = isoDates[i][2] !== false;\r\n break;\r\n }\r\n }\r\n if (dateFormat == null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n if (match[3]) {\r\n for (i = 0, l = isoTimes.length; i < l; i++) {\r\n if (isoTimes[i][1].exec(match[3])) {\r\n // match[2] should be 'T' or space\r\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\r\n break;\r\n }\r\n }\r\n if (timeFormat == null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n }\r\n if (!allowTime && timeFormat != null) {\r\n config._isValid = false;\r\n return;\r\n }\r\n if (match[4]) {\r\n if (tzRegex.exec(match[4])) {\r\n tzFormat = 'Z';\r\n } else {\r\n config._isValid = false;\r\n return;\r\n }\r\n }\r\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\r\n configFromStringAndFormat(config);\r\n } else {\r\n config._isValid = false;\r\n }\r\n}\r\n\r\n// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\r\nvar 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}))$/;\r\n\r\nfunction extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\r\n var result = [\r\n untruncateYear(yearStr),\r\n defaultLocaleMonthsShort.indexOf(monthStr),\r\n parseInt(dayStr, 10),\r\n parseInt(hourStr, 10),\r\n parseInt(minuteStr, 10)\r\n ];\r\n\r\n if (secondStr) {\r\n result.push(parseInt(secondStr, 10));\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction untruncateYear(yearStr) {\r\n var year = parseInt(yearStr, 10);\r\n if (year <= 49) {\r\n return 2000 + year;\r\n } else if (year <= 999) {\r\n return 1900 + year;\r\n }\r\n return year;\r\n}\r\n\r\nfunction preprocessRFC2822(s) {\r\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\r\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').trim();\r\n}\r\n\r\nfunction checkWeekday(weekdayStr, parsedInput, config) {\r\n if (weekdayStr) {\r\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\r\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\r\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\r\n if (weekdayProvided !== weekdayActual) {\r\n getParsingFlags(config).weekdayMismatch = true;\r\n config._isValid = false;\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nvar obsOffsets = {\r\n UT: 0,\r\n GMT: 0,\r\n EDT: -4 * 60,\r\n EST: -5 * 60,\r\n CDT: -5 * 60,\r\n CST: -6 * 60,\r\n MDT: -6 * 60,\r\n MST: -7 * 60,\r\n PDT: -7 * 60,\r\n PST: -8 * 60\r\n};\r\n\r\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\r\n if (obsOffset) {\r\n return obsOffsets[obsOffset];\r\n } else if (militaryOffset) {\r\n // the only allowed military tz is Z\r\n return 0;\r\n } else {\r\n var hm = parseInt(numOffset, 10);\r\n var m = hm % 100, h = (hm - m) / 100;\r\n return h * 60 + m;\r\n }\r\n}\r\n\r\n// date and time from ref 2822 format\r\nfunction configFromRFC2822(config) {\r\n var match = rfc2822.exec(preprocessRFC2822(config._i));\r\n if (match) {\r\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\r\n if (!checkWeekday(match[1], parsedArray, config)) {\r\n return;\r\n }\r\n\r\n config._a = parsedArray;\r\n config._tzm = calculateOffset(match[8], match[9], match[10]);\r\n\r\n config._d = createUTCDate.apply(null, config._a);\r\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\r\n\r\n getParsingFlags(config).rfc2822 = true;\r\n } else {\r\n config._isValid = false;\r\n }\r\n}\r\n\r\n// date from iso format or fallback\r\nfunction configFromString(config) {\r\n var matched = aspNetJsonRegex.exec(config._i);\r\n\r\n if (matched !== null) {\r\n config._d = new Date(+matched[1]);\r\n return;\r\n }\r\n\r\n configFromISO(config);\r\n if (config._isValid === false) {\r\n delete config._isValid;\r\n } else {\r\n return;\r\n }\r\n\r\n configFromRFC2822(config);\r\n if (config._isValid === false) {\r\n delete config._isValid;\r\n } else {\r\n return;\r\n }\r\n\r\n // Final attempt, use Input Fallback\r\n hooks.createFromInputFallback(config);\r\n}\r\n\r\nhooks.createFromInputFallback = deprecate(\r\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\r\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\r\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\r\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\r\n function (config) {\r\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\r\n }\r\n);\r\n\r\n// constant that refers to the ISO standard\r\nhooks.ISO_8601 = function () {};\r\n\r\n// constant that refers to the RFC 2822 form\r\nhooks.RFC_2822 = function () {};\r\n\r\n// date from string and format string\r\nfunction configFromStringAndFormat(config) {\r\n // TODO: Move this to another part of the creation flow to prevent circular deps\r\n if (config._f === hooks.ISO_8601) {\r\n configFromISO(config);\r\n return;\r\n }\r\n if (config._f === hooks.RFC_2822) {\r\n configFromRFC2822(config);\r\n return;\r\n }\r\n config._a = [];\r\n getParsingFlags(config).empty = true;\r\n\r\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\r\n var string = '' + config._i,\r\n i, parsedInput, tokens, token, skipped,\r\n stringLength = string.length,\r\n totalParsedInputLength = 0;\r\n\r\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\r\n\r\n for (i = 0; i < tokens.length; i++) {\r\n token = tokens[i];\r\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\r\n // console.log('token', token, 'parsedInput', parsedInput,\r\n // 'regex', getParseRegexForToken(token, config));\r\n if (parsedInput) {\r\n skipped = string.substr(0, string.indexOf(parsedInput));\r\n if (skipped.length > 0) {\r\n getParsingFlags(config).unusedInput.push(skipped);\r\n }\r\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\r\n totalParsedInputLength += parsedInput.length;\r\n }\r\n // don't parse if it's not a known token\r\n if (formatTokenFunctions[token]) {\r\n if (parsedInput) {\r\n getParsingFlags(config).empty = false;\r\n }\r\n else {\r\n getParsingFlags(config).unusedTokens.push(token);\r\n }\r\n addTimeToArrayFromToken(token, parsedInput, config);\r\n }\r\n else if (config._strict && !parsedInput) {\r\n getParsingFlags(config).unusedTokens.push(token);\r\n }\r\n }\r\n\r\n // add remaining unparsed input length to the string\r\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\r\n if (string.length > 0) {\r\n getParsingFlags(config).unusedInput.push(string);\r\n }\r\n\r\n // clear _12h flag if hour is <= 12\r\n if (config._a[HOUR] <= 12 &&\r\n getParsingFlags(config).bigHour === true &&\r\n config._a[HOUR] > 0) {\r\n getParsingFlags(config).bigHour = undefined;\r\n }\r\n\r\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\r\n getParsingFlags(config).meridiem = config._meridiem;\r\n // handle meridiem\r\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\r\n\r\n configFromArray(config);\r\n checkOverflow(config);\r\n}\r\n\r\n\r\nfunction meridiemFixWrap (locale, hour, meridiem) {\r\n var isPm;\r\n\r\n if (meridiem == null) {\r\n // nothing to do\r\n return hour;\r\n }\r\n if (locale.meridiemHour != null) {\r\n return locale.meridiemHour(hour, meridiem);\r\n } else if (locale.isPM != null) {\r\n // Fallback\r\n isPm = locale.isPM(meridiem);\r\n if (isPm && hour < 12) {\r\n hour += 12;\r\n }\r\n if (!isPm && hour === 12) {\r\n hour = 0;\r\n }\r\n return hour;\r\n } else {\r\n // this is not supposed to happen\r\n return hour;\r\n }\r\n}\r\n\r\n// date from string and array of format strings\r\nfunction configFromStringAndArray(config) {\r\n var tempConfig,\r\n bestMoment,\r\n\r\n scoreToBeat,\r\n i,\r\n currentScore;\r\n\r\n if (config._f.length === 0) {\r\n getParsingFlags(config).invalidFormat = true;\r\n config._d = new Date(NaN);\r\n return;\r\n }\r\n\r\n for (i = 0; i < config._f.length; i++) {\r\n currentScore = 0;\r\n tempConfig = copyConfig({}, config);\r\n if (config._useUTC != null) {\r\n tempConfig._useUTC = config._useUTC;\r\n }\r\n tempConfig._f = config._f[i];\r\n configFromStringAndFormat(tempConfig);\r\n\r\n if (!isValid(tempConfig)) {\r\n continue;\r\n }\r\n\r\n // if there is any input that was not parsed add a penalty for that format\r\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\r\n\r\n //or tokens\r\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\r\n\r\n getParsingFlags(tempConfig).score = currentScore;\r\n\r\n if (scoreToBeat == null || currentScore < scoreToBeat) {\r\n scoreToBeat = currentScore;\r\n bestMoment = tempConfig;\r\n }\r\n }\r\n\r\n extend(config, bestMoment || tempConfig);\r\n}\r\n\r\nfunction configFromObject(config) {\r\n if (config._d) {\r\n return;\r\n }\r\n\r\n var i = normalizeObjectUnits(config._i);\r\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\r\n return obj && parseInt(obj, 10);\r\n });\r\n\r\n configFromArray(config);\r\n}\r\n\r\nfunction createFromConfig (config) {\r\n var res = new Moment(checkOverflow(prepareConfig(config)));\r\n if (res._nextDay) {\r\n // Adding is smart enough around DST\r\n res.add(1, 'd');\r\n res._nextDay = undefined;\r\n }\r\n\r\n return res;\r\n}\r\n\r\nfunction prepareConfig (config) {\r\n var input = config._i,\r\n format = config._f;\r\n\r\n config._locale = config._locale || getLocale(config._l);\r\n\r\n if (input === null || (format === undefined && input === '')) {\r\n return createInvalid({nullInput: true});\r\n }\r\n\r\n if (typeof input === 'string') {\r\n config._i = input = config._locale.preparse(input);\r\n }\r\n\r\n if (isMoment(input)) {\r\n return new Moment(checkOverflow(input));\r\n } else if (isDate(input)) {\r\n config._d = input;\r\n } else if (isArray(format)) {\r\n configFromStringAndArray(config);\r\n } else if (format) {\r\n configFromStringAndFormat(config);\r\n } else {\r\n configFromInput(config);\r\n }\r\n\r\n if (!isValid(config)) {\r\n config._d = null;\r\n }\r\n\r\n return config;\r\n}\r\n\r\nfunction configFromInput(config) {\r\n var input = config._i;\r\n if (isUndefined(input)) {\r\n config._d = new Date(hooks.now());\r\n } else if (isDate(input)) {\r\n config._d = new Date(input.valueOf());\r\n } else if (typeof input === 'string') {\r\n configFromString(config);\r\n } else if (isArray(input)) {\r\n config._a = map(input.slice(0), function (obj) {\r\n return parseInt(obj, 10);\r\n });\r\n configFromArray(config);\r\n } else if (isObject(input)) {\r\n configFromObject(config);\r\n } else if (isNumber(input)) {\r\n // from milliseconds\r\n config._d = new Date(input);\r\n } else {\r\n hooks.createFromInputFallback(config);\r\n }\r\n}\r\n\r\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\r\n var c = {};\r\n\r\n if (locale === true || locale === false) {\r\n strict = locale;\r\n locale = undefined;\r\n }\r\n\r\n if ((isObject(input) && isObjectEmpty(input)) ||\r\n (isArray(input) && input.length === 0)) {\r\n input = undefined;\r\n }\r\n // object construction must be done this way.\r\n // https://github.com/moment/moment/issues/1423\r\n c._isAMomentObject = true;\r\n c._useUTC = c._isUTC = isUTC;\r\n c._l = locale;\r\n c._i = input;\r\n c._f = format;\r\n c._strict = strict;\r\n\r\n return createFromConfig(c);\r\n}\r\n\r\nfunction createLocal (input, format, locale, strict) {\r\n return createLocalOrUTC(input, format, locale, strict, false);\r\n}\r\n\r\nvar prototypeMin = deprecate(\r\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\r\n function () {\r\n var other = createLocal.apply(null, arguments);\r\n if (this.isValid() && other.isValid()) {\r\n return other < this ? this : other;\r\n } else {\r\n return createInvalid();\r\n }\r\n }\r\n);\r\n\r\nvar prototypeMax = deprecate(\r\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\r\n function () {\r\n var other = createLocal.apply(null, arguments);\r\n if (this.isValid() && other.isValid()) {\r\n return other > this ? this : other;\r\n } else {\r\n return createInvalid();\r\n }\r\n }\r\n);\r\n\r\n// Pick a moment m from moments so that m[fn](other) is true for all\r\n// other. This relies on the function fn to be transitive.\r\n//\r\n// moments should either be an array of moment objects or an array, whose\r\n// first element is an array of moment objects.\r\nfunction pickBy(fn, moments) {\r\n var res, i;\r\n if (moments.length === 1 && isArray(moments[0])) {\r\n moments = moments[0];\r\n }\r\n if (!moments.length) {\r\n return createLocal();\r\n }\r\n res = moments[0];\r\n for (i = 1; i < moments.length; ++i) {\r\n if (!moments[i].isValid() || moments[i][fn](res)) {\r\n res = moments[i];\r\n }\r\n }\r\n return res;\r\n}\r\n\r\n// TODO: Use [].sort instead?\r\nfunction min () {\r\n var args = [].slice.call(arguments, 0);\r\n\r\n return pickBy('isBefore', args);\r\n}\r\n\r\nfunction max () {\r\n var args = [].slice.call(arguments, 0);\r\n\r\n return pickBy('isAfter', args);\r\n}\r\n\r\nvar now = function () {\r\n return Date.now ? Date.now() : +(new Date());\r\n};\r\n\r\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\r\n\r\nfunction isDurationValid(m) {\r\n for (var key in m) {\r\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\r\n return false;\r\n }\r\n }\r\n\r\n var unitHasDecimal = false;\r\n for (var i = 0; i < ordering.length; ++i) {\r\n if (m[ordering[i]]) {\r\n if (unitHasDecimal) {\r\n return false; // only allow non-integers for smallest unit\r\n }\r\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\r\n unitHasDecimal = true;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction isValid$1() {\r\n return this._isValid;\r\n}\r\n\r\nfunction createInvalid$1() {\r\n return createDuration(NaN);\r\n}\r\n\r\nfunction Duration (duration) {\r\n var normalizedInput = normalizeObjectUnits(duration),\r\n years = normalizedInput.year || 0,\r\n quarters = normalizedInput.quarter || 0,\r\n months = normalizedInput.month || 0,\r\n weeks = normalizedInput.week || 0,\r\n days = normalizedInput.day || 0,\r\n hours = normalizedInput.hour || 0,\r\n minutes = normalizedInput.minute || 0,\r\n seconds = normalizedInput.second || 0,\r\n milliseconds = normalizedInput.millisecond || 0;\r\n\r\n this._isValid = isDurationValid(normalizedInput);\r\n\r\n // representation for dateAddRemove\r\n this._milliseconds = +milliseconds +\r\n seconds * 1e3 + // 1000\r\n minutes * 6e4 + // 1000 * 60\r\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\r\n // Because of dateAddRemove treats 24 hours as different from a\r\n // day when working around DST, we need to store them separately\r\n this._days = +days +\r\n weeks * 7;\r\n // It is impossible to translate months into days without knowing\r\n // which months you are are talking about, so we have to store\r\n // it separately.\r\n this._months = +months +\r\n quarters * 3 +\r\n years * 12;\r\n\r\n this._data = {};\r\n\r\n this._locale = getLocale();\r\n\r\n this._bubble();\r\n}\r\n\r\nfunction isDuration (obj) {\r\n return obj instanceof Duration;\r\n}\r\n\r\nfunction absRound (number) {\r\n if (number < 0) {\r\n return Math.round(-1 * number) * -1;\r\n } else {\r\n return Math.round(number);\r\n }\r\n}\r\n\r\n// FORMATTING\r\n\r\nfunction offset (token, separator) {\r\n addFormatToken(token, 0, 0, function () {\r\n var offset = this.utcOffset();\r\n var sign = '+';\r\n if (offset < 0) {\r\n offset = -offset;\r\n sign = '-';\r\n }\r\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\r\n });\r\n}\r\n\r\noffset('Z', ':');\r\noffset('ZZ', '');\r\n\r\n// PARSING\r\n\r\naddRegexToken('Z', matchShortOffset);\r\naddRegexToken('ZZ', matchShortOffset);\r\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\r\n config._useUTC = true;\r\n config._tzm = offsetFromString(matchShortOffset, input);\r\n});\r\n\r\n// HELPERS\r\n\r\n// timezone chunker\r\n// '+10:00' > ['10', '00']\r\n// '-1530' > ['-15', '30']\r\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\r\n\r\nfunction offsetFromString(matcher, string) {\r\n var matches = (string || '').match(matcher);\r\n\r\n if (matches === null) {\r\n return null;\r\n }\r\n\r\n var chunk = matches[matches.length - 1] || [];\r\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\r\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\r\n\r\n return minutes === 0 ?\r\n 0 :\r\n parts[0] === '+' ? minutes : -minutes;\r\n}\r\n\r\n// Return a moment from input, that is local/utc/zone equivalent to model.\r\nfunction cloneWithOffset(input, model) {\r\n var res, diff;\r\n if (model._isUTC) {\r\n res = model.clone();\r\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\r\n // Use low-level api, because this fn is low-level api.\r\n res._d.setTime(res._d.valueOf() + diff);\r\n hooks.updateOffset(res, false);\r\n return res;\r\n } else {\r\n return createLocal(input).local();\r\n }\r\n}\r\n\r\nfunction getDateOffset (m) {\r\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\r\n // https://github.com/moment/moment/pull/1871\r\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\r\n}\r\n\r\n// HOOKS\r\n\r\n// This function will be called whenever a moment is mutated.\r\n// It is intended to keep the offset in sync with the timezone.\r\nhooks.updateOffset = function () {};\r\n\r\n// MOMENTS\r\n\r\n// keepLocalTime = true means only change the timezone, without\r\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\r\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\r\n// +0200, so we adjust the time as needed, to be valid.\r\n//\r\n// Keeping the time actually adds/subtracts (one hour)\r\n// from the actual represented time. That is why we call updateOffset\r\n// a second time. In case it wants us to change the offset again\r\n// _changeInProgress == true case, then we have to adjust, because\r\n// there is no such time in the given timezone.\r\nfunction getSetOffset (input, keepLocalTime, keepMinutes) {\r\n var offset = this._offset || 0,\r\n localAdjust;\r\n if (!this.isValid()) {\r\n return input != null ? this : NaN;\r\n }\r\n if (input != null) {\r\n if (typeof input === 'string') {\r\n input = offsetFromString(matchShortOffset, input);\r\n if (input === null) {\r\n return this;\r\n }\r\n } else if (Math.abs(input) < 16 && !keepMinutes) {\r\n input = input * 60;\r\n }\r\n if (!this._isUTC && keepLocalTime) {\r\n localAdjust = getDateOffset(this);\r\n }\r\n this._offset = input;\r\n this._isUTC = true;\r\n if (localAdjust != null) {\r\n this.add(localAdjust, 'm');\r\n }\r\n if (offset !== input) {\r\n if (!keepLocalTime || this._changeInProgress) {\r\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\r\n } else if (!this._changeInProgress) {\r\n this._changeInProgress = true;\r\n hooks.updateOffset(this, true);\r\n this._changeInProgress = null;\r\n }\r\n }\r\n return this;\r\n } else {\r\n return this._isUTC ? offset : getDateOffset(this);\r\n }\r\n}\r\n\r\nfunction getSetZone (input, keepLocalTime) {\r\n if (input != null) {\r\n if (typeof input !== 'string') {\r\n input = -input;\r\n }\r\n\r\n this.utcOffset(input, keepLocalTime);\r\n\r\n return this;\r\n } else {\r\n return -this.utcOffset();\r\n }\r\n}\r\n\r\nfunction setOffsetToUTC (keepLocalTime) {\r\n return this.utcOffset(0, keepLocalTime);\r\n}\r\n\r\nfunction setOffsetToLocal (keepLocalTime) {\r\n if (this._isUTC) {\r\n this.utcOffset(0, keepLocalTime);\r\n this._isUTC = false;\r\n\r\n if (keepLocalTime) {\r\n this.subtract(getDateOffset(this), 'm');\r\n }\r\n }\r\n return this;\r\n}\r\n\r\nfunction setOffsetToParsedOffset () {\r\n if (this._tzm != null) {\r\n this.utcOffset(this._tzm, false, true);\r\n } else if (typeof this._i === 'string') {\r\n var tZone = offsetFromString(matchOffset, this._i);\r\n if (tZone != null) {\r\n this.utcOffset(tZone);\r\n }\r\n else {\r\n this.utcOffset(0, true);\r\n }\r\n }\r\n return this;\r\n}\r\n\r\nfunction hasAlignedHourOffset (input) {\r\n if (!this.isValid()) {\r\n return false;\r\n }\r\n input = input ? createLocal(input).utcOffset() : 0;\r\n\r\n return (this.utcOffset() - input) % 60 === 0;\r\n}\r\n\r\nfunction isDaylightSavingTime () {\r\n return (\r\n this.utcOffset() > this.clone().month(0).utcOffset() ||\r\n this.utcOffset() > this.clone().month(5).utcOffset()\r\n );\r\n}\r\n\r\nfunction isDaylightSavingTimeShifted () {\r\n if (!isUndefined(this._isDSTShifted)) {\r\n return this._isDSTShifted;\r\n }\r\n\r\n var c = {};\r\n\r\n copyConfig(c, this);\r\n c = prepareConfig(c);\r\n\r\n if (c._a) {\r\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\r\n this._isDSTShifted = this.isValid() &&\r\n compareArrays(c._a, other.toArray()) > 0;\r\n } else {\r\n this._isDSTShifted = false;\r\n }\r\n\r\n return this._isDSTShifted;\r\n}\r\n\r\nfunction isLocal () {\r\n return this.isValid() ? !this._isUTC : false;\r\n}\r\n\r\nfunction isUtcOffset () {\r\n return this.isValid() ? this._isUTC : false;\r\n}\r\n\r\nfunction isUtc () {\r\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\r\n}\r\n\r\n// ASP.NET json date format regex\r\nvar aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\r\n\r\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\r\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\r\n// and further modified to allow for strings containing both week and day\r\nvar isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\r\n\r\nfunction createDuration (input, key) {\r\n var duration = input,\r\n // matching against regexp is expensive, do it on demand\r\n match = null,\r\n sign,\r\n ret,\r\n diffRes;\r\n\r\n if (isDuration(input)) {\r\n duration = {\r\n ms : input._milliseconds,\r\n d : input._days,\r\n M : input._months\r\n };\r\n } else if (isNumber(input)) {\r\n duration = {};\r\n if (key) {\r\n duration[key] = input;\r\n } else {\r\n duration.milliseconds = input;\r\n }\r\n } else if (!!(match = aspNetRegex.exec(input))) {\r\n sign = (match[1] === '-') ? -1 : 1;\r\n duration = {\r\n y : 0,\r\n d : toInt(match[DATE]) * sign,\r\n h : toInt(match[HOUR]) * sign,\r\n m : toInt(match[MINUTE]) * sign,\r\n s : toInt(match[SECOND]) * sign,\r\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\r\n };\r\n } else if (!!(match = isoRegex.exec(input))) {\r\n sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\r\n duration = {\r\n y : parseIso(match[2], sign),\r\n M : parseIso(match[3], sign),\r\n w : parseIso(match[4], sign),\r\n d : parseIso(match[5], sign),\r\n h : parseIso(match[6], sign),\r\n m : parseIso(match[7], sign),\r\n s : parseIso(match[8], sign)\r\n };\r\n } else if (duration == null) {// checks for null or undefined\r\n duration = {};\r\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\r\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\r\n\r\n duration = {};\r\n duration.ms = diffRes.milliseconds;\r\n duration.M = diffRes.months;\r\n }\r\n\r\n ret = new Duration(duration);\r\n\r\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\r\n ret._locale = input._locale;\r\n }\r\n\r\n return ret;\r\n}\r\n\r\ncreateDuration.fn = Duration.prototype;\r\ncreateDuration.invalid = createInvalid$1;\r\n\r\nfunction parseIso (inp, sign) {\r\n // We'd normally use ~~inp for this, but unfortunately it also\r\n // converts floats to ints.\r\n // inp may be undefined, so careful calling replace on it.\r\n var res = inp && parseFloat(inp.replace(',', '.'));\r\n // apply sign while we're at it\r\n return (isNaN(res) ? 0 : res) * sign;\r\n}\r\n\r\nfunction positiveMomentsDifference(base, other) {\r\n var res = {milliseconds: 0, months: 0};\r\n\r\n res.months = other.month() - base.month() +\r\n (other.year() - base.year()) * 12;\r\n if (base.clone().add(res.months, 'M').isAfter(other)) {\r\n --res.months;\r\n }\r\n\r\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\r\n\r\n return res;\r\n}\r\n\r\nfunction momentsDifference(base, other) {\r\n var res;\r\n if (!(base.isValid() && other.isValid())) {\r\n return {milliseconds: 0, months: 0};\r\n }\r\n\r\n other = cloneWithOffset(other, base);\r\n if (base.isBefore(other)) {\r\n res = positiveMomentsDifference(base, other);\r\n } else {\r\n res = positiveMomentsDifference(other, base);\r\n res.milliseconds = -res.milliseconds;\r\n res.months = -res.months;\r\n }\r\n\r\n return res;\r\n}\r\n\r\n// TODO: remove 'name' arg after deprecation is removed\r\nfunction createAdder(direction, name) {\r\n return function (val, period) {\r\n var dur, tmp;\r\n //invert the arguments, but complain about it\r\n if (period !== null && !isNaN(+period)) {\r\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\r\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\r\n tmp = val; val = period; period = tmp;\r\n }\r\n\r\n val = typeof val === 'string' ? +val : val;\r\n dur = createDuration(val, period);\r\n addSubtract(this, dur, direction);\r\n return this;\r\n };\r\n}\r\n\r\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\r\n var milliseconds = duration._milliseconds,\r\n days = absRound(duration._days),\r\n months = absRound(duration._months);\r\n\r\n if (!mom.isValid()) {\r\n // No op\r\n return;\r\n }\r\n\r\n updateOffset = updateOffset == null ? true : updateOffset;\r\n\r\n if (months) {\r\n setMonth(mom, get(mom, 'Month') + months * isAdding);\r\n }\r\n if (days) {\r\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\r\n }\r\n if (milliseconds) {\r\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\r\n }\r\n if (updateOffset) {\r\n hooks.updateOffset(mom, days || months);\r\n }\r\n}\r\n\r\nvar add = createAdder(1, 'add');\r\nvar subtract = createAdder(-1, 'subtract');\r\n\r\nfunction getCalendarFormat(myMoment, now) {\r\n var diff = myMoment.diff(now, 'days', true);\r\n return diff < -6 ? 'sameElse' :\r\n diff < -1 ? 'lastWeek' :\r\n diff < 0 ? 'lastDay' :\r\n diff < 1 ? 'sameDay' :\r\n diff < 2 ? 'nextDay' :\r\n diff < 7 ? 'nextWeek' : 'sameElse';\r\n}\r\n\r\nfunction calendar$1 (time, formats) {\r\n // We want to compare the start of today, vs this.\r\n // Getting start-of-today depends on whether we're local/utc/offset or not.\r\n var now = time || createLocal(),\r\n sod = cloneWithOffset(now, this).startOf('day'),\r\n format = hooks.calendarFormat(this, sod) || 'sameElse';\r\n\r\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\r\n\r\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\r\n}\r\n\r\nfunction clone () {\r\n return new Moment(this);\r\n}\r\n\r\nfunction isAfter (input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input);\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() > localInput.valueOf();\r\n } else {\r\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\r\n }\r\n}\r\n\r\nfunction isBefore (input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input);\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() < localInput.valueOf();\r\n } else {\r\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\r\n }\r\n}\r\n\r\nfunction isBetween (from, to, units, inclusivity) {\r\n inclusivity = inclusivity || '()';\r\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\r\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\r\n}\r\n\r\nfunction isSame (input, units) {\r\n var localInput = isMoment(input) ? input : createLocal(input),\r\n inputMs;\r\n if (!(this.isValid() && localInput.isValid())) {\r\n return false;\r\n }\r\n units = normalizeUnits(units || 'millisecond');\r\n if (units === 'millisecond') {\r\n return this.valueOf() === localInput.valueOf();\r\n } else {\r\n inputMs = localInput.valueOf();\r\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\r\n }\r\n}\r\n\r\nfunction isSameOrAfter (input, units) {\r\n return this.isSame(input, units) || this.isAfter(input,units);\r\n}\r\n\r\nfunction isSameOrBefore (input, units) {\r\n return this.isSame(input, units) || this.isBefore(input,units);\r\n}\r\n\r\nfunction diff (input, units, asFloat) {\r\n var that,\r\n zoneDelta,\r\n output;\r\n\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n\r\n that = cloneWithOffset(input, this);\r\n\r\n if (!that.isValid()) {\r\n return NaN;\r\n }\r\n\r\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\r\n\r\n units = normalizeUnits(units);\r\n\r\n switch (units) {\r\n case 'year': output = monthDiff(this, that) / 12; break;\r\n case 'month': output = monthDiff(this, that); break;\r\n case 'quarter': output = monthDiff(this, that) / 3; break;\r\n case 'second': output = (this - that) / 1e3; break; // 1000\r\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\r\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\r\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\r\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\r\n default: output = this - that;\r\n }\r\n\r\n return asFloat ? output : absFloor(output);\r\n}\r\n\r\nfunction monthDiff (a, b) {\r\n // difference in months\r\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\r\n // b is in (anchor - 1 month, anchor + 1 month)\r\n anchor = a.clone().add(wholeMonthDiff, 'months'),\r\n anchor2, adjust;\r\n\r\n if (b - anchor < 0) {\r\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\r\n // linear across the month\r\n adjust = (b - anchor) / (anchor - anchor2);\r\n } else {\r\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\r\n // linear across the month\r\n adjust = (b - anchor) / (anchor2 - anchor);\r\n }\r\n\r\n //check for negative zero, return zero if negative zero\r\n return -(wholeMonthDiff + adjust) || 0;\r\n}\r\n\r\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\r\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\r\n\r\nfunction toString () {\r\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\r\n}\r\n\r\nfunction toISOString(keepOffset) {\r\n if (!this.isValid()) {\r\n return null;\r\n }\r\n var utc = keepOffset !== true;\r\n var m = utc ? this.clone().utc() : this;\r\n if (m.year() < 0 || m.year() > 9999) {\r\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\r\n }\r\n if (isFunction(Date.prototype.toISOString)) {\r\n // native implementation is ~50x faster, use it when we can\r\n if (utc) {\r\n return this.toDate().toISOString();\r\n } else {\r\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\r\n }\r\n }\r\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\r\n}\r\n\r\n/**\r\n * Return a human readable representation of a moment that can\r\n * also be evaluated to get a new moment which is the same\r\n *\r\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\r\n */\r\nfunction inspect () {\r\n if (!this.isValid()) {\r\n return 'moment.invalid(/* ' + this._i + ' */)';\r\n }\r\n var func = 'moment';\r\n var zone = '';\r\n if (!this.isLocal()) {\r\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\r\n zone = 'Z';\r\n }\r\n var prefix = '[' + func + '(\"]';\r\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\r\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\r\n var suffix = zone + '[\")]';\r\n\r\n return this.format(prefix + year + datetime + suffix);\r\n}\r\n\r\nfunction format (inputString) {\r\n if (!inputString) {\r\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\r\n }\r\n var output = formatMoment(this, inputString);\r\n return this.localeData().postformat(output);\r\n}\r\n\r\nfunction from (time, withoutSuffix) {\r\n if (this.isValid() &&\r\n ((isMoment(time) && time.isValid()) ||\r\n createLocal(time).isValid())) {\r\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\r\n } else {\r\n return this.localeData().invalidDate();\r\n }\r\n}\r\n\r\nfunction fromNow (withoutSuffix) {\r\n return this.from(createLocal(), withoutSuffix);\r\n}\r\n\r\nfunction to (time, withoutSuffix) {\r\n if (this.isValid() &&\r\n ((isMoment(time) && time.isValid()) ||\r\n createLocal(time).isValid())) {\r\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\r\n } else {\r\n return this.localeData().invalidDate();\r\n }\r\n}\r\n\r\nfunction toNow (withoutSuffix) {\r\n return this.to(createLocal(), withoutSuffix);\r\n}\r\n\r\n// If passed a locale key, it will set the locale for this\r\n// instance. Otherwise, it will return the locale configuration\r\n// variables for this instance.\r\nfunction locale (key) {\r\n var newLocaleData;\r\n\r\n if (key === undefined) {\r\n return this._locale._abbr;\r\n } else {\r\n newLocaleData = getLocale(key);\r\n if (newLocaleData != null) {\r\n this._locale = newLocaleData;\r\n }\r\n return this;\r\n }\r\n}\r\n\r\nvar lang = deprecate(\r\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\r\n function (key) {\r\n if (key === undefined) {\r\n return this.localeData();\r\n } else {\r\n return this.locale(key);\r\n }\r\n }\r\n);\r\n\r\nfunction localeData () {\r\n return this._locale;\r\n}\r\n\r\nfunction startOf (units) {\r\n units = normalizeUnits(units);\r\n // the following switch intentionally omits break keywords\r\n // to utilize falling through the cases.\r\n switch (units) {\r\n case 'year':\r\n this.month(0);\r\n /* falls through */\r\n case 'quarter':\r\n case 'month':\r\n this.date(1);\r\n /* falls through */\r\n case 'week':\r\n case 'isoWeek':\r\n case 'day':\r\n case 'date':\r\n this.hours(0);\r\n /* falls through */\r\n case 'hour':\r\n this.minutes(0);\r\n /* falls through */\r\n case 'minute':\r\n this.seconds(0);\r\n /* falls through */\r\n case 'second':\r\n this.milliseconds(0);\r\n }\r\n\r\n // weeks are a special case\r\n if (units === 'week') {\r\n this.weekday(0);\r\n }\r\n if (units === 'isoWeek') {\r\n this.isoWeekday(1);\r\n }\r\n\r\n // quarters are also special\r\n if (units === 'quarter') {\r\n this.month(Math.floor(this.month() / 3) * 3);\r\n }\r\n\r\n return this;\r\n}\r\n\r\nfunction endOf (units) {\r\n units = normalizeUnits(units);\r\n if (units === undefined || units === 'millisecond') {\r\n return this;\r\n }\r\n\r\n // 'date' is an alias for 'day', so it should be considered as such.\r\n if (units === 'date') {\r\n units = 'day';\r\n }\r\n\r\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\r\n}\r\n\r\nfunction valueOf () {\r\n return this._d.valueOf() - ((this._offset || 0) * 60000);\r\n}\r\n\r\nfunction unix () {\r\n return Math.floor(this.valueOf() / 1000);\r\n}\r\n\r\nfunction toDate () {\r\n return new Date(this.valueOf());\r\n}\r\n\r\nfunction toArray () {\r\n var m = this;\r\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\r\n}\r\n\r\nfunction toObject () {\r\n var m = this;\r\n return {\r\n years: m.year(),\r\n months: m.month(),\r\n date: m.date(),\r\n hours: m.hours(),\r\n minutes: m.minutes(),\r\n seconds: m.seconds(),\r\n milliseconds: m.milliseconds()\r\n };\r\n}\r\n\r\nfunction toJSON () {\r\n // new Date(NaN).toJSON() === null\r\n return this.isValid() ? this.toISOString() : null;\r\n}\r\n\r\nfunction isValid$2 () {\r\n return isValid(this);\r\n}\r\n\r\nfunction parsingFlags () {\r\n return extend({}, getParsingFlags(this));\r\n}\r\n\r\nfunction invalidAt () {\r\n return getParsingFlags(this).overflow;\r\n}\r\n\r\nfunction creationData() {\r\n return {\r\n input: this._i,\r\n format: this._f,\r\n locale: this._locale,\r\n isUTC: this._isUTC,\r\n strict: this._strict\r\n };\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken(0, ['gg', 2], 0, function () {\r\n return this.weekYear() % 100;\r\n});\r\n\r\naddFormatToken(0, ['GG', 2], 0, function () {\r\n return this.isoWeekYear() % 100;\r\n});\r\n\r\nfunction addWeekYearFormatToken (token, getter) {\r\n addFormatToken(0, [token, token.length], 0, getter);\r\n}\r\n\r\naddWeekYearFormatToken('gggg', 'weekYear');\r\naddWeekYearFormatToken('ggggg', 'weekYear');\r\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\r\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('weekYear', 'gg');\r\naddUnitAlias('isoWeekYear', 'GG');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('weekYear', 1);\r\naddUnitPriority('isoWeekYear', 1);\r\n\r\n\r\n// PARSING\r\n\r\naddRegexToken('G', matchSigned);\r\naddRegexToken('g', matchSigned);\r\naddRegexToken('GG', match1to2, match2);\r\naddRegexToken('gg', match1to2, match2);\r\naddRegexToken('GGGG', match1to4, match4);\r\naddRegexToken('gggg', match1to4, match4);\r\naddRegexToken('GGGGG', match1to6, match6);\r\naddRegexToken('ggggg', match1to6, match6);\r\n\r\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\r\n week[token.substr(0, 2)] = toInt(input);\r\n});\r\n\r\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\r\n week[token] = hooks.parseTwoDigitYear(input);\r\n});\r\n\r\n// MOMENTS\r\n\r\nfunction getSetWeekYear (input) {\r\n return getSetWeekYearHelper.call(this,\r\n input,\r\n this.week(),\r\n this.weekday(),\r\n this.localeData()._week.dow,\r\n this.localeData()._week.doy);\r\n}\r\n\r\nfunction getSetISOWeekYear (input) {\r\n return getSetWeekYearHelper.call(this,\r\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\r\n}\r\n\r\nfunction getISOWeeksInYear () {\r\n return weeksInYear(this.year(), 1, 4);\r\n}\r\n\r\nfunction getWeeksInYear () {\r\n var weekInfo = this.localeData()._week;\r\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\r\n}\r\n\r\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\r\n var weeksTarget;\r\n if (input == null) {\r\n return weekOfYear(this, dow, doy).year;\r\n } else {\r\n weeksTarget = weeksInYear(input, dow, doy);\r\n if (week > weeksTarget) {\r\n week = weeksTarget;\r\n }\r\n return setWeekAll.call(this, input, week, weekday, dow, doy);\r\n }\r\n}\r\n\r\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\r\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\r\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\r\n\r\n this.year(date.getUTCFullYear());\r\n this.month(date.getUTCMonth());\r\n this.date(date.getUTCDate());\r\n return this;\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('Q', 0, 'Qo', 'quarter');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('quarter', 'Q');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('quarter', 7);\r\n\r\n// PARSING\r\n\r\naddRegexToken('Q', match1);\r\naddParseToken('Q', function (input, array) {\r\n array[MONTH] = (toInt(input) - 1) * 3;\r\n});\r\n\r\n// MOMENTS\r\n\r\nfunction getSetQuarter (input) {\r\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('D', ['DD', 2], 'Do', 'date');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('date', 'D');\r\n\r\n// PRIOROITY\r\naddUnitPriority('date', 9);\r\n\r\n// PARSING\r\n\r\naddRegexToken('D', match1to2);\r\naddRegexToken('DD', match1to2, match2);\r\naddRegexToken('Do', function (isStrict, locale) {\r\n // TODO: Remove \"ordinalParse\" fallback in next major release.\r\n return isStrict ?\r\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\r\n locale._dayOfMonthOrdinalParseLenient;\r\n});\r\n\r\naddParseToken(['D', 'DD'], DATE);\r\naddParseToken('Do', function (input, array) {\r\n array[DATE] = toInt(input.match(match1to2)[0]);\r\n});\r\n\r\n// MOMENTS\r\n\r\nvar getSetDayOfMonth = makeGetSet('Date', true);\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('dayOfYear', 'DDD');\r\n\r\n// PRIORITY\r\naddUnitPriority('dayOfYear', 4);\r\n\r\n// PARSING\r\n\r\naddRegexToken('DDD', match1to3);\r\naddRegexToken('DDDD', match3);\r\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\r\n config._dayOfYear = toInt(input);\r\n});\r\n\r\n// HELPERS\r\n\r\n// MOMENTS\r\n\r\nfunction getSetDayOfYear (input) {\r\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\r\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\r\n}\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('m', ['mm', 2], 0, 'minute');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('minute', 'm');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('minute', 14);\r\n\r\n// PARSING\r\n\r\naddRegexToken('m', match1to2);\r\naddRegexToken('mm', match1to2, match2);\r\naddParseToken(['m', 'mm'], MINUTE);\r\n\r\n// MOMENTS\r\n\r\nvar getSetMinute = makeGetSet('Minutes', false);\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('s', ['ss', 2], 0, 'second');\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('second', 's');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('second', 15);\r\n\r\n// PARSING\r\n\r\naddRegexToken('s', match1to2);\r\naddRegexToken('ss', match1to2, match2);\r\naddParseToken(['s', 'ss'], SECOND);\r\n\r\n// MOMENTS\r\n\r\nvar getSetSecond = makeGetSet('Seconds', false);\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('S', 0, 0, function () {\r\n return ~~(this.millisecond() / 100);\r\n});\r\n\r\naddFormatToken(0, ['SS', 2], 0, function () {\r\n return ~~(this.millisecond() / 10);\r\n});\r\n\r\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\r\naddFormatToken(0, ['SSSS', 4], 0, function () {\r\n return this.millisecond() * 10;\r\n});\r\naddFormatToken(0, ['SSSSS', 5], 0, function () {\r\n return this.millisecond() * 100;\r\n});\r\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\r\n return this.millisecond() * 1000;\r\n});\r\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\r\n return this.millisecond() * 10000;\r\n});\r\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\r\n return this.millisecond() * 100000;\r\n});\r\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\r\n return this.millisecond() * 1000000;\r\n});\r\n\r\n\r\n// ALIASES\r\n\r\naddUnitAlias('millisecond', 'ms');\r\n\r\n// PRIORITY\r\n\r\naddUnitPriority('millisecond', 16);\r\n\r\n// PARSING\r\n\r\naddRegexToken('S', match1to3, match1);\r\naddRegexToken('SS', match1to3, match2);\r\naddRegexToken('SSS', match1to3, match3);\r\n\r\nvar token;\r\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\r\n addRegexToken(token, matchUnsigned);\r\n}\r\n\r\nfunction parseMs(input, array) {\r\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\r\n}\r\n\r\nfor (token = 'S'; token.length <= 9; token += 'S') {\r\n addParseToken(token, parseMs);\r\n}\r\n// MOMENTS\r\n\r\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('z', 0, 0, 'zoneAbbr');\r\naddFormatToken('zz', 0, 0, 'zoneName');\r\n\r\n// MOMENTS\r\n\r\nfunction getZoneAbbr () {\r\n return this._isUTC ? 'UTC' : '';\r\n}\r\n\r\nfunction getZoneName () {\r\n return this._isUTC ? 'Coordinated Universal Time' : '';\r\n}\r\n\r\nvar proto = Moment.prototype;\r\n\r\nproto.add = add;\r\nproto.calendar = calendar$1;\r\nproto.clone = clone;\r\nproto.diff = diff;\r\nproto.endOf = endOf;\r\nproto.format = format;\r\nproto.from = from;\r\nproto.fromNow = fromNow;\r\nproto.to = to;\r\nproto.toNow = toNow;\r\nproto.get = stringGet;\r\nproto.invalidAt = invalidAt;\r\nproto.isAfter = isAfter;\r\nproto.isBefore = isBefore;\r\nproto.isBetween = isBetween;\r\nproto.isSame = isSame;\r\nproto.isSameOrAfter = isSameOrAfter;\r\nproto.isSameOrBefore = isSameOrBefore;\r\nproto.isValid = isValid$2;\r\nproto.lang = lang;\r\nproto.locale = locale;\r\nproto.localeData = localeData;\r\nproto.max = prototypeMax;\r\nproto.min = prototypeMin;\r\nproto.parsingFlags = parsingFlags;\r\nproto.set = stringSet;\r\nproto.startOf = startOf;\r\nproto.subtract = subtract;\r\nproto.toArray = toArray;\r\nproto.toObject = toObject;\r\nproto.toDate = toDate;\r\nproto.toISOString = toISOString;\r\nproto.inspect = inspect;\r\nproto.toJSON = toJSON;\r\nproto.toString = toString;\r\nproto.unix = unix;\r\nproto.valueOf = valueOf;\r\nproto.creationData = creationData;\r\nproto.year = getSetYear;\r\nproto.isLeapYear = getIsLeapYear;\r\nproto.weekYear = getSetWeekYear;\r\nproto.isoWeekYear = getSetISOWeekYear;\r\nproto.quarter = proto.quarters = getSetQuarter;\r\nproto.month = getSetMonth;\r\nproto.daysInMonth = getDaysInMonth;\r\nproto.week = proto.weeks = getSetWeek;\r\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\r\nproto.weeksInYear = getWeeksInYear;\r\nproto.isoWeeksInYear = getISOWeeksInYear;\r\nproto.date = getSetDayOfMonth;\r\nproto.day = proto.days = getSetDayOfWeek;\r\nproto.weekday = getSetLocaleDayOfWeek;\r\nproto.isoWeekday = getSetISODayOfWeek;\r\nproto.dayOfYear = getSetDayOfYear;\r\nproto.hour = proto.hours = getSetHour;\r\nproto.minute = proto.minutes = getSetMinute;\r\nproto.second = proto.seconds = getSetSecond;\r\nproto.millisecond = proto.milliseconds = getSetMillisecond;\r\nproto.utcOffset = getSetOffset;\r\nproto.utc = setOffsetToUTC;\r\nproto.local = setOffsetToLocal;\r\nproto.parseZone = setOffsetToParsedOffset;\r\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\r\nproto.isDST = isDaylightSavingTime;\r\nproto.isLocal = isLocal;\r\nproto.isUtcOffset = isUtcOffset;\r\nproto.isUtc = isUtc;\r\nproto.isUTC = isUtc;\r\nproto.zoneAbbr = getZoneAbbr;\r\nproto.zoneName = getZoneName;\r\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\r\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\r\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\r\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\r\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\r\n\r\nfunction createUnix (input) {\r\n return createLocal(input * 1000);\r\n}\r\n\r\nfunction createInZone () {\r\n return createLocal.apply(null, arguments).parseZone();\r\n}\r\n\r\nfunction preParsePostFormat (string) {\r\n return string;\r\n}\r\n\r\nvar proto$1 = Locale.prototype;\r\n\r\nproto$1.calendar = calendar;\r\nproto$1.longDateFormat = longDateFormat;\r\nproto$1.invalidDate = invalidDate;\r\nproto$1.ordinal = ordinal;\r\nproto$1.preparse = preParsePostFormat;\r\nproto$1.postformat = preParsePostFormat;\r\nproto$1.relativeTime = relativeTime;\r\nproto$1.pastFuture = pastFuture;\r\nproto$1.set = set;\r\n\r\nproto$1.months = localeMonths;\r\nproto$1.monthsShort = localeMonthsShort;\r\nproto$1.monthsParse = localeMonthsParse;\r\nproto$1.monthsRegex = monthsRegex;\r\nproto$1.monthsShortRegex = monthsShortRegex;\r\nproto$1.week = localeWeek;\r\nproto$1.firstDayOfYear = localeFirstDayOfYear;\r\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\r\n\r\nproto$1.weekdays = localeWeekdays;\r\nproto$1.weekdaysMin = localeWeekdaysMin;\r\nproto$1.weekdaysShort = localeWeekdaysShort;\r\nproto$1.weekdaysParse = localeWeekdaysParse;\r\n\r\nproto$1.weekdaysRegex = weekdaysRegex;\r\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\r\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\r\n\r\nproto$1.isPM = localeIsPM;\r\nproto$1.meridiem = localeMeridiem;\r\n\r\nfunction get$1 (format, index, field, setter) {\r\n var locale = getLocale();\r\n var utc = createUTC().set(setter, index);\r\n return locale[field](utc, format);\r\n}\r\n\r\nfunction listMonthsImpl (format, index, field) {\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n\r\n if (index != null) {\r\n return get$1(format, index, field, 'month');\r\n }\r\n\r\n var i;\r\n var out = [];\r\n for (i = 0; i < 12; i++) {\r\n out[i] = get$1(format, i, field, 'month');\r\n }\r\n return out;\r\n}\r\n\r\n// ()\r\n// (5)\r\n// (fmt, 5)\r\n// (fmt)\r\n// (true)\r\n// (true, 5)\r\n// (true, fmt, 5)\r\n// (true, fmt)\r\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\r\n if (typeof localeSorted === 'boolean') {\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n } else {\r\n format = localeSorted;\r\n index = format;\r\n localeSorted = false;\r\n\r\n if (isNumber(format)) {\r\n index = format;\r\n format = undefined;\r\n }\r\n\r\n format = format || '';\r\n }\r\n\r\n var locale = getLocale(),\r\n shift = localeSorted ? locale._week.dow : 0;\r\n\r\n if (index != null) {\r\n return get$1(format, (index + shift) % 7, field, 'day');\r\n }\r\n\r\n var i;\r\n var out = [];\r\n for (i = 0; i < 7; i++) {\r\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\r\n }\r\n return out;\r\n}\r\n\r\nfunction listMonths (format, index) {\r\n return listMonthsImpl(format, index, 'months');\r\n}\r\n\r\nfunction listMonthsShort (format, index) {\r\n return listMonthsImpl(format, index, 'monthsShort');\r\n}\r\n\r\nfunction listWeekdays (localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\r\n}\r\n\r\nfunction listWeekdaysShort (localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\r\n}\r\n\r\nfunction listWeekdaysMin (localeSorted, format, index) {\r\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\r\n}\r\n\r\ngetSetGlobalLocale('en', {\r\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n }\r\n});\r\n\r\n// Side effect imports\r\n\r\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\r\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\r\n\r\nvar mathAbs = Math.abs;\r\n\r\nfunction abs () {\r\n var data = this._data;\r\n\r\n this._milliseconds = mathAbs(this._milliseconds);\r\n this._days = mathAbs(this._days);\r\n this._months = mathAbs(this._months);\r\n\r\n data.milliseconds = mathAbs(data.milliseconds);\r\n data.seconds = mathAbs(data.seconds);\r\n data.minutes = mathAbs(data.minutes);\r\n data.hours = mathAbs(data.hours);\r\n data.months = mathAbs(data.months);\r\n data.years = mathAbs(data.years);\r\n\r\n return this;\r\n}\r\n\r\nfunction addSubtract$1 (duration, input, value, direction) {\r\n var other = createDuration(input, value);\r\n\r\n duration._milliseconds += direction * other._milliseconds;\r\n duration._days += direction * other._days;\r\n duration._months += direction * other._months;\r\n\r\n return duration._bubble();\r\n}\r\n\r\n// supports only 2.0-style add(1, 's') or add(duration)\r\nfunction add$1 (input, value) {\r\n return addSubtract$1(this, input, value, 1);\r\n}\r\n\r\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\r\nfunction subtract$1 (input, value) {\r\n return addSubtract$1(this, input, value, -1);\r\n}\r\n\r\nfunction absCeil (number) {\r\n if (number < 0) {\r\n return Math.floor(number);\r\n } else {\r\n return Math.ceil(number);\r\n }\r\n}\r\n\r\nfunction bubble () {\r\n var milliseconds = this._milliseconds;\r\n var days = this._days;\r\n var months = this._months;\r\n var data = this._data;\r\n var seconds, minutes, hours, years, monthsFromDays;\r\n\r\n // if we have a mix of positive and negative values, bubble down first\r\n // check: https://github.com/moment/moment/issues/2166\r\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\r\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\r\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\r\n days = 0;\r\n months = 0;\r\n }\r\n\r\n // The following code bubbles up values, see the tests for\r\n // examples of what that means.\r\n data.milliseconds = milliseconds % 1000;\r\n\r\n seconds = absFloor(milliseconds / 1000);\r\n data.seconds = seconds % 60;\r\n\r\n minutes = absFloor(seconds / 60);\r\n data.minutes = minutes % 60;\r\n\r\n hours = absFloor(minutes / 60);\r\n data.hours = hours % 24;\r\n\r\n days += absFloor(hours / 24);\r\n\r\n // convert days to months\r\n monthsFromDays = absFloor(daysToMonths(days));\r\n months += monthsFromDays;\r\n days -= absCeil(monthsToDays(monthsFromDays));\r\n\r\n // 12 months -> 1 year\r\n years = absFloor(months / 12);\r\n months %= 12;\r\n\r\n data.days = days;\r\n data.months = months;\r\n data.years = years;\r\n\r\n return this;\r\n}\r\n\r\nfunction daysToMonths (days) {\r\n // 400 years have 146097 days (taking into account leap year rules)\r\n // 400 years have 12 months === 4800\r\n return days * 4800 / 146097;\r\n}\r\n\r\nfunction monthsToDays (months) {\r\n // the reverse of daysToMonths\r\n return months * 146097 / 4800;\r\n}\r\n\r\nfunction as (units) {\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n var days;\r\n var months;\r\n var milliseconds = this._milliseconds;\r\n\r\n units = normalizeUnits(units);\r\n\r\n if (units === 'month' || units === 'year') {\r\n days = this._days + milliseconds / 864e5;\r\n months = this._months + daysToMonths(days);\r\n return units === 'month' ? months : months / 12;\r\n } else {\r\n // handle milliseconds separately because of floating point math errors (issue #1867)\r\n days = this._days + Math.round(monthsToDays(this._months));\r\n switch (units) {\r\n case 'week' : return days / 7 + milliseconds / 6048e5;\r\n case 'day' : return days + milliseconds / 864e5;\r\n case 'hour' : return days * 24 + milliseconds / 36e5;\r\n case 'minute' : return days * 1440 + milliseconds / 6e4;\r\n case 'second' : return days * 86400 + milliseconds / 1000;\r\n // Math.floor prevents floating point math errors here\r\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\r\n default: throw new Error('Unknown unit ' + units);\r\n }\r\n }\r\n}\r\n\r\n// TODO: Use this.as('ms')?\r\nfunction valueOf$1 () {\r\n if (!this.isValid()) {\r\n return NaN;\r\n }\r\n return (\r\n this._milliseconds +\r\n this._days * 864e5 +\r\n (this._months % 12) * 2592e6 +\r\n toInt(this._months / 12) * 31536e6\r\n );\r\n}\r\n\r\nfunction makeAs (alias) {\r\n return function () {\r\n return this.as(alias);\r\n };\r\n}\r\n\r\nvar asMilliseconds = makeAs('ms');\r\nvar asSeconds = makeAs('s');\r\nvar asMinutes = makeAs('m');\r\nvar asHours = makeAs('h');\r\nvar asDays = makeAs('d');\r\nvar asWeeks = makeAs('w');\r\nvar asMonths = makeAs('M');\r\nvar asYears = makeAs('y');\r\n\r\nfunction clone$1 () {\r\n return createDuration(this);\r\n}\r\n\r\nfunction get$2 (units) {\r\n units = normalizeUnits(units);\r\n return this.isValid() ? this[units + 's']() : NaN;\r\n}\r\n\r\nfunction makeGetter(name) {\r\n return function () {\r\n return this.isValid() ? this._data[name] : NaN;\r\n };\r\n}\r\n\r\nvar milliseconds = makeGetter('milliseconds');\r\nvar seconds = makeGetter('seconds');\r\nvar minutes = makeGetter('minutes');\r\nvar hours = makeGetter('hours');\r\nvar days = makeGetter('days');\r\nvar months = makeGetter('months');\r\nvar years = makeGetter('years');\r\n\r\nfunction weeks () {\r\n return absFloor(this.days() / 7);\r\n}\r\n\r\nvar round = Math.round;\r\nvar thresholds = {\r\n ss: 44, // a few seconds to seconds\r\n s : 45, // seconds to minute\r\n m : 45, // minutes to hour\r\n h : 22, // hours to day\r\n d : 26, // days to month\r\n M : 11 // months to year\r\n};\r\n\r\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\r\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\r\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\r\n}\r\n\r\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\r\n var duration = createDuration(posNegDuration).abs();\r\n var seconds = round(duration.as('s'));\r\n var minutes = round(duration.as('m'));\r\n var hours = round(duration.as('h'));\r\n var days = round(duration.as('d'));\r\n var months = round(duration.as('M'));\r\n var years = round(duration.as('y'));\r\n\r\n var a = seconds <= thresholds.ss && ['s', seconds] ||\r\n seconds < thresholds.s && ['ss', seconds] ||\r\n minutes <= 1 && ['m'] ||\r\n minutes < thresholds.m && ['mm', minutes] ||\r\n hours <= 1 && ['h'] ||\r\n hours < thresholds.h && ['hh', hours] ||\r\n days <= 1 && ['d'] ||\r\n days < thresholds.d && ['dd', days] ||\r\n months <= 1 && ['M'] ||\r\n months < thresholds.M && ['MM', months] ||\r\n years <= 1 && ['y'] || ['yy', years];\r\n\r\n a[2] = withoutSuffix;\r\n a[3] = +posNegDuration > 0;\r\n a[4] = locale;\r\n return substituteTimeAgo.apply(null, a);\r\n}\r\n\r\n// This function allows you to set the rounding function for relative time strings\r\nfunction getSetRelativeTimeRounding (roundingFunction) {\r\n if (roundingFunction === undefined) {\r\n return round;\r\n }\r\n if (typeof(roundingFunction) === 'function') {\r\n round = roundingFunction;\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n// This function allows you to set a threshold for relative time strings\r\nfunction getSetRelativeTimeThreshold (threshold, limit) {\r\n if (thresholds[threshold] === undefined) {\r\n return false;\r\n }\r\n if (limit === undefined) {\r\n return thresholds[threshold];\r\n }\r\n thresholds[threshold] = limit;\r\n if (threshold === 's') {\r\n thresholds.ss = limit - 1;\r\n }\r\n return true;\r\n}\r\n\r\nfunction humanize (withSuffix) {\r\n if (!this.isValid()) {\r\n return this.localeData().invalidDate();\r\n }\r\n\r\n var locale = this.localeData();\r\n var output = relativeTime$1(this, !withSuffix, locale);\r\n\r\n if (withSuffix) {\r\n output = locale.pastFuture(+this, output);\r\n }\r\n\r\n return locale.postformat(output);\r\n}\r\n\r\nvar abs$1 = Math.abs;\r\n\r\nfunction sign(x) {\r\n return ((x > 0) - (x < 0)) || +x;\r\n}\r\n\r\nfunction toISOString$1() {\r\n // for ISO strings we do not use the normal bubbling rules:\r\n // * milliseconds bubble up until they become hours\r\n // * days do not bubble at all\r\n // * months bubble up until they become years\r\n // This is because there is no context-free conversion between hours and days\r\n // (think of clock changes)\r\n // and also not between days and months (28-31 days per month)\r\n if (!this.isValid()) {\r\n return this.localeData().invalidDate();\r\n }\r\n\r\n var seconds = abs$1(this._milliseconds) / 1000;\r\n var days = abs$1(this._days);\r\n var months = abs$1(this._months);\r\n var minutes, hours, years;\r\n\r\n // 3600 seconds -> 60 minutes -> 1 hour\r\n minutes = absFloor(seconds / 60);\r\n hours = absFloor(minutes / 60);\r\n seconds %= 60;\r\n minutes %= 60;\r\n\r\n // 12 months -> 1 year\r\n years = absFloor(months / 12);\r\n months %= 12;\r\n\r\n\r\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\r\n var Y = years;\r\n var M = months;\r\n var D = days;\r\n var h = hours;\r\n var m = minutes;\r\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\r\n var total = this.asSeconds();\r\n\r\n if (!total) {\r\n // this is the same as C#'s (Noda) and python (isodate)...\r\n // but not other JS (goog.date)\r\n return 'P0D';\r\n }\r\n\r\n var totalSign = total < 0 ? '-' : '';\r\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\r\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\r\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\r\n\r\n return totalSign + 'P' +\r\n (Y ? ymSign + Y + 'Y' : '') +\r\n (M ? ymSign + M + 'M' : '') +\r\n (D ? daysSign + D + 'D' : '') +\r\n ((h || m || s) ? 'T' : '') +\r\n (h ? hmsSign + h + 'H' : '') +\r\n (m ? hmsSign + m + 'M' : '') +\r\n (s ? hmsSign + s + 'S' : '');\r\n}\r\n\r\nvar proto$2 = Duration.prototype;\r\n\r\nproto$2.isValid = isValid$1;\r\nproto$2.abs = abs;\r\nproto$2.add = add$1;\r\nproto$2.subtract = subtract$1;\r\nproto$2.as = as;\r\nproto$2.asMilliseconds = asMilliseconds;\r\nproto$2.asSeconds = asSeconds;\r\nproto$2.asMinutes = asMinutes;\r\nproto$2.asHours = asHours;\r\nproto$2.asDays = asDays;\r\nproto$2.asWeeks = asWeeks;\r\nproto$2.asMonths = asMonths;\r\nproto$2.asYears = asYears;\r\nproto$2.valueOf = valueOf$1;\r\nproto$2._bubble = bubble;\r\nproto$2.clone = clone$1;\r\nproto$2.get = get$2;\r\nproto$2.milliseconds = milliseconds;\r\nproto$2.seconds = seconds;\r\nproto$2.minutes = minutes;\r\nproto$2.hours = hours;\r\nproto$2.days = days;\r\nproto$2.weeks = weeks;\r\nproto$2.months = months;\r\nproto$2.years = years;\r\nproto$2.humanize = humanize;\r\nproto$2.toISOString = toISOString$1;\r\nproto$2.toString = toISOString$1;\r\nproto$2.toJSON = toISOString$1;\r\nproto$2.locale = locale;\r\nproto$2.localeData = localeData;\r\n\r\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\r\nproto$2.lang = lang;\r\n\r\n// Side effect imports\r\n\r\n// FORMATTING\r\n\r\naddFormatToken('X', 0, 0, 'unix');\r\naddFormatToken('x', 0, 0, 'valueOf');\r\n\r\n// PARSING\r\n\r\naddRegexToken('x', matchSigned);\r\naddRegexToken('X', matchTimestamp);\r\naddParseToken('X', function (input, array, config) {\r\n config._d = new Date(parseFloat(input, 10) * 1000);\r\n});\r\naddParseToken('x', function (input, array, config) {\r\n config._d = new Date(toInt(input));\r\n});\r\n\r\n// Side effect imports\r\n\r\n//! moment.js\r\n\r\nhooks.version = '2.21.0';\r\n\r\nsetHookCallback(createLocal);\r\n\r\nhooks.fn = proto;\r\nhooks.min = min;\r\nhooks.max = max;\r\nhooks.now = now;\r\nhooks.utc = createUTC;\r\nhooks.unix = createUnix;\r\nhooks.months = listMonths;\r\nhooks.isDate = isDate;\r\nhooks.locale = getSetGlobalLocale;\r\nhooks.invalid = createInvalid;\r\nhooks.duration = createDuration;\r\nhooks.isMoment = isMoment;\r\nhooks.weekdays = listWeekdays;\r\nhooks.parseZone = createInZone;\r\nhooks.localeData = getLocale;\r\nhooks.isDuration = isDuration;\r\nhooks.monthsShort = listMonthsShort;\r\nhooks.weekdaysMin = listWeekdaysMin;\r\nhooks.defineLocale = defineLocale;\r\nhooks.updateLocale = updateLocale;\r\nhooks.locales = listLocales;\r\nhooks.weekdaysShort = listWeekdaysShort;\r\nhooks.normalizeUnits = normalizeUnits;\r\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\r\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\r\nhooks.calendarFormat = getCalendarFormat;\r\nhooks.prototype = proto;\r\n\r\n// currently HTML5 input type only supports 24-hour formats\r\nhooks.HTML5_FMT = {\r\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \r\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \r\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \r\n DATE: 'YYYY-MM-DD', // \r\n TIME: 'HH:mm', // \r\n TIME_SECONDS: 'HH:mm:ss', // \r\n TIME_MS: 'HH:mm:ss.SSS', // \r\n WEEK: 'YYYY-[W]WW', // \r\n MONTH: 'YYYY-MM' // \r\n};\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('af', {\r\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\r\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\r\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\r\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\r\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\r\n meridiemParse: /vm|nm/i,\r\n isPM : function (input) {\r\n return /^nm$/i.test(input);\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 12) {\r\n return isLower ? 'vm' : 'VM';\r\n } else {\r\n return isLower ? 'nm' : 'NM';\r\n }\r\n },\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Vandag om] LT',\r\n nextDay : '[Môre om] LT',\r\n nextWeek : 'dddd [om] LT',\r\n lastDay : '[Gister om] LT',\r\n lastWeek : '[Laas] dddd [om] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'oor %s',\r\n past : '%s gelede',\r\n s : '\\'n paar sekondes',\r\n ss : '%d sekondes',\r\n m : '\\'n minuut',\r\n mm : '%d minute',\r\n h : '\\'n uur',\r\n hh : '%d ure',\r\n d : '\\'n dag',\r\n dd : '%d dae',\r\n M : '\\'n maand',\r\n MM : '%d maande',\r\n y : '\\'n jaar',\r\n yy : '%d jaar'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\r\n ordinal : function (number) {\r\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\r\n },\r\n week : {\r\n dow : 1, // Maandag is die eerste dag van die week.\r\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ar-dz', {\r\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[اليوم على الساعة] LT',\r\n nextDay: '[غدا على الساعة] LT',\r\n nextWeek: 'dddd [على الساعة] LT',\r\n lastDay: '[أمس على الساعة] LT',\r\n lastWeek: 'dddd [على الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'في %s',\r\n past : 'منذ %s',\r\n s : 'ثوان',\r\n ss : '%d ثانية',\r\n m : 'دقيقة',\r\n mm : '%d دقائق',\r\n h : 'ساعة',\r\n hh : '%d ساعات',\r\n d : 'يوم',\r\n dd : '%d أيام',\r\n M : 'شهر',\r\n MM : '%d أشهر',\r\n y : 'سنة',\r\n yy : '%d سنوات'\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 4 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ar-kw', {\r\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\r\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\r\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[اليوم على الساعة] LT',\r\n nextDay: '[غدا على الساعة] LT',\r\n nextWeek: 'dddd [على الساعة] LT',\r\n lastDay: '[أمس على الساعة] LT',\r\n lastWeek: 'dddd [على الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'في %s',\r\n past : 'منذ %s',\r\n s : 'ثوان',\r\n ss : '%d ثانية',\r\n m : 'دقيقة',\r\n mm : '%d دقائق',\r\n h : 'ساعة',\r\n hh : '%d ساعات',\r\n d : 'يوم',\r\n dd : '%d أيام',\r\n M : 'شهر',\r\n MM : '%d أشهر',\r\n y : 'سنة',\r\n yy : '%d سنوات'\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap = {\r\n '1': '1',\r\n '2': '2',\r\n '3': '3',\r\n '4': '4',\r\n '5': '5',\r\n '6': '6',\r\n '7': '7',\r\n '8': '8',\r\n '9': '9',\r\n '0': '0'\r\n}, pluralForm = function (n) {\r\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\r\n}, plurals = {\r\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\r\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\r\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\r\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\r\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\r\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\r\n}, pluralize = function (u) {\r\n return function (number, withoutSuffix, string, isFuture) {\r\n var f = pluralForm(number),\r\n str = plurals[u][pluralForm(number)];\r\n if (f === 2) {\r\n str = str[withoutSuffix ? 0 : 1];\r\n }\r\n return str.replace(/%d/i, number);\r\n };\r\n}, months$1 = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'أغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر'\r\n];\r\n\r\nhooks.defineLocale('ar-ly', {\r\n months : months$1,\r\n monthsShort : months$1,\r\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'D/\\u200FM/\\u200FYYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /ص|م/,\r\n isPM : function (input) {\r\n return 'م' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'ص';\r\n } else {\r\n return 'م';\r\n }\r\n },\r\n calendar : {\r\n sameDay: '[اليوم عند الساعة] LT',\r\n nextDay: '[غدًا عند الساعة] LT',\r\n nextWeek: 'dddd [عند الساعة] LT',\r\n lastDay: '[أمس عند الساعة] LT',\r\n lastWeek: 'dddd [عند الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'بعد %s',\r\n past : 'منذ %s',\r\n s : pluralize('s'),\r\n ss : pluralize('s'),\r\n m : pluralize('m'),\r\n mm : pluralize('m'),\r\n h : pluralize('h'),\r\n hh : pluralize('h'),\r\n d : pluralize('d'),\r\n dd : pluralize('d'),\r\n M : pluralize('M'),\r\n MM : pluralize('M'),\r\n y : pluralize('y'),\r\n yy : pluralize('y')\r\n },\r\n preparse: function (string) {\r\n return string.replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap[match];\r\n }).replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ar-ma', {\r\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\r\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\r\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[اليوم على الساعة] LT',\r\n nextDay: '[غدا على الساعة] LT',\r\n nextWeek: 'dddd [على الساعة] LT',\r\n lastDay: '[أمس على الساعة] LT',\r\n lastWeek: 'dddd [على الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'في %s',\r\n past : 'منذ %s',\r\n s : 'ثوان',\r\n ss : '%d ثانية',\r\n m : 'دقيقة',\r\n mm : '%d دقائق',\r\n h : 'ساعة',\r\n hh : '%d ساعات',\r\n d : 'يوم',\r\n dd : '%d أيام',\r\n M : 'شهر',\r\n MM : '%d أشهر',\r\n y : 'سنة',\r\n yy : '%d سنوات'\r\n },\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$1 = {\r\n '1': '١',\r\n '2': '٢',\r\n '3': '٣',\r\n '4': '٤',\r\n '5': '٥',\r\n '6': '٦',\r\n '7': '٧',\r\n '8': '٨',\r\n '9': '٩',\r\n '0': '٠'\r\n}, numberMap = {\r\n '١': '1',\r\n '٢': '2',\r\n '٣': '3',\r\n '٤': '4',\r\n '٥': '5',\r\n '٦': '6',\r\n '٧': '7',\r\n '٨': '8',\r\n '٩': '9',\r\n '٠': '0'\r\n};\r\n\r\nhooks.defineLocale('ar-sa', {\r\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /ص|م/,\r\n isPM : function (input) {\r\n return 'م' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'ص';\r\n } else {\r\n return 'م';\r\n }\r\n },\r\n calendar : {\r\n sameDay: '[اليوم على الساعة] LT',\r\n nextDay: '[غدا على الساعة] LT',\r\n nextWeek: 'dddd [على الساعة] LT',\r\n lastDay: '[أمس على الساعة] LT',\r\n lastWeek: 'dddd [على الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'في %s',\r\n past : 'منذ %s',\r\n s : 'ثوان',\r\n ss : '%d ثانية',\r\n m : 'دقيقة',\r\n mm : '%d دقائق',\r\n h : 'ساعة',\r\n hh : '%d ساعات',\r\n d : 'يوم',\r\n dd : '%d أيام',\r\n M : 'شهر',\r\n MM : '%d أشهر',\r\n y : 'سنة',\r\n yy : '%d سنوات'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\r\n return numberMap[match];\r\n }).replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$1[match];\r\n }).replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ar-tn', {\r\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\r\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY HH:mm',\r\n LLLL: 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[اليوم على الساعة] LT',\r\n nextDay: '[غدا على الساعة] LT',\r\n nextWeek: 'dddd [على الساعة] LT',\r\n lastDay: '[أمس على الساعة] LT',\r\n lastWeek: 'dddd [على الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: 'في %s',\r\n past: 'منذ %s',\r\n s: 'ثوان',\r\n ss : '%d ثانية',\r\n m: 'دقيقة',\r\n mm: '%d دقائق',\r\n h: 'ساعة',\r\n hh: '%d ساعات',\r\n d: 'يوم',\r\n dd: '%d أيام',\r\n M: 'شهر',\r\n MM: '%d أشهر',\r\n y: 'سنة',\r\n yy: '%d سنوات'\r\n },\r\n week: {\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$2 = {\r\n '1': '١',\r\n '2': '٢',\r\n '3': '٣',\r\n '4': '٤',\r\n '5': '٥',\r\n '6': '٦',\r\n '7': '٧',\r\n '8': '٨',\r\n '9': '٩',\r\n '0': '٠'\r\n}, numberMap$1 = {\r\n '١': '1',\r\n '٢': '2',\r\n '٣': '3',\r\n '٤': '4',\r\n '٥': '5',\r\n '٦': '6',\r\n '٧': '7',\r\n '٨': '8',\r\n '٩': '9',\r\n '٠': '0'\r\n}, pluralForm$1 = function (n) {\r\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\r\n}, plurals$1 = {\r\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\r\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\r\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\r\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\r\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\r\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\r\n}, pluralize$1 = function (u) {\r\n return function (number, withoutSuffix, string, isFuture) {\r\n var f = pluralForm$1(number),\r\n str = plurals$1[u][pluralForm$1(number)];\r\n if (f === 2) {\r\n str = str[withoutSuffix ? 0 : 1];\r\n }\r\n return str.replace(/%d/i, number);\r\n };\r\n}, months$2 = [\r\n 'يناير',\r\n 'فبراير',\r\n 'مارس',\r\n 'أبريل',\r\n 'مايو',\r\n 'يونيو',\r\n 'يوليو',\r\n 'أغسطس',\r\n 'سبتمبر',\r\n 'أكتوبر',\r\n 'نوفمبر',\r\n 'ديسمبر'\r\n];\r\n\r\nhooks.defineLocale('ar', {\r\n months : months$2,\r\n monthsShort : months$2,\r\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\r\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\r\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'D/\\u200FM/\\u200FYYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /ص|م/,\r\n isPM : function (input) {\r\n return 'م' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'ص';\r\n } else {\r\n return 'م';\r\n }\r\n },\r\n calendar : {\r\n sameDay: '[اليوم عند الساعة] LT',\r\n nextDay: '[غدًا عند الساعة] LT',\r\n nextWeek: 'dddd [عند الساعة] LT',\r\n lastDay: '[أمس عند الساعة] LT',\r\n lastWeek: 'dddd [عند الساعة] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'بعد %s',\r\n past : 'منذ %s',\r\n s : pluralize$1('s'),\r\n ss : pluralize$1('s'),\r\n m : pluralize$1('m'),\r\n mm : pluralize$1('m'),\r\n h : pluralize$1('h'),\r\n hh : pluralize$1('h'),\r\n d : pluralize$1('d'),\r\n dd : pluralize$1('d'),\r\n M : pluralize$1('M'),\r\n MM : pluralize$1('M'),\r\n y : pluralize$1('y'),\r\n yy : pluralize$1('y')\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\r\n return numberMap$1[match];\r\n }).replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$2[match];\r\n }).replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar suffixes = {\r\n 1: '-inci',\r\n 5: '-inci',\r\n 8: '-inci',\r\n 70: '-inci',\r\n 80: '-inci',\r\n 2: '-nci',\r\n 7: '-nci',\r\n 20: '-nci',\r\n 50: '-nci',\r\n 3: '-üncü',\r\n 4: '-üncü',\r\n 100: '-üncü',\r\n 6: '-ncı',\r\n 9: '-uncu',\r\n 10: '-uncu',\r\n 30: '-uncu',\r\n 60: '-ıncı',\r\n 90: '-ıncı'\r\n};\r\n\r\nhooks.defineLocale('az', {\r\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\r\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\r\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\r\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\r\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[bugün saat] LT',\r\n nextDay : '[sabah saat] LT',\r\n nextWeek : '[gələn həftə] dddd [saat] LT',\r\n lastDay : '[dünən] LT',\r\n lastWeek : '[keçən həftə] dddd [saat] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s sonra',\r\n past : '%s əvvəl',\r\n s : 'birneçə saniyyə',\r\n ss : '%d saniyə',\r\n m : 'bir dəqiqə',\r\n mm : '%d dəqiqə',\r\n h : 'bir saat',\r\n hh : '%d saat',\r\n d : 'bir gün',\r\n dd : '%d gün',\r\n M : 'bir ay',\r\n MM : '%d ay',\r\n y : 'bir il',\r\n yy : '%d il'\r\n },\r\n meridiemParse: /gecə|səhər|gündüz|axşam/,\r\n isPM : function (input) {\r\n return /^(gündüz|axşam)$/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'gecə';\r\n } else if (hour < 12) {\r\n return 'səhər';\r\n } else if (hour < 17) {\r\n return 'gündüz';\r\n } else {\r\n return 'axşam';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\r\n ordinal : function (number) {\r\n if (number === 0) { // special case for zero\r\n return number + '-ıncı';\r\n }\r\n var a = number % 10,\r\n b = number % 100 - a,\r\n c = number >= 100 ? 100 : null;\r\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction plural(word, num) {\r\n var forms = word.split('_');\r\n 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]);\r\n}\r\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\r\n var format = {\r\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\r\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\r\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\r\n 'dd': 'дзень_дні_дзён',\r\n 'MM': 'месяц_месяцы_месяцаў',\r\n 'yy': 'год_гады_гадоў'\r\n };\r\n if (key === 'm') {\r\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\r\n }\r\n else if (key === 'h') {\r\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\r\n }\r\n else {\r\n return number + ' ' + plural(format[key], +number);\r\n }\r\n}\r\n\r\nhooks.defineLocale('be', {\r\n months : {\r\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\r\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\r\n },\r\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\r\n weekdays : {\r\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\r\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\r\n isFormat: /\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/\r\n },\r\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\r\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY г.',\r\n LLL : 'D MMMM YYYY г., HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Сёння ў] LT',\r\n nextDay: '[Заўтра ў] LT',\r\n lastDay: '[Учора ў] LT',\r\n nextWeek: function () {\r\n return '[У] dddd [ў] LT';\r\n },\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n case 5:\r\n case 6:\r\n return '[У мінулую] dddd [ў] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n return '[У мінулы] dddd [ў] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'праз %s',\r\n past : '%s таму',\r\n s : 'некалькі секунд',\r\n m : relativeTimeWithPlural,\r\n mm : relativeTimeWithPlural,\r\n h : relativeTimeWithPlural,\r\n hh : relativeTimeWithPlural,\r\n d : 'дзень',\r\n dd : relativeTimeWithPlural,\r\n M : 'месяц',\r\n MM : relativeTimeWithPlural,\r\n y : 'год',\r\n yy : relativeTimeWithPlural\r\n },\r\n meridiemParse: /ночы|раніцы|дня|вечара/,\r\n isPM : function (input) {\r\n return /^(дня|вечара)$/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'ночы';\r\n } else if (hour < 12) {\r\n return 'раніцы';\r\n } else if (hour < 17) {\r\n return 'дня';\r\n } else {\r\n return 'вечара';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'M':\r\n case 'd':\r\n case 'DDD':\r\n case 'w':\r\n case 'W':\r\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\r\n case 'D':\r\n return number + '-га';\r\n default:\r\n return number;\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('bg', {\r\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\r\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\r\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\r\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\r\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'D.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY H:mm',\r\n LLLL : 'dddd, D MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Днес в] LT',\r\n nextDay : '[Утре в] LT',\r\n nextWeek : 'dddd [в] LT',\r\n lastDay : '[Вчера в] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n case 6:\r\n return '[В изминалата] dddd [в] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[В изминалия] dddd [в] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'след %s',\r\n past : 'преди %s',\r\n s : 'няколко секунди',\r\n ss : '%d секунди',\r\n m : 'минута',\r\n mm : '%d минути',\r\n h : 'час',\r\n hh : '%d часа',\r\n d : 'ден',\r\n dd : '%d дни',\r\n M : 'месец',\r\n MM : '%d месеца',\r\n y : 'година',\r\n yy : '%d години'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\r\n ordinal : function (number) {\r\n var lastDigit = number % 10,\r\n last2Digits = number % 100;\r\n if (number === 0) {\r\n return number + '-ев';\r\n } else if (last2Digits === 0) {\r\n return number + '-ен';\r\n } else if (last2Digits > 10 && last2Digits < 20) {\r\n return number + '-ти';\r\n } else if (lastDigit === 1) {\r\n return number + '-ви';\r\n } else if (lastDigit === 2) {\r\n return number + '-ри';\r\n } else if (lastDigit === 7 || lastDigit === 8) {\r\n return number + '-ми';\r\n } else {\r\n return number + '-ти';\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('bm', {\r\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\r\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\r\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\r\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\r\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'MMMM [tile] D [san] YYYY',\r\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\r\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Bi lɛrɛ] LT',\r\n nextDay : '[Sini lɛrɛ] LT',\r\n nextWeek : 'dddd [don lɛrɛ] LT',\r\n lastDay : '[Kunu lɛrɛ] LT',\r\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s kɔnɔ',\r\n past : 'a bɛ %s bɔ',\r\n s : 'sanga dama dama',\r\n ss : 'sekondi %d',\r\n m : 'miniti kelen',\r\n mm : 'miniti %d',\r\n h : 'lɛrɛ kelen',\r\n hh : 'lɛrɛ %d',\r\n d : 'tile kelen',\r\n dd : 'tile %d',\r\n M : 'kalo kelen',\r\n MM : 'kalo %d',\r\n y : 'san kelen',\r\n yy : 'san %d'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$3 = {\r\n '1': '১',\r\n '2': '২',\r\n '3': '৩',\r\n '4': '৪',\r\n '5': '৫',\r\n '6': '৬',\r\n '7': '৭',\r\n '8': '৮',\r\n '9': '৯',\r\n '0': '০'\r\n},\r\nnumberMap$2 = {\r\n '১': '1',\r\n '২': '2',\r\n '৩': '3',\r\n '৪': '4',\r\n '৫': '5',\r\n '৬': '6',\r\n '৭': '7',\r\n '৮': '8',\r\n '৯': '9',\r\n '০': '0'\r\n};\r\n\r\nhooks.defineLocale('bn', {\r\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\r\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\r\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\r\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\r\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm সময়',\r\n LTS : 'A h:mm:ss সময়',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm সময়',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\r\n },\r\n calendar : {\r\n sameDay : '[আজ] LT',\r\n nextDay : '[আগামীকাল] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[গতকাল] LT',\r\n lastWeek : '[গত] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s পরে',\r\n past : '%s আগে',\r\n s : 'কয়েক সেকেন্ড',\r\n ss : '%d সেকেন্ড',\r\n m : 'এক মিনিট',\r\n mm : '%d মিনিট',\r\n h : 'এক ঘন্টা',\r\n hh : '%d ঘন্টা',\r\n d : 'এক দিন',\r\n dd : '%d দিন',\r\n M : 'এক মাস',\r\n MM : '%d মাস',\r\n y : 'এক বছর',\r\n yy : '%d বছর'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\r\n return numberMap$2[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$3[match];\r\n });\r\n },\r\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if ((meridiem === 'রাত' && hour >= 4) ||\r\n (meridiem === 'দুপুর' && hour < 5) ||\r\n meridiem === 'বিকাল') {\r\n return hour + 12;\r\n } else {\r\n return hour;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'রাত';\r\n } else if (hour < 10) {\r\n return 'সকাল';\r\n } else if (hour < 17) {\r\n return 'দুপুর';\r\n } else if (hour < 20) {\r\n return 'বিকাল';\r\n } else {\r\n return 'রাত';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$4 = {\r\n '1': '༡',\r\n '2': '༢',\r\n '3': '༣',\r\n '4': '༤',\r\n '5': '༥',\r\n '6': '༦',\r\n '7': '༧',\r\n '8': '༨',\r\n '9': '༩',\r\n '0': '༠'\r\n},\r\nnumberMap$3 = {\r\n '༡': '1',\r\n '༢': '2',\r\n '༣': '3',\r\n '༤': '4',\r\n '༥': '5',\r\n '༦': '6',\r\n '༧': '7',\r\n '༨': '8',\r\n '༩': '9',\r\n '༠': '0'\r\n};\r\n\r\nhooks.defineLocale('bo', {\r\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\r\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\r\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\r\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\r\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm',\r\n LTS : 'A h:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\r\n },\r\n calendar : {\r\n sameDay : '[དི་རིང] LT',\r\n nextDay : '[སང་ཉིན] LT',\r\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\r\n lastDay : '[ཁ་སང] LT',\r\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s ལ་',\r\n past : '%s སྔན་ལ',\r\n s : 'ལམ་སང',\r\n ss : '%d སྐར་ཆ།',\r\n m : 'སྐར་མ་གཅིག',\r\n mm : '%d སྐར་མ',\r\n h : 'ཆུ་ཚོད་གཅིག',\r\n hh : '%d ཆུ་ཚོད',\r\n d : 'ཉིན་གཅིག',\r\n dd : '%d ཉིན་',\r\n M : 'ཟླ་བ་གཅིག',\r\n MM : '%d ཟླ་བ',\r\n y : 'ལོ་གཅིག',\r\n yy : '%d ལོ'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\r\n return numberMap$3[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$4[match];\r\n });\r\n },\r\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\r\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\r\n meridiem === 'དགོང་དག') {\r\n return hour + 12;\r\n } else {\r\n return hour;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'མཚན་མོ';\r\n } else if (hour < 10) {\r\n return 'ཞོགས་ཀས';\r\n } else if (hour < 17) {\r\n return 'ཉིན་གུང';\r\n } else if (hour < 20) {\r\n return 'དགོང་དག';\r\n } else {\r\n return 'མཚན་མོ';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction relativeTimeWithMutation(number, withoutSuffix, key) {\r\n var format = {\r\n 'mm': 'munutenn',\r\n 'MM': 'miz',\r\n 'dd': 'devezh'\r\n };\r\n return number + ' ' + mutation(format[key], number);\r\n}\r\nfunction specialMutationForYears(number) {\r\n switch (lastNumber(number)) {\r\n case 1:\r\n case 3:\r\n case 4:\r\n case 5:\r\n case 9:\r\n return number + ' bloaz';\r\n default:\r\n return number + ' vloaz';\r\n }\r\n}\r\nfunction lastNumber(number) {\r\n if (number > 9) {\r\n return lastNumber(number % 10);\r\n }\r\n return number;\r\n}\r\nfunction mutation(text, number) {\r\n if (number === 2) {\r\n return softMutation(text);\r\n }\r\n return text;\r\n}\r\nfunction softMutation(text) {\r\n var mutationTable = {\r\n 'm': 'v',\r\n 'b': 'v',\r\n 'd': 'z'\r\n };\r\n if (mutationTable[text.charAt(0)] === undefined) {\r\n return text;\r\n }\r\n return mutationTable[text.charAt(0)] + text.substring(1);\r\n}\r\n\r\nhooks.defineLocale('br', {\r\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\r\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\r\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\r\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\r\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'h[e]mm A',\r\n LTS : 'h[e]mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [a viz] MMMM YYYY',\r\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\r\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Hiziv da] LT',\r\n nextDay : '[Warc\\'hoazh da] LT',\r\n nextWeek : 'dddd [da] LT',\r\n lastDay : '[Dec\\'h da] LT',\r\n lastWeek : 'dddd [paset da] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'a-benn %s',\r\n past : '%s \\'zo',\r\n s : 'un nebeud segondennoù',\r\n ss : '%d eilenn',\r\n m : 'ur vunutenn',\r\n mm : relativeTimeWithMutation,\r\n h : 'un eur',\r\n hh : '%d eur',\r\n d : 'un devezh',\r\n dd : relativeTimeWithMutation,\r\n M : 'ur miz',\r\n MM : relativeTimeWithMutation,\r\n y : 'ur bloaz',\r\n yy : specialMutationForYears\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\r\n ordinal : function (number) {\r\n var output = (number === 1) ? 'añ' : 'vet';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction translate(number, withoutSuffix, key) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 'ss':\r\n if (number === 1) {\r\n result += 'sekunda';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'sekunde';\r\n } else {\r\n result += 'sekundi';\r\n }\r\n return result;\r\n case 'm':\r\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\r\n case 'mm':\r\n if (number === 1) {\r\n result += 'minuta';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'minute';\r\n } else {\r\n result += 'minuta';\r\n }\r\n return result;\r\n case 'h':\r\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\r\n case 'hh':\r\n if (number === 1) {\r\n result += 'sat';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'sata';\r\n } else {\r\n result += 'sati';\r\n }\r\n return result;\r\n case 'dd':\r\n if (number === 1) {\r\n result += 'dan';\r\n } else {\r\n result += 'dana';\r\n }\r\n return result;\r\n case 'MM':\r\n if (number === 1) {\r\n result += 'mjesec';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'mjeseca';\r\n } else {\r\n result += 'mjeseci';\r\n }\r\n return result;\r\n case 'yy':\r\n if (number === 1) {\r\n result += 'godina';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'godine';\r\n } else {\r\n result += 'godina';\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nhooks.defineLocale('bs', {\r\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\r\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\r\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\r\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[danas u] LT',\r\n nextDay : '[sutra u] LT',\r\n nextWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[u] [nedjelju] [u] LT';\r\n case 3:\r\n return '[u] [srijedu] [u] LT';\r\n case 6:\r\n return '[u] [subotu] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[u] dddd [u] LT';\r\n }\r\n },\r\n lastDay : '[jučer u] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n return '[prošlu] dddd [u] LT';\r\n case 6:\r\n return '[prošle] [subote] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[prošli] dddd [u] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'prije %s',\r\n s : 'par sekundi',\r\n ss : translate,\r\n m : translate,\r\n mm : translate,\r\n h : translate,\r\n hh : translate,\r\n d : 'dan',\r\n dd : translate,\r\n M : 'mjesec',\r\n MM : translate,\r\n y : 'godinu',\r\n yy : translate\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ca', {\r\n months : {\r\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\r\n 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('_'),\r\n isFormat: /D[oD]?(\\s)+MMMM/\r\n },\r\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\r\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\r\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM [de] YYYY',\r\n ll : 'D MMM YYYY',\r\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\r\n lll : 'D MMM YYYY, H:mm',\r\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\r\n llll : 'ddd D MMM YYYY, H:mm'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'd\\'aquí %s',\r\n past : 'fa %s',\r\n s : 'uns segons',\r\n ss : '%d segons',\r\n m : 'un minut',\r\n mm : '%d minuts',\r\n h : 'una hora',\r\n hh : '%d hores',\r\n d : 'un dia',\r\n dd : '%d dies',\r\n M : 'un mes',\r\n MM : '%d mesos',\r\n y : 'un any',\r\n yy : '%d anys'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\r\n ordinal : function (number, period) {\r\n var output = (number === 1) ? 'r' :\r\n (number === 2) ? 'n' :\r\n (number === 3) ? 'r' :\r\n (number === 4) ? 't' : 'è';\r\n if (period === 'w' || period === 'W') {\r\n output = 'a';\r\n }\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$3 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\r\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\r\nfunction plural$1(n) {\r\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\r\n}\r\nfunction translate$1(number, withoutSuffix, key, isFuture) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 's': // a few seconds / in a few seconds / a few seconds ago\r\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\r\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\r\n } else {\r\n return result + 'sekundami';\r\n }\r\n break;\r\n case 'm': // a minute / in a minute / a minute ago\r\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\r\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'minuty' : 'minut');\r\n } else {\r\n return result + 'minutami';\r\n }\r\n break;\r\n case 'h': // an hour / in an hour / an hour ago\r\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\r\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\r\n } else {\r\n return result + 'hodinami';\r\n }\r\n break;\r\n case 'd': // a day / in a day / a day ago\r\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\r\n case 'dd': // 9 days / in 9 days / 9 days ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'dny' : 'dní');\r\n } else {\r\n return result + 'dny';\r\n }\r\n break;\r\n case 'M': // a month / in a month / a month ago\r\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\r\n case 'MM': // 9 months / in 9 months / 9 months ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\r\n } else {\r\n return result + 'měsíci';\r\n }\r\n break;\r\n case 'y': // a year / in a year / a year ago\r\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\r\n case 'yy': // 9 years / in 9 years / 9 years ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$1(number) ? 'roky' : 'let');\r\n } else {\r\n return result + 'lety';\r\n }\r\n break;\r\n }\r\n}\r\n\r\nhooks.defineLocale('cs', {\r\n months : months$3,\r\n monthsShort : monthsShort,\r\n monthsParse : (function (months, monthsShort) {\r\n var i, _monthsParse = [];\r\n for (i = 0; i < 12; i++) {\r\n // use custom parser to solve problem with July (červenec)\r\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\r\n }\r\n return _monthsParse;\r\n }(months$3, monthsShort)),\r\n shortMonthsParse : (function (monthsShort) {\r\n var i, _shortMonthsParse = [];\r\n for (i = 0; i < 12; i++) {\r\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\r\n }\r\n return _shortMonthsParse;\r\n }(monthsShort)),\r\n longMonthsParse : (function (months) {\r\n var i, _longMonthsParse = [];\r\n for (i = 0; i < 12; i++) {\r\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\r\n }\r\n return _longMonthsParse;\r\n }(months$3)),\r\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\r\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\r\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\r\n longDateFormat : {\r\n LT: 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd D. MMMM YYYY H:mm',\r\n l : 'D. M. YYYY'\r\n },\r\n calendar : {\r\n sameDay: '[dnes v] LT',\r\n nextDay: '[zítra v] LT',\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[v neděli v] LT';\r\n case 1:\r\n case 2:\r\n return '[v] dddd [v] LT';\r\n case 3:\r\n return '[ve středu v] LT';\r\n case 4:\r\n return '[ve čtvrtek v] LT';\r\n case 5:\r\n return '[v pátek v] LT';\r\n case 6:\r\n return '[v sobotu v] LT';\r\n }\r\n },\r\n lastDay: '[včera v] LT',\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[minulou neděli v] LT';\r\n case 1:\r\n case 2:\r\n return '[minulé] dddd [v] LT';\r\n case 3:\r\n return '[minulou středu v] LT';\r\n case 4:\r\n case 5:\r\n return '[minulý] dddd [v] LT';\r\n case 6:\r\n return '[minulou sobotu v] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'před %s',\r\n s : translate$1,\r\n ss : translate$1,\r\n m : translate$1,\r\n mm : translate$1,\r\n h : translate$1,\r\n hh : translate$1,\r\n d : translate$1,\r\n dd : translate$1,\r\n M : translate$1,\r\n MM : translate$1,\r\n y : translate$1,\r\n yy : translate$1\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('cv', {\r\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\r\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\r\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\r\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\r\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD-MM-YYYY',\r\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\r\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\r\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Паян] LT [сехетре]',\r\n nextDay: '[Ыран] LT [сехетре]',\r\n lastDay: '[Ӗнер] LT [сехетре]',\r\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\r\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : function (output) {\r\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\r\n return output + affix;\r\n },\r\n past : '%s каялла',\r\n s : 'пӗр-ик ҫеккунт',\r\n ss : '%d ҫеккунт',\r\n m : 'пӗр минут',\r\n mm : '%d минут',\r\n h : 'пӗр сехет',\r\n hh : '%d сехет',\r\n d : 'пӗр кун',\r\n dd : '%d кун',\r\n M : 'пӗр уйӑх',\r\n MM : '%d уйӑх',\r\n y : 'пӗр ҫул',\r\n yy : '%d ҫул'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\r\n ordinal : '%d-мӗш',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('cy', {\r\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\r\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\r\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\r\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\r\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n // time formats are the same as en-gb\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY HH:mm',\r\n LLLL: 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[Heddiw am] LT',\r\n nextDay: '[Yfory am] LT',\r\n nextWeek: 'dddd [am] LT',\r\n lastDay: '[Ddoe am] LT',\r\n lastWeek: 'dddd [diwethaf am] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: 'mewn %s',\r\n past: '%s yn ôl',\r\n s: 'ychydig eiliadau',\r\n ss: '%d eiliad',\r\n m: 'munud',\r\n mm: '%d munud',\r\n h: 'awr',\r\n hh: '%d awr',\r\n d: 'diwrnod',\r\n dd: '%d diwrnod',\r\n M: 'mis',\r\n MM: '%d mis',\r\n y: 'blwyddyn',\r\n yy: '%d flynedd'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\r\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\r\n ordinal: function (number) {\r\n var b = number,\r\n output = '',\r\n lookup = [\r\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\r\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\r\n ];\r\n if (b > 20) {\r\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\r\n output = 'fed'; // not 30ain, 70ain or 90ain\r\n } else {\r\n output = 'ain';\r\n }\r\n } else if (b > 0) {\r\n output = lookup[b];\r\n }\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('da', {\r\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\r\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\r\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\r\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY HH:mm',\r\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[i dag kl.] LT',\r\n nextDay : '[i morgen kl.] LT',\r\n nextWeek : 'på dddd [kl.] LT',\r\n lastDay : '[i går kl.] LT',\r\n lastWeek : '[i] dddd[s kl.] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'om %s',\r\n past : '%s siden',\r\n s : 'få sekunder',\r\n ss : '%d sekunder',\r\n m : 'et minut',\r\n mm : '%d minutter',\r\n h : 'en time',\r\n hh : '%d timer',\r\n d : 'en dag',\r\n dd : '%d dage',\r\n M : 'en måned',\r\n MM : '%d måneder',\r\n y : 'et år',\r\n yy : '%d år'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 'm': ['eine Minute', 'einer Minute'],\r\n 'h': ['eine Stunde', 'einer Stunde'],\r\n 'd': ['ein Tag', 'einem Tag'],\r\n 'dd': [number + ' Tage', number + ' Tagen'],\r\n 'M': ['ein Monat', 'einem Monat'],\r\n 'MM': [number + ' Monate', number + ' Monaten'],\r\n 'y': ['ein Jahr', 'einem Jahr'],\r\n 'yy': [number + ' Jahre', number + ' Jahren']\r\n };\r\n return withoutSuffix ? format[key][0] : format[key][1];\r\n}\r\n\r\nhooks.defineLocale('de-at', {\r\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\r\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\r\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\r\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[heute um] LT [Uhr]',\r\n sameElse: 'L',\r\n nextDay: '[morgen um] LT [Uhr]',\r\n nextWeek: 'dddd [um] LT [Uhr]',\r\n lastDay: '[gestern um] LT [Uhr]',\r\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : 'vor %s',\r\n s : 'ein paar Sekunden',\r\n ss : '%d Sekunden',\r\n m : processRelativeTime,\r\n mm : '%d Minuten',\r\n h : processRelativeTime,\r\n hh : '%d Stunden',\r\n d : processRelativeTime,\r\n dd : processRelativeTime,\r\n M : processRelativeTime,\r\n MM : processRelativeTime,\r\n y : processRelativeTime,\r\n yy : processRelativeTime\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$1(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 'm': ['eine Minute', 'einer Minute'],\r\n 'h': ['eine Stunde', 'einer Stunde'],\r\n 'd': ['ein Tag', 'einem Tag'],\r\n 'dd': [number + ' Tage', number + ' Tagen'],\r\n 'M': ['ein Monat', 'einem Monat'],\r\n 'MM': [number + ' Monate', number + ' Monaten'],\r\n 'y': ['ein Jahr', 'einem Jahr'],\r\n 'yy': [number + ' Jahre', number + ' Jahren']\r\n };\r\n return withoutSuffix ? format[key][0] : format[key][1];\r\n}\r\n\r\nhooks.defineLocale('de-ch', {\r\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\r\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\r\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\r\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[heute um] LT [Uhr]',\r\n sameElse: 'L',\r\n nextDay: '[morgen um] LT [Uhr]',\r\n nextWeek: 'dddd [um] LT [Uhr]',\r\n lastDay: '[gestern um] LT [Uhr]',\r\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : 'vor %s',\r\n s : 'ein paar Sekunden',\r\n ss : '%d Sekunden',\r\n m : processRelativeTime$1,\r\n mm : '%d Minuten',\r\n h : processRelativeTime$1,\r\n hh : '%d Stunden',\r\n d : processRelativeTime$1,\r\n dd : processRelativeTime$1,\r\n M : processRelativeTime$1,\r\n MM : processRelativeTime$1,\r\n y : processRelativeTime$1,\r\n yy : processRelativeTime$1\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$2(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 'm': ['eine Minute', 'einer Minute'],\r\n 'h': ['eine Stunde', 'einer Stunde'],\r\n 'd': ['ein Tag', 'einem Tag'],\r\n 'dd': [number + ' Tage', number + ' Tagen'],\r\n 'M': ['ein Monat', 'einem Monat'],\r\n 'MM': [number + ' Monate', number + ' Monaten'],\r\n 'y': ['ein Jahr', 'einem Jahr'],\r\n 'yy': [number + ' Jahre', number + ' Jahren']\r\n };\r\n return withoutSuffix ? format[key][0] : format[key][1];\r\n}\r\n\r\nhooks.defineLocale('de', {\r\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\r\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\r\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\r\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[heute um] LT [Uhr]',\r\n sameElse: 'L',\r\n nextDay: '[morgen um] LT [Uhr]',\r\n nextWeek: 'dddd [um] LT [Uhr]',\r\n lastDay: '[gestern um] LT [Uhr]',\r\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : 'vor %s',\r\n s : 'ein paar Sekunden',\r\n ss : '%d Sekunden',\r\n m : processRelativeTime$2,\r\n mm : '%d Minuten',\r\n h : processRelativeTime$2,\r\n hh : '%d Stunden',\r\n d : processRelativeTime$2,\r\n dd : processRelativeTime$2,\r\n M : processRelativeTime$2,\r\n MM : processRelativeTime$2,\r\n y : processRelativeTime$2,\r\n yy : processRelativeTime$2\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$4 = [\r\n 'ޖެނުއަރީ',\r\n 'ފެބްރުއަރީ',\r\n 'މާރިޗު',\r\n 'އޭޕްރީލު',\r\n 'މޭ',\r\n 'ޖޫން',\r\n 'ޖުލައި',\r\n 'އޯގަސްޓު',\r\n 'ސެޕްޓެމްބަރު',\r\n 'އޮކްޓޯބަރު',\r\n 'ނޮވެމްބަރު',\r\n 'ޑިސެމްބަރު'\r\n], weekdays = [\r\n 'އާދިއްތަ',\r\n 'ހޯމަ',\r\n 'އަންގާރަ',\r\n 'ބުދަ',\r\n 'ބުރާސްފަތި',\r\n 'ހުކުރު',\r\n 'ހޮނިހިރު'\r\n];\r\n\r\nhooks.defineLocale('dv', {\r\n months : months$4,\r\n monthsShort : months$4,\r\n weekdays : weekdays,\r\n weekdaysShort : weekdays,\r\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\r\n longDateFormat : {\r\n\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'D/M/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /މކ|މފ/,\r\n isPM : function (input) {\r\n return 'މފ' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'މކ';\r\n } else {\r\n return 'މފ';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[މިއަދު] LT',\r\n nextDay : '[މާދަމާ] LT',\r\n nextWeek : 'dddd LT',\r\n lastDay : '[އިއްޔެ] LT',\r\n lastWeek : '[ފާއިތުވި] dddd LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'ތެރޭގައި %s',\r\n past : 'ކުރިން %s',\r\n s : 'ސިކުންތުކޮޅެއް',\r\n ss : 'd% ސިކުންތު',\r\n m : 'މިނިޓެއް',\r\n mm : 'މިނިޓު %d',\r\n h : 'ގަޑިއިރެއް',\r\n hh : 'ގަޑިއިރު %d',\r\n d : 'ދުވަހެއް',\r\n dd : 'ދުވަސް %d',\r\n M : 'މަހެއް',\r\n MM : 'މަސް %d',\r\n y : 'އަހަރެއް',\r\n yy : 'އަހަރު %d'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 7, // Sunday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('el', {\r\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\r\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\r\n months : function (momentToFormat, format) {\r\n if (!momentToFormat) {\r\n return this._monthsNominativeEl;\r\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\r\n return this._monthsGenitiveEl[momentToFormat.month()];\r\n } else {\r\n return this._monthsNominativeEl[momentToFormat.month()];\r\n }\r\n },\r\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\r\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\r\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\r\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'μμ' : 'ΜΜ';\r\n } else {\r\n return isLower ? 'πμ' : 'ΠΜ';\r\n }\r\n },\r\n isPM : function (input) {\r\n return ((input + '').toLowerCase()[0] === 'μ');\r\n },\r\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendarEl : {\r\n sameDay : '[Σήμερα {}] LT',\r\n nextDay : '[Αύριο {}] LT',\r\n nextWeek : 'dddd [{}] LT',\r\n lastDay : '[Χθες {}] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 6:\r\n return '[το προηγούμενο] dddd [{}] LT';\r\n default:\r\n return '[την προηγούμενη] dddd [{}] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n calendar : function (key, mom) {\r\n var output = this._calendarEl[key],\r\n hours = mom && mom.hours();\r\n if (isFunction(output)) {\r\n output = output.apply(mom);\r\n }\r\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\r\n },\r\n relativeTime : {\r\n future : 'σε %s',\r\n past : '%s πριν',\r\n s : 'λίγα δευτερόλεπτα',\r\n ss : '%d δευτερόλεπτα',\r\n m : 'ένα λεπτό',\r\n mm : '%d λεπτά',\r\n h : 'μία ώρα',\r\n hh : '%d ώρες',\r\n d : 'μία μέρα',\r\n dd : '%d μέρες',\r\n M : 'ένας μήνας',\r\n MM : '%d μήνες',\r\n y : 'ένας χρόνος',\r\n yy : '%d χρόνια'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\r\n ordinal: '%dη',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-au', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-ca', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'YYYY-MM-DD',\r\n LL : 'MMMM D, YYYY',\r\n LLL : 'MMMM D, YYYY h:mm A',\r\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-gb', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-ie', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD-MM-YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-il', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('en-nz', {\r\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\r\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\r\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\r\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Today at] LT',\r\n nextDay : '[Tomorrow at] LT',\r\n nextWeek : 'dddd [at] LT',\r\n lastDay : '[Yesterday at] LT',\r\n lastWeek : '[Last] dddd [at] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'in %s',\r\n past : '%s ago',\r\n s : 'a few seconds',\r\n ss : '%d seconds',\r\n m : 'a minute',\r\n mm : '%d minutes',\r\n h : 'an hour',\r\n hh : '%d hours',\r\n d : 'a day',\r\n dd : '%d days',\r\n M : 'a month',\r\n MM : '%d months',\r\n y : 'a year',\r\n yy : '%d years'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('eo', {\r\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\r\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\r\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\r\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY-MM-DD',\r\n LL : 'D[-a de] MMMM, YYYY',\r\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\r\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\r\n },\r\n meridiemParse: /[ap]\\.t\\.m/i,\r\n isPM: function (input) {\r\n return input.charAt(0).toLowerCase() === 'p';\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'p.t.m.' : 'P.T.M.';\r\n } else {\r\n return isLower ? 'a.t.m.' : 'A.T.M.';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[Hodiaŭ je] LT',\r\n nextDay : '[Morgaŭ je] LT',\r\n nextWeek : 'dddd [je] LT',\r\n lastDay : '[Hieraŭ je] LT',\r\n lastWeek : '[pasinta] dddd [je] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'post %s',\r\n past : 'antaŭ %s',\r\n s : 'sekundoj',\r\n ss : '%d sekundoj',\r\n m : 'minuto',\r\n mm : '%d minutoj',\r\n h : 'horo',\r\n hh : '%d horoj',\r\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\r\n dd : '%d tagoj',\r\n M : 'monato',\r\n MM : '%d monatoj',\r\n y : 'jaro',\r\n yy : '%d jaroj'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\r\n ordinal : '%da',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\r\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\r\n\r\nvar 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];\r\nvar monthsRegex$1 = /^(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;\r\n\r\nhooks.defineLocale('es-do', {\r\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortDot;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShort$1[m.month()];\r\n } else {\r\n return monthsShortDot[m.month()];\r\n }\r\n },\r\n monthsRegex: monthsRegex$1,\r\n monthsShortRegex: monthsRegex$1,\r\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\r\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\r\n monthsParse: monthsParse,\r\n longMonthsParse: monthsParse,\r\n shortMonthsParse: monthsParse,\r\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\r\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\r\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'en %s',\r\n past : 'hace %s',\r\n s : 'unos segundos',\r\n ss : '%d segundos',\r\n m : 'un minuto',\r\n mm : '%d minutos',\r\n h : 'una hora',\r\n hh : '%d horas',\r\n d : 'un día',\r\n dd : '%d días',\r\n M : 'un mes',\r\n MM : '%d meses',\r\n y : 'un año',\r\n yy : '%d años'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal : '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\r\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\r\n\r\nhooks.defineLocale('es-us', {\r\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortDot$1;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShort$2[m.month()];\r\n } else {\r\n return monthsShortDot$1[m.month()];\r\n }\r\n },\r\n monthsParseExact : true,\r\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\r\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\r\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'MM/DD/YYYY',\r\n LL : 'MMMM [de] D [de] YYYY',\r\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\r\n LLLL : 'dddd, MMMM [de] D [de] YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'en %s',\r\n past : 'hace %s',\r\n s : 'unos segundos',\r\n ss : '%d segundos',\r\n m : 'un minuto',\r\n mm : '%d minutos',\r\n h : 'una hora',\r\n hh : '%d horas',\r\n d : 'un día',\r\n dd : '%d días',\r\n M : 'un mes',\r\n MM : '%d meses',\r\n y : 'un año',\r\n yy : '%d años'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal : '%dº',\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\r\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\r\n\r\nvar monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\r\nvar monthsRegex$2 = /^(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;\r\n\r\nhooks.defineLocale('es', {\r\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortDot$2;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShort$3[m.month()];\r\n } else {\r\n return monthsShortDot$2[m.month()];\r\n }\r\n },\r\n monthsRegex : monthsRegex$2,\r\n monthsShortRegex : monthsRegex$2,\r\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\r\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\r\n monthsParse : monthsParse$1,\r\n longMonthsParse : monthsParse$1,\r\n shortMonthsParse : monthsParse$1,\r\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\r\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\r\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY H:mm',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'en %s',\r\n past : 'hace %s',\r\n s : 'unos segundos',\r\n ss : '%d segundos',\r\n m : 'un minuto',\r\n mm : '%d minutos',\r\n h : 'una hora',\r\n hh : '%d horas',\r\n d : 'un día',\r\n dd : '%d días',\r\n M : 'un mes',\r\n MM : '%d meses',\r\n y : 'un año',\r\n yy : '%d años'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal : '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$3(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\r\n 'ss': [number + 'sekundi', number + 'sekundit'],\r\n 'm' : ['ühe minuti', 'üks minut'],\r\n 'mm': [number + ' minuti', number + ' minutit'],\r\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\r\n 'hh': [number + ' tunni', number + ' tundi'],\r\n 'd' : ['ühe päeva', 'üks päev'],\r\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\r\n 'MM': [number + ' kuu', number + ' kuud'],\r\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\r\n 'yy': [number + ' aasta', number + ' aastat']\r\n };\r\n if (withoutSuffix) {\r\n return format[key][2] ? format[key][2] : format[key][1];\r\n }\r\n return isFuture ? format[key][0] : format[key][1];\r\n}\r\n\r\nhooks.defineLocale('et', {\r\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\r\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\r\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\r\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\r\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Täna,] LT',\r\n nextDay : '[Homme,] LT',\r\n nextWeek : '[Järgmine] dddd LT',\r\n lastDay : '[Eile,] LT',\r\n lastWeek : '[Eelmine] dddd LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s pärast',\r\n past : '%s tagasi',\r\n s : processRelativeTime$3,\r\n ss : processRelativeTime$3,\r\n m : processRelativeTime$3,\r\n mm : processRelativeTime$3,\r\n h : processRelativeTime$3,\r\n hh : processRelativeTime$3,\r\n d : processRelativeTime$3,\r\n dd : '%d päeva',\r\n M : processRelativeTime$3,\r\n MM : processRelativeTime$3,\r\n y : processRelativeTime$3,\r\n yy : processRelativeTime$3\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('eu', {\r\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\r\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\r\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\r\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY-MM-DD',\r\n LL : 'YYYY[ko] MMMM[ren] D[a]',\r\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\r\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\r\n l : 'YYYY-M-D',\r\n ll : 'YYYY[ko] MMM D[a]',\r\n lll : 'YYYY[ko] MMM D[a] HH:mm',\r\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[gaur] LT[etan]',\r\n nextDay : '[bihar] LT[etan]',\r\n nextWeek : 'dddd LT[etan]',\r\n lastDay : '[atzo] LT[etan]',\r\n lastWeek : '[aurreko] dddd LT[etan]',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s barru',\r\n past : 'duela %s',\r\n s : 'segundo batzuk',\r\n ss : '%d segundo',\r\n m : 'minutu bat',\r\n mm : '%d minutu',\r\n h : 'ordu bat',\r\n hh : '%d ordu',\r\n d : 'egun bat',\r\n dd : '%d egun',\r\n M : 'hilabete bat',\r\n MM : '%d hilabete',\r\n y : 'urte bat',\r\n yy : '%d urte'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$5 = {\r\n '1': '۱',\r\n '2': '۲',\r\n '3': '۳',\r\n '4': '۴',\r\n '5': '۵',\r\n '6': '۶',\r\n '7': '۷',\r\n '8': '۸',\r\n '9': '۹',\r\n '0': '۰'\r\n}, numberMap$4 = {\r\n '۱': '1',\r\n '۲': '2',\r\n '۳': '3',\r\n '۴': '4',\r\n '۵': '5',\r\n '۶': '6',\r\n '۷': '7',\r\n '۸': '8',\r\n '۹': '9',\r\n '۰': '0'\r\n};\r\n\r\nhooks.defineLocale('fa', {\r\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\r\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\r\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\r\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\r\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\r\n isPM: function (input) {\r\n return /بعد از ظهر/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'قبل از ظهر';\r\n } else {\r\n return 'بعد از ظهر';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[امروز ساعت] LT',\r\n nextDay : '[فردا ساعت] LT',\r\n nextWeek : 'dddd [ساعت] LT',\r\n lastDay : '[دیروز ساعت] LT',\r\n lastWeek : 'dddd [پیش] [ساعت] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'در %s',\r\n past : '%s پیش',\r\n s : 'چند ثانیه',\r\n ss : 'ثانیه d%',\r\n m : 'یک دقیقه',\r\n mm : '%d دقیقه',\r\n h : 'یک ساعت',\r\n hh : '%d ساعت',\r\n d : 'یک روز',\r\n dd : '%d روز',\r\n M : 'یک ماه',\r\n MM : '%d ماه',\r\n y : 'یک سال',\r\n yy : '%d سال'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[۰-۹]/g, function (match) {\r\n return numberMap$4[match];\r\n }).replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$5[match];\r\n }).replace(/,/g, '،');\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\r\n ordinal : '%dم',\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\r\n numbersFuture = [\r\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\r\n numbersPast[7], numbersPast[8], numbersPast[9]\r\n ];\r\nfunction translate$2(number, withoutSuffix, key, isFuture) {\r\n var result = '';\r\n switch (key) {\r\n case 's':\r\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\r\n case 'ss':\r\n return isFuture ? 'sekunnin' : 'sekuntia';\r\n case 'm':\r\n return isFuture ? 'minuutin' : 'minuutti';\r\n case 'mm':\r\n result = isFuture ? 'minuutin' : 'minuuttia';\r\n break;\r\n case 'h':\r\n return isFuture ? 'tunnin' : 'tunti';\r\n case 'hh':\r\n result = isFuture ? 'tunnin' : 'tuntia';\r\n break;\r\n case 'd':\r\n return isFuture ? 'päivän' : 'päivä';\r\n case 'dd':\r\n result = isFuture ? 'päivän' : 'päivää';\r\n break;\r\n case 'M':\r\n return isFuture ? 'kuukauden' : 'kuukausi';\r\n case 'MM':\r\n result = isFuture ? 'kuukauden' : 'kuukautta';\r\n break;\r\n case 'y':\r\n return isFuture ? 'vuoden' : 'vuosi';\r\n case 'yy':\r\n result = isFuture ? 'vuoden' : 'vuotta';\r\n break;\r\n }\r\n result = verbalNumber(number, isFuture) + ' ' + result;\r\n return result;\r\n}\r\nfunction verbalNumber(number, isFuture) {\r\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\r\n}\r\n\r\nhooks.defineLocale('fi', {\r\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\r\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\r\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\r\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\r\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'Do MMMM[ta] YYYY',\r\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\r\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\r\n l : 'D.M.YYYY',\r\n ll : 'Do MMM YYYY',\r\n lll : 'Do MMM YYYY, [klo] HH.mm',\r\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\r\n },\r\n calendar : {\r\n sameDay : '[tänään] [klo] LT',\r\n nextDay : '[huomenna] [klo] LT',\r\n nextWeek : 'dddd [klo] LT',\r\n lastDay : '[eilen] [klo] LT',\r\n lastWeek : '[viime] dddd[na] [klo] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s päästä',\r\n past : '%s sitten',\r\n s : translate$2,\r\n ss : translate$2,\r\n m : translate$2,\r\n mm : translate$2,\r\n h : translate$2,\r\n hh : translate$2,\r\n d : translate$2,\r\n dd : translate$2,\r\n M : translate$2,\r\n MM : translate$2,\r\n y : translate$2,\r\n yy : translate$2\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('fo', {\r\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\r\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\r\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\r\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Í dag kl.] LT',\r\n nextDay : '[Í morgin kl.] LT',\r\n nextWeek : 'dddd [kl.] LT',\r\n lastDay : '[Í gjár kl.] LT',\r\n lastWeek : '[síðstu] dddd [kl] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'um %s',\r\n past : '%s síðani',\r\n s : 'fá sekund',\r\n ss : '%d sekundir',\r\n m : 'ein minutt',\r\n mm : '%d minuttir',\r\n h : 'ein tími',\r\n hh : '%d tímar',\r\n d : 'ein dagur',\r\n dd : '%d dagar',\r\n M : 'ein mánaði',\r\n MM : '%d mánaðir',\r\n y : 'eitt ár',\r\n yy : '%d ár'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('fr-ca', {\r\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\r\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\r\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\r\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY-MM-DD',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Aujourd’hui à] LT',\r\n nextDay : '[Demain à] LT',\r\n nextWeek : 'dddd [à] LT',\r\n lastDay : '[Hier à] LT',\r\n lastWeek : 'dddd [dernier à] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dans %s',\r\n past : 'il y a %s',\r\n s : 'quelques secondes',\r\n ss : '%d secondes',\r\n m : 'une minute',\r\n mm : '%d minutes',\r\n h : 'une heure',\r\n hh : '%d heures',\r\n d : 'un jour',\r\n dd : '%d jours',\r\n M : 'un mois',\r\n MM : '%d mois',\r\n y : 'un an',\r\n yy : '%d ans'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n // Words with masculine grammatical gender: mois, trimestre, jour\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'D':\r\n case 'DDD':\r\n case 'd':\r\n return number + (number === 1 ? 'er' : 'e');\r\n\r\n // Words with feminine grammatical gender: semaine\r\n case 'w':\r\n case 'W':\r\n return number + (number === 1 ? 're' : 'e');\r\n }\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('fr-ch', {\r\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\r\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\r\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\r\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Aujourd’hui à] LT',\r\n nextDay : '[Demain à] LT',\r\n nextWeek : 'dddd [à] LT',\r\n lastDay : '[Hier à] LT',\r\n lastWeek : 'dddd [dernier à] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dans %s',\r\n past : 'il y a %s',\r\n s : 'quelques secondes',\r\n ss : '%d secondes',\r\n m : 'une minute',\r\n mm : '%d minutes',\r\n h : 'une heure',\r\n hh : '%d heures',\r\n d : 'un jour',\r\n dd : '%d jours',\r\n M : 'un mois',\r\n MM : '%d mois',\r\n y : 'un an',\r\n yy : '%d ans'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n // Words with masculine grammatical gender: mois, trimestre, jour\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'D':\r\n case 'DDD':\r\n case 'd':\r\n return number + (number === 1 ? 'er' : 'e');\r\n\r\n // Words with feminine grammatical gender: semaine\r\n case 'w':\r\n case 'W':\r\n return number + (number === 1 ? 're' : 'e');\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('fr', {\r\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\r\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\r\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\r\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Aujourd’hui à] LT',\r\n nextDay : '[Demain à] LT',\r\n nextWeek : 'dddd [à] LT',\r\n lastDay : '[Hier à] LT',\r\n lastWeek : 'dddd [dernier à] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dans %s',\r\n past : 'il y a %s',\r\n s : 'quelques secondes',\r\n ss : '%d secondes',\r\n m : 'une minute',\r\n mm : '%d minutes',\r\n h : 'une heure',\r\n hh : '%d heures',\r\n d : 'un jour',\r\n dd : '%d jours',\r\n M : 'un mois',\r\n MM : '%d mois',\r\n y : 'un an',\r\n yy : '%d ans'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n // TODO: Return 'e' when day of month > 1. Move this case inside\r\n // block for masculine words below.\r\n // See https://github.com/moment/moment/issues/3375\r\n case 'D':\r\n return number + (number === 1 ? 'er' : '');\r\n\r\n // Words with masculine grammatical gender: mois, trimestre, jour\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'DDD':\r\n case 'd':\r\n return number + (number === 1 ? 'er' : 'e');\r\n\r\n // Words with feminine grammatical gender: semaine\r\n case 'w':\r\n case 'W':\r\n return number + (number === 1 ? 're' : 'e');\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\r\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\r\n\r\nhooks.defineLocale('fy', {\r\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortWithDots;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShortWithoutDots[m.month()];\r\n } else {\r\n return monthsShortWithDots[m.month()];\r\n }\r\n },\r\n monthsParseExact : true,\r\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\r\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\r\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD-MM-YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[hjoed om] LT',\r\n nextDay: '[moarn om] LT',\r\n nextWeek: 'dddd [om] LT',\r\n lastDay: '[juster om] LT',\r\n lastWeek: '[ôfrûne] dddd [om] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'oer %s',\r\n past : '%s lyn',\r\n s : 'in pear sekonden',\r\n ss : '%d sekonden',\r\n m : 'ien minút',\r\n mm : '%d minuten',\r\n h : 'ien oere',\r\n hh : '%d oeren',\r\n d : 'ien dei',\r\n dd : '%d dagen',\r\n M : 'ien moanne',\r\n MM : '%d moannen',\r\n y : 'ien jier',\r\n yy : '%d jierren'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\r\n ordinal : function (number) {\r\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$5 = [\r\n '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'\r\n];\r\n\r\nvar monthsShort$4 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\r\n\r\nvar weekdays$1 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\r\n\r\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\r\n\r\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\r\n\r\nhooks.defineLocale('gd', {\r\n months : months$5,\r\n monthsShort : monthsShort$4,\r\n monthsParseExact : true,\r\n weekdays : weekdays$1,\r\n weekdaysShort : weekdaysShort,\r\n weekdaysMin : weekdaysMin,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[An-diugh aig] LT',\r\n nextDay : '[A-màireach aig] LT',\r\n nextWeek : 'dddd [aig] LT',\r\n lastDay : '[An-dè aig] LT',\r\n lastWeek : 'dddd [seo chaidh] [aig] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'ann an %s',\r\n past : 'bho chionn %s',\r\n s : 'beagan diogan',\r\n ss : '%d diogan',\r\n m : 'mionaid',\r\n mm : '%d mionaidean',\r\n h : 'uair',\r\n hh : '%d uairean',\r\n d : 'latha',\r\n dd : '%d latha',\r\n M : 'mìos',\r\n MM : '%d mìosan',\r\n y : 'bliadhna',\r\n yy : '%d bliadhna'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\r\n ordinal : function (number) {\r\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('gl', {\r\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\r\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\r\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\r\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY H:mm',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : function () {\r\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\r\n },\r\n nextDay : function () {\r\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\r\n },\r\n nextWeek : function () {\r\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\r\n },\r\n lastDay : function () {\r\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\r\n },\r\n lastWeek : function () {\r\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : function (str) {\r\n if (str.indexOf('un') === 0) {\r\n return 'n' + str;\r\n }\r\n return 'en ' + str;\r\n },\r\n past : 'hai %s',\r\n s : 'uns segundos',\r\n ss : '%d segundos',\r\n m : 'un minuto',\r\n mm : '%d minutos',\r\n h : 'unha hora',\r\n hh : '%d horas',\r\n d : 'un día',\r\n dd : '%d días',\r\n M : 'un mes',\r\n MM : '%d meses',\r\n y : 'un ano',\r\n yy : '%d anos'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal : '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$4(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 's': ['thodde secondanim', 'thodde second'],\r\n 'ss': [number + ' secondanim', number + ' second'],\r\n 'm': ['eka mintan', 'ek minute'],\r\n 'mm': [number + ' mintanim', number + ' mintam'],\r\n 'h': ['eka horan', 'ek hor'],\r\n 'hh': [number + ' horanim', number + ' hor'],\r\n 'd': ['eka disan', 'ek dis'],\r\n 'dd': [number + ' disanim', number + ' dis'],\r\n 'M': ['eka mhoinean', 'ek mhoino'],\r\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\r\n 'y': ['eka vorsan', 'ek voros'],\r\n 'yy': [number + ' vorsanim', number + ' vorsam']\r\n };\r\n return withoutSuffix ? format[key][0] : format[key][1];\r\n}\r\n\r\nhooks.defineLocale('gom-latn', {\r\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\r\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\r\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\r\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'A h:mm [vazta]',\r\n LTS : 'A h:mm:ss [vazta]',\r\n L : 'DD-MM-YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY A h:mm [vazta]',\r\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\r\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\r\n },\r\n calendar : {\r\n sameDay: '[Aiz] LT',\r\n nextDay: '[Faleam] LT',\r\n nextWeek: '[Ieta to] dddd[,] LT',\r\n lastDay: '[Kal] LT',\r\n lastWeek: '[Fatlo] dddd[,] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : '%s',\r\n past : '%s adim',\r\n s : processRelativeTime$4,\r\n ss : processRelativeTime$4,\r\n m : processRelativeTime$4,\r\n mm : processRelativeTime$4,\r\n h : processRelativeTime$4,\r\n hh : processRelativeTime$4,\r\n d : processRelativeTime$4,\r\n dd : processRelativeTime$4,\r\n M : processRelativeTime$4,\r\n MM : processRelativeTime$4,\r\n y : processRelativeTime$4,\r\n yy : processRelativeTime$4\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n // the ordinal 'er' only applies to day of the month\r\n case 'D':\r\n return number + 'er';\r\n default:\r\n case 'M':\r\n case 'Q':\r\n case 'DDD':\r\n case 'd':\r\n case 'w':\r\n case 'W':\r\n return number;\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n },\r\n meridiemParse: /rati|sokalli|donparam|sanje/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'rati') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'sokalli') {\r\n return hour;\r\n } else if (meridiem === 'donparam') {\r\n return hour > 12 ? hour : hour + 12;\r\n } else if (meridiem === 'sanje') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'rati';\r\n } else if (hour < 12) {\r\n return 'sokalli';\r\n } else if (hour < 16) {\r\n return 'donparam';\r\n } else if (hour < 20) {\r\n return 'sanje';\r\n } else {\r\n return 'rati';\r\n }\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$6 = {\r\n '1': '૧',\r\n '2': '૨',\r\n '3': '૩',\r\n '4': '૪',\r\n '5': '૫',\r\n '6': '૬',\r\n '7': '૭',\r\n '8': '૮',\r\n '9': '૯',\r\n '0': '૦'\r\n },\r\n numberMap$5 = {\r\n '૧': '1',\r\n '૨': '2',\r\n '૩': '3',\r\n '૪': '4',\r\n '૫': '5',\r\n '૬': '6',\r\n '૭': '7',\r\n '૮': '8',\r\n '૯': '9',\r\n '૦': '0'\r\n };\r\n\r\nhooks.defineLocale('gu', {\r\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\r\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\r\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\r\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\r\n longDateFormat: {\r\n LT: 'A h:mm વાગ્યે',\r\n LTS: 'A h:mm:ss વાગ્યે',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\r\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\r\n },\r\n calendar: {\r\n sameDay: '[આજ] LT',\r\n nextDay: '[કાલે] LT',\r\n nextWeek: 'dddd, LT',\r\n lastDay: '[ગઇકાલે] LT',\r\n lastWeek: '[પાછલા] dddd, LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: '%s મા',\r\n past: '%s પેહલા',\r\n s: 'અમુક પળો',\r\n ss: '%d સેકંડ',\r\n m: 'એક મિનિટ',\r\n mm: '%d મિનિટ',\r\n h: 'એક કલાક',\r\n hh: '%d કલાક',\r\n d: 'એક દિવસ',\r\n dd: '%d દિવસ',\r\n M: 'એક મહિનો',\r\n MM: '%d મહિનો',\r\n y: 'એક વર્ષ',\r\n yy: '%d વર્ષ'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\r\n return numberMap$5[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$6[match];\r\n });\r\n },\r\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\r\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\r\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'રાત') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'સવાર') {\r\n return hour;\r\n } else if (meridiem === 'બપોર') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'સાંજ') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem: function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'રાત';\r\n } else if (hour < 10) {\r\n return 'સવાર';\r\n } else if (hour < 17) {\r\n return 'બપોર';\r\n } else if (hour < 20) {\r\n return 'સાંજ';\r\n } else {\r\n return 'રાત';\r\n }\r\n },\r\n week: {\r\n dow: 0, // Sunday is the first day of the week.\r\n doy: 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('he', {\r\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\r\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\r\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\r\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\r\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [ב]MMMM YYYY',\r\n LLL : 'D [ב]MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\r\n l : 'D/M/YYYY',\r\n ll : 'D MMM YYYY',\r\n lll : 'D MMM YYYY HH:mm',\r\n llll : 'ddd, D MMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[היום ב־]LT',\r\n nextDay : '[מחר ב־]LT',\r\n nextWeek : 'dddd [בשעה] LT',\r\n lastDay : '[אתמול ב־]LT',\r\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'בעוד %s',\r\n past : 'לפני %s',\r\n s : 'מספר שניות',\r\n ss : '%d שניות',\r\n m : 'דקה',\r\n mm : '%d דקות',\r\n h : 'שעה',\r\n hh : function (number) {\r\n if (number === 2) {\r\n return 'שעתיים';\r\n }\r\n return number + ' שעות';\r\n },\r\n d : 'יום',\r\n dd : function (number) {\r\n if (number === 2) {\r\n return 'יומיים';\r\n }\r\n return number + ' ימים';\r\n },\r\n M : 'חודש',\r\n MM : function (number) {\r\n if (number === 2) {\r\n return 'חודשיים';\r\n }\r\n return number + ' חודשים';\r\n },\r\n y : 'שנה',\r\n yy : function (number) {\r\n if (number === 2) {\r\n return 'שנתיים';\r\n } else if (number % 10 === 0 && number !== 10) {\r\n return number + ' שנה';\r\n }\r\n return number + ' שנים';\r\n }\r\n },\r\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\r\n isPM : function (input) {\r\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 5) {\r\n return 'לפנות בוקר';\r\n } else if (hour < 10) {\r\n return 'בבוקר';\r\n } else if (hour < 12) {\r\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\r\n } else if (hour < 18) {\r\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\r\n } else {\r\n return 'בערב';\r\n }\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$7 = {\r\n '1': '१',\r\n '2': '२',\r\n '3': '३',\r\n '4': '४',\r\n '5': '५',\r\n '6': '६',\r\n '7': '७',\r\n '8': '८',\r\n '9': '९',\r\n '0': '०'\r\n},\r\nnumberMap$6 = {\r\n '१': '1',\r\n '२': '2',\r\n '३': '3',\r\n '४': '4',\r\n '५': '5',\r\n '६': '6',\r\n '७': '7',\r\n '८': '8',\r\n '९': '9',\r\n '०': '0'\r\n};\r\n\r\nhooks.defineLocale('hi', {\r\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\r\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\r\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\r\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm बजे',\r\n LTS : 'A h:mm:ss बजे',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm बजे',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\r\n },\r\n calendar : {\r\n sameDay : '[आज] LT',\r\n nextDay : '[कल] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[कल] LT',\r\n lastWeek : '[पिछले] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s में',\r\n past : '%s पहले',\r\n s : 'कुछ ही क्षण',\r\n ss : '%d सेकंड',\r\n m : 'एक मिनट',\r\n mm : '%d मिनट',\r\n h : 'एक घंटा',\r\n hh : '%d घंटे',\r\n d : 'एक दिन',\r\n dd : '%d दिन',\r\n M : 'एक महीने',\r\n MM : '%d महीने',\r\n y : 'एक वर्ष',\r\n yy : '%d वर्ष'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\r\n return numberMap$6[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$7[match];\r\n });\r\n },\r\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\r\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\r\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'रात') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'सुबह') {\r\n return hour;\r\n } else if (meridiem === 'दोपहर') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'शाम') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'रात';\r\n } else if (hour < 10) {\r\n return 'सुबह';\r\n } else if (hour < 17) {\r\n return 'दोपहर';\r\n } else if (hour < 20) {\r\n return 'शाम';\r\n } else {\r\n return 'रात';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction translate$3(number, withoutSuffix, key) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 'ss':\r\n if (number === 1) {\r\n result += 'sekunda';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'sekunde';\r\n } else {\r\n result += 'sekundi';\r\n }\r\n return result;\r\n case 'm':\r\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\r\n case 'mm':\r\n if (number === 1) {\r\n result += 'minuta';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'minute';\r\n } else {\r\n result += 'minuta';\r\n }\r\n return result;\r\n case 'h':\r\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\r\n case 'hh':\r\n if (number === 1) {\r\n result += 'sat';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'sata';\r\n } else {\r\n result += 'sati';\r\n }\r\n return result;\r\n case 'dd':\r\n if (number === 1) {\r\n result += 'dan';\r\n } else {\r\n result += 'dana';\r\n }\r\n return result;\r\n case 'MM':\r\n if (number === 1) {\r\n result += 'mjesec';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'mjeseca';\r\n } else {\r\n result += 'mjeseci';\r\n }\r\n return result;\r\n case 'yy':\r\n if (number === 1) {\r\n result += 'godina';\r\n } else if (number === 2 || number === 3 || number === 4) {\r\n result += 'godine';\r\n } else {\r\n result += 'godina';\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nhooks.defineLocale('hr', {\r\n months : {\r\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\r\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\r\n },\r\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\r\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\r\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[danas u] LT',\r\n nextDay : '[sutra u] LT',\r\n nextWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[u] [nedjelju] [u] LT';\r\n case 3:\r\n return '[u] [srijedu] [u] LT';\r\n case 6:\r\n return '[u] [subotu] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[u] dddd [u] LT';\r\n }\r\n },\r\n lastDay : '[jučer u] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n return '[prošlu] dddd [u] LT';\r\n case 6:\r\n return '[prošle] [subote] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[prošli] dddd [u] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'prije %s',\r\n s : 'par sekundi',\r\n ss : translate$3,\r\n m : translate$3,\r\n mm : translate$3,\r\n h : translate$3,\r\n hh : translate$3,\r\n d : 'dan',\r\n dd : translate$3,\r\n M : 'mjesec',\r\n MM : translate$3,\r\n y : 'godinu',\r\n yy : translate$3\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\r\nfunction translate$4(number, withoutSuffix, key, isFuture) {\r\n var num = number;\r\n switch (key) {\r\n case 's':\r\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\r\n case 'ss':\r\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\r\n case 'm':\r\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\r\n case 'mm':\r\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\r\n case 'h':\r\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\r\n case 'hh':\r\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\r\n case 'd':\r\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\r\n case 'dd':\r\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\r\n case 'M':\r\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\r\n case 'MM':\r\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\r\n case 'y':\r\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\r\n case 'yy':\r\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\r\n }\r\n return '';\r\n}\r\nfunction week(isFuture) {\r\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\r\n}\r\n\r\nhooks.defineLocale('hu', {\r\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\r\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\r\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\r\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\r\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'YYYY.MM.DD.',\r\n LL : 'YYYY. MMMM D.',\r\n LLL : 'YYYY. MMMM D. H:mm',\r\n LLLL : 'YYYY. MMMM D., dddd H:mm'\r\n },\r\n meridiemParse: /de|du/i,\r\n isPM: function (input) {\r\n return input.charAt(1).toLowerCase() === 'u';\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 12) {\r\n return isLower === true ? 'de' : 'DE';\r\n } else {\r\n return isLower === true ? 'du' : 'DU';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[ma] LT[-kor]',\r\n nextDay : '[holnap] LT[-kor]',\r\n nextWeek : function () {\r\n return week.call(this, true);\r\n },\r\n lastDay : '[tegnap] LT[-kor]',\r\n lastWeek : function () {\r\n return week.call(this, false);\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s múlva',\r\n past : '%s',\r\n s : translate$4,\r\n ss : translate$4,\r\n m : translate$4,\r\n mm : translate$4,\r\n h : translate$4,\r\n hh : translate$4,\r\n d : translate$4,\r\n dd : translate$4,\r\n M : translate$4,\r\n MM : translate$4,\r\n y : translate$4,\r\n yy : translate$4\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('hy-am', {\r\n months : {\r\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\r\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\r\n },\r\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\r\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\r\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\r\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY թ.',\r\n LLL : 'D MMMM YYYY թ., HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[այսօր] LT',\r\n nextDay: '[վաղը] LT',\r\n lastDay: '[երեկ] LT',\r\n nextWeek: function () {\r\n return 'dddd [օրը ժամը] LT';\r\n },\r\n lastWeek: function () {\r\n return '[անցած] dddd [օրը ժամը] LT';\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : '%s հետո',\r\n past : '%s առաջ',\r\n s : 'մի քանի վայրկյան',\r\n ss : '%d վայրկյան',\r\n m : 'րոպե',\r\n mm : '%d րոպե',\r\n h : 'ժամ',\r\n hh : '%d ժամ',\r\n d : 'օր',\r\n dd : '%d օր',\r\n M : 'ամիս',\r\n MM : '%d ամիս',\r\n y : 'տարի',\r\n yy : '%d տարի'\r\n },\r\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\r\n isPM: function (input) {\r\n return /^(ցերեկվա|երեկոյան)$/.test(input);\r\n },\r\n meridiem : function (hour) {\r\n if (hour < 4) {\r\n return 'գիշերվա';\r\n } else if (hour < 12) {\r\n return 'առավոտվա';\r\n } else if (hour < 17) {\r\n return 'ցերեկվա';\r\n } else {\r\n return 'երեկոյան';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'DDD':\r\n case 'w':\r\n case 'W':\r\n case 'DDDo':\r\n if (number === 1) {\r\n return number + '-ին';\r\n }\r\n return number + '-րդ';\r\n default:\r\n return number;\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('id', {\r\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\r\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\r\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\r\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY [pukul] HH.mm',\r\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\r\n },\r\n meridiemParse: /pagi|siang|sore|malam/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'pagi') {\r\n return hour;\r\n } else if (meridiem === 'siang') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'sore' || meridiem === 'malam') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 11) {\r\n return 'pagi';\r\n } else if (hours < 15) {\r\n return 'siang';\r\n } else if (hours < 19) {\r\n return 'sore';\r\n } else {\r\n return 'malam';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[Hari ini pukul] LT',\r\n nextDay : '[Besok pukul] LT',\r\n nextWeek : 'dddd [pukul] LT',\r\n lastDay : '[Kemarin pukul] LT',\r\n lastWeek : 'dddd [lalu pukul] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dalam %s',\r\n past : '%s yang lalu',\r\n s : 'beberapa detik',\r\n ss : '%d detik',\r\n m : 'semenit',\r\n mm : '%d menit',\r\n h : 'sejam',\r\n hh : '%d jam',\r\n d : 'sehari',\r\n dd : '%d hari',\r\n M : 'sebulan',\r\n MM : '%d bulan',\r\n y : 'setahun',\r\n yy : '%d tahun'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction plural$2(n) {\r\n if (n % 100 === 11) {\r\n return true;\r\n } else if (n % 10 === 1) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction translate$5(number, withoutSuffix, key, isFuture) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 's':\r\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\r\n case 'ss':\r\n if (plural$2(number)) {\r\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\r\n }\r\n return result + 'sekúnda';\r\n case 'm':\r\n return withoutSuffix ? 'mínúta' : 'mínútu';\r\n case 'mm':\r\n if (plural$2(number)) {\r\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\r\n } else if (withoutSuffix) {\r\n return result + 'mínúta';\r\n }\r\n return result + 'mínútu';\r\n case 'hh':\r\n if (plural$2(number)) {\r\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\r\n }\r\n return result + 'klukkustund';\r\n case 'd':\r\n if (withoutSuffix) {\r\n return 'dagur';\r\n }\r\n return isFuture ? 'dag' : 'degi';\r\n case 'dd':\r\n if (plural$2(number)) {\r\n if (withoutSuffix) {\r\n return result + 'dagar';\r\n }\r\n return result + (isFuture ? 'daga' : 'dögum');\r\n } else if (withoutSuffix) {\r\n return result + 'dagur';\r\n }\r\n return result + (isFuture ? 'dag' : 'degi');\r\n case 'M':\r\n if (withoutSuffix) {\r\n return 'mánuður';\r\n }\r\n return isFuture ? 'mánuð' : 'mánuði';\r\n case 'MM':\r\n if (plural$2(number)) {\r\n if (withoutSuffix) {\r\n return result + 'mánuðir';\r\n }\r\n return result + (isFuture ? 'mánuði' : 'mánuðum');\r\n } else if (withoutSuffix) {\r\n return result + 'mánuður';\r\n }\r\n return result + (isFuture ? 'mánuð' : 'mánuði');\r\n case 'y':\r\n return withoutSuffix || isFuture ? 'ár' : 'ári';\r\n case 'yy':\r\n if (plural$2(number)) {\r\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\r\n }\r\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\r\n }\r\n}\r\n\r\nhooks.defineLocale('is', {\r\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\r\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\r\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\r\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY [kl.] H:mm',\r\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[í dag kl.] LT',\r\n nextDay : '[á morgun kl.] LT',\r\n nextWeek : 'dddd [kl.] LT',\r\n lastDay : '[í gær kl.] LT',\r\n lastWeek : '[síðasta] dddd [kl.] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'eftir %s',\r\n past : 'fyrir %s síðan',\r\n s : translate$5,\r\n ss : translate$5,\r\n m : translate$5,\r\n mm : translate$5,\r\n h : 'klukkustund',\r\n hh : translate$5,\r\n d : translate$5,\r\n dd : translate$5,\r\n M : translate$5,\r\n MM : translate$5,\r\n y : translate$5,\r\n yy : translate$5\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('it', {\r\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\r\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\r\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\r\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\r\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Oggi alle] LT',\r\n nextDay: '[Domani alle] LT',\r\n nextWeek: 'dddd [alle] LT',\r\n lastDay: '[Ieri alle] LT',\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[la scorsa] dddd [alle] LT';\r\n default:\r\n return '[lo scorso] dddd [alle] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : function (s) {\r\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\r\n },\r\n past : '%s fa',\r\n s : 'alcuni secondi',\r\n ss : '%d secondi',\r\n m : 'un minuto',\r\n mm : '%d minuti',\r\n h : 'un\\'ora',\r\n hh : '%d ore',\r\n d : 'un giorno',\r\n dd : '%d giorni',\r\n M : 'un mese',\r\n MM : '%d mesi',\r\n y : 'un anno',\r\n yy : '%d anni'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal: '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ja', {\r\n months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\r\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\r\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\r\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\r\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY/MM/DD',\r\n LL : 'YYYY年M月D日',\r\n LLL : 'YYYY年M月D日 HH:mm',\r\n LLLL : 'YYYY年M月D日 HH:mm dddd',\r\n l : 'YYYY/MM/DD',\r\n ll : 'YYYY年M月D日',\r\n lll : 'YYYY年M月D日 HH:mm',\r\n llll : 'YYYY年M月D日 HH:mm dddd'\r\n },\r\n meridiemParse: /午前|午後/i,\r\n isPM : function (input) {\r\n return input === '午後';\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return '午前';\r\n } else {\r\n return '午後';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[今日] LT',\r\n nextDay : '[明日] LT',\r\n nextWeek : '[来週]dddd LT',\r\n lastDay : '[昨日] LT',\r\n lastWeek : '[前週]dddd LT',\r\n sameElse : 'L'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n case 'd':\r\n case 'D':\r\n case 'DDD':\r\n return number + '日';\r\n default:\r\n return number;\r\n }\r\n },\r\n relativeTime : {\r\n future : '%s後',\r\n past : '%s前',\r\n s : '数秒',\r\n ss : '%d秒',\r\n m : '1分',\r\n mm : '%d分',\r\n h : '1時間',\r\n hh : '%d時間',\r\n d : '1日',\r\n dd : '%d日',\r\n M : '1ヶ月',\r\n MM : '%dヶ月',\r\n y : '1年',\r\n yy : '%d年'\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('jv', {\r\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\r\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\r\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\r\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\r\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY [pukul] HH.mm',\r\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\r\n },\r\n meridiemParse: /enjing|siyang|sonten|ndalu/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'enjing') {\r\n return hour;\r\n } else if (meridiem === 'siyang') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 11) {\r\n return 'enjing';\r\n } else if (hours < 15) {\r\n return 'siyang';\r\n } else if (hours < 19) {\r\n return 'sonten';\r\n } else {\r\n return 'ndalu';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[Dinten puniko pukul] LT',\r\n nextDay : '[Mbenjang pukul] LT',\r\n nextWeek : 'dddd [pukul] LT',\r\n lastDay : '[Kala wingi pukul] LT',\r\n lastWeek : 'dddd [kepengker pukul] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'wonten ing %s',\r\n past : '%s ingkang kepengker',\r\n s : 'sawetawis detik',\r\n ss : '%d detik',\r\n m : 'setunggal menit',\r\n mm : '%d menit',\r\n h : 'setunggal jam',\r\n hh : '%d jam',\r\n d : 'sedinten',\r\n dd : '%d dinten',\r\n M : 'sewulan',\r\n MM : '%d wulan',\r\n y : 'setaun',\r\n yy : '%d taun'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ka', {\r\n months : {\r\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\r\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\r\n },\r\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\r\n weekdays : {\r\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\r\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\r\n isFormat: /(წინა|შემდეგ)/\r\n },\r\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\r\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[დღეს] LT[-ზე]',\r\n nextDay : '[ხვალ] LT[-ზე]',\r\n lastDay : '[გუშინ] LT[-ზე]',\r\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\r\n lastWeek : '[წინა] dddd LT-ზე',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : function (s) {\r\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\r\n s.replace(/ი$/, 'ში') :\r\n s + 'ში';\r\n },\r\n past : function (s) {\r\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\r\n return s.replace(/(ი|ე)$/, 'ის უკან');\r\n }\r\n if ((/წელი/).test(s)) {\r\n return s.replace(/წელი$/, 'წლის უკან');\r\n }\r\n },\r\n s : 'რამდენიმე წამი',\r\n ss : '%d წამი',\r\n m : 'წუთი',\r\n mm : '%d წუთი',\r\n h : 'საათი',\r\n hh : '%d საათი',\r\n d : 'დღე',\r\n dd : '%d დღე',\r\n M : 'თვე',\r\n MM : '%d თვე',\r\n y : 'წელი',\r\n yy : '%d წელი'\r\n },\r\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\r\n ordinal : function (number) {\r\n if (number === 0) {\r\n return number;\r\n }\r\n if (number === 1) {\r\n return number + '-ლი';\r\n }\r\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\r\n return 'მე-' + number;\r\n }\r\n return number + '-ე';\r\n },\r\n week : {\r\n dow : 1,\r\n doy : 7\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar suffixes$1 = {\r\n 0: '-ші',\r\n 1: '-ші',\r\n 2: '-ші',\r\n 3: '-ші',\r\n 4: '-ші',\r\n 5: '-ші',\r\n 6: '-шы',\r\n 7: '-ші',\r\n 8: '-ші',\r\n 9: '-шы',\r\n 10: '-шы',\r\n 20: '-шы',\r\n 30: '-шы',\r\n 40: '-шы',\r\n 50: '-ші',\r\n 60: '-шы',\r\n 70: '-ші',\r\n 80: '-ші',\r\n 90: '-шы',\r\n 100: '-ші'\r\n};\r\n\r\nhooks.defineLocale('kk', {\r\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\r\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\r\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\r\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\r\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Бүгін сағат] LT',\r\n nextDay : '[Ертең сағат] LT',\r\n nextWeek : 'dddd [сағат] LT',\r\n lastDay : '[Кеше сағат] LT',\r\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s ішінде',\r\n past : '%s бұрын',\r\n s : 'бірнеше секунд',\r\n ss : '%d секунд',\r\n m : 'бір минут',\r\n mm : '%d минут',\r\n h : 'бір сағат',\r\n hh : '%d сағат',\r\n d : 'бір күн',\r\n dd : '%d күн',\r\n M : 'бір ай',\r\n MM : '%d ай',\r\n y : 'бір жыл',\r\n yy : '%d жыл'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\r\n ordinal : function (number) {\r\n var a = number % 10,\r\n b = number >= 100 ? 100 : null;\r\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('km', {\r\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\r\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\r\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\r\n weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\r\n weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY HH:mm',\r\n LLLL: 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\r\n nextDay: '[ស្អែក ម៉ោង] LT',\r\n nextWeek: 'dddd [ម៉ោង] LT',\r\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\r\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: '%sទៀត',\r\n past: '%sមុន',\r\n s: 'ប៉ុន្មានវិនាទី',\r\n ss: '%d វិនាទី',\r\n m: 'មួយនាទី',\r\n mm: '%d នាទី',\r\n h: 'មួយម៉ោង',\r\n hh: '%d ម៉ោង',\r\n d: 'មួយថ្ងៃ',\r\n dd: '%d ថ្ងៃ',\r\n M: 'មួយខែ',\r\n MM: '%d ខែ',\r\n y: 'មួយឆ្នាំ',\r\n yy: '%d ឆ្នាំ'\r\n },\r\n week: {\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$8 = {\r\n '1': '೧',\r\n '2': '೨',\r\n '3': '೩',\r\n '4': '೪',\r\n '5': '೫',\r\n '6': '೬',\r\n '7': '೭',\r\n '8': '೮',\r\n '9': '೯',\r\n '0': '೦'\r\n},\r\nnumberMap$7 = {\r\n '೧': '1',\r\n '೨': '2',\r\n '೩': '3',\r\n '೪': '4',\r\n '೫': '5',\r\n '೬': '6',\r\n '೭': '7',\r\n '೮': '8',\r\n '೯': '9',\r\n '೦': '0'\r\n};\r\n\r\nhooks.defineLocale('kn', {\r\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\r\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\r\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\r\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm',\r\n LTS : 'A h:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\r\n },\r\n calendar : {\r\n sameDay : '[ಇಂದು] LT',\r\n nextDay : '[ನಾಳೆ] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[ನಿನ್ನೆ] LT',\r\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s ನಂತರ',\r\n past : '%s ಹಿಂದೆ',\r\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\r\n ss : '%d ಸೆಕೆಂಡುಗಳು',\r\n m : 'ಒಂದು ನಿಮಿಷ',\r\n mm : '%d ನಿಮಿಷ',\r\n h : 'ಒಂದು ಗಂಟೆ',\r\n hh : '%d ಗಂಟೆ',\r\n d : 'ಒಂದು ದಿನ',\r\n dd : '%d ದಿನ',\r\n M : 'ಒಂದು ತಿಂಗಳು',\r\n MM : '%d ತಿಂಗಳು',\r\n y : 'ಒಂದು ವರ್ಷ',\r\n yy : '%d ವರ್ಷ'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\r\n return numberMap$7[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$8[match];\r\n });\r\n },\r\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'ರಾತ್ರಿ') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\r\n return hour;\r\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'ಸಂಜೆ') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'ರಾತ್ರಿ';\r\n } else if (hour < 10) {\r\n return 'ಬೆಳಿಗ್ಗೆ';\r\n } else if (hour < 17) {\r\n return 'ಮಧ್ಯಾಹ್ನ';\r\n } else if (hour < 20) {\r\n return 'ಸಂಜೆ';\r\n } else {\r\n return 'ರಾತ್ರಿ';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\r\n ordinal : function (number) {\r\n return number + 'ನೇ';\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ko', {\r\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\r\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\r\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\r\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\r\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm',\r\n LTS : 'A h:mm:ss',\r\n L : 'YYYY.MM.DD.',\r\n LL : 'YYYY년 MMMM D일',\r\n LLL : 'YYYY년 MMMM D일 A h:mm',\r\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\r\n l : 'YYYY.MM.DD.',\r\n ll : 'YYYY년 MMMM D일',\r\n lll : 'YYYY년 MMMM D일 A h:mm',\r\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\r\n },\r\n calendar : {\r\n sameDay : '오늘 LT',\r\n nextDay : '내일 LT',\r\n nextWeek : 'dddd LT',\r\n lastDay : '어제 LT',\r\n lastWeek : '지난주 dddd LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s 후',\r\n past : '%s 전',\r\n s : '몇 초',\r\n ss : '%d초',\r\n m : '1분',\r\n mm : '%d분',\r\n h : '한 시간',\r\n hh : '%d시간',\r\n d : '하루',\r\n dd : '%d일',\r\n M : '한 달',\r\n MM : '%d달',\r\n y : '일 년',\r\n yy : '%d년'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n case 'd':\r\n case 'D':\r\n case 'DDD':\r\n return number + '일';\r\n case 'M':\r\n return number + '월';\r\n case 'w':\r\n case 'W':\r\n return number + '주';\r\n default:\r\n return number;\r\n }\r\n },\r\n meridiemParse : /오전|오후/,\r\n isPM : function (token) {\r\n return token === '오후';\r\n },\r\n meridiem : function (hour, minute, isUpper) {\r\n return hour < 12 ? '오전' : '오후';\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar suffixes$2 = {\r\n 0: '-чү',\r\n 1: '-чи',\r\n 2: '-чи',\r\n 3: '-чү',\r\n 4: '-чү',\r\n 5: '-чи',\r\n 6: '-чы',\r\n 7: '-чи',\r\n 8: '-чи',\r\n 9: '-чу',\r\n 10: '-чу',\r\n 20: '-чы',\r\n 30: '-чу',\r\n 40: '-чы',\r\n 50: '-чү',\r\n 60: '-чы',\r\n 70: '-чи',\r\n 80: '-чи',\r\n 90: '-чу',\r\n 100: '-чү'\r\n};\r\n\r\nhooks.defineLocale('ky', {\r\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\r\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\r\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\r\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\r\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Бүгүн саат] LT',\r\n nextDay : '[Эртең саат] LT',\r\n nextWeek : 'dddd [саат] LT',\r\n lastDay : '[Кече саат] LT',\r\n lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s ичинде',\r\n past : '%s мурун',\r\n s : 'бирнече секунд',\r\n ss : '%d секунд',\r\n m : 'бир мүнөт',\r\n mm : '%d мүнөт',\r\n h : 'бир саат',\r\n hh : '%d саат',\r\n d : 'бир күн',\r\n dd : '%d күн',\r\n M : 'бир ай',\r\n MM : '%d ай',\r\n y : 'бир жыл',\r\n yy : '%d жыл'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\r\n ordinal : function (number) {\r\n var a = number % 10,\r\n b = number >= 100 ? 100 : null;\r\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$5(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 'm': ['eng Minutt', 'enger Minutt'],\r\n 'h': ['eng Stonn', 'enger Stonn'],\r\n 'd': ['een Dag', 'engem Dag'],\r\n 'M': ['ee Mount', 'engem Mount'],\r\n 'y': ['ee Joer', 'engem Joer']\r\n };\r\n return withoutSuffix ? format[key][0] : format[key][1];\r\n}\r\nfunction processFutureTime(string) {\r\n var number = string.substr(0, string.indexOf(' '));\r\n if (eifelerRegelAppliesToNumber(number)) {\r\n return 'a ' + string;\r\n }\r\n return 'an ' + string;\r\n}\r\nfunction processPastTime(string) {\r\n var number = string.substr(0, string.indexOf(' '));\r\n if (eifelerRegelAppliesToNumber(number)) {\r\n return 'viru ' + string;\r\n }\r\n return 'virun ' + string;\r\n}\r\n/**\r\n * Returns true if the word before the given number loses the '-n' ending.\r\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\r\n *\r\n * @param number {integer}\r\n * @returns {boolean}\r\n */\r\nfunction eifelerRegelAppliesToNumber(number) {\r\n number = parseInt(number, 10);\r\n if (isNaN(number)) {\r\n return false;\r\n }\r\n if (number < 0) {\r\n // Negative Number --> always true\r\n return true;\r\n } else if (number < 10) {\r\n // Only 1 digit\r\n if (4 <= number && number <= 7) {\r\n return true;\r\n }\r\n return false;\r\n } else if (number < 100) {\r\n // 2 digits\r\n var lastDigit = number % 10, firstDigit = number / 10;\r\n if (lastDigit === 0) {\r\n return eifelerRegelAppliesToNumber(firstDigit);\r\n }\r\n return eifelerRegelAppliesToNumber(lastDigit);\r\n } else if (number < 10000) {\r\n // 3 or 4 digits --> recursively check first digit\r\n while (number >= 10) {\r\n number = number / 10;\r\n }\r\n return eifelerRegelAppliesToNumber(number);\r\n } else {\r\n // Anything larger than 4 digits: recursively check first n-3 digits\r\n number = number / 1000;\r\n return eifelerRegelAppliesToNumber(number);\r\n }\r\n}\r\n\r\nhooks.defineLocale('lb', {\r\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\r\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\r\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\r\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat: {\r\n LT: 'H:mm [Auer]',\r\n LTS: 'H:mm:ss [Auer]',\r\n L: 'DD.MM.YYYY',\r\n LL: 'D. MMMM YYYY',\r\n LLL: 'D. MMMM YYYY H:mm [Auer]',\r\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\r\n },\r\n calendar: {\r\n sameDay: '[Haut um] LT',\r\n sameElse: 'L',\r\n nextDay: '[Muer um] LT',\r\n nextWeek: 'dddd [um] LT',\r\n lastDay: '[Gëschter um] LT',\r\n lastWeek: function () {\r\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\r\n switch (this.day()) {\r\n case 2:\r\n case 4:\r\n return '[Leschten] dddd [um] LT';\r\n default:\r\n return '[Leschte] dddd [um] LT';\r\n }\r\n }\r\n },\r\n relativeTime : {\r\n future : processFutureTime,\r\n past : processPastTime,\r\n s : 'e puer Sekonnen',\r\n ss : '%d Sekonnen',\r\n m : processRelativeTime$5,\r\n mm : '%d Minutten',\r\n h : processRelativeTime$5,\r\n hh : '%d Stonnen',\r\n d : processRelativeTime$5,\r\n dd : '%d Deeg',\r\n M : processRelativeTime$5,\r\n MM : '%d Méint',\r\n y : processRelativeTime$5,\r\n yy : '%d Joer'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal: '%d.',\r\n week: {\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('lo', {\r\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\r\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\r\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\r\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\r\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\r\n isPM: function (input) {\r\n return input === 'ຕອນແລງ';\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'ຕອນເຊົ້າ';\r\n } else {\r\n return 'ຕອນແລງ';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[ມື້ນີ້ເວລາ] LT',\r\n nextDay : '[ມື້ອື່ນເວລາ] LT',\r\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\r\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\r\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'ອີກ %s',\r\n past : '%sຜ່ານມາ',\r\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\r\n ss : '%d ວິນາທີ' ,\r\n m : '1 ນາທີ',\r\n mm : '%d ນາທີ',\r\n h : '1 ຊົ່ວໂມງ',\r\n hh : '%d ຊົ່ວໂມງ',\r\n d : '1 ມື້',\r\n dd : '%d ມື້',\r\n M : '1 ເດືອນ',\r\n MM : '%d ເດືອນ',\r\n y : '1 ປີ',\r\n yy : '%d ປີ'\r\n },\r\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\r\n ordinal : function (number) {\r\n return 'ທີ່' + number;\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar units = {\r\n 'ss' : 'sekundė_sekundžių_sekundes',\r\n 'm' : 'minutė_minutės_minutę',\r\n 'mm': 'minutės_minučių_minutes',\r\n 'h' : 'valanda_valandos_valandą',\r\n 'hh': 'valandos_valandų_valandas',\r\n 'd' : 'diena_dienos_dieną',\r\n 'dd': 'dienos_dienų_dienas',\r\n 'M' : 'mėnuo_mėnesio_mėnesį',\r\n 'MM': 'mėnesiai_mėnesių_mėnesius',\r\n 'y' : 'metai_metų_metus',\r\n 'yy': 'metai_metų_metus'\r\n};\r\nfunction translateSeconds(number, withoutSuffix, key, isFuture) {\r\n if (withoutSuffix) {\r\n return 'kelios sekundės';\r\n } else {\r\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\r\n }\r\n}\r\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\r\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\r\n}\r\nfunction special(number) {\r\n return number % 10 === 0 || (number > 10 && number < 20);\r\n}\r\nfunction forms(key) {\r\n return units[key].split('_');\r\n}\r\nfunction translate$6(number, withoutSuffix, key, isFuture) {\r\n var result = number + ' ';\r\n if (number === 1) {\r\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\r\n } else if (withoutSuffix) {\r\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\r\n } else {\r\n if (isFuture) {\r\n return result + forms(key)[1];\r\n } else {\r\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\r\n }\r\n }\r\n}\r\nhooks.defineLocale('lt', {\r\n months : {\r\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\r\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\r\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\r\n },\r\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\r\n weekdays : {\r\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\r\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\r\n isFormat: /dddd HH:mm/\r\n },\r\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\r\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY-MM-DD',\r\n LL : 'YYYY [m.] MMMM D [d.]',\r\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\r\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\r\n l : 'YYYY-MM-DD',\r\n ll : 'YYYY [m.] MMMM D [d.]',\r\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\r\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\r\n },\r\n calendar : {\r\n sameDay : '[Šiandien] LT',\r\n nextDay : '[Rytoj] LT',\r\n nextWeek : 'dddd LT',\r\n lastDay : '[Vakar] LT',\r\n lastWeek : '[Praėjusį] dddd LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'po %s',\r\n past : 'prieš %s',\r\n s : translateSeconds,\r\n ss : translate$6,\r\n m : translateSingular,\r\n mm : translate$6,\r\n h : translateSingular,\r\n hh : translate$6,\r\n d : translateSingular,\r\n dd : translate$6,\r\n M : translateSingular,\r\n MM : translate$6,\r\n y : translateSingular,\r\n yy : translate$6\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\r\n ordinal : function (number) {\r\n return number + '-oji';\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar units$1 = {\r\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\r\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\r\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\r\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\r\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\r\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\r\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\r\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\r\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\r\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\r\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\r\n};\r\n/**\r\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\r\n */\r\nfunction format$1(forms, number, withoutSuffix) {\r\n if (withoutSuffix) {\r\n // E.g. \"21 minūte\", \"3 minūtes\".\r\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\r\n } else {\r\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\r\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\r\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\r\n }\r\n}\r\nfunction relativeTimeWithPlural$1(number, withoutSuffix, key) {\r\n return number + ' ' + format$1(units$1[key], number, withoutSuffix);\r\n}\r\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\r\n return format$1(units$1[key], number, withoutSuffix);\r\n}\r\nfunction relativeSeconds(number, withoutSuffix) {\r\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\r\n}\r\n\r\nhooks.defineLocale('lv', {\r\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\r\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\r\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\r\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY.',\r\n LL : 'YYYY. [gada] D. MMMM',\r\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\r\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Šodien pulksten] LT',\r\n nextDay : '[Rīt pulksten] LT',\r\n nextWeek : 'dddd [pulksten] LT',\r\n lastDay : '[Vakar pulksten] LT',\r\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'pēc %s',\r\n past : 'pirms %s',\r\n s : relativeSeconds,\r\n ss : relativeTimeWithPlural$1,\r\n m : relativeTimeWithSingular,\r\n mm : relativeTimeWithPlural$1,\r\n h : relativeTimeWithSingular,\r\n hh : relativeTimeWithPlural$1,\r\n d : relativeTimeWithSingular,\r\n dd : relativeTimeWithPlural$1,\r\n M : relativeTimeWithSingular,\r\n MM : relativeTimeWithPlural$1,\r\n y : relativeTimeWithSingular,\r\n yy : relativeTimeWithPlural$1\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar translator = {\r\n words: { //Different grammatical cases\r\n ss: ['sekund', 'sekunda', 'sekundi'],\r\n m: ['jedan minut', 'jednog minuta'],\r\n mm: ['minut', 'minuta', 'minuta'],\r\n h: ['jedan sat', 'jednog sata'],\r\n hh: ['sat', 'sata', 'sati'],\r\n dd: ['dan', 'dana', 'dana'],\r\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\r\n yy: ['godina', 'godine', 'godina']\r\n },\r\n correctGrammaticalCase: function (number, wordKey) {\r\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\r\n },\r\n translate: function (number, withoutSuffix, key) {\r\n var wordKey = translator.words[key];\r\n if (key.length === 1) {\r\n return withoutSuffix ? wordKey[0] : wordKey[1];\r\n } else {\r\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\r\n }\r\n }\r\n};\r\n\r\nhooks.defineLocale('me', {\r\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\r\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\r\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\r\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat: {\r\n LT: 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L: 'DD.MM.YYYY',\r\n LL: 'D. MMMM YYYY',\r\n LLL: 'D. MMMM YYYY H:mm',\r\n LLLL: 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar: {\r\n sameDay: '[danas u] LT',\r\n nextDay: '[sjutra u] LT',\r\n\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[u] [nedjelju] [u] LT';\r\n case 3:\r\n return '[u] [srijedu] [u] LT';\r\n case 6:\r\n return '[u] [subotu] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[u] dddd [u] LT';\r\n }\r\n },\r\n lastDay : '[juče u] LT',\r\n lastWeek : function () {\r\n var lastWeekDays = [\r\n '[prošle] [nedjelje] [u] LT',\r\n '[prošlog] [ponedjeljka] [u] LT',\r\n '[prošlog] [utorka] [u] LT',\r\n '[prošle] [srijede] [u] LT',\r\n '[prošlog] [četvrtka] [u] LT',\r\n '[prošlog] [petka] [u] LT',\r\n '[prošle] [subote] [u] LT'\r\n ];\r\n return lastWeekDays[this.day()];\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'prije %s',\r\n s : 'nekoliko sekundi',\r\n ss : translator.translate,\r\n m : translator.translate,\r\n mm : translator.translate,\r\n h : translator.translate,\r\n hh : translator.translate,\r\n d : 'dan',\r\n dd : translator.translate,\r\n M : 'mjesec',\r\n MM : translator.translate,\r\n y : 'godinu',\r\n yy : translator.translate\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('mi', {\r\n 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('_'),\r\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\r\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\r\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\r\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\r\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\r\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\r\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\r\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY [i] HH:mm',\r\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[i teie mahana, i] LT',\r\n nextDay: '[apopo i] LT',\r\n nextWeek: 'dddd [i] LT',\r\n lastDay: '[inanahi i] LT',\r\n lastWeek: 'dddd [whakamutunga i] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: 'i roto i %s',\r\n past: '%s i mua',\r\n s: 'te hēkona ruarua',\r\n ss: '%d hēkona',\r\n m: 'he meneti',\r\n mm: '%d meneti',\r\n h: 'te haora',\r\n hh: '%d haora',\r\n d: 'he ra',\r\n dd: '%d ra',\r\n M: 'he marama',\r\n MM: '%d marama',\r\n y: 'he tau',\r\n yy: '%d tau'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\r\n ordinal: '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('mk', {\r\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\r\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\r\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\r\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\r\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'D.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY H:mm',\r\n LLLL : 'dddd, D MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Денес во] LT',\r\n nextDay : '[Утре во] LT',\r\n nextWeek : '[Во] dddd [во] LT',\r\n lastDay : '[Вчера во] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n case 6:\r\n return '[Изминатата] dddd [во] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[Изминатиот] dddd [во] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'после %s',\r\n past : 'пред %s',\r\n s : 'неколку секунди',\r\n ss : '%d секунди',\r\n m : 'минута',\r\n mm : '%d минути',\r\n h : 'час',\r\n hh : '%d часа',\r\n d : 'ден',\r\n dd : '%d дена',\r\n M : 'месец',\r\n MM : '%d месеци',\r\n y : 'година',\r\n yy : '%d години'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\r\n ordinal : function (number) {\r\n var lastDigit = number % 10,\r\n last2Digits = number % 100;\r\n if (number === 0) {\r\n return number + '-ев';\r\n } else if (last2Digits === 0) {\r\n return number + '-ен';\r\n } else if (last2Digits > 10 && last2Digits < 20) {\r\n return number + '-ти';\r\n } else if (lastDigit === 1) {\r\n return number + '-ви';\r\n } else if (lastDigit === 2) {\r\n return number + '-ри';\r\n } else if (lastDigit === 7 || lastDigit === 8) {\r\n return number + '-ми';\r\n } else {\r\n return number + '-ти';\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ml', {\r\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\r\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\r\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\r\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm -നു',\r\n LTS : 'A h:mm:ss -നു',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm -നു',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\r\n },\r\n calendar : {\r\n sameDay : '[ഇന്ന്] LT',\r\n nextDay : '[നാളെ] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[ഇന്നലെ] LT',\r\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s കഴിഞ്ഞ്',\r\n past : '%s മുൻപ്',\r\n s : 'അൽപ നിമിഷങ്ങൾ',\r\n ss : '%d സെക്കൻഡ്',\r\n m : 'ഒരു മിനിറ്റ്',\r\n mm : '%d മിനിറ്റ്',\r\n h : 'ഒരു മണിക്കൂർ',\r\n hh : '%d മണിക്കൂർ',\r\n d : 'ഒരു ദിവസം',\r\n dd : '%d ദിവസം',\r\n M : 'ഒരു മാസം',\r\n MM : '%d മാസം',\r\n y : 'ഒരു വർഷം',\r\n yy : '%d വർഷം'\r\n },\r\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\r\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\r\n meridiem === 'വൈകുന്നേരം') {\r\n return hour + 12;\r\n } else {\r\n return hour;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'രാത്രി';\r\n } else if (hour < 12) {\r\n return 'രാവിലെ';\r\n } else if (hour < 17) {\r\n return 'ഉച്ച കഴിഞ്ഞ്';\r\n } else if (hour < 20) {\r\n return 'വൈകുന്നേരം';\r\n } else {\r\n return 'രാത്രി';\r\n }\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$9 = {\r\n '1': '१',\r\n '2': '२',\r\n '3': '३',\r\n '4': '४',\r\n '5': '५',\r\n '6': '६',\r\n '7': '७',\r\n '8': '८',\r\n '9': '९',\r\n '0': '०'\r\n},\r\nnumberMap$8 = {\r\n '१': '1',\r\n '२': '2',\r\n '३': '3',\r\n '४': '4',\r\n '५': '5',\r\n '६': '6',\r\n '७': '7',\r\n '८': '8',\r\n '९': '9',\r\n '०': '0'\r\n};\r\n\r\nfunction relativeTimeMr(number, withoutSuffix, string, isFuture)\r\n{\r\n var output = '';\r\n if (withoutSuffix) {\r\n switch (string) {\r\n case 's': output = 'काही सेकंद'; break;\r\n case 'ss': output = '%d सेकंद'; break;\r\n case 'm': output = 'एक मिनिट'; break;\r\n case 'mm': output = '%d मिनिटे'; break;\r\n case 'h': output = 'एक तास'; break;\r\n case 'hh': output = '%d तास'; break;\r\n case 'd': output = 'एक दिवस'; break;\r\n case 'dd': output = '%d दिवस'; break;\r\n case 'M': output = 'एक महिना'; break;\r\n case 'MM': output = '%d महिने'; break;\r\n case 'y': output = 'एक वर्ष'; break;\r\n case 'yy': output = '%d वर्षे'; break;\r\n }\r\n }\r\n else {\r\n switch (string) {\r\n case 's': output = 'काही सेकंदां'; break;\r\n case 'ss': output = '%d सेकंदां'; break;\r\n case 'm': output = 'एका मिनिटा'; break;\r\n case 'mm': output = '%d मिनिटां'; break;\r\n case 'h': output = 'एका तासा'; break;\r\n case 'hh': output = '%d तासां'; break;\r\n case 'd': output = 'एका दिवसा'; break;\r\n case 'dd': output = '%d दिवसां'; break;\r\n case 'M': output = 'एका महिन्या'; break;\r\n case 'MM': output = '%d महिन्यां'; break;\r\n case 'y': output = 'एका वर्षा'; break;\r\n case 'yy': output = '%d वर्षां'; break;\r\n }\r\n }\r\n return output.replace(/%d/i, number);\r\n}\r\n\r\nhooks.defineLocale('mr', {\r\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\r\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\r\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\r\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm वाजता',\r\n LTS : 'A h:mm:ss वाजता',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm वाजता',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\r\n },\r\n calendar : {\r\n sameDay : '[आज] LT',\r\n nextDay : '[उद्या] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[काल] LT',\r\n lastWeek: '[मागील] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future: '%sमध्ये',\r\n past: '%sपूर्वी',\r\n s: relativeTimeMr,\r\n ss: relativeTimeMr,\r\n m: relativeTimeMr,\r\n mm: relativeTimeMr,\r\n h: relativeTimeMr,\r\n hh: relativeTimeMr,\r\n d: relativeTimeMr,\r\n dd: relativeTimeMr,\r\n M: relativeTimeMr,\r\n MM: relativeTimeMr,\r\n y: relativeTimeMr,\r\n yy: relativeTimeMr\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\r\n return numberMap$8[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$9[match];\r\n });\r\n },\r\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'रात्री') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'सकाळी') {\r\n return hour;\r\n } else if (meridiem === 'दुपारी') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'सायंकाळी') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem: function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'रात्री';\r\n } else if (hour < 10) {\r\n return 'सकाळी';\r\n } else if (hour < 17) {\r\n return 'दुपारी';\r\n } else if (hour < 20) {\r\n return 'सायंकाळी';\r\n } else {\r\n return 'रात्री';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ms-my', {\r\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\r\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\r\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\r\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\r\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY [pukul] HH.mm',\r\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\r\n },\r\n meridiemParse: /pagi|tengahari|petang|malam/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'pagi') {\r\n return hour;\r\n } else if (meridiem === 'tengahari') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'petang' || meridiem === 'malam') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 11) {\r\n return 'pagi';\r\n } else if (hours < 15) {\r\n return 'tengahari';\r\n } else if (hours < 19) {\r\n return 'petang';\r\n } else {\r\n return 'malam';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[Hari ini pukul] LT',\r\n nextDay : '[Esok pukul] LT',\r\n nextWeek : 'dddd [pukul] LT',\r\n lastDay : '[Kelmarin pukul] LT',\r\n lastWeek : 'dddd [lepas pukul] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dalam %s',\r\n past : '%s yang lepas',\r\n s : 'beberapa saat',\r\n ss : '%d saat',\r\n m : 'seminit',\r\n mm : '%d minit',\r\n h : 'sejam',\r\n hh : '%d jam',\r\n d : 'sehari',\r\n dd : '%d hari',\r\n M : 'sebulan',\r\n MM : '%d bulan',\r\n y : 'setahun',\r\n yy : '%d tahun'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ms', {\r\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\r\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\r\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\r\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\r\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY [pukul] HH.mm',\r\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\r\n },\r\n meridiemParse: /pagi|tengahari|petang|malam/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'pagi') {\r\n return hour;\r\n } else if (meridiem === 'tengahari') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'petang' || meridiem === 'malam') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 11) {\r\n return 'pagi';\r\n } else if (hours < 15) {\r\n return 'tengahari';\r\n } else if (hours < 19) {\r\n return 'petang';\r\n } else {\r\n return 'malam';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[Hari ini pukul] LT',\r\n nextDay : '[Esok pukul] LT',\r\n nextWeek : 'dddd [pukul] LT',\r\n lastDay : '[Kelmarin pukul] LT',\r\n lastWeek : 'dddd [lepas pukul] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'dalam %s',\r\n past : '%s yang lepas',\r\n s : 'beberapa saat',\r\n ss : '%d saat',\r\n m : 'seminit',\r\n mm : '%d minit',\r\n h : 'sejam',\r\n hh : '%d jam',\r\n d : 'sehari',\r\n dd : '%d hari',\r\n M : 'sebulan',\r\n MM : '%d bulan',\r\n y : 'setahun',\r\n yy : '%d tahun'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('mt', {\r\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\r\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\r\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\r\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\r\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Illum fil-]LT',\r\n nextDay : '[Għada fil-]LT',\r\n nextWeek : 'dddd [fil-]LT',\r\n lastDay : '[Il-bieraħ fil-]LT',\r\n lastWeek : 'dddd [li għadda] [fil-]LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'f’ %s',\r\n past : '%s ilu',\r\n s : 'ftit sekondi',\r\n ss : '%d sekondi',\r\n m : 'minuta',\r\n mm : '%d minuti',\r\n h : 'siegħa',\r\n hh : '%d siegħat',\r\n d : 'ġurnata',\r\n dd : '%d ġranet',\r\n M : 'xahar',\r\n MM : '%d xhur',\r\n y : 'sena',\r\n yy : '%d sni'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\r\n ordinal: '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$10 = {\r\n '1': '၁',\r\n '2': '၂',\r\n '3': '၃',\r\n '4': '၄',\r\n '5': '၅',\r\n '6': '၆',\r\n '7': '၇',\r\n '8': '၈',\r\n '9': '၉',\r\n '0': '၀'\r\n}, numberMap$9 = {\r\n '၁': '1',\r\n '၂': '2',\r\n '၃': '3',\r\n '၄': '4',\r\n '၅': '5',\r\n '၆': '6',\r\n '၇': '7',\r\n '၈': '8',\r\n '၉': '9',\r\n '၀': '0'\r\n};\r\n\r\nhooks.defineLocale('my', {\r\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\r\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\r\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\r\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\r\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\r\n\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L: 'DD/MM/YYYY',\r\n LL: 'D MMMM YYYY',\r\n LLL: 'D MMMM YYYY HH:mm',\r\n LLLL: 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar: {\r\n sameDay: '[ယနေ.] LT [မှာ]',\r\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\r\n nextWeek: 'dddd LT [မှာ]',\r\n lastDay: '[မနေ.က] LT [မှာ]',\r\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: 'လာမည့် %s မှာ',\r\n past: 'လွန်ခဲ့သော %s က',\r\n s: 'စက္ကန်.အနည်းငယ်',\r\n ss : '%d စက္ကန့်',\r\n m: 'တစ်မိနစ်',\r\n mm: '%d မိနစ်',\r\n h: 'တစ်နာရီ',\r\n hh: '%d နာရီ',\r\n d: 'တစ်ရက်',\r\n dd: '%d ရက်',\r\n M: 'တစ်လ',\r\n MM: '%d လ',\r\n y: 'တစ်နှစ်',\r\n yy: '%d နှစ်'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\r\n return numberMap$9[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$10[match];\r\n });\r\n },\r\n week: {\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 4 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('nb', {\r\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\r\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\r\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\r\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\r\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[i dag kl.] LT',\r\n nextDay: '[i morgen kl.] LT',\r\n nextWeek: 'dddd [kl.] LT',\r\n lastDay: '[i går kl.] LT',\r\n lastWeek: '[forrige] dddd [kl.] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'om %s',\r\n past : '%s siden',\r\n s : 'noen sekunder',\r\n ss : '%d sekunder',\r\n m : 'ett minutt',\r\n mm : '%d minutter',\r\n h : 'en time',\r\n hh : '%d timer',\r\n d : 'en dag',\r\n dd : '%d dager',\r\n M : 'en måned',\r\n MM : '%d måneder',\r\n y : 'ett år',\r\n yy : '%d år'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$11 = {\r\n '1': '१',\r\n '2': '२',\r\n '3': '३',\r\n '4': '४',\r\n '5': '५',\r\n '6': '६',\r\n '7': '७',\r\n '8': '८',\r\n '9': '९',\r\n '0': '०'\r\n},\r\nnumberMap$10 = {\r\n '१': '1',\r\n '२': '2',\r\n '३': '3',\r\n '४': '4',\r\n '५': '5',\r\n '६': '6',\r\n '७': '7',\r\n '८': '8',\r\n '९': '9',\r\n '०': '0'\r\n};\r\n\r\nhooks.defineLocale('ne', {\r\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\r\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\r\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\r\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'Aको h:mm बजे',\r\n LTS : 'Aको h:mm:ss बजे',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\r\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\r\n return numberMap$10[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$11[match];\r\n });\r\n },\r\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'राति') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'बिहान') {\r\n return hour;\r\n } else if (meridiem === 'दिउँसो') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'साँझ') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 3) {\r\n return 'राति';\r\n } else if (hour < 12) {\r\n return 'बिहान';\r\n } else if (hour < 16) {\r\n return 'दिउँसो';\r\n } else if (hour < 20) {\r\n return 'साँझ';\r\n } else {\r\n return 'राति';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[आज] LT',\r\n nextDay : '[भोलि] LT',\r\n nextWeek : '[आउँदो] dddd[,] LT',\r\n lastDay : '[हिजो] LT',\r\n lastWeek : '[गएको] dddd[,] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%sमा',\r\n past : '%s अगाडि',\r\n s : 'केही क्षण',\r\n ss : '%d सेकेण्ड',\r\n m : 'एक मिनेट',\r\n mm : '%d मिनेट',\r\n h : 'एक घण्टा',\r\n hh : '%d घण्टा',\r\n d : 'एक दिन',\r\n dd : '%d दिन',\r\n M : 'एक महिना',\r\n MM : '%d महिना',\r\n y : 'एक बर्ष',\r\n yy : '%d बर्ष'\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\r\n monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\r\n\r\nvar monthsParse$2 = [/^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];\r\nvar monthsRegex$3 = /^(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;\r\n\r\nhooks.defineLocale('nl-be', {\r\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortWithDots$1;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShortWithoutDots$1[m.month()];\r\n } else {\r\n return monthsShortWithDots$1[m.month()];\r\n }\r\n },\r\n\r\n monthsRegex: monthsRegex$3,\r\n monthsShortRegex: monthsRegex$3,\r\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\r\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\r\n\r\n monthsParse : monthsParse$2,\r\n longMonthsParse : monthsParse$2,\r\n shortMonthsParse : monthsParse$2,\r\n\r\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\r\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\r\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[vandaag om] LT',\r\n nextDay: '[morgen om] LT',\r\n nextWeek: 'dddd [om] LT',\r\n lastDay: '[gisteren om] LT',\r\n lastWeek: '[afgelopen] dddd [om] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'over %s',\r\n past : '%s geleden',\r\n s : 'een paar seconden',\r\n ss : '%d seconden',\r\n m : 'één minuut',\r\n mm : '%d minuten',\r\n h : 'één uur',\r\n hh : '%d uur',\r\n d : 'één dag',\r\n dd : '%d dagen',\r\n M : 'één maand',\r\n MM : '%d maanden',\r\n y : 'één jaar',\r\n yy : '%d jaar'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\r\n ordinal : function (number) {\r\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\r\n monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\r\n\r\nvar monthsParse$3 = [/^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];\r\nvar monthsRegex$4 = /^(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;\r\n\r\nhooks.defineLocale('nl', {\r\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\r\n monthsShort : function (m, format) {\r\n if (!m) {\r\n return monthsShortWithDots$2;\r\n } else if (/-MMM-/.test(format)) {\r\n return monthsShortWithoutDots$2[m.month()];\r\n } else {\r\n return monthsShortWithDots$2[m.month()];\r\n }\r\n },\r\n\r\n monthsRegex: monthsRegex$4,\r\n monthsShortRegex: monthsRegex$4,\r\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,\r\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\r\n\r\n monthsParse : monthsParse$3,\r\n longMonthsParse : monthsParse$3,\r\n shortMonthsParse : monthsParse$3,\r\n\r\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\r\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\r\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD-MM-YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[vandaag om] LT',\r\n nextDay: '[morgen om] LT',\r\n nextWeek: 'dddd [om] LT',\r\n lastDay: '[gisteren om] LT',\r\n lastWeek: '[afgelopen] dddd [om] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'over %s',\r\n past : '%s geleden',\r\n s : 'een paar seconden',\r\n ss : '%d seconden',\r\n m : 'één minuut',\r\n mm : '%d minuten',\r\n h : 'één uur',\r\n hh : '%d uur',\r\n d : 'één dag',\r\n dd : '%d dagen',\r\n M : 'één maand',\r\n MM : '%d maanden',\r\n y : 'één jaar',\r\n yy : '%d jaar'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\r\n ordinal : function (number) {\r\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('nn', {\r\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\r\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\r\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\r\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY [kl.] H:mm',\r\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[I dag klokka] LT',\r\n nextDay: '[I morgon klokka] LT',\r\n nextWeek: 'dddd [klokka] LT',\r\n lastDay: '[I går klokka] LT',\r\n lastWeek: '[Føregåande] dddd [klokka] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'om %s',\r\n past : '%s sidan',\r\n s : 'nokre sekund',\r\n ss : '%d sekund',\r\n m : 'eit minutt',\r\n mm : '%d minutt',\r\n h : 'ein time',\r\n hh : '%d timar',\r\n d : 'ein dag',\r\n dd : '%d dagar',\r\n M : 'ein månad',\r\n MM : '%d månader',\r\n y : 'eit år',\r\n yy : '%d år'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$12 = {\r\n '1': '੧',\r\n '2': '੨',\r\n '3': '੩',\r\n '4': '੪',\r\n '5': '੫',\r\n '6': '੬',\r\n '7': '੭',\r\n '8': '੮',\r\n '9': '੯',\r\n '0': '੦'\r\n},\r\nnumberMap$11 = {\r\n '੧': '1',\r\n '੨': '2',\r\n '੩': '3',\r\n '੪': '4',\r\n '੫': '5',\r\n '੬': '6',\r\n '੭': '7',\r\n '੮': '8',\r\n '੯': '9',\r\n '੦': '0'\r\n};\r\n\r\nhooks.defineLocale('pa-in', {\r\n // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.\r\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\r\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\r\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\r\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\r\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm ਵਜੇ',\r\n LTS : 'A h:mm:ss ਵਜੇ',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\r\n },\r\n calendar : {\r\n sameDay : '[ਅਜ] LT',\r\n nextDay : '[ਕਲ] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[ਕਲ] LT',\r\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s ਵਿੱਚ',\r\n past : '%s ਪਿਛਲੇ',\r\n s : 'ਕੁਝ ਸਕਿੰਟ',\r\n ss : '%d ਸਕਿੰਟ',\r\n m : 'ਇਕ ਮਿੰਟ',\r\n mm : '%d ਮਿੰਟ',\r\n h : 'ਇੱਕ ਘੰਟਾ',\r\n hh : '%d ਘੰਟੇ',\r\n d : 'ਇੱਕ ਦਿਨ',\r\n dd : '%d ਦਿਨ',\r\n M : 'ਇੱਕ ਮਹੀਨਾ',\r\n MM : '%d ਮਹੀਨੇ',\r\n y : 'ਇੱਕ ਸਾਲ',\r\n yy : '%d ਸਾਲ'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\r\n return numberMap$11[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$12[match];\r\n });\r\n },\r\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\r\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\r\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'ਰਾਤ') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'ਸਵੇਰ') {\r\n return hour;\r\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'ਸ਼ਾਮ') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'ਰਾਤ';\r\n } else if (hour < 10) {\r\n return 'ਸਵੇਰ';\r\n } else if (hour < 17) {\r\n return 'ਦੁਪਹਿਰ';\r\n } else if (hour < 20) {\r\n return 'ਸ਼ਾਮ';\r\n } else {\r\n return 'ਰਾਤ';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\r\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\r\nfunction plural$3(n) {\r\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\r\n}\r\nfunction translate$7(number, withoutSuffix, key) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 'ss':\r\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\r\n case 'm':\r\n return withoutSuffix ? 'minuta' : 'minutę';\r\n case 'mm':\r\n return result + (plural$3(number) ? 'minuty' : 'minut');\r\n case 'h':\r\n return withoutSuffix ? 'godzina' : 'godzinę';\r\n case 'hh':\r\n return result + (plural$3(number) ? 'godziny' : 'godzin');\r\n case 'MM':\r\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\r\n case 'yy':\r\n return result + (plural$3(number) ? 'lata' : 'lat');\r\n }\r\n}\r\n\r\nhooks.defineLocale('pl', {\r\n months : function (momentToFormat, format) {\r\n if (!momentToFormat) {\r\n return monthsNominative;\r\n } else if (format === '') {\r\n // Hack: if format empty we know this is used to generate\r\n // RegExp by moment. Give then back both valid forms of months\r\n // in RegExp ready format.\r\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\r\n } else if (/D MMMM/.test(format)) {\r\n return monthsSubjective[momentToFormat.month()];\r\n } else {\r\n return monthsNominative[momentToFormat.month()];\r\n }\r\n },\r\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\r\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\r\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\r\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Dziś o] LT',\r\n nextDay: '[Jutro o] LT',\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[W niedzielę o] LT';\r\n\r\n case 2:\r\n return '[We wtorek o] LT';\r\n\r\n case 3:\r\n return '[W środę o] LT';\r\n\r\n case 6:\r\n return '[W sobotę o] LT';\r\n\r\n default:\r\n return '[W] dddd [o] LT';\r\n }\r\n },\r\n lastDay: '[Wczoraj o] LT',\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[W zeszłą niedzielę o] LT';\r\n case 3:\r\n return '[W zeszłą środę o] LT';\r\n case 6:\r\n return '[W zeszłą sobotę o] LT';\r\n default:\r\n return '[W zeszły] dddd [o] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : '%s temu',\r\n s : 'kilka sekund',\r\n ss : translate$7,\r\n m : translate$7,\r\n mm : translate$7,\r\n h : translate$7,\r\n hh : translate$7,\r\n d : '1 dzień',\r\n dd : '%d dni',\r\n M : 'miesiąc',\r\n MM : translate$7,\r\n y : 'rok',\r\n yy : translate$7\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('pt-br', {\r\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\r\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\r\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\r\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\r\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Hoje às] LT',\r\n nextDay: '[Amanhã às] LT',\r\n nextWeek: 'dddd [às] LT',\r\n lastDay: '[Ontem às] LT',\r\n lastWeek: function () {\r\n return (this.day() === 0 || this.day() === 6) ?\r\n '[Último] dddd [às] LT' : // Saturday + Sunday\r\n '[Última] dddd [às] LT'; // Monday - Friday\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'em %s',\r\n past : 'há %s',\r\n s : 'poucos segundos',\r\n ss : '%d segundos',\r\n m : 'um minuto',\r\n mm : '%d minutos',\r\n h : 'uma hora',\r\n hh : '%d horas',\r\n d : 'um dia',\r\n dd : '%d dias',\r\n M : 'um mês',\r\n MM : '%d meses',\r\n y : 'um ano',\r\n yy : '%d anos'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\r\n ordinal : '%dº'\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('pt', {\r\n months : 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\r\n monthsShort : 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\r\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\r\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\r\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D [de] MMMM [de] YYYY',\r\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\r\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Hoje às] LT',\r\n nextDay: '[Amanhã às] LT',\r\n nextWeek: 'dddd [às] LT',\r\n lastDay: '[Ontem às] LT',\r\n lastWeek: function () {\r\n return (this.day() === 0 || this.day() === 6) ?\r\n '[Último] dddd [às] LT' : // Saturday + Sunday\r\n '[Última] dddd [às] LT'; // Monday - Friday\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'em %s',\r\n past : 'há %s',\r\n s : 'segundos',\r\n ss : '%d segundos',\r\n m : 'um minuto',\r\n mm : '%d minutos',\r\n h : 'uma hora',\r\n hh : '%d horas',\r\n d : 'um dia',\r\n dd : '%d dias',\r\n M : 'um mês',\r\n MM : '%d meses',\r\n y : 'um ano',\r\n yy : '%d anos'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\r\n ordinal : '%dº',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction relativeTimeWithPlural$2(number, withoutSuffix, key) {\r\n var format = {\r\n 'ss': 'secunde',\r\n 'mm': 'minute',\r\n 'hh': 'ore',\r\n 'dd': 'zile',\r\n 'MM': 'luni',\r\n 'yy': 'ani'\r\n },\r\n separator = ' ';\r\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\r\n separator = ' de ';\r\n }\r\n return number + separator + format[key];\r\n}\r\n\r\nhooks.defineLocale('ro', {\r\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\r\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\r\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\r\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY H:mm',\r\n LLLL : 'dddd, D MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay: '[azi la] LT',\r\n nextDay: '[mâine la] LT',\r\n nextWeek: 'dddd [la] LT',\r\n lastDay: '[ieri la] LT',\r\n lastWeek: '[fosta] dddd [la] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'peste %s',\r\n past : '%s în urmă',\r\n s : 'câteva secunde',\r\n ss : relativeTimeWithPlural$2,\r\n m : 'un minut',\r\n mm : relativeTimeWithPlural$2,\r\n h : 'o oră',\r\n hh : relativeTimeWithPlural$2,\r\n d : 'o zi',\r\n dd : relativeTimeWithPlural$2,\r\n M : 'o lună',\r\n MM : relativeTimeWithPlural$2,\r\n y : 'un an',\r\n yy : relativeTimeWithPlural$2\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction plural$4(word, num) {\r\n var forms = word.split('_');\r\n 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]);\r\n}\r\nfunction relativeTimeWithPlural$3(number, withoutSuffix, key) {\r\n var format = {\r\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\r\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\r\n 'hh': 'час_часа_часов',\r\n 'dd': 'день_дня_дней',\r\n 'MM': 'месяц_месяца_месяцев',\r\n 'yy': 'год_года_лет'\r\n };\r\n if (key === 'm') {\r\n return withoutSuffix ? 'минута' : 'минуту';\r\n }\r\n else {\r\n return number + ' ' + plural$4(format[key], +number);\r\n }\r\n}\r\nvar monthsParse$4 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\r\n\r\n// http://new.gramota.ru/spravka/rules/139-prop : § 103\r\n// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\r\n// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\r\nhooks.defineLocale('ru', {\r\n months : {\r\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\r\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\r\n },\r\n monthsShort : {\r\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\r\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\r\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\r\n },\r\n weekdays : {\r\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\r\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\r\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\r\n },\r\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\r\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\r\n monthsParse : monthsParse$4,\r\n longMonthsParse : monthsParse$4,\r\n shortMonthsParse : monthsParse$4,\r\n\r\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\r\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\r\n\r\n // копия предыдущего\r\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\r\n\r\n // полные названия с падежами\r\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\r\n\r\n // Выражение, которое соотвествует только сокращённым формам\r\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY г.',\r\n LLL : 'D MMMM YYYY г., H:mm',\r\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Сегодня в] LT',\r\n nextDay: '[Завтра в] LT',\r\n lastDay: '[Вчера в] LT',\r\n nextWeek: function (now) {\r\n if (now.week() !== this.week()) {\r\n switch (this.day()) {\r\n case 0:\r\n return '[В следующее] dddd [в] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n return '[В следующий] dddd [в] LT';\r\n case 3:\r\n case 5:\r\n case 6:\r\n return '[В следующую] dddd [в] LT';\r\n }\r\n } else {\r\n if (this.day() === 2) {\r\n return '[Во] dddd [в] LT';\r\n } else {\r\n return '[В] dddd [в] LT';\r\n }\r\n }\r\n },\r\n lastWeek: function (now) {\r\n if (now.week() !== this.week()) {\r\n switch (this.day()) {\r\n case 0:\r\n return '[В прошлое] dddd [в] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n return '[В прошлый] dddd [в] LT';\r\n case 3:\r\n case 5:\r\n case 6:\r\n return '[В прошлую] dddd [в] LT';\r\n }\r\n } else {\r\n if (this.day() === 2) {\r\n return '[Во] dddd [в] LT';\r\n } else {\r\n return '[В] dddd [в] LT';\r\n }\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'через %s',\r\n past : '%s назад',\r\n s : 'несколько секунд',\r\n ss : relativeTimeWithPlural$3,\r\n m : relativeTimeWithPlural$3,\r\n mm : relativeTimeWithPlural$3,\r\n h : 'час',\r\n hh : relativeTimeWithPlural$3,\r\n d : 'день',\r\n dd : relativeTimeWithPlural$3,\r\n M : 'месяц',\r\n MM : relativeTimeWithPlural$3,\r\n y : 'год',\r\n yy : relativeTimeWithPlural$3\r\n },\r\n meridiemParse: /ночи|утра|дня|вечера/i,\r\n isPM : function (input) {\r\n return /^(дня|вечера)$/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'ночи';\r\n } else if (hour < 12) {\r\n return 'утра';\r\n } else if (hour < 17) {\r\n return 'дня';\r\n } else {\r\n return 'вечера';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'M':\r\n case 'd':\r\n case 'DDD':\r\n return number + '-й';\r\n case 'D':\r\n return number + '-го';\r\n case 'w':\r\n case 'W':\r\n return number + '-я';\r\n default:\r\n return number;\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$6 = [\r\n 'جنوري',\r\n 'فيبروري',\r\n 'مارچ',\r\n 'اپريل',\r\n 'مئي',\r\n 'جون',\r\n 'جولاءِ',\r\n 'آگسٽ',\r\n 'سيپٽمبر',\r\n 'آڪٽوبر',\r\n 'نومبر',\r\n 'ڊسمبر'\r\n];\r\nvar days$1 = [\r\n 'آچر',\r\n 'سومر',\r\n 'اڱارو',\r\n 'اربع',\r\n 'خميس',\r\n 'جمع',\r\n 'ڇنڇر'\r\n];\r\n\r\nhooks.defineLocale('sd', {\r\n months : months$6,\r\n monthsShort : months$6,\r\n weekdays : days$1,\r\n weekdaysShort : days$1,\r\n weekdaysMin : days$1,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd، D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /صبح|شام/,\r\n isPM : function (input) {\r\n return 'شام' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'صبح';\r\n }\r\n return 'شام';\r\n },\r\n calendar : {\r\n sameDay : '[اڄ] LT',\r\n nextDay : '[سڀاڻي] LT',\r\n nextWeek : 'dddd [اڳين هفتي تي] LT',\r\n lastDay : '[ڪالهه] LT',\r\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s پوء',\r\n past : '%s اڳ',\r\n s : 'چند سيڪنڊ',\r\n ss : '%d سيڪنڊ',\r\n m : 'هڪ منٽ',\r\n mm : '%d منٽ',\r\n h : 'هڪ ڪلاڪ',\r\n hh : '%d ڪلاڪ',\r\n d : 'هڪ ڏينهن',\r\n dd : '%d ڏينهن',\r\n M : 'هڪ مهينو',\r\n MM : '%d مهينا',\r\n y : 'هڪ سال',\r\n yy : '%d سال'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('se', {\r\n 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('_'),\r\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\r\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\r\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\r\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'MMMM D. [b.] YYYY',\r\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\r\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[otne ti] LT',\r\n nextDay: '[ihttin ti] LT',\r\n nextWeek: 'dddd [ti] LT',\r\n lastDay: '[ikte ti] LT',\r\n lastWeek: '[ovddit] dddd [ti] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : '%s geažes',\r\n past : 'maŋit %s',\r\n s : 'moadde sekunddat',\r\n ss: '%d sekunddat',\r\n m : 'okta minuhta',\r\n mm : '%d minuhtat',\r\n h : 'okta diimmu',\r\n hh : '%d diimmut',\r\n d : 'okta beaivi',\r\n dd : '%d beaivvit',\r\n M : 'okta mánnu',\r\n MM : '%d mánut',\r\n y : 'okta jahki',\r\n yy : '%d jagit'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\n/*jshint -W100*/\r\nhooks.defineLocale('si', {\r\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\r\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\r\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\r\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\r\n weekdaysMin : 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'a h:mm',\r\n LTS : 'a h:mm:ss',\r\n L : 'YYYY/MM/DD',\r\n LL : 'YYYY MMMM D',\r\n LLL : 'YYYY MMMM D, a h:mm',\r\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\r\n },\r\n calendar : {\r\n sameDay : '[අද] LT[ට]',\r\n nextDay : '[හෙට] LT[ට]',\r\n nextWeek : 'dddd LT[ට]',\r\n lastDay : '[ඊයේ] LT[ට]',\r\n lastWeek : '[පසුගිය] dddd LT[ට]',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%sකින්',\r\n past : '%sකට පෙර',\r\n s : 'තත්පර කිහිපය',\r\n ss : 'තත්පර %d',\r\n m : 'මිනිත්තුව',\r\n mm : 'මිනිත්තු %d',\r\n h : 'පැය',\r\n hh : 'පැය %d',\r\n d : 'දිනය',\r\n dd : 'දින %d',\r\n M : 'මාසය',\r\n MM : 'මාස %d',\r\n y : 'වසර',\r\n yy : 'වසර %d'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\r\n ordinal : function (number) {\r\n return number + ' වැනි';\r\n },\r\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\r\n isPM : function (input) {\r\n return input === 'ප.ව.' || input === 'පස් වරු';\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'ප.ව.' : 'පස් වරු';\r\n } else {\r\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\r\n }\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$7 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\r\n monthsShort$5 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\r\nfunction plural$5(n) {\r\n return (n > 1) && (n < 5);\r\n}\r\nfunction translate$8(number, withoutSuffix, key, isFuture) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 's': // a few seconds / in a few seconds / a few seconds ago\r\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\r\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\r\n } else {\r\n return result + 'sekundami';\r\n }\r\n break;\r\n case 'm': // a minute / in a minute / a minute ago\r\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\r\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'minúty' : 'minút');\r\n } else {\r\n return result + 'minútami';\r\n }\r\n break;\r\n case 'h': // an hour / in an hour / an hour ago\r\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\r\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\r\n } else {\r\n return result + 'hodinami';\r\n }\r\n break;\r\n case 'd': // a day / in a day / a day ago\r\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\r\n case 'dd': // 9 days / in 9 days / 9 days ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'dni' : 'dní');\r\n } else {\r\n return result + 'dňami';\r\n }\r\n break;\r\n case 'M': // a month / in a month / a month ago\r\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\r\n case 'MM': // 9 months / in 9 months / 9 months ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\r\n } else {\r\n return result + 'mesiacmi';\r\n }\r\n break;\r\n case 'y': // a year / in a year / a year ago\r\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\r\n case 'yy': // 9 years / in 9 years / 9 years ago\r\n if (withoutSuffix || isFuture) {\r\n return result + (plural$5(number) ? 'roky' : 'rokov');\r\n } else {\r\n return result + 'rokmi';\r\n }\r\n break;\r\n }\r\n}\r\n\r\nhooks.defineLocale('sk', {\r\n months : months$7,\r\n monthsShort : monthsShort$5,\r\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\r\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\r\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\r\n longDateFormat : {\r\n LT: 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd D. MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay: '[dnes o] LT',\r\n nextDay: '[zajtra o] LT',\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[v nedeľu o] LT';\r\n case 1:\r\n case 2:\r\n return '[v] dddd [o] LT';\r\n case 3:\r\n return '[v stredu o] LT';\r\n case 4:\r\n return '[vo štvrtok o] LT';\r\n case 5:\r\n return '[v piatok o] LT';\r\n case 6:\r\n return '[v sobotu o] LT';\r\n }\r\n },\r\n lastDay: '[včera o] LT',\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[minulú nedeľu o] LT';\r\n case 1:\r\n case 2:\r\n return '[minulý] dddd [o] LT';\r\n case 3:\r\n return '[minulú stredu o] LT';\r\n case 4:\r\n case 5:\r\n return '[minulý] dddd [o] LT';\r\n case 6:\r\n return '[minulú sobotu o] LT';\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'pred %s',\r\n s : translate$8,\r\n ss : translate$8,\r\n m : translate$8,\r\n mm : translate$8,\r\n h : translate$8,\r\n hh : translate$8,\r\n d : translate$8,\r\n dd : translate$8,\r\n M : translate$8,\r\n MM : translate$8,\r\n y : translate$8,\r\n yy : translate$8\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction processRelativeTime$6(number, withoutSuffix, key, isFuture) {\r\n var result = number + ' ';\r\n switch (key) {\r\n case 's':\r\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\r\n case 'ss':\r\n if (number === 1) {\r\n result += withoutSuffix ? 'sekundo' : 'sekundi';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\r\n } else if (number < 5) {\r\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'sekund' : 'sekund';\r\n }\r\n return result;\r\n case 'm':\r\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\r\n case 'mm':\r\n if (number === 1) {\r\n result += withoutSuffix ? 'minuta' : 'minuto';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\r\n } else if (number < 5) {\r\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\r\n }\r\n return result;\r\n case 'h':\r\n return withoutSuffix ? 'ena ura' : 'eno uro';\r\n case 'hh':\r\n if (number === 1) {\r\n result += withoutSuffix ? 'ura' : 'uro';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\r\n } else if (number < 5) {\r\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\r\n }\r\n return result;\r\n case 'd':\r\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\r\n case 'dd':\r\n if (number === 1) {\r\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\r\n }\r\n return result;\r\n case 'M':\r\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\r\n case 'MM':\r\n if (number === 1) {\r\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\r\n } else if (number < 5) {\r\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\r\n }\r\n return result;\r\n case 'y':\r\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\r\n case 'yy':\r\n if (number === 1) {\r\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\r\n } else if (number === 2) {\r\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\r\n } else if (number < 5) {\r\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\r\n } else {\r\n result += withoutSuffix || isFuture ? 'let' : 'leti';\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nhooks.defineLocale('sl', {\r\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\r\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\r\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\r\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM YYYY',\r\n LLL : 'D. MMMM YYYY H:mm',\r\n LLLL : 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar : {\r\n sameDay : '[danes ob] LT',\r\n nextDay : '[jutri ob] LT',\r\n\r\n nextWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[v] [nedeljo] [ob] LT';\r\n case 3:\r\n return '[v] [sredo] [ob] LT';\r\n case 6:\r\n return '[v] [soboto] [ob] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[v] dddd [ob] LT';\r\n }\r\n },\r\n lastDay : '[včeraj ob] LT',\r\n lastWeek : function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[prejšnjo] [nedeljo] [ob] LT';\r\n case 3:\r\n return '[prejšnjo] [sredo] [ob] LT';\r\n case 6:\r\n return '[prejšnjo] [soboto] [ob] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[prejšnji] dddd [ob] LT';\r\n }\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'čez %s',\r\n past : 'pred %s',\r\n s : processRelativeTime$6,\r\n ss : processRelativeTime$6,\r\n m : processRelativeTime$6,\r\n mm : processRelativeTime$6,\r\n h : processRelativeTime$6,\r\n hh : processRelativeTime$6,\r\n d : processRelativeTime$6,\r\n dd : processRelativeTime$6,\r\n M : processRelativeTime$6,\r\n MM : processRelativeTime$6,\r\n y : processRelativeTime$6,\r\n yy : processRelativeTime$6\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('sq', {\r\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\r\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\r\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\r\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\r\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\r\n weekdaysParseExact : true,\r\n meridiemParse: /PD|MD/,\r\n isPM: function (input) {\r\n return input.charAt(0) === 'M';\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n return hours < 12 ? 'PD' : 'MD';\r\n },\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Sot në] LT',\r\n nextDay : '[Nesër në] LT',\r\n nextWeek : 'dddd [në] LT',\r\n lastDay : '[Dje në] LT',\r\n lastWeek : 'dddd [e kaluar në] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'në %s',\r\n past : '%s më parë',\r\n s : 'disa sekonda',\r\n ss : '%d sekonda',\r\n m : 'një minutë',\r\n mm : '%d minuta',\r\n h : 'një orë',\r\n hh : '%d orë',\r\n d : 'një ditë',\r\n dd : '%d ditë',\r\n M : 'një muaj',\r\n MM : '%d muaj',\r\n y : 'një vit',\r\n yy : '%d vite'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar translator$1 = {\r\n words: { //Different grammatical cases\r\n ss: ['секунда', 'секунде', 'секунди'],\r\n m: ['један минут', 'једне минуте'],\r\n mm: ['минут', 'минуте', 'минута'],\r\n h: ['један сат', 'једног сата'],\r\n hh: ['сат', 'сата', 'сати'],\r\n dd: ['дан', 'дана', 'дана'],\r\n MM: ['месец', 'месеца', 'месеци'],\r\n yy: ['година', 'године', 'година']\r\n },\r\n correctGrammaticalCase: function (number, wordKey) {\r\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\r\n },\r\n translate: function (number, withoutSuffix, key) {\r\n var wordKey = translator$1.words[key];\r\n if (key.length === 1) {\r\n return withoutSuffix ? wordKey[0] : wordKey[1];\r\n } else {\r\n return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);\r\n }\r\n }\r\n};\r\n\r\nhooks.defineLocale('sr-cyrl', {\r\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\r\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\r\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\r\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat: {\r\n LT: 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L: 'DD.MM.YYYY',\r\n LL: 'D. MMMM YYYY',\r\n LLL: 'D. MMMM YYYY H:mm',\r\n LLLL: 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar: {\r\n sameDay: '[данас у] LT',\r\n nextDay: '[сутра у] LT',\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[у] [недељу] [у] LT';\r\n case 3:\r\n return '[у] [среду] [у] LT';\r\n case 6:\r\n return '[у] [суботу] [у] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[у] dddd [у] LT';\r\n }\r\n },\r\n lastDay : '[јуче у] LT',\r\n lastWeek : function () {\r\n var lastWeekDays = [\r\n '[прошле] [недеље] [у] LT',\r\n '[прошлог] [понедељка] [у] LT',\r\n '[прошлог] [уторка] [у] LT',\r\n '[прошле] [среде] [у] LT',\r\n '[прошлог] [четвртка] [у] LT',\r\n '[прошлог] [петка] [у] LT',\r\n '[прошле] [суботе] [у] LT'\r\n ];\r\n return lastWeekDays[this.day()];\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'за %s',\r\n past : 'пре %s',\r\n s : 'неколико секунди',\r\n ss : translator$1.translate,\r\n m : translator$1.translate,\r\n mm : translator$1.translate,\r\n h : translator$1.translate,\r\n hh : translator$1.translate,\r\n d : 'дан',\r\n dd : translator$1.translate,\r\n M : 'месец',\r\n MM : translator$1.translate,\r\n y : 'годину',\r\n yy : translator$1.translate\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar translator$2 = {\r\n words: { //Different grammatical cases\r\n ss: ['sekunda', 'sekunde', 'sekundi'],\r\n m: ['jedan minut', 'jedne minute'],\r\n mm: ['minut', 'minute', 'minuta'],\r\n h: ['jedan sat', 'jednog sata'],\r\n hh: ['sat', 'sata', 'sati'],\r\n dd: ['dan', 'dana', 'dana'],\r\n MM: ['mesec', 'meseca', 'meseci'],\r\n yy: ['godina', 'godine', 'godina']\r\n },\r\n correctGrammaticalCase: function (number, wordKey) {\r\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\r\n },\r\n translate: function (number, withoutSuffix, key) {\r\n var wordKey = translator$2.words[key];\r\n if (key.length === 1) {\r\n return withoutSuffix ? wordKey[0] : wordKey[1];\r\n } else {\r\n return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);\r\n }\r\n }\r\n};\r\n\r\nhooks.defineLocale('sr', {\r\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\r\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\r\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\r\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat: {\r\n LT: 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L: 'DD.MM.YYYY',\r\n LL: 'D. MMMM YYYY',\r\n LLL: 'D. MMMM YYYY H:mm',\r\n LLLL: 'dddd, D. MMMM YYYY H:mm'\r\n },\r\n calendar: {\r\n sameDay: '[danas u] LT',\r\n nextDay: '[sutra u] LT',\r\n nextWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n return '[u] [nedelju] [u] LT';\r\n case 3:\r\n return '[u] [sredu] [u] LT';\r\n case 6:\r\n return '[u] [subotu] [u] LT';\r\n case 1:\r\n case 2:\r\n case 4:\r\n case 5:\r\n return '[u] dddd [u] LT';\r\n }\r\n },\r\n lastDay : '[juče u] LT',\r\n lastWeek : function () {\r\n var lastWeekDays = [\r\n '[prošle] [nedelje] [u] LT',\r\n '[prošlog] [ponedeljka] [u] LT',\r\n '[prošlog] [utorka] [u] LT',\r\n '[prošle] [srede] [u] LT',\r\n '[prošlog] [četvrtka] [u] LT',\r\n '[prošlog] [petka] [u] LT',\r\n '[prošle] [subote] [u] LT'\r\n ];\r\n return lastWeekDays[this.day()];\r\n },\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'za %s',\r\n past : 'pre %s',\r\n s : 'nekoliko sekundi',\r\n ss : translator$2.translate,\r\n m : translator$2.translate,\r\n mm : translator$2.translate,\r\n h : translator$2.translate,\r\n hh : translator$2.translate,\r\n d : 'dan',\r\n dd : translator$2.translate,\r\n M : 'mesec',\r\n MM : translator$2.translate,\r\n y : 'godinu',\r\n yy : translator$2.translate\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('ss', {\r\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\r\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\r\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\r\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\r\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Namuhla nga] LT',\r\n nextDay : '[Kusasa nga] LT',\r\n nextWeek : 'dddd [nga] LT',\r\n lastDay : '[Itolo nga] LT',\r\n lastWeek : 'dddd [leliphelile] [nga] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'nga %s',\r\n past : 'wenteka nga %s',\r\n s : 'emizuzwana lomcane',\r\n ss : '%d mzuzwana',\r\n m : 'umzuzu',\r\n mm : '%d emizuzu',\r\n h : 'lihora',\r\n hh : '%d emahora',\r\n d : 'lilanga',\r\n dd : '%d emalanga',\r\n M : 'inyanga',\r\n MM : '%d tinyanga',\r\n y : 'umnyaka',\r\n yy : '%d iminyaka'\r\n },\r\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 11) {\r\n return 'ekuseni';\r\n } else if (hours < 15) {\r\n return 'emini';\r\n } else if (hours < 19) {\r\n return 'entsambama';\r\n } else {\r\n return 'ebusuku';\r\n }\r\n },\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'ekuseni') {\r\n return hour;\r\n } else if (meridiem === 'emini') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\r\n if (hour === 0) {\r\n return 0;\r\n }\r\n return hour + 12;\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}/,\r\n ordinal : '%d',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('sv', {\r\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\r\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\r\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\r\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\r\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY-MM-DD',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY [kl.] HH:mm',\r\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\r\n lll : 'D MMM YYYY HH:mm',\r\n llll : 'ddd D MMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Idag] LT',\r\n nextDay: '[Imorgon] LT',\r\n lastDay: '[Igår] LT',\r\n nextWeek: '[På] dddd LT',\r\n lastWeek: '[I] dddd[s] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'om %s',\r\n past : 'för %s sedan',\r\n s : 'några sekunder',\r\n ss : '%d sekunder',\r\n m : 'en minut',\r\n mm : '%d minuter',\r\n h : 'en timme',\r\n hh : '%d timmar',\r\n d : 'en dag',\r\n dd : '%d dagar',\r\n M : 'en månad',\r\n MM : '%d månader',\r\n y : 'ett år',\r\n yy : '%d år'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'e' :\r\n (b === 1) ? 'a' :\r\n (b === 2) ? 'a' :\r\n (b === 3) ? 'e' : 'e';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('sw', {\r\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\r\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\r\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\r\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\r\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[leo saa] LT',\r\n nextDay : '[kesho saa] LT',\r\n nextWeek : '[wiki ijayo] dddd [saat] LT',\r\n lastDay : '[jana] LT',\r\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s baadaye',\r\n past : 'tokea %s',\r\n s : 'hivi punde',\r\n ss : 'sekunde %d',\r\n m : 'dakika moja',\r\n mm : 'dakika %d',\r\n h : 'saa limoja',\r\n hh : 'masaa %d',\r\n d : 'siku moja',\r\n dd : 'masiku %d',\r\n M : 'mwezi mmoja',\r\n MM : 'miezi %d',\r\n y : 'mwaka mmoja',\r\n yy : 'miaka %d'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar symbolMap$13 = {\r\n '1': '௧',\r\n '2': '௨',\r\n '3': '௩',\r\n '4': '௪',\r\n '5': '௫',\r\n '6': '௬',\r\n '7': '௭',\r\n '8': '௮',\r\n '9': '௯',\r\n '0': '௦'\r\n}, numberMap$12 = {\r\n '௧': '1',\r\n '௨': '2',\r\n '௩': '3',\r\n '௪': '4',\r\n '௫': '5',\r\n '௬': '6',\r\n '௭': '7',\r\n '௮': '8',\r\n '௯': '9',\r\n '௦': '0'\r\n};\r\n\r\nhooks.defineLocale('ta', {\r\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\r\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\r\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\r\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\r\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[இன்று] LT',\r\n nextDay : '[நாளை] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[நேற்று] LT',\r\n lastWeek : '[கடந்த வாரம்] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s இல்',\r\n past : '%s முன்',\r\n s : 'ஒரு சில விநாடிகள்',\r\n ss : '%d விநாடிகள்',\r\n m : 'ஒரு நிமிடம்',\r\n mm : '%d நிமிடங்கள்',\r\n h : 'ஒரு மணி நேரம்',\r\n hh : '%d மணி நேரம்',\r\n d : 'ஒரு நாள்',\r\n dd : '%d நாட்கள்',\r\n M : 'ஒரு மாதம்',\r\n MM : '%d மாதங்கள்',\r\n y : 'ஒரு வருடம்',\r\n yy : '%d ஆண்டுகள்'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\r\n ordinal : function (number) {\r\n return number + 'வது';\r\n },\r\n preparse: function (string) {\r\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\r\n return numberMap$12[match];\r\n });\r\n },\r\n postformat: function (string) {\r\n return string.replace(/\\d/g, function (match) {\r\n return symbolMap$13[match];\r\n });\r\n },\r\n // refer http://ta.wikipedia.org/s/1er1\r\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 2) {\r\n return ' யாமம்';\r\n } else if (hour < 6) {\r\n return ' வைகறை'; // வைகறை\r\n } else if (hour < 10) {\r\n return ' காலை'; // காலை\r\n } else if (hour < 14) {\r\n return ' நண்பகல்'; // நண்பகல்\r\n } else if (hour < 18) {\r\n return ' எற்பாடு'; // எற்பாடு\r\n } else if (hour < 22) {\r\n return ' மாலை'; // மாலை\r\n } else {\r\n return ' யாமம்';\r\n }\r\n },\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'யாமம்') {\r\n return hour < 2 ? hour : hour + 12;\r\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\r\n return hour;\r\n } else if (meridiem === 'நண்பகல்') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else {\r\n return hour + 12;\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('te', {\r\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\r\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\r\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\r\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\r\n longDateFormat : {\r\n LT : 'A h:mm',\r\n LTS : 'A h:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY, A h:mm',\r\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\r\n },\r\n calendar : {\r\n sameDay : '[నేడు] LT',\r\n nextDay : '[రేపు] LT',\r\n nextWeek : 'dddd, LT',\r\n lastDay : '[నిన్న] LT',\r\n lastWeek : '[గత] dddd, LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s లో',\r\n past : '%s క్రితం',\r\n s : 'కొన్ని క్షణాలు',\r\n ss : '%d సెకన్లు',\r\n m : 'ఒక నిమిషం',\r\n mm : '%d నిమిషాలు',\r\n h : 'ఒక గంట',\r\n hh : '%d గంటలు',\r\n d : 'ఒక రోజు',\r\n dd : '%d రోజులు',\r\n M : 'ఒక నెల',\r\n MM : '%d నెలలు',\r\n y : 'ఒక సంవత్సరం',\r\n yy : '%d సంవత్సరాలు'\r\n },\r\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\r\n ordinal : '%dవ',\r\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'రాత్రి') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'ఉదయం') {\r\n return hour;\r\n } else if (meridiem === 'మధ్యాహ్నం') {\r\n return hour >= 10 ? hour : hour + 12;\r\n } else if (meridiem === 'సాయంత్రం') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'రాత్రి';\r\n } else if (hour < 10) {\r\n return 'ఉదయం';\r\n } else if (hour < 17) {\r\n return 'మధ్యాహ్నం';\r\n } else if (hour < 20) {\r\n return 'సాయంత్రం';\r\n } else {\r\n return 'రాత్రి';\r\n }\r\n },\r\n week : {\r\n dow : 0, // Sunday is the first day of the week.\r\n doy : 6 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('tet', {\r\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\r\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\r\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\r\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\r\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Ohin iha] LT',\r\n nextDay: '[Aban iha] LT',\r\n nextWeek: 'dddd [iha] LT',\r\n lastDay: '[Horiseik iha] LT',\r\n lastWeek: 'dddd [semana kotuk] [iha] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'iha %s',\r\n past : '%s liuba',\r\n s : 'minutu balun',\r\n ss : 'minutu %d',\r\n m : 'minutu ida',\r\n mm : 'minutu %d',\r\n h : 'oras ida',\r\n hh : 'oras %d',\r\n d : 'loron ida',\r\n dd : 'loron %d',\r\n M : 'fulan ida',\r\n MM : 'fulan %d',\r\n y : 'tinan ida',\r\n yy : 'tinan %d'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar suffixes$3 = {\r\n 0: '-ум',\r\n 1: '-ум',\r\n 2: '-юм',\r\n 3: '-юм',\r\n 4: '-ум',\r\n 5: '-ум',\r\n 6: '-ум',\r\n 7: '-ум',\r\n 8: '-ум',\r\n 9: '-ум',\r\n 10: '-ум',\r\n 12: '-ум',\r\n 13: '-ум',\r\n 20: '-ум',\r\n 30: '-юм',\r\n 40: '-ум',\r\n 50: '-ум',\r\n 60: '-ум',\r\n 70: '-ум',\r\n 80: '-ум',\r\n 90: '-ум',\r\n 100: '-ум'\r\n};\r\n\r\nhooks.defineLocale('tg', {\r\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\r\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\r\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\r\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\r\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Имрӯз соати] LT',\r\n nextDay : '[Пагоҳ соати] LT',\r\n lastDay : '[Дирӯз соати] LT',\r\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\r\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'баъди %s',\r\n past : '%s пеш',\r\n s : 'якчанд сония',\r\n m : 'як дақиқа',\r\n mm : '%d дақиқа',\r\n h : 'як соат',\r\n hh : '%d соат',\r\n d : 'як рӯз',\r\n dd : '%d рӯз',\r\n M : 'як моҳ',\r\n MM : '%d моҳ',\r\n y : 'як сол',\r\n yy : '%d сол'\r\n },\r\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === 'шаб') {\r\n return hour < 4 ? hour : hour + 12;\r\n } else if (meridiem === 'субҳ') {\r\n return hour;\r\n } else if (meridiem === 'рӯз') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === 'бегоҳ') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem: function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'шаб';\r\n } else if (hour < 11) {\r\n return 'субҳ';\r\n } else if (hour < 16) {\r\n return 'рӯз';\r\n } else if (hour < 19) {\r\n return 'бегоҳ';\r\n } else {\r\n return 'шаб';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\r\n ordinal: function (number) {\r\n var a = number % 10,\r\n b = number >= 100 ? 100 : null;\r\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('th', {\r\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\r\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\r\n monthsParseExact: true,\r\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\r\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\r\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'H:mm',\r\n LTS : 'H:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY เวลา H:mm',\r\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\r\n },\r\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\r\n isPM: function (input) {\r\n return input === 'หลังเที่ยง';\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'ก่อนเที่ยง';\r\n } else {\r\n return 'หลังเที่ยง';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[วันนี้ เวลา] LT',\r\n nextDay : '[พรุ่งนี้ เวลา] LT',\r\n nextWeek : 'dddd[หน้า เวลา] LT',\r\n lastDay : '[เมื่อวานนี้ เวลา] LT',\r\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'อีก %s',\r\n past : '%sที่แล้ว',\r\n s : 'ไม่กี่วินาที',\r\n ss : '%d วินาที',\r\n m : '1 นาที',\r\n mm : '%d นาที',\r\n h : '1 ชั่วโมง',\r\n hh : '%d ชั่วโมง',\r\n d : '1 วัน',\r\n dd : '%d วัน',\r\n M : '1 เดือน',\r\n MM : '%d เดือน',\r\n y : '1 ปี',\r\n yy : '%d ปี'\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('tl-ph', {\r\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\r\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\r\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\r\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\r\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'MM/D/YYYY',\r\n LL : 'MMMM D, YYYY',\r\n LLL : 'MMMM D, YYYY HH:mm',\r\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: 'LT [ngayong araw]',\r\n nextDay: '[Bukas ng] LT',\r\n nextWeek: 'LT [sa susunod na] dddd',\r\n lastDay: 'LT [kahapon]',\r\n lastWeek: 'LT [noong nakaraang] dddd',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'sa loob ng %s',\r\n past : '%s ang nakalipas',\r\n s : 'ilang segundo',\r\n ss : '%d segundo',\r\n m : 'isang minuto',\r\n mm : '%d minuto',\r\n h : 'isang oras',\r\n hh : '%d oras',\r\n d : 'isang araw',\r\n dd : '%d araw',\r\n M : 'isang buwan',\r\n MM : '%d buwan',\r\n y : 'isang taon',\r\n yy : '%d taon'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}/,\r\n ordinal : function (number) {\r\n return number;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\r\n\r\nfunction translateFuture(output) {\r\n var time = output;\r\n time = (output.indexOf('jaj') !== -1) ?\r\n time.slice(0, -3) + 'leS' :\r\n (output.indexOf('jar') !== -1) ?\r\n time.slice(0, -3) + 'waQ' :\r\n (output.indexOf('DIS') !== -1) ?\r\n time.slice(0, -3) + 'nem' :\r\n time + ' pIq';\r\n return time;\r\n}\r\n\r\nfunction translatePast(output) {\r\n var time = output;\r\n time = (output.indexOf('jaj') !== -1) ?\r\n time.slice(0, -3) + 'Hu’' :\r\n (output.indexOf('jar') !== -1) ?\r\n time.slice(0, -3) + 'wen' :\r\n (output.indexOf('DIS') !== -1) ?\r\n time.slice(0, -3) + 'ben' :\r\n time + ' ret';\r\n return time;\r\n}\r\n\r\nfunction translate$9(number, withoutSuffix, string, isFuture) {\r\n var numberNoun = numberAsNoun(number);\r\n switch (string) {\r\n case 'ss':\r\n return numberNoun + ' lup';\r\n case 'mm':\r\n return numberNoun + ' tup';\r\n case 'hh':\r\n return numberNoun + ' rep';\r\n case 'dd':\r\n return numberNoun + ' jaj';\r\n case 'MM':\r\n return numberNoun + ' jar';\r\n case 'yy':\r\n return numberNoun + ' DIS';\r\n }\r\n}\r\n\r\nfunction numberAsNoun(number) {\r\n var hundred = Math.floor((number % 1000) / 100),\r\n ten = Math.floor((number % 100) / 10),\r\n one = number % 10,\r\n word = '';\r\n if (hundred > 0) {\r\n word += numbersNouns[hundred] + 'vatlh';\r\n }\r\n if (ten > 0) {\r\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\r\n }\r\n if (one > 0) {\r\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\r\n }\r\n return (word === '') ? 'pagh' : word;\r\n}\r\n\r\nhooks.defineLocale('tlh', {\r\n 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('_'),\r\n 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('_'),\r\n monthsParseExact : true,\r\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\r\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\r\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[DaHjaj] LT',\r\n nextDay: '[wa’leS] LT',\r\n nextWeek: 'LLL',\r\n lastDay: '[wa’Hu’] LT',\r\n lastWeek: 'LLL',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : translateFuture,\r\n past : translatePast,\r\n s : 'puS lup',\r\n ss : translate$9,\r\n m : 'wa’ tup',\r\n mm : translate$9,\r\n h : 'wa’ rep',\r\n hh : translate$9,\r\n d : 'wa’ jaj',\r\n dd : translate$9,\r\n M : 'wa’ jar',\r\n MM : translate$9,\r\n y : 'wa’ DIS',\r\n yy : translate$9\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\nvar suffixes$4 = {\r\n 1: '\\'inci',\r\n 5: '\\'inci',\r\n 8: '\\'inci',\r\n 70: '\\'inci',\r\n 80: '\\'inci',\r\n 2: '\\'nci',\r\n 7: '\\'nci',\r\n 20: '\\'nci',\r\n 50: '\\'nci',\r\n 3: '\\'üncü',\r\n 4: '\\'üncü',\r\n 100: '\\'üncü',\r\n 6: '\\'ncı',\r\n 9: '\\'uncu',\r\n 10: '\\'uncu',\r\n 30: '\\'uncu',\r\n 60: '\\'ıncı',\r\n 90: '\\'ıncı'\r\n};\r\n\r\nhooks.defineLocale('tr', {\r\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\r\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\r\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\r\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\r\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[bugün saat] LT',\r\n nextDay : '[yarın saat] LT',\r\n nextWeek : '[gelecek] dddd [saat] LT',\r\n lastDay : '[dün] LT',\r\n lastWeek : '[geçen] dddd [saat] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s sonra',\r\n past : '%s önce',\r\n s : 'birkaç saniye',\r\n ss : '%d saniye',\r\n m : 'bir dakika',\r\n mm : '%d dakika',\r\n h : 'bir saat',\r\n hh : '%d saat',\r\n d : 'bir gün',\r\n dd : '%d gün',\r\n M : 'bir ay',\r\n MM : '%d ay',\r\n y : 'bir yıl',\r\n yy : '%d yıl'\r\n },\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'd':\r\n case 'D':\r\n case 'Do':\r\n case 'DD':\r\n return number;\r\n default:\r\n if (number === 0) { // special case for zero\r\n return number + '\\'ıncı';\r\n }\r\n var a = number % 10,\r\n b = number % 100 - a,\r\n c = number >= 100 ? 100 : null;\r\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\n// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\r\n// This is currently too difficult (maybe even impossible) to add.\r\nhooks.defineLocale('tzl', {\r\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\r\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\r\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\r\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\r\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH.mm',\r\n LTS : 'HH.mm.ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D. MMMM [dallas] YYYY',\r\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\r\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\r\n },\r\n meridiemParse: /d\\'o|d\\'a/i,\r\n isPM : function (input) {\r\n return 'd\\'o' === input.toLowerCase();\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours > 11) {\r\n return isLower ? 'd\\'o' : 'D\\'O';\r\n } else {\r\n return isLower ? 'd\\'a' : 'D\\'A';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[oxhi à] LT',\r\n nextDay : '[demà à] LT',\r\n nextWeek : 'dddd [à] LT',\r\n lastDay : '[ieiri à] LT',\r\n lastWeek : '[sür el] dddd [lasteu à] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'osprei %s',\r\n past : 'ja%s',\r\n s : processRelativeTime$7,\r\n ss : processRelativeTime$7,\r\n m : processRelativeTime$7,\r\n mm : processRelativeTime$7,\r\n h : processRelativeTime$7,\r\n hh : processRelativeTime$7,\r\n d : processRelativeTime$7,\r\n dd : processRelativeTime$7,\r\n M : processRelativeTime$7,\r\n MM : processRelativeTime$7,\r\n y : processRelativeTime$7,\r\n yy : processRelativeTime$7\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\r\n ordinal : '%d.',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\nfunction processRelativeTime$7(number, withoutSuffix, key, isFuture) {\r\n var format = {\r\n 's': ['viensas secunds', '\\'iensas secunds'],\r\n 'ss': [number + ' secunds', '' + number + ' secunds'],\r\n 'm': ['\\'n míut', '\\'iens míut'],\r\n 'mm': [number + ' míuts', '' + number + ' míuts'],\r\n 'h': ['\\'n þora', '\\'iensa þora'],\r\n 'hh': [number + ' þoras', '' + number + ' þoras'],\r\n 'd': ['\\'n ziua', '\\'iensa ziua'],\r\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\r\n 'M': ['\\'n mes', '\\'iens mes'],\r\n 'MM': [number + ' mesen', '' + number + ' mesen'],\r\n 'y': ['\\'n ar', '\\'iens ar'],\r\n 'yy': [number + ' ars', '' + number + ' ars']\r\n };\r\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\r\n}\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('tzm-latn', {\r\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\r\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\r\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\r\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\r\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[asdkh g] LT',\r\n nextDay: '[aska g] LT',\r\n nextWeek: 'dddd [g] LT',\r\n lastDay: '[assant g] LT',\r\n lastWeek: 'dddd [g] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'dadkh s yan %s',\r\n past : 'yan %s',\r\n s : 'imik',\r\n ss : '%d imik',\r\n m : 'minuḍ',\r\n mm : '%d minuḍ',\r\n h : 'saɛa',\r\n hh : '%d tassaɛin',\r\n d : 'ass',\r\n dd : '%d ossan',\r\n M : 'ayowr',\r\n MM : '%d iyyirn',\r\n y : 'asgas',\r\n yy : '%d isgasn'\r\n },\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('tzm', {\r\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\r\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\r\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\r\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\r\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\r\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\r\n nextWeek: 'dddd [ⴴ] LT',\r\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\r\n lastWeek: 'dddd [ⴴ] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\r\n past : 'ⵢⴰⵏ %s',\r\n s : 'ⵉⵎⵉⴽ',\r\n ss : '%d ⵉⵎⵉⴽ',\r\n m : 'ⵎⵉⵏⵓⴺ',\r\n mm : '%d ⵎⵉⵏⵓⴺ',\r\n h : 'ⵙⴰⵄⴰ',\r\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\r\n d : 'ⴰⵙⵙ',\r\n dd : '%d oⵙⵙⴰⵏ',\r\n M : 'ⴰⵢoⵓⵔ',\r\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\r\n y : 'ⴰⵙⴳⴰⵙ',\r\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\r\n },\r\n week : {\r\n dow : 6, // Saturday is the first day of the week.\r\n doy : 12 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js language configuration\r\n\r\nhooks.defineLocale('ug-cn', {\r\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\r\n '_'\r\n ),\r\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\r\n '_'\r\n ),\r\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\r\n '_'\r\n ),\r\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\r\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\r\n longDateFormat: {\r\n LT: 'HH:mm',\r\n LTS: 'HH:mm:ss',\r\n L: 'YYYY-MM-DD',\r\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\r\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\r\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\r\n },\r\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (\r\n meridiem === 'يېرىم كېچە' ||\r\n meridiem === 'سەھەر' ||\r\n meridiem === 'چۈشتىن بۇرۇن'\r\n ) {\r\n return hour;\r\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\r\n return hour + 12;\r\n } else {\r\n return hour >= 11 ? hour : hour + 12;\r\n }\r\n },\r\n meridiem: function (hour, minute, isLower) {\r\n var hm = hour * 100 + minute;\r\n if (hm < 600) {\r\n return 'يېرىم كېچە';\r\n } else if (hm < 900) {\r\n return 'سەھەر';\r\n } else if (hm < 1130) {\r\n return 'چۈشتىن بۇرۇن';\r\n } else if (hm < 1230) {\r\n return 'چۈش';\r\n } else if (hm < 1800) {\r\n return 'چۈشتىن كېيىن';\r\n } else {\r\n return 'كەچ';\r\n }\r\n },\r\n calendar: {\r\n sameDay: '[بۈگۈن سائەت] LT',\r\n nextDay: '[ئەتە سائەت] LT',\r\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\r\n lastDay: '[تۆنۈگۈن] LT',\r\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime: {\r\n future: '%s كېيىن',\r\n past: '%s بۇرۇن',\r\n s: 'نەچچە سېكونت',\r\n ss: '%d سېكونت',\r\n m: 'بىر مىنۇت',\r\n mm: '%d مىنۇت',\r\n h: 'بىر سائەت',\r\n hh: '%d سائەت',\r\n d: 'بىر كۈن',\r\n dd: '%d كۈن',\r\n M: 'بىر ئاي',\r\n MM: '%d ئاي',\r\n y: 'بىر يىل',\r\n yy: '%d يىل'\r\n },\r\n\r\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'd':\r\n case 'D':\r\n case 'DDD':\r\n return number + '-كۈنى';\r\n case 'w':\r\n case 'W':\r\n return number + '-ھەپتە';\r\n default:\r\n return number;\r\n }\r\n },\r\n preparse: function (string) {\r\n return string.replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/,/g, '،');\r\n },\r\n week: {\r\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\r\n dow: 1, // Monday is the first day of the week.\r\n doy: 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nfunction plural$6(word, num) {\r\n var forms = word.split('_');\r\n 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]);\r\n}\r\nfunction relativeTimeWithPlural$4(number, withoutSuffix, key) {\r\n var format = {\r\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\r\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\r\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\r\n 'dd': 'день_дні_днів',\r\n 'MM': 'місяць_місяці_місяців',\r\n 'yy': 'рік_роки_років'\r\n };\r\n if (key === 'm') {\r\n return withoutSuffix ? 'хвилина' : 'хвилину';\r\n }\r\n else if (key === 'h') {\r\n return withoutSuffix ? 'година' : 'годину';\r\n }\r\n else {\r\n return number + ' ' + plural$6(format[key], +number);\r\n }\r\n}\r\nfunction weekdaysCaseReplace(m, format) {\r\n var weekdays = {\r\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\r\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\r\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\r\n };\r\n\r\n if (!m) {\r\n return weekdays['nominative'];\r\n }\r\n\r\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\r\n 'accusative' :\r\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\r\n 'genitive' :\r\n 'nominative');\r\n return weekdays[nounCase][m.day()];\r\n}\r\nfunction processHoursFunction(str) {\r\n return function () {\r\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\r\n };\r\n}\r\n\r\nhooks.defineLocale('uk', {\r\n months : {\r\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\r\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\r\n },\r\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\r\n weekdays : weekdaysCaseReplace,\r\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\r\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD.MM.YYYY',\r\n LL : 'D MMMM YYYY р.',\r\n LLL : 'D MMMM YYYY р., HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\r\n },\r\n calendar : {\r\n sameDay: processHoursFunction('[Сьогодні '),\r\n nextDay: processHoursFunction('[Завтра '),\r\n lastDay: processHoursFunction('[Вчора '),\r\n nextWeek: processHoursFunction('[У] dddd ['),\r\n lastWeek: function () {\r\n switch (this.day()) {\r\n case 0:\r\n case 3:\r\n case 5:\r\n case 6:\r\n return processHoursFunction('[Минулої] dddd [').call(this);\r\n case 1:\r\n case 2:\r\n case 4:\r\n return processHoursFunction('[Минулого] dddd [').call(this);\r\n }\r\n },\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : 'за %s',\r\n past : '%s тому',\r\n s : 'декілька секунд',\r\n ss : relativeTimeWithPlural$4,\r\n m : relativeTimeWithPlural$4,\r\n mm : relativeTimeWithPlural$4,\r\n h : 'годину',\r\n hh : relativeTimeWithPlural$4,\r\n d : 'день',\r\n dd : relativeTimeWithPlural$4,\r\n M : 'місяць',\r\n MM : relativeTimeWithPlural$4,\r\n y : 'рік',\r\n yy : relativeTimeWithPlural$4\r\n },\r\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\r\n meridiemParse: /ночі|ранку|дня|вечора/,\r\n isPM: function (input) {\r\n return /^(дня|вечора)$/.test(input);\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 4) {\r\n return 'ночі';\r\n } else if (hour < 12) {\r\n return 'ранку';\r\n } else if (hour < 17) {\r\n return 'дня';\r\n } else {\r\n return 'вечора';\r\n }\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\r\n ordinal: function (number, period) {\r\n switch (period) {\r\n case 'M':\r\n case 'd':\r\n case 'DDD':\r\n case 'w':\r\n case 'W':\r\n return number + '-й';\r\n case 'D':\r\n return number + '-го';\r\n default:\r\n return number;\r\n }\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nvar months$8 = [\r\n 'جنوری',\r\n 'فروری',\r\n 'مارچ',\r\n 'اپریل',\r\n 'مئی',\r\n 'جون',\r\n 'جولائی',\r\n 'اگست',\r\n 'ستمبر',\r\n 'اکتوبر',\r\n 'نومبر',\r\n 'دسمبر'\r\n];\r\nvar days$2 = [\r\n 'اتوار',\r\n 'پیر',\r\n 'منگل',\r\n 'بدھ',\r\n 'جمعرات',\r\n 'جمعہ',\r\n 'ہفتہ'\r\n];\r\n\r\nhooks.defineLocale('ur', {\r\n months : months$8,\r\n monthsShort : months$8,\r\n weekdays : days$2,\r\n weekdaysShort : days$2,\r\n weekdaysMin : days$2,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd، D MMMM YYYY HH:mm'\r\n },\r\n meridiemParse: /صبح|شام/,\r\n isPM : function (input) {\r\n return 'شام' === input;\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n if (hour < 12) {\r\n return 'صبح';\r\n }\r\n return 'شام';\r\n },\r\n calendar : {\r\n sameDay : '[آج بوقت] LT',\r\n nextDay : '[کل بوقت] LT',\r\n nextWeek : 'dddd [بوقت] LT',\r\n lastDay : '[گذشتہ روز بوقت] LT',\r\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : '%s بعد',\r\n past : '%s قبل',\r\n s : 'چند سیکنڈ',\r\n ss : '%d سیکنڈ',\r\n m : 'ایک منٹ',\r\n mm : '%d منٹ',\r\n h : 'ایک گھنٹہ',\r\n hh : '%d گھنٹے',\r\n d : 'ایک دن',\r\n dd : '%d دن',\r\n M : 'ایک ماہ',\r\n MM : '%d ماہ',\r\n y : 'ایک سال',\r\n yy : '%d سال'\r\n },\r\n preparse: function (string) {\r\n return string.replace(/،/g, ',');\r\n },\r\n postformat: function (string) {\r\n return string.replace(/,/g, '،');\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('uz-latn', {\r\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\r\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\r\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\r\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\r\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'D MMMM YYYY, dddd HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Bugun soat] LT [da]',\r\n nextDay : '[Ertaga] LT [da]',\r\n nextWeek : 'dddd [kuni soat] LT [da]',\r\n lastDay : '[Kecha soat] LT [da]',\r\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'Yaqin %s ichida',\r\n past : 'Bir necha %s oldin',\r\n s : 'soniya',\r\n ss : '%d soniya',\r\n m : 'bir daqiqa',\r\n mm : '%d daqiqa',\r\n h : 'bir soat',\r\n hh : '%d soat',\r\n d : 'bir kun',\r\n dd : '%d kun',\r\n M : 'bir oy',\r\n MM : '%d oy',\r\n y : 'bir yil',\r\n yy : '%d yil'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 1st is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('uz', {\r\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\r\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\r\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\r\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\r\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'D MMMM YYYY, dddd HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[Бугун соат] LT [да]',\r\n nextDay : '[Эртага] LT [да]',\r\n nextWeek : 'dddd [куни соат] LT [да]',\r\n lastDay : '[Кеча соат] LT [да]',\r\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'Якин %s ичида',\r\n past : 'Бир неча %s олдин',\r\n s : 'фурсат',\r\n ss : '%d фурсат',\r\n m : 'бир дакика',\r\n mm : '%d дакика',\r\n h : 'бир соат',\r\n hh : '%d соат',\r\n d : 'бир кун',\r\n dd : '%d кун',\r\n M : 'бир ой',\r\n MM : '%d ой',\r\n y : 'бир йил',\r\n yy : '%d йил'\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 7 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('vi', {\r\n 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('_'),\r\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\r\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\r\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\r\n weekdaysParseExact : true,\r\n meridiemParse: /sa|ch/i,\r\n isPM : function (input) {\r\n return /^ch$/i.test(input);\r\n },\r\n meridiem : function (hours, minutes, isLower) {\r\n if (hours < 12) {\r\n return isLower ? 'sa' : 'SA';\r\n } else {\r\n return isLower ? 'ch' : 'CH';\r\n }\r\n },\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM [năm] YYYY',\r\n LLL : 'D MMMM [năm] YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\r\n l : 'DD/M/YYYY',\r\n ll : 'D MMM YYYY',\r\n lll : 'D MMM YYYY HH:mm',\r\n llll : 'ddd, D MMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay: '[Hôm nay lúc] LT',\r\n nextDay: '[Ngày mai lúc] LT',\r\n nextWeek: 'dddd [tuần tới lúc] LT',\r\n lastDay: '[Hôm qua lúc] LT',\r\n lastWeek: 'dddd [tuần rồi lúc] LT',\r\n sameElse: 'L'\r\n },\r\n relativeTime : {\r\n future : '%s tới',\r\n past : '%s trước',\r\n s : 'vài giây',\r\n ss : '%d giây' ,\r\n m : 'một phút',\r\n mm : '%d phút',\r\n h : 'một giờ',\r\n hh : '%d giờ',\r\n d : 'một ngày',\r\n dd : '%d ngày',\r\n M : 'một tháng',\r\n MM : '%d tháng',\r\n y : 'một năm',\r\n yy : '%d năm'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}/,\r\n ordinal : function (number) {\r\n return number;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('x-pseudo', {\r\n 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('_'),\r\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\r\n monthsParseExact : true,\r\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\r\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\r\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\r\n weekdaysParseExact : true,\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY HH:mm',\r\n LLLL : 'dddd, D MMMM YYYY HH:mm'\r\n },\r\n calendar : {\r\n sameDay : '[T~ódá~ý át] LT',\r\n nextDay : '[T~ómó~rró~w át] LT',\r\n nextWeek : 'dddd [át] LT',\r\n lastDay : '[Ý~ést~érdá~ý át] LT',\r\n lastWeek : '[L~ást] dddd [át] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'í~ñ %s',\r\n past : '%s á~gó',\r\n s : 'á ~féw ~sécó~ñds',\r\n ss : '%d s~écóñ~ds',\r\n m : 'á ~míñ~úté',\r\n mm : '%d m~íñú~tés',\r\n h : 'á~ñ hó~úr',\r\n hh : '%d h~óúrs',\r\n d : 'á ~dáý',\r\n dd : '%d d~áýs',\r\n M : 'á ~móñ~th',\r\n MM : '%d m~óñt~hs',\r\n y : 'á ~ýéár',\r\n yy : '%d ý~éárs'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\r\n ordinal : function (number) {\r\n var b = number % 10,\r\n output = (~~(number % 100 / 10) === 1) ? 'th' :\r\n (b === 1) ? 'st' :\r\n (b === 2) ? 'nd' :\r\n (b === 3) ? 'rd' : 'th';\r\n return number + output;\r\n },\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('yo', {\r\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\r\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\r\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\r\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\r\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\r\n longDateFormat : {\r\n LT : 'h:mm A',\r\n LTS : 'h:mm:ss A',\r\n L : 'DD/MM/YYYY',\r\n LL : 'D MMMM YYYY',\r\n LLL : 'D MMMM YYYY h:mm A',\r\n LLLL : 'dddd, D MMMM YYYY h:mm A'\r\n },\r\n calendar : {\r\n sameDay : '[Ònì ni] LT',\r\n nextDay : '[Ọ̀la ni] LT',\r\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\r\n lastDay : '[Àna ni] LT',\r\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\r\n sameElse : 'L'\r\n },\r\n relativeTime : {\r\n future : 'ní %s',\r\n past : '%s kọjá',\r\n s : 'ìsẹjú aayá die',\r\n ss :'aayá %d',\r\n m : 'ìsẹjú kan',\r\n mm : 'ìsẹjú %d',\r\n h : 'wákati kan',\r\n hh : 'wákati %d',\r\n d : 'ọjọ́ kan',\r\n dd : 'ọjọ́ %d',\r\n M : 'osù kan',\r\n MM : 'osù %d',\r\n y : 'ọdún kan',\r\n yy : 'ọdún %d'\r\n },\r\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\r\n ordinal : 'ọjọ́ %d',\r\n week : {\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('zh-cn', {\r\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\r\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\r\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\r\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\r\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY/MM/DD',\r\n LL : 'YYYY年M月D日',\r\n LLL : 'YYYY年M月D日Ah点mm分',\r\n LLLL : 'YYYY年M月D日ddddAh点mm分',\r\n l : 'YYYY/M/D',\r\n ll : 'YYYY年M月D日',\r\n lll : 'YYYY年M月D日 HH:mm',\r\n llll : 'YYYY年M月D日dddd HH:mm'\r\n },\r\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\r\n meridiemHour: function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === '凌晨' || meridiem === '早上' ||\r\n meridiem === '上午') {\r\n return hour;\r\n } else if (meridiem === '下午' || meridiem === '晚上') {\r\n return hour + 12;\r\n } else {\r\n // '中午'\r\n return hour >= 11 ? hour : hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n var hm = hour * 100 + minute;\r\n if (hm < 600) {\r\n return '凌晨';\r\n } else if (hm < 900) {\r\n return '早上';\r\n } else if (hm < 1130) {\r\n return '上午';\r\n } else if (hm < 1230) {\r\n return '中午';\r\n } else if (hm < 1800) {\r\n return '下午';\r\n } else {\r\n return '晚上';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[今天]LT',\r\n nextDay : '[明天]LT',\r\n nextWeek : '[下]ddddLT',\r\n lastDay : '[昨天]LT',\r\n lastWeek : '[上]ddddLT',\r\n sameElse : 'L'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n case 'd':\r\n case 'D':\r\n case 'DDD':\r\n return number + '日';\r\n case 'M':\r\n return number + '月';\r\n case 'w':\r\n case 'W':\r\n return number + '周';\r\n default:\r\n return number;\r\n }\r\n },\r\n relativeTime : {\r\n future : '%s内',\r\n past : '%s前',\r\n s : '几秒',\r\n ss : '%d 秒',\r\n m : '1 分钟',\r\n mm : '%d 分钟',\r\n h : '1 小时',\r\n hh : '%d 小时',\r\n d : '1 天',\r\n dd : '%d 天',\r\n M : '1 个月',\r\n MM : '%d 个月',\r\n y : '1 年',\r\n yy : '%d 年'\r\n },\r\n week : {\r\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\r\n dow : 1, // Monday is the first day of the week.\r\n doy : 4 // The week that contains Jan 4th is the first week of the year.\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('zh-hk', {\r\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\r\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\r\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\r\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\r\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY/MM/DD',\r\n LL : 'YYYY年M月D日',\r\n LLL : 'YYYY年M月D日 HH:mm',\r\n LLLL : 'YYYY年M月D日dddd HH:mm',\r\n l : 'YYYY/M/D',\r\n ll : 'YYYY年M月D日',\r\n lll : 'YYYY年M月D日 HH:mm',\r\n llll : 'YYYY年M月D日dddd HH:mm'\r\n },\r\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\r\n return hour;\r\n } else if (meridiem === '中午') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === '下午' || meridiem === '晚上') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n var hm = hour * 100 + minute;\r\n if (hm < 600) {\r\n return '凌晨';\r\n } else if (hm < 900) {\r\n return '早上';\r\n } else if (hm < 1130) {\r\n return '上午';\r\n } else if (hm < 1230) {\r\n return '中午';\r\n } else if (hm < 1800) {\r\n return '下午';\r\n } else {\r\n return '晚上';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[今天]LT',\r\n nextDay : '[明天]LT',\r\n nextWeek : '[下]ddddLT',\r\n lastDay : '[昨天]LT',\r\n lastWeek : '[上]ddddLT',\r\n sameElse : 'L'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n case 'd' :\r\n case 'D' :\r\n case 'DDD' :\r\n return number + '日';\r\n case 'M' :\r\n return number + '月';\r\n case 'w' :\r\n case 'W' :\r\n return number + '週';\r\n default :\r\n return number;\r\n }\r\n },\r\n relativeTime : {\r\n future : '%s內',\r\n past : '%s前',\r\n s : '幾秒',\r\n ss : '%d 秒',\r\n m : '1 分鐘',\r\n mm : '%d 分鐘',\r\n h : '1 小時',\r\n hh : '%d 小時',\r\n d : '1 天',\r\n dd : '%d 天',\r\n M : '1 個月',\r\n MM : '%d 個月',\r\n y : '1 年',\r\n yy : '%d 年'\r\n }\r\n});\r\n\r\n//! moment.js locale configuration\r\n\r\nhooks.defineLocale('zh-tw', {\r\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\r\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\r\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\r\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\r\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\r\n longDateFormat : {\r\n LT : 'HH:mm',\r\n LTS : 'HH:mm:ss',\r\n L : 'YYYY/MM/DD',\r\n LL : 'YYYY年M月D日',\r\n LLL : 'YYYY年M月D日 HH:mm',\r\n LLLL : 'YYYY年M月D日dddd HH:mm',\r\n l : 'YYYY/M/D',\r\n ll : 'YYYY年M月D日',\r\n lll : 'YYYY年M月D日 HH:mm',\r\n llll : 'YYYY年M月D日dddd HH:mm'\r\n },\r\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\r\n meridiemHour : function (hour, meridiem) {\r\n if (hour === 12) {\r\n hour = 0;\r\n }\r\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\r\n return hour;\r\n } else if (meridiem === '中午') {\r\n return hour >= 11 ? hour : hour + 12;\r\n } else if (meridiem === '下午' || meridiem === '晚上') {\r\n return hour + 12;\r\n }\r\n },\r\n meridiem : function (hour, minute, isLower) {\r\n var hm = hour * 100 + minute;\r\n if (hm < 600) {\r\n return '凌晨';\r\n } else if (hm < 900) {\r\n return '早上';\r\n } else if (hm < 1130) {\r\n return '上午';\r\n } else if (hm < 1230) {\r\n return '中午';\r\n } else if (hm < 1800) {\r\n return '下午';\r\n } else {\r\n return '晚上';\r\n }\r\n },\r\n calendar : {\r\n sameDay : '[今天]LT',\r\n nextDay : '[明天]LT',\r\n nextWeek : '[下]ddddLT',\r\n lastDay : '[昨天]LT',\r\n lastWeek : '[上]ddddLT',\r\n sameElse : 'L'\r\n },\r\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\r\n ordinal : function (number, period) {\r\n switch (period) {\r\n case 'd' :\r\n case 'D' :\r\n case 'DDD' :\r\n return number + '日';\r\n case 'M' :\r\n return number + '月';\r\n case 'w' :\r\n case 'W' :\r\n return number + '週';\r\n default :\r\n return number;\r\n }\r\n },\r\n relativeTime : {\r\n future : '%s內',\r\n past : '%s前',\r\n s : '幾秒',\r\n ss : '%d 秒',\r\n m : '1 分鐘',\r\n mm : '%d 分鐘',\r\n h : '1 小時',\r\n hh : '%d 小時',\r\n d : '1 天',\r\n dd : '%d 天',\r\n M : '1 個月',\r\n MM : '%d 個月',\r\n y : '1 年',\r\n yy : '%d 年'\r\n }\r\n});\r\n\r\nhooks.locale('en');\r\n\r\nreturn hooks;\r\n\r\n})));\r\n"],"names":["global","factory","exports","module","define","amd","moment","this","hookCallback","hooks","apply","arguments","isArray","input","Array","Object","prototype","toString","call","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","i","length","push","hasOwnProp","a","b","hasOwnProperty","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","some","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","value","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","key","slice","join","Error","stack","deprecations","deprecateSimple","name","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","keys","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","s","tokens","addParseToken","addWeekParseToken","_w","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","get","month","date","daysInMonth","x","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","d","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","dayOfYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","require","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","chooseLocale","j","next","names","checkOverflow","_a","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","c","configFromArray","currentDate","w","weekYear","weekdayOverflow","curWeek","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","GG","W","E","createLocal","_week","gg","temp","_dayOfYear","yearToUse","_nextDay","expectedWeekday","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","result","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","obsOffset","militaryOffset","trim","parsedArray","weekdayStr","parsedInput","numOffset","hm","ISO_8601","RFC_2822","stringLength","totalParsedInputLength","skipped","hour","meridiemHour","isPm","prepareConfig","preparse","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","createFromInputFallback","minute","second","millisecond","isUTC","getOwnPropertyNames","k","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","parseIso","diffRes","base","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","wholeMonthDiff","anchor","adjust","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","prefix","isLocal","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","relativeTime$1","posNegDuration","abs$1","toISOString$1","Y","D","total","ymSign","daysSign","hmsSign","toFixed","pluralForm","n","pluralize","f","str","plurals","pluralForm$1","pluralize$1","plurals$1","proto$2","symbolMap","monthsFromDays","withSuffix","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","weekdaysParseExact","1","2","3","4","5","6","7","8","9","0","months$1","symbolMap$1","numberMap","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","symbolMap$2","numberMap$1","months$2","suffixes","70","80","20","50","100","10","30","60","90","relativeTimeWithPlural","num","forms","word","standalone","lastDigit","last2Digits","symbolMap$3","numberMap$2","১","২","৩","৪","৫","৬","৭","৮","৯","০","symbolMap$4","numberMap$3","༡","༢","༣","༤","༥","༦","༧","༨","༩","༠","relativeTimeWithMutation","text","mutationTable","substring","translate","lastNumber","monthsParseExact","ll","lll","llll","months$3","plural$1","translate$1","processRelativeTime","processRelativeTime$1","processRelativeTime$2","shortMonthsParse","longMonthsParse","months$4","monthsShortDot","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShort$1","monthsRegex$1","monthsShortDot$1","monthsStrictRegex","monthsShortStrictRegex","monthsShort$2","monthsShortDot$2","monthsShort$3","monthsParse$1","monthsRegex$2","processRelativeTime$3","symbolMap$5","numberMap$4","۱","۲","۳","۴","۵","۶","۷","۸","۹","۰","numbersPast","numbersFuture","translate$2","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$4","symbolMap$6","numberMap$5","૧","૨","૩","૪","૫","૬","૭","૮","૯","૦","symbolMap$7","numberMap$6","१","२","३","४","५","६","७","८","९","०","translate$3","weekEndings","translate$4","plural$2","translate$5","suffixes$1","40","symbolMap$8","numberMap$7","೧","೨","೩","೪","೫","೬","೭","೮","೯","೦","suffixes$2","isUpper","processRelativeTime$5","eifelerRegelAppliesToNumber","translateSingular","special","translate$6","units$1","format$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","symbolMap$9","numberMap$8","relativeTimeMr","symbolMap$10","numberMap$9","၁","၂","၃","၄","၅","၆","၇","၈","၉","၀","symbolMap$11","numberMap$10","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$2","monthsRegex$3","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$3","monthsRegex$4","symbolMap$12","numberMap$11","੧","੨","੩","੪","੫","੬","੭","੮","੯","੦","monthsNominative","monthsSubjective","plural$3","translate$7","relativeTimeWithPlural$2","relativeTimeWithPlural$3","monthsParse$4","months$6","days$1","months$7","monthsShort$5","plural$5","translate$8","processRelativeTime$6","translator$1","translator$2","symbolMap$13","numberMap$12","௧","௨","௩","௪","௫","௬","௭","௮","௯","௦","suffixes$3","12","13","numbersNouns","translate$9","numberNoun","hundred","ten","one","suffixes$4","processRelativeTime$7","relativeTimeWithPlural$4","processHoursFunction","nominative","accusative","genitive","months$8","days$2"],"mappings":"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"}