{"version":3,"sources":["webpack://pb2/./app/javascript/channels/ sync _channel\\.js$","webpack://pb2/./app/javascript/controllers/ sync \\.js$","webpack://pb2/./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack://pb2/./node_modules/el-transition/index.js","webpack://pb2/./node_modules/moment/locale/af.js","webpack://pb2/./node_modules/moment/locale/ar-dz.js","webpack://pb2/./node_modules/moment/locale/ar-kw.js","webpack://pb2/./node_modules/moment/locale/ar-ly.js","webpack://pb2/./node_modules/moment/locale/ar-ma.js","webpack://pb2/./node_modules/moment/locale/ar-sa.js","webpack://pb2/./node_modules/moment/locale/ar-tn.js","webpack://pb2/./node_modules/moment/locale/ar.js","webpack://pb2/./node_modules/moment/locale/az.js","webpack://pb2/./node_modules/moment/locale/be.js","webpack://pb2/./node_modules/moment/locale/bg.js","webpack://pb2/./node_modules/moment/locale/bm.js","webpack://pb2/./node_modules/moment/locale/bn-bd.js","webpack://pb2/./node_modules/moment/locale/bn.js","webpack://pb2/./node_modules/moment/locale/bo.js","webpack://pb2/./node_modules/moment/locale/br.js","webpack://pb2/./node_modules/moment/locale/bs.js","webpack://pb2/./node_modules/moment/locale/ca.js","webpack://pb2/./node_modules/moment/locale/cs.js","webpack://pb2/./node_modules/moment/locale/cv.js","webpack://pb2/./node_modules/moment/locale/cy.js","webpack://pb2/./node_modules/moment/locale/da.js","webpack://pb2/./node_modules/moment/locale/de-at.js","webpack://pb2/./node_modules/moment/locale/de-ch.js","webpack://pb2/./node_modules/moment/locale/de.js","webpack://pb2/./node_modules/moment/locale/dv.js","webpack://pb2/./node_modules/moment/locale/el.js","webpack://pb2/./node_modules/moment/locale/en-au.js","webpack://pb2/./node_modules/moment/locale/en-ca.js","webpack://pb2/./node_modules/moment/locale/en-gb.js","webpack://pb2/./node_modules/moment/locale/en-ie.js","webpack://pb2/./node_modules/moment/locale/en-il.js","webpack://pb2/./node_modules/moment/locale/en-in.js","webpack://pb2/./node_modules/moment/locale/en-nz.js","webpack://pb2/./node_modules/moment/locale/en-sg.js","webpack://pb2/./node_modules/moment/locale/eo.js","webpack://pb2/./node_modules/moment/locale/es-do.js","webpack://pb2/./node_modules/moment/locale/es-mx.js","webpack://pb2/./node_modules/moment/locale/es-us.js","webpack://pb2/./node_modules/moment/locale/es.js","webpack://pb2/./node_modules/moment/locale/et.js","webpack://pb2/./node_modules/moment/locale/eu.js","webpack://pb2/./node_modules/moment/locale/fa.js","webpack://pb2/./node_modules/moment/locale/fi.js","webpack://pb2/./node_modules/moment/locale/fil.js","webpack://pb2/./node_modules/moment/locale/fo.js","webpack://pb2/./node_modules/moment/locale/fr-ca.js","webpack://pb2/./node_modules/moment/locale/fr-ch.js","webpack://pb2/./node_modules/moment/locale/fr.js","webpack://pb2/./node_modules/moment/locale/fy.js","webpack://pb2/./node_modules/moment/locale/ga.js","webpack://pb2/./node_modules/moment/locale/gd.js","webpack://pb2/./node_modules/moment/locale/gl.js","webpack://pb2/./node_modules/moment/locale/gom-deva.js","webpack://pb2/./node_modules/moment/locale/gom-latn.js","webpack://pb2/./node_modules/moment/locale/gu.js","webpack://pb2/./node_modules/moment/locale/he.js","webpack://pb2/./node_modules/moment/locale/hi.js","webpack://pb2/./node_modules/moment/locale/hr.js","webpack://pb2/./node_modules/moment/locale/hu.js","webpack://pb2/./node_modules/moment/locale/hy-am.js","webpack://pb2/./node_modules/moment/locale/id.js","webpack://pb2/./node_modules/moment/locale/is.js","webpack://pb2/./node_modules/moment/locale/it-ch.js","webpack://pb2/./node_modules/moment/locale/it.js","webpack://pb2/./node_modules/moment/locale/ja.js","webpack://pb2/./node_modules/moment/locale/jv.js","webpack://pb2/./node_modules/moment/locale/ka.js","webpack://pb2/./node_modules/moment/locale/kk.js","webpack://pb2/./node_modules/moment/locale/km.js","webpack://pb2/./node_modules/moment/locale/kn.js","webpack://pb2/./node_modules/moment/locale/ko.js","webpack://pb2/./node_modules/moment/locale/ku.js","webpack://pb2/./node_modules/moment/locale/ky.js","webpack://pb2/./node_modules/moment/locale/lb.js","webpack://pb2/./node_modules/moment/locale/lo.js","webpack://pb2/./node_modules/moment/locale/lt.js","webpack://pb2/./node_modules/moment/locale/lv.js","webpack://pb2/./node_modules/moment/locale/me.js","webpack://pb2/./node_modules/moment/locale/mi.js","webpack://pb2/./node_modules/moment/locale/mk.js","webpack://pb2/./node_modules/moment/locale/ml.js","webpack://pb2/./node_modules/moment/locale/mn.js","webpack://pb2/./node_modules/moment/locale/mr.js","webpack://pb2/./node_modules/moment/locale/ms-my.js","webpack://pb2/./node_modules/moment/locale/ms.js","webpack://pb2/./node_modules/moment/locale/mt.js","webpack://pb2/./node_modules/moment/locale/my.js","webpack://pb2/./node_modules/moment/locale/nb.js","webpack://pb2/./node_modules/moment/locale/ne.js","webpack://pb2/./node_modules/moment/locale/nl-be.js","webpack://pb2/./node_modules/moment/locale/nl.js","webpack://pb2/./node_modules/moment/locale/nn.js","webpack://pb2/./node_modules/moment/locale/oc-lnc.js","webpack://pb2/./node_modules/moment/locale/pa-in.js","webpack://pb2/./node_modules/moment/locale/pl.js","webpack://pb2/./node_modules/moment/locale/pt-br.js","webpack://pb2/./node_modules/moment/locale/pt.js","webpack://pb2/./node_modules/moment/locale/ro.js","webpack://pb2/./node_modules/moment/locale/ru.js","webpack://pb2/./node_modules/moment/locale/sd.js","webpack://pb2/./node_modules/moment/locale/se.js","webpack://pb2/./node_modules/moment/locale/si.js","webpack://pb2/./node_modules/moment/locale/sk.js","webpack://pb2/./node_modules/moment/locale/sl.js","webpack://pb2/./node_modules/moment/locale/sq.js","webpack://pb2/./node_modules/moment/locale/sr-cyrl.js","webpack://pb2/./node_modules/moment/locale/sr.js","webpack://pb2/./node_modules/moment/locale/ss.js","webpack://pb2/./node_modules/moment/locale/sv.js","webpack://pb2/./node_modules/moment/locale/sw.js","webpack://pb2/./node_modules/moment/locale/ta.js","webpack://pb2/./node_modules/moment/locale/te.js","webpack://pb2/./node_modules/moment/locale/tet.js","webpack://pb2/./node_modules/moment/locale/tg.js","webpack://pb2/./node_modules/moment/locale/th.js","webpack://pb2/./node_modules/moment/locale/tk.js","webpack://pb2/./node_modules/moment/locale/tl-ph.js","webpack://pb2/./node_modules/moment/locale/tlh.js","webpack://pb2/./node_modules/moment/locale/tr.js","webpack://pb2/./node_modules/moment/locale/tzl.js","webpack://pb2/./node_modules/moment/locale/tzm-latn.js","webpack://pb2/./node_modules/moment/locale/tzm.js","webpack://pb2/./node_modules/moment/locale/ug-cn.js","webpack://pb2/./node_modules/moment/locale/uk.js","webpack://pb2/./node_modules/moment/locale/ur.js","webpack://pb2/./node_modules/moment/locale/uz-latn.js","webpack://pb2/./node_modules/moment/locale/uz.js","webpack://pb2/./node_modules/moment/locale/vi.js","webpack://pb2/./node_modules/moment/locale/x-pseudo.js","webpack://pb2/./node_modules/moment/locale/yo.js","webpack://pb2/./node_modules/moment/locale/zh-cn.js","webpack://pb2/./node_modules/moment/locale/zh-hk.js","webpack://pb2/./node_modules/moment/locale/zh-mo.js","webpack://pb2/./node_modules/moment/locale/zh-tw.js","webpack://pb2/./node_modules/moment/moment.js","webpack://pb2/./node_modules/numeral/numeral.js","webpack://pb2/./node_modules/stimulus/dist/stimulus.js","webpack://pb2/./node_modules/turbolinks/dist/turbolinks.js","webpack://pb2/./app/javascript/channels/index.js","webpack://pb2/./app/javascript/controllers/donation_controller.js","webpack://pb2/./app/javascript/controllers/dropdown_controller.js","webpack://pb2/./app/javascript/controllers/email_organizer_controller.js","webpack://pb2/./app/javascript/controllers/flash_message_controller.js","webpack://pb2/./app/javascript/controllers/fundraiser_controller.js","webpack://pb2/./app/javascript/controllers/fundraiser_mobile_navigation_controller.js","webpack://pb2/./app/javascript/controllers/fundraiser_publicshow_controller.js","webpack://pb2/./app/javascript/controllers/index.js","webpack://pb2/./node_modules/stimulus/dist/webpack-helpers.js","webpack://pb2/./app/javascript/controllers/invite_sets_controller.js","webpack://pb2/./app/javascript/controllers/member_navigation_controller.js","webpack://pb2/./app/javascript/controllers/mobile_navigation_controller.js","webpack://pb2/./app/javascript/controllers/modal_controller.js","webpack://pb2/./app/javascript/controllers/organizer_email_controller.js","webpack://pb2/./app/javascript/controllers/payouts_controller.js","webpack://pb2/./app/javascript/controllers/radiogroup_controller.js","webpack://pb2/./app/javascript/controllers/refund_controller.js","webpack://pb2/./app/javascript/controllers/status_controller.js","webpack://pb2/./app/javascript/controllers/tagsinput_controller.js","webpack://pb2/./app/javascript/controllers/user_controller.js","webpack://pb2/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://pb2/webpack/bootstrap","webpack://pb2/webpack/runtime/compat get default export","webpack://pb2/webpack/runtime/define property getters","webpack://pb2/webpack/runtime/hasOwnProperty shorthand","webpack://pb2/webpack/runtime/make namespace object","webpack://pb2/webpack/runtime/node module decorator","webpack://pb2/./app/javascript/packs/application.js"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","this","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","call","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","expando","m","Element","prototype","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","key","setData","value","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","window","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","defineProperty","get","obj","name","data","dispatchEvent","stopEverything","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","ajax","options","response","responseText","getResponseHeader","Math","floor","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","type","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","encodeURIComponent","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","link","method","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","async","enter","transitionName","undefined","classList","remove","transition","leave","add","direction","animation","dataset","animationClass","charAt","genesis","split","end","addClasses","Promise","requestAnimationFrame","removeClasses","computedDuration","getComputedStyle","transitionDuration","duration","Number","afterTransition","classes","moment","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","test","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","mm","h","hh","d","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","number","week","dow","doy","factory","pluralForm","n","plurals","pluralize","u","withoutSuffix","string","isFuture","f","str","weekdaysParseExact","hour","minute","postformat","symbolMap","preparse","numberMap","suffixes","a","b","c","plural","word","num","forms","relativeTimeWithPlural","format","standalone","isFormat","day","period","w","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","substring","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","translate","ll","lll","llll","output","l","exec","processRelativeTime","isFunction","Function","toString","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","month","_monthsNominativeEl","toLowerCase","calendarEl","mom","_calendarEl","apply","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","offset","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","parseInt","now","$0","$1","$2","isUpper","processFutureTime","eifelerRegelAppliesToNumber","substr","processPastTime","isNaN","units","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","separator","days","numbersNouns","translateFuture","time","translatePast","numberNoun","numberAsNoun","hundred","ten","one","hm","weekdaysCaseReplace","nominative","accusative","genitive","concat","processHoursFunction","hookCallback","some","hooks","setHookCallback","isArray","isObject","hasOwnProp","hasOwnProperty","isObjectEmpty","getOwnPropertyNames","k","isUndefined","isNumber","isDate","Date","arr","fn","i","res","arrLen","extend","valueOf","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","t","len","momentProperties","updateInProgress","copyConfig","to","from","prop","val","momentPropertiesLen","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","argLen","stack","deprecations","deprecateSimple","set","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","pow","max","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","func","localeData","removeFormattingTokens","makeFormatFunction","array","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","sort","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","date","daysInMonth","stringGet","stringSet","prioritized","prioritizedLen","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","x","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","min","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","j","next","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","values","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","second","millisecond","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","isoWeek","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","tmp","isAdding","invalid","isString","String","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","properties","propertyLen","arrayTest","dataTypeTest","item","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","Symbol","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","assign","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","numeral","_","decimal","binary","unformatRegex","VERSION","currentLocale","zeroFormat","nullFormat","scalePercentBy100","Numeral","_input","_value","kind","unformatFunction","regexp","isNumeral","regexps","unformat","stringToNumber","numberToFormat","abbrForce","int","precision","signed","thousands","negP","optDec","leadingCount","trillion","billion","million","thousand","neg","includes","abbreviations","delimiters","abbreviation","stringOriginal","currency","symbol","search","insert","subString","reduce","TypeError","multiplier","correctionFactor","accum","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","reset","register","validate","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","trim","formatFunction","corrFactor","cback","curr","currI","O","multiply","divide","difference","space","splice","bytes","bytesMultiplier","symbols","before","after","toExponential","timeArray","_slicedToArray","_arrayWithHoles","iterator","_s","_e","_arr","_n","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","constructor","_unsupportedIterableToArray","_nonIterableRest","EventListener","eventTarget","eventName","eventOptions","unorderedBindings","Set","connect","disconnect","bindingConnected","binding","bindingDisconnected","delete","handleEvent","extendedEvent","immediatePropagationStopped","extendEvent","bindings","hasBindings","size","left","right","leftIndex","rightIndex","Dispatcher","application","eventListenerMaps","Map","started","eventListeners","eventListener","stop","listeners","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","cacheKey","fetchEventListener","createEventListener","defaultActionDescriptorFilters","_ref","prevent","_ref2","self","_ref3","descriptorPattern","parseEventTarget","eventTargetName","camelize","char","namespaceCamelize","capitalize","dasherize","Action","descriptor","schema","tagName","defaultEventNames","getDefaultEventNameForElement","identifier","methodName","keyFilter","static","descriptorString","parseActionDescriptorString","eventFilter","isFilterTarget","filteres","modifiers","_modifiers$map2","modifier","ctrl","alt","altKey","shiftKey","standardFilter","keyMappings","pattern","_ref4","attributes","typecast","details","select","textarea","o_O","Binding","context","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","controller","actionDescriptorFilters","passes","_ref5","entries","_ref6","currentTarget","actionEvent","logDebugActivity","KeyboardEvent","contains","scope","containsElement","ElementObserver","mutationObserverInit","childList","subtree","mutationObserver","MutationObserver","mutations","processMutations","observe","refresh","pause","takeRecords","matchElementsInTree","has","removeElement","addElement","processMutation","processAttributeChange","attributeName","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","node","elementAttributeChanged","matchElement","nodes","elementFromNode","processTree","elementIsActive","tree","processor","nodeType","Node","ELEMENT_NODE","isConnected","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","fetch","del","prune","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","_ref7","_ref8","_ref9","_ref10","SelectorObserver","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","_this$refreshTokensFo2","refreshTokensForElement","unmatchedTokens","matchedTokens","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","zip","findIndex","_ref11","_ref12","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","WeakMap","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","clear","forToken","ValueObserver","receiver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","defaultValue","valueDescriptorNameMap","_ref13","valueDescriptors","rawValue","rawOldValue","changedMethodName","changedMethod","reader","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","_ref14","connectTarget","_ref15","disconnectTarget","targetConnected","targetDisconnected","readInheritableStaticArrayValues","propertyName","ancestors","getAncestorsForConstructor","definition","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","getPrototypeOf","reverse","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","outletDefinitions","outletName","observer","dependentContexts","disconnectAllOutlets","_selector","_ref16","outlet","getOutlet","connectOutlet","_ref17","getOutletFromMap","disconnectOutlet","_ref18","hasOutlet","controllerAttribute","outletConnected","outletDisconnected","outlets","getSelectorForOutletName","outletDependencies","dependencies","router","modules","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","find","Context","_this","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","_len","_key2","bless","shadowConstructor","shadowProperties","getOwnKeys","shadowingDescriptor","getOwnPropertyDescriptor","getShadowedDescriptor","getShadowProperties","defineProperties","shadow","blessings","blessedProperties","blessing","getBlessedProperties","getOwnPropertySymbols","object","extendWithReflect","extended","Reflect","construct","create","setPrototypeOf","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","removeAttribute","Guide","logger","warnedKeysByObject","warnedKeys","attributeValueContainsToken","TargetSet","targetName","_len2","targetNames","_key3","findTarget","findLegacyTarget","findAll","_len3","_key4","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","_len4","outletNames","_key5","findOutlet","_len5","_key6","findAllOutlets","outletAttributeForScope","queryElements","matchesElement","Scope","closest","controllerSelector","documentScope","isDocumentScope","documentElement","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","defaultSchema","tab","esc","up","down","home","objectFromEntries","memo","_ref19","_ref20","v","Application","_this2","debug","logFormattedMessage","load","registerActionOption","_len6","rest","_key7","shouldLoad","unload","_len7","_key8","controllers","onerror","groupCollapsed","log","groupEnd","parseValueDefinitionPair","_ref21","_ref22","payload","typeFromObject","parseValueTypeConstant","typeObject","defaultValueType","parseValueTypeDefault","default","propertyPath","parseValueTypeObject","typeDefinition","typeFromDefaultValue","typeFromConstant","parseValueTypeDefinition","constant","defaultValuesByType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","Boolean","boolean","writeJSON","stringify","Controller","_identifier","_application","dispatch","_ref23","_ref23$target","_ref23$detail","_ref23$prefix","_ref23$bubbles","_ref23$cancelable","classDefinition","targetDefinition","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletController","propertiesForOutletDefinition","Turbolinks","supported","history","pushState","visit","r","clearCache","setProgressBarDelay","copyObject","defer","throttle","initEvent","uuid","random","Location","absoluteURL","hash","requestURL","wrap","getOrigin","getPath","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","isEqualTo","toCacheKey","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","timeout","sent","notifyApplicationBeforeRequestStart","setProgress","requestStarted","cancel","abort","lengthComputable","loaded","endRequest","requestCompletedWithResponse","failed","requestFailedWithStatusCode","notifyApplicationAfterRequestEnd","onprogress","onload","ontimeout","onabort","destroy","progress","requestFinished","ProgressBar","trickle","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","show","visible","installStylesheetElement","installProgressElement","startTrickling","hide","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","insertBefore","firstChild","width","opacity","trickleInterval","setInterval","clearInterval","textContent","className","BrowserAdapter","showProgressBar","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","clearTimeout","History","onPageLoad","onPopState","update","shouldHandlePopState","state","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","outerHTML","tracked","fromHeadElement","childNodes","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","getMetaValue","findMetaElementByName","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","cloneNode","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","render","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","__super__","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","focus","replaceChild","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","getSnapshot","snapshot","markAsPreview","renderSnapshot","renderError","ScrollManager","onScroll","scrollToElement","scrollIntoView","scrollToPosition","scrollTo","updatePosition","pageXOffset","pageYOffset","position","scrollPositionChanged","SnapshotCache","snapshots","touch","put","unshift","Visit","performScroll","adapter","timingMetrics","recordTimingMetric","request","cancelRender","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","getTimingMetrics","snapshotCached","frame","cancelAnimationFrame","clickBubbled","clickCaptured","view","scrollManager","startHistory","enabled","disable","stopHistory","cache","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","which","nodeIsVisitable","currentScript","channels","require","offlineTarget","reassignTarget","commentTarget","modal","overlayTarget","toggle","areaTarget","formTarget","modalTarget","alert","toastr","deadlineTarget","tooshortTarget","tooearlyTarget","copiedToMembersCheckboxTarget","copiedToMembersWarningTarget","requestSubmit","hideTeamMembersCheckboxTarget","selectedOptions","whatTarget","whyTarget","detailsTarget","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","definitionsFromContext","process","pb2_application","svgTarget","textTarget","linkTarget","menuTarget","buttonTarget","closedTarget","openTarget","mobilemenuTarget","loadValue","backgroundTarget","dataTarget","keyCode","dismiss","emailTarget","payoutTarget","radiobuttonTargets","control","findSelected","selectCurrent","children","setValues","refundTarget","donor","donationId","fullAmount","titleTarget","donationIdTarget","fullAmountTarget","fullAmountSpanTarget","refundAmountTarget","newGoalTarget","tags","hiddenTarget","URL","urlValue","searchParams","then","controlTarget","inputTarget","appendTag","tag","shownModal","hasUsernameTarget","usernameTarget","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","__esModule","enumerable","toStringTag","nmd","paths"],"mappings":"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","file":"js/application-db07e22e7b66156aba66.js","sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 6463;\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./donation_controller.js\": 4894,\n\t\"./dropdown_controller.js\": 9111,\n\t\"./email_organizer_controller.js\": 6237,\n\t\"./flash_message_controller.js\": 610,\n\t\"./fundraiser_controller.js\": 7634,\n\t\"./fundraiser_mobile_navigation_controller.js\": 1858,\n\t\"./fundraiser_publicshow_controller.js\": 3504,\n\t\"./index.js\": 6774,\n\t\"./invite_sets_controller.js\": 5418,\n\t\"./member_navigation_controller.js\": 3185,\n\t\"./mobile_navigation_controller.js\": 465,\n\t\"./modal_controller.js\": 467,\n\t\"./organizer_email_controller.js\": 1449,\n\t\"./payouts_controller.js\": 9378,\n\t\"./radiogroup_controller.js\": 1832,\n\t\"./refund_controller.js\": 775,\n\t\"./status_controller.js\": 862,\n\t\"./tagsinput_controller.js\": 3194,\n\t\"./user_controller.js\": 6507,\n\t\"controllers/donation_controller.js\": 4894,\n\t\"controllers/dropdown_controller.js\": 9111,\n\t\"controllers/email_organizer_controller.js\": 6237,\n\t\"controllers/flash_message_controller.js\": 610,\n\t\"controllers/fundraiser_controller.js\": 7634,\n\t\"controllers/fundraiser_mobile_navigation_controller.js\": 1858,\n\t\"controllers/fundraiser_publicshow_controller.js\": 3504,\n\t\"controllers/index.js\": 6774,\n\t\"controllers/invite_sets_controller.js\": 5418,\n\t\"controllers/member_navigation_controller.js\": 3185,\n\t\"controllers/mobile_navigation_controller.js\": 465,\n\t\"controllers/modal_controller.js\": 467,\n\t\"controllers/organizer_email_controller.js\": 1449,\n\t\"controllers/payouts_controller.js\": 9378,\n\t\"controllers/radiogroup_controller.js\": 1832,\n\t\"controllers/refund_controller.js\": 775,\n\t\"controllers/status_controller.js\": 862,\n\t\"controllers/tagsinput_controller.js\": 3194,\n\t\"controllers/user_controller.js\": 6507\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 3857;","/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function (options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function (options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function (response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function (e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function (element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function (element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function (form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function (element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function (form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function (element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function (event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function (element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function (xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function () {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","export async function enter(element) {\n let transitionName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n element.classList.remove('hidden');\n await transition('enter', element, transitionName);\n}\nexport async function leave(element) {\n let transitionName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n await transition('leave', element, transitionName);\n element.classList.add('hidden');\n}\nexport async function toggle(element) {\n let transitionName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (element.classList.contains('hidden')) {\n await enter(element, transitionName);\n } else {\n await leave(element, transitionName);\n }\n}\n\nasync function transition(direction, element, animation) {\n const dataset = element.dataset;\n const animationClass = animation ? `${animation}-${direction}` : direction;\n let transition = `transition${direction.charAt(0).toUpperCase() + direction.slice(1)}`;\n const genesis = dataset[transition] ? dataset[transition].split(\" \") : [animationClass];\n const start = dataset[`${transition}Start`] ? dataset[`${transition}Start`].split(\" \") : [`${animationClass}-start`];\n const end = dataset[`${transition}End`] ? dataset[`${transition}End`].split(\" \") : [`${animationClass}-end`];\n addClasses(element, genesis);\n addClasses(element, start);\n await nextFrame();\n removeClasses(element, start);\n addClasses(element, end);\n await afterTransition(element);\n removeClasses(element, end);\n removeClasses(element, genesis);\n}\n\nfunction addClasses(element, classes) {\n element.classList.add(...classes);\n}\n\nfunction removeClasses(element, classes) {\n element.classList.remove(...classes);\n}\n\nfunction nextFrame() {\n return new Promise(resolve => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n });\n });\n}\n\nfunction afterTransition(element) {\n return new Promise(resolve => {\n // safari return string with comma separate values\n const computedDuration = getComputedStyle(element).transitionDuration.split(\",\")[0];\n const duration = Number(computedDuration.replace('s', '')) * 1000;\n setTimeout(() => {\n resolve();\n }, duration);\n });\n}","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1,\n // Maandag is die eerste dag van die week.\n doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n\n }\n });\n return af;\n});","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arDz;\n});","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arKw;\n});","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0'\n },\n pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return arLy;\n});","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arMa;\n});","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return arSa;\n});","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return arTn;\n});","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n },\n plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n\n return str.replace(/%d/i, number);\n };\n },\n months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ar;\n});","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return az;\n});","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && number % 100 !== 12 && number % 100 !== 13 ? number + '-і' : number + '-ы';\n\n case 'D':\n return number + '-га';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return be;\n});","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bg;\n});","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return bm;\n});","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bnBd;\n});","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০'\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'রাত' && hour >= 4 || meridiem === 'দুপুর' && hour < 5 || meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bn;\n});","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠'\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split('_'),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'མཚན་མོ' && hour >= 4 || meridiem === 'ཉིན་གུང' && hour < 5 || meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return bo;\n});","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n\n default:\n return number + ' vloaz';\n }\n }\n\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n\n return number;\n }\n\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n\n return text;\n }\n\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z'\n };\n\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [/^gen/i, /^c[ʼ\\']hwe/i, /^meu/i, /^ebr/i, /^mae/i, /^(mez|eve)/i, /^gou/i, /^eos/i, /^gwe/i, /^her/i, /^du/i, /^ker/i],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [/^sul/i, /^lun/i, /^meurzh/i, /^merc[ʼ\\']her/i, /^yaou/i, /^gwener/i, /^sadorn/i],\n shortWeekdaysParse = [/^Sul/i, /^Lun/i, /^Meu/i, /^Mer/i, /^Yao/i, /^Gwe/i, /^Sad/i],\n minWeekdaysParse = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i];\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n meridiemParse: /a.m.|g.m./,\n // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n }\n });\n return br;\n});","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return bs;\n});","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\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('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [passat a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ca;\n});","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n standalone: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split('_')\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n\n case 3:\n return '[ve středu v] LT';\n\n case 4:\n return '[ve čtvrtek v] LT';\n\n case 5:\n return '[v pátek v] LT';\n\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n\n case 3:\n return '[minulou středu v] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cs;\n});","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return cv;\n});","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = ['', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return cy;\n});","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return da;\n});","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deAt;\n});","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return deCh;\n});","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return de;\n});","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'],\n weekdays = ['އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު'];\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7,\n // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return dv;\n});","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4st is the first week of the year.\n\n }\n });\n return el;\n});","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enAu;\n});","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enCa;\n});","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enGb;\n});","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enIe;\n});","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n });\n return enIl;\n});","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return enIn;\n});","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enNz;\n});","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return enSg;\n});","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago',\n //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eo;\n});","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return esDo;\n});","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return esMx;\n});","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return esUs;\n});","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n 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],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n },\n invalidDate: 'Fecha inválida'\n });\n return es;\n});","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat']\n };\n\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return et;\n});","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return eu;\n});","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰'\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return fa;\n});","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', numbersPast[7], numbersPast[8], numbersPast[9]];\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n\n function verbalNumber(number, isFuture) {\n return number < 10 ? isFuture ? numbersFuture[number] : numbersPast[number] : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fi;\n});","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fil;\n});","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fo;\n});","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n return frCa;\n});","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return frCh;\n});","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i];\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n // Words with masculine grammatical gender: mois, trimestre, jour\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n // Words with feminine grammatical gender: semaine\n\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fr;\n});","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return fy;\n});","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'],\n monthsShort = ['Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll'],\n weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ga;\n});","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'],\n monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'],\n weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gd;\n});","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return gl;\n});","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]'\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n }\n });\n return gomDeva;\n});","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam']\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split('_'),\n isFormat: /MMMM(\\s)+D[oD]?/\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week\n doy: 3 // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n return gomLatn;\n});","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦'\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return gu;\n});","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n return he;\n});","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n },\n monthsParse = [/^जन/i, /^फ़र|फर/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सितं|सित/i, /^अक्टू/i, /^नव|नवं/i, /^दिसं|दिस/i],\n shortMonthsParse = [/^जन/i, /^फ़र/i, /^मार्च/i, /^अप्रै/i, /^मई/i, /^जून/i, /^जुल/i, /^अग/i, /^सित/i, /^अक्टू/i, /^नव/i, /^दिस/i];\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split('_')\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return hi;\n});","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n\n return result;\n\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n\n return result;\n\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n\n return result;\n\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n\n case 6:\n return '[prošle] [subote] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hr;\n});","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n\n switch (key) {\n case 's':\n return isFuture || withoutSuffix ? 'néhány másodperc' : 'néhány másodperce';\n\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n\n return '';\n }\n\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return hu;\n});","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n\n return number + '-րդ';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return hyAm;\n});","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return id;\n});","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n\n return true;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n\n case 'ss':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n\n return result + 'sekúnda';\n\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n\n case 'mm':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n\n return result + 'mínútu';\n\n case 'hh':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n\n return result + 'klukkustund';\n\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n\n return isFuture ? 'dag' : 'degi';\n\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n\n return result + (isFuture ? 'dag' : 'degi');\n\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n\n return isFuture ? 'mánuð' : 'mánuði';\n\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n\n return result + (isFuture ? 'mánuð' : 'mánuði');\n\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return is;\n});","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return itCh;\n});","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: function () {\n return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextDay: function () {\n return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n nextWeek: function () {\n return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastDay: function () {\n return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n\n default:\n return '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") + ']LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return it;\n});","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [{\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R'\n }, {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H'\n }, {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S'\n }, {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T'\n }, {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M'\n }, {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC'\n }],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年'\n }\n });\n return ja;\n});","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return jv;\n});","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L'\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n\n if (number === 1) {\n return number + '-ლი';\n }\n\n if (number < 20 || number <= 100 && number % 20 === 0 || number % 100 === 0) {\n return 'მე-' + number;\n }\n\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n return ka;\n});","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return kk;\n});","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០'\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return km;\n});","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦'\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return kn;\n});","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n\n case 'M':\n return number + '월';\n\n case 'w':\n case 'W':\n return number + '주';\n\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n return ko;\n});","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠'\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months = ['کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم'];\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return ku;\n});","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ky;\n});","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n\n return 'an ' + string;\n }\n\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n\n\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n\n if (isNaN(number)) {\n return false;\n }\n\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lb;\n});","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n }\n });\n return lo;\n});","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus'\n };\n\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : isFuture ? forms(key)[1] : forms(key)[2];\n }\n\n function special(number) {\n return number % 10 === 0 || number > 10 && number < 20;\n }\n\n function forms(key) {\n return units[key].split('_');\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lt;\n});","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return lv;\n});","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : number >= 2 && number <= 4 ? wordKey[1] : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n\n case 3:\n return '[u] [srijedu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = ['[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return me;\n});","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\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('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mi;\n});","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return mk;\n});","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'രാത്രി' && hour >= 4 || meridiem === 'ഉച്ച കഴിഞ്ഞ്' || meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n return ml;\n});","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n\n default:\n return number;\n }\n }\n });\n return mn;\n});","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n\n case 'ss':\n output = '%d सेकंद';\n break;\n\n case 'm':\n output = 'एक मिनिट';\n break;\n\n case 'mm':\n output = '%d मिनिटे';\n break;\n\n case 'h':\n output = 'एक तास';\n break;\n\n case 'hh':\n output = '%d तास';\n break;\n\n case 'd':\n output = 'एक दिवस';\n break;\n\n case 'dd':\n output = '%d दिवस';\n break;\n\n case 'M':\n output = 'एक महिना';\n break;\n\n case 'MM':\n output = '%d महिने';\n break;\n\n case 'y':\n output = 'एक वर्ष';\n break;\n\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n\n case 'ss':\n output = '%d सेकंदां';\n break;\n\n case 'm':\n output = 'एका मिनिटा';\n break;\n\n case 'mm':\n output = '%d मिनिटां';\n break;\n\n case 'h':\n output = 'एका तासा';\n break;\n\n case 'hh':\n output = '%d तासां';\n break;\n\n case 'd':\n output = 'एका दिवसा';\n break;\n\n case 'dd':\n output = '%d दिवसां';\n break;\n\n case 'M':\n output = 'एका महिन्या';\n break;\n\n case 'MM':\n output = '%d महिन्यां';\n break;\n\n case 'y':\n output = 'एका वर्षा';\n break;\n\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी' || meridiem === 'सायंकाळी' || meridiem === 'रात्री') {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return mr;\n});","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return msMy;\n});","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ms;\n});","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return mt;\n});","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀'\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return my;\n});","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nb;\n});","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०'\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष'\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ne;\n});","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nlBe;\n});","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nl;\n});","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return nn;\n});","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split('_'),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output = number === 1 ? 'r' : number === 2 ? 'n' : number === 3 ? 'r' : number === 4 ? 't' : 'è';\n\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4\n }\n });\n return ocLnc;\n});","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦'\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return paIn;\n});","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_'),\n monthsParse = [/^sty/i, /^lut/i, /^mar/i, /^kwi/i, /^maj/i, /^cze/i, /^lip/i, /^sie/i, /^wrz/i, /^paź/i, /^lis/i, /^gru/i];\n\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n\n case 3:\n return '[W zeszłą środę o] LT';\n\n case 6:\n return '[W zeszłą sobotę o] LT';\n\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pl;\n});","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida'\n });\n return ptBr;\n});","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return pt;\n});","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani'\n },\n separator = ' ';\n\n if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {\n separator = ' de ';\n }\n\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return ro;\n});","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n case 'w':\n case 'W':\n return number + '-я';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ru;\n});","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sd;\n});","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\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('_'),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return se;\n});","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n /*jshint -W100*/\n\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n return si;\n});","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n\n function plural(n) {\n return n > 1 && n < 5;\n }\n\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n\n case 'ss':\n // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n\n case 'm':\n // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n\n case 'mm':\n // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n\n case 'h':\n // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n\n case 'hh':\n // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n\n case 'd':\n // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n\n case 'dd':\n // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n\n case 'M':\n // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n\n case 'MM':\n // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n\n case 'y':\n // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n\n case 'yy':\n // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n\n case 3:\n return '[v stredu o] LT';\n\n case 4:\n return '[vo štvrtok o] LT';\n\n case 5:\n return '[v piatok o] LT';\n\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n\n case 3:\n return '[minulú stredu o] LT';\n\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sk;\n});","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n\n return result;\n\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n\n return result;\n\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n\n return result;\n\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n\n return result;\n\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n\n return result;\n\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n\n case 3:\n return '[v] [sredo] [ob] LT';\n\n case 6:\n return '[v] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sl;\n});","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sq;\n});","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey); // Nominativ\n\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n }\n };\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n\n case 3:\n return '[у] [среду] [у] LT';\n\n case 6:\n return '[у] [суботу] [у] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = ['[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return srCyrl;\n});","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (number % 10 >= 1 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey); // Nominativ\n\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n }\n };\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n\n case 3:\n return '[u] [sredu] [u] LT';\n\n case 6:\n return '[u] [subotu] [u] LT';\n\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = ['[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sr;\n});","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ss;\n});","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? ':e' : b === 1 ? ':a' : b === 2 ? ':a' : b === 3 ? ':e' : ':e';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return sv;\n});","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return sw;\n});","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦'\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return ta;\n});","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n }\n });\n return te;\n});","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tet;\n});","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split('_'),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_')\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1th is the first week of the year.\n\n }\n });\n return tg;\n});","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'),\n // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี'\n }\n });\n return th;\n});","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\"\n };\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split('_'),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split('_'),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tk;\n});","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlPh;\n});","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'leS' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'waQ' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'nem' : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = output.indexOf('jaj') !== -1 ? time.slice(0, -3) + 'Hu’' : output.indexOf('jar') !== -1 ? time.slice(0, -3) + 'wen' : output.indexOf('DIS') !== -1 ? time.slice(0, -3) + 'ben' : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n\n case 'mm':\n return numberNoun + ' tup';\n\n case 'hh':\n return numberNoun + ' rep';\n\n case 'dd':\n return numberNoun + ' jaj';\n\n case 'MM':\n return numberNoun + ' jar';\n\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor(number % 1000 / 100),\n ten = Math.floor(number % 100 / 10),\n one = number % 10,\n word = '';\n\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\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('_'),\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('_'),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return tlh;\n});","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\"\n };\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return tr;\n});","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : withoutSuffix ? format[key][0] : format[key][1];\n }\n\n return tzl;\n});","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzmLatn;\n});","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week: {\n dow: 6,\n // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n\n }\n });\n return tzm;\n});","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split('_'),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_'),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === 'يېرىم كېچە' || meridiem === 'سەھەر' || meridiem === 'چۈشتىن بۇرۇن') {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n\n }\n });\n return ugCn;\n});","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\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];\n }\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років'\n };\n\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format) ? 'accusative' : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format) ? 'genitive' : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n\n case 'D':\n return number + '-го';\n\n default:\n return number;\n }\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uk;\n});","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var months = ['جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return ur;\n});","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n\n }\n });\n return uzLatn;\n});","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил'\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return uz;\n});","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\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('_'),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split('_'),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return vi;\n});","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\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('_'),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output = ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return xPseudo;\n});","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d'\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return yo;\n});","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '周';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年'\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1,\n // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n\n }\n });\n return zhCn;\n});","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhHk;\n});","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhMo;\n});","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' && typeof require === 'function' ? factory(require('../moment')) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);\n})(this, function (moment) {\n 'use strict'; //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n\n case 'M':\n return number + '月';\n\n case 'w':\n case 'W':\n return number + '週';\n\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n return zhTw;\n});","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n;\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory();\n})(this, function () {\n 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n } // This is done to register the method called with moment()\n // without creating circular dependencies.\n\n\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n\n return m._pf;\n }\n\n var some;\n\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);\n\n if (m._strict) {\n isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n } // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n\n\n var momentProperties = hooks.momentProperties = [],\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n } // Moment prototype object\n\n\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n\n if (!this.isValid()) {\n this._d = new Date(NaN);\n } // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n\n\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || obj != null && obj._isAMomentObject != null;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n\n for (i = 0; i < argLen; i++) {\n arg = '';\n\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n\n args.push(arg);\n }\n\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + new Error().stack);\n firstTime = false;\n }\n\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n\n this._config = config; // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n\n this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\\d{1,2}/.source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {}; // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n\n if (token) {\n formatTokenFunctions[token] = func;\n }\n\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n\n return output;\n };\n } // format date using native date object\n\n\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {\n if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {\n return tok.slice(1);\n }\n\n return tok;\n }).join('');\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({\n unit: u,\n priority: priorities[u]\n });\n }\n }\n\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n value = toInt(value);\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n } // MOMENTS\n\n\n function stringGet(units) {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units]();\n }\n\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n\n return this;\n }\n\n var match1 = /\\d/,\n // 0 - 9\n match2 = /\\d\\d/,\n // 00 - 99\n match3 = /\\d{3}/,\n // 000 - 999\n match4 = /\\d{4}/,\n // 0000 - 9999\n match6 = /[+-]?\\d{6}/,\n // -999999 - 999999\n match1to2 = /\\d\\d?/,\n // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/,\n // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/,\n // 99999 - 999999\n match1to3 = /\\d{1,3}/,\n // 0 - 999\n match1to4 = /\\d{1,4}/,\n // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/,\n // -999999 - 999999\n matchUnsigned = /\\d+/,\n // 0 - inf\n matchSigned = /[+-]?\\d+/,\n // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi,\n // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\n // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/,\n // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n 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,\n regexes;\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n } // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n\n\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n\n if (typeof token === 'string') {\n token = [token];\n }\n\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n\n tokenLen = token.length;\n\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return (n % x + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;\n } // FORMATTING\n\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n }); // ALIASES\n\n addUnitAlias('month', 'M'); // PRIORITY\n\n addUnitPriority('month', 8); // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict); // if we didn't find a month name, mark the date as invalid.\n\n\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n }); // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months : this._months['standalone'];\n }\n\n return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];\n }\n\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n } // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value); // TODO: Another silent failure?\n\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n\n return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n\n return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n } // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); // ALIASES\n\n addUnitAlias('year', 'y'); // PRIORITIES\n\n addUnitPriority('year', 1); // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n }); // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n } // HOOKS\n\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n }; // MOMENTS\n\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date; // the date constructor remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args; // the Date.UTC function remaps years 0-99 to 1900-1999\n\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments); // preserve leap years using a full 400 year cycle, then reset\n\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n } // start-of-first-week - start-of-year\n\n\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n } // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n\n\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n } // FORMATTING\n\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W'); // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5); // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }); // HELPERS\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0,\n // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n } // MOMENTS\n\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n } // FORMATTING\n\n\n addFormatToken('d', 0, 'do', 'day');\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday'); // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E'); // PRIORITY\n\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11); // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict); // if we didn't get a weekday name, mark the date as invalid\n\n\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n }); // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n\n return isNaN(input) ? null : input;\n } // LOCALES\n\n\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];\n return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._weekdaysParse, llc);\n\n if (ii !== -1) {\n return ii;\n }\n\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n } // test the regex\n\n\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n } // MOMENTS\n\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n } // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n\n return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n\n return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n\n return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n } // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n\n\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false); // ALIASES\n\n addUnitAlias('hour', 'h'); // PRIORITY\n\n addUnitPriority('hour', 13); // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n }); // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n week: defaultLocaleWeek,\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n meridiemParse: defaultLocaleMeridiemParse\n }; // internal storage for locale config files\n\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n } // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\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\n\n\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n\n if (locale) {\n return locale;\n }\n\n if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n\n j--;\n }\n\n i++;\n }\n\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire; // TODO: Find a better way to register and load all the locales in Node\n\n if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports && isLocaleNameSane(name)) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n\n return locales[name];\n } // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n\n function getSetGlobalLocale(key, values) {\n var data;\n\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride', 'use moment.updateLocale(localeName, config) to change ' + 'an existing locale. moment.defineLocale(localeName, ' + 'config) should only be used for creating a new locale ' + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n } // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n\n\n getSetGlobalLocale(name);\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n\n config = mergeConfigs(parentConfig, config);\n\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n } // backwards compat for now: also set the locale\n\n\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n\n return locales[name];\n } // returns locale data\n\n\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n\n if (locale) {\n return locale;\n }\n\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n } // iso 8601 regex\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)\n\n\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n 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)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/], ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/], ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/], ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false], ['YYYY-DDD', /\\d{4}-\\d{3}/], ['YYYY-MM', /\\d{4}-\\d\\d/, false], ['YYYYYYMMDD', /[+-]\\d{10}/], ['YYYYMMDD', /\\d{8}/], ['GGGG[W]WWE', /\\d{4}W\\d{3}/], ['GGGG[W]WW', /\\d{4}W\\d{2}/, false], ['YYYYDDD', /\\d{7}/], ['YYYYMM', /\\d{6}/, false], ['YYYY', /\\d{4}/, false]],\n // iso time formats and regexes\n isoTimes = [['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/], ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/], ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/], ['HH:mm', /\\d\\d:\\d\\d/], ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/], ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/], ['HHmmss', /\\d\\d\\d\\d\\d\\d/], ['HHmm', /\\d\\d\\d\\d/], ['HH', /\\d\\d/]],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n 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}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n }; // date from iso format\n\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^()]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n } // date and time from ref 2822 format\n\n\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n\n if (match) {\n parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n config._d = createUTCDate.apply(null, config._a);\n\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n } // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n\n\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate('value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.', function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }); // Pick the first defined of two or three arguments.\n\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n\n if (b != null) {\n return b;\n }\n\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n } // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n\n\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config); //compute day of the year from weeks and weekdays\n\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n } //if the day of the year is set, figure out what it is\n\n\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n } // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n\n\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n } // Zero out whatever was not defaulted, including time\n\n\n for (; i < 7; i++) {\n config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];\n } // Check for 24:00:00.000\n\n\n if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n } // check for mismatching day of week\n\n\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n w = config._w;\n\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4; // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n curWeek = weekOfYear(createLocal(), dow, doy);\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); // Default to current week.\n\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n } // constant that refers to the ISO standard\n\n\n hooks.ISO_8601 = function () {}; // constant that refers to the RFC 2822 form\n\n\n hooks.RFC_2822 = function () {}; // date from string and format string\n\n\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true; // This array is used to make a Date, either with `new Date` or `Date.UTC`\n\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n } // don't parse if it's not a known token\n\n\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n } // add remaining unparsed input length to the string\n\n\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n } // clear _12h flag if hour is <= 12\n\n\n if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem; // handle meridiem\n\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); // handle era\n\n era = getParsingFlags(config).era;\n\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n\n if (isPm && hour < 12) {\n hour += 12;\n }\n\n if (!isPm && hour === 12) {\n hour = 0;\n }\n\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n } // date from string and array of format strings\n\n\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n } // if there is any input that was not parsed add a penalty for that format\n\n\n currentScore += getParsingFlags(tempConfig).charsLeftOver; //or tokens\n\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || format === undefined && input === '') {\n return createInvalid({\n nullInput: true\n });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {\n input = undefined;\n } // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n\n\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }),\n prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {\n var other = createLocal.apply(null, arguments);\n\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }); // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n\n function pickBy(fn, moments) {\n var res, i;\n\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n\n if (!moments.length) {\n return createLocal();\n }\n\n res = moments[0];\n\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n\n return res;\n } // TODO: Use [].sort instead?\n\n\n function min() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n\n for (key in m) {\n if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n this._isValid = isDurationValid(normalizedInput); // representation for dateAddRemove\n\n this._milliseconds = +milliseconds + seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\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\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n\n this._days = +days + weeks * 7; // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n\n this._months = +months + quarters * 3 + years * 12;\n this._data = {};\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n } // compare two arrays, return the number of differences\n\n\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {\n diffs++;\n }\n }\n\n return diffs + lengthDiff;\n } // FORMATTING\n\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', ''); // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n }); // HELPERS\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n } // Return a moment from input, that is local/utc/zone equivalent to model.\n\n\n function cloneWithOffset(input, model) {\n var res, diff;\n\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); // Use low-level api, because this fn is low-level api.\n\n res._d.setTime(res._d.valueOf() + diff);\n\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n } // HOOKS\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n\n\n hooks.updateOffset = function () {}; // MOMENTS\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n\n\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n\n this._offset = input;\n this._isUTC = true;\n\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n\n input = input ? createLocal(input).utcOffset() : 0;\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n } // ASP.NET json date format regex\n\n\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if (match = aspNetRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n\n };\n } else if (match = isoRegex.exec(input)) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.')); // apply sign while we're at it\n\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n res.months = other.month() - base.month() + (other.year() - base.year()) * 12;\n\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n\n if (!(base.isValid() && other.isValid())) {\n return {\n milliseconds: 0,\n months: 0\n };\n }\n\n other = cloneWithOffset(other, base);\n\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n } // TODO: remove 'name' arg after deprecation is removed\n\n\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp; //invert the arguments, but complain about it\n\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n } // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n\n\n function isMomentInput(input) {\n return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n\n if (arrayTest) {\n dataTypeTest = input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n } // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n\n\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n\n units = normalizeUnits(units) || 'millisecond';\n\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n\n case 'month':\n output = monthDiff(this, that);\n break;\n\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n\n case 'second':\n output = (this - that) / 1e3;\n break;\n // 1000\n\n case 'minute':\n output = (this - that) / 6e4;\n break;\n // 1000 * 60\n\n case 'hour':\n output = (this - that) / 36e5;\n break;\n // 1000 * 60 * 60\n\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break;\n // 1000 * 60 * 60 * 24, negate dst\n\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break;\n // 1000 * 60 * 60 * 24 * 7, negate dst\n\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n } // difference in months\n\n\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); // linear across the month\n\n adjust = (b - anchor) / (anchor2 - anchor);\n } //check for negative zero, return zero if negative zero\n\n\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n\n\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n to: this,\n from: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {\n return createDuration({\n from: this,\n to: time\n }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n } // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n\n\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n\n return this;\n }\n }\n\n var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n });\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; // actual modulo - handles negative numbers (for dates before 1970):\n\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1; // truncate time\n\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {\n return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');\n } // FORMATTING\n\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear'); // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG'); // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1); // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n }); // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n } // FORMATTING\n\n\n addFormatToken('Q', 0, 'Qo', 'quarter'); // ALIASES\n\n addUnitAlias('quarter', 'Q'); // PRIORITY\n\n addUnitPriority('quarter', 7); // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n }); // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n } // FORMATTING\n\n\n addFormatToken('D', ['DD', 2], 'Do', 'date'); // ALIASES\n\n addUnitAlias('date', 'D'); // PRIORITY\n\n addUnitPriority('date', 9); // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;\n });\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n }); // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true); // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD'); // PRIORITY\n\n addUnitPriority('dayOfYear', 4); // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n }); // HELPERS\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n } // FORMATTING\n\n\n addFormatToken('m', ['mm', 2], 0, 'minute'); // ALIASES\n\n addUnitAlias('minute', 'm'); // PRIORITY\n\n addUnitPriority('minute', 14); // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE); // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false); // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second'); // ALIASES\n\n addUnitAlias('second', 's'); // PRIORITY\n\n addUnitPriority('second', 15); // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND); // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false); // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n }); // ALIASES\n\n addUnitAlias('millisecond', 'ms'); // PRIORITY\n\n addUnitPriority('millisecond', 16); // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n var token, getSetMillisecond;\n\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false); // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName'); // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n\n return out;\n } // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n\n\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [{\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD'\n }, {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC'\n }],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n return number + output;\n }\n }); // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n return duration._bubble();\n } // supports only 2.0-style add(1, 's') or add(duration)\n\n\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n } // supports only 2.0-style subtract(1, 's') or subtract(duration)\n\n\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays; // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n\n if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n } // The following code bubbles up values, see the tests for\n // examples of what that means.\n\n\n data.milliseconds = milliseconds % 1000;\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n days += absFloor(hours / 24); // convert days to months\n\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays)); // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12;\n data.days = days;\n data.months = months;\n data.years = years;\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n\n var days,\n months,\n milliseconds = this._milliseconds;\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n\n switch (units) {\n case 'month':\n return months;\n\n case 'quarter':\n return months / 3;\n\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n\n case 'day':\n return days + milliseconds / 864e5;\n\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n } // TODO: Use this.as('ms')?\n\n\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n\n return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44,\n // a few seconds to seconds\n s: 45,\n // seconds to minute\n m: 45,\n // minutes to hour\n h: 22,\n // hours to day\n d: 26,\n // days to month/week\n w: null,\n // weeks to month\n M: 11 // months to year\n\n }; // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days];\n\n if (thresholds.w != null) {\n a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];\n }\n\n a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n } // This function allows you to set the rounding function for relative time strings\n\n\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n\n return false;\n } // This function allows you to set a threshold for relative time strings\n\n\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n\n if (limit === undefined) {\n return thresholds[threshold];\n }\n\n thresholds[threshold] = limit;\n\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n } // 3600 seconds -> 60 minutes -> 1 hour\n\n\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60; // 12 months -> 1 year\n\n years = absFloor(months / 12);\n months %= 12; // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang; // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf'); // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n }); //! moment.js\n\n hooks.version = '2.29.4';\n setHookCallback(createLocal);\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto; // currently HTML5 input type only supports 24-hour formats\n\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',\n // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',\n // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',\n // \n DATE: 'YYYY-MM-DD',\n // \n TIME: 'HH:mm',\n // \n TIME_SECONDS: 'HH:mm:ss',\n // \n TIME_MS: 'HH:mm:ss.SSS',\n // \n WEEK: 'GGGG-[W]WW',\n // \n MONTH: 'YYYY-MM' // \n\n };\n return hooks;\n});","/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n global.numeral = factory();\n }\n})(this, function () {\n /************************************\n Variables\n ************************************/\n var numeral,\n _,\n VERSION = '2.0.6',\n formats = {},\n locales = {},\n defaults = {\n currentLocale: 'en',\n zeroFormat: null,\n nullFormat: null,\n defaultFormat: '0,0',\n scalePercentBy100: true\n },\n options = {\n currentLocale: defaults.currentLocale,\n zeroFormat: defaults.zeroFormat,\n nullFormat: defaults.nullFormat,\n defaultFormat: defaults.defaultFormat,\n scalePercentBy100: defaults.scalePercentBy100\n };\n /************************************\n Constructors\n ************************************/\n // Numeral prototype object\n\n\n function Numeral(input, number) {\n this._input = input;\n this._value = number;\n }\n\n numeral = function (input) {\n var value, kind, unformatFunction, regexp;\n\n if (numeral.isNumeral(input)) {\n value = input.value();\n } else if (input === 0 || typeof input === 'undefined') {\n value = 0;\n } else if (input === null || _.isNaN(input)) {\n value = null;\n } else if (typeof input === 'string') {\n if (options.zeroFormat && input === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n for (kind in formats) {\n regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n if (regexp && input.match(regexp)) {\n unformatFunction = formats[kind].unformat;\n break;\n }\n }\n\n unformatFunction = unformatFunction || numeral._.stringToNumber;\n value = unformatFunction(input);\n }\n } else {\n value = Number(input) || null;\n }\n\n return new Numeral(input, value);\n }; // version number\n\n\n numeral.version = VERSION; // compare numeral object\n\n numeral.isNumeral = function (obj) {\n return obj instanceof Numeral;\n }; // helper functions\n\n\n numeral._ = _ = {\n // formats numbers separators, decimals places, signs, abbreviations\n numberToFormat: function (value, format, roundingFunction) {\n var locale = locales[numeral.options.currentLocale],\n negP = false,\n optDec = false,\n leadingCount = 0,\n abbr = '',\n trillion = 1000000000000,\n billion = 1000000000,\n million = 1000000,\n thousand = 1000,\n decimal = '',\n neg = false,\n abbrForce,\n // force abbreviation\n abs,\n min,\n max,\n power,\n int,\n precision,\n signed,\n thousands,\n output; // make sure we never format a null value\n\n value = value || 0;\n abs = Math.abs(value); // see if we should use parentheses for negative number or if we should prefix with a sign\n // if both are present we default to parentheses\n\n if (numeral._.includes(format, '(')) {\n negP = true;\n format = format.replace(/[\\(|\\)]/g, '');\n } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n format = format.replace(/[\\+|\\-]/g, '');\n } // see if abbreviation is wanted\n\n\n if (numeral._.includes(format, 'a')) {\n abbrForce = format.match(/a(k|m|b|t)?/);\n abbrForce = abbrForce ? abbrForce[1] : false; // check for space before abbreviation\n\n if (numeral._.includes(format, ' a')) {\n abbr = ' ';\n }\n\n format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n if (abs >= trillion && !abbrForce || abbrForce === 't') {\n // trillion\n abbr += locale.abbreviations.trillion;\n value = value / trillion;\n } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n // billion\n abbr += locale.abbreviations.billion;\n value = value / billion;\n } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n // million\n abbr += locale.abbreviations.million;\n value = value / million;\n } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n // thousand\n abbr += locale.abbreviations.thousand;\n value = value / thousand;\n }\n } // check for optional decimals\n\n\n if (numeral._.includes(format, '[.]')) {\n optDec = true;\n format = format.replace('[.]', '.');\n } // break number and format\n\n\n int = value.toString().split('.')[0];\n precision = format.split('.')[1];\n thousands = format.indexOf(',');\n leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n if (precision) {\n if (numeral._.includes(precision, '[')) {\n precision = precision.replace(']', '');\n precision = precision.split('[');\n decimal = numeral._.toFixed(value, precision[0].length + precision[1].length, roundingFunction, precision[1].length);\n } else {\n decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n }\n\n int = decimal.split('.')[0];\n\n if (numeral._.includes(decimal, '.')) {\n decimal = locale.delimiters.decimal + decimal.split('.')[1];\n } else {\n decimal = '';\n }\n\n if (optDec && Number(decimal.slice(1)) === 0) {\n decimal = '';\n }\n } else {\n int = numeral._.toFixed(value, 0, roundingFunction);\n } // check abbreviation again after rounding\n\n\n if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n int = String(Number(int) / 1000);\n\n switch (abbr) {\n case locale.abbreviations.thousand:\n abbr = locale.abbreviations.million;\n break;\n\n case locale.abbreviations.million:\n abbr = locale.abbreviations.billion;\n break;\n\n case locale.abbreviations.billion:\n abbr = locale.abbreviations.trillion;\n break;\n }\n } // format number\n\n\n if (numeral._.includes(int, '-')) {\n int = int.slice(1);\n neg = true;\n }\n\n if (int.length < leadingCount) {\n for (var i = leadingCount - int.length; i > 0; i--) {\n int = '0' + int;\n }\n }\n\n if (thousands > -1) {\n int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n }\n\n if (format.indexOf('.') === 0) {\n int = '';\n }\n\n output = int + decimal + (abbr ? abbr : '');\n\n if (negP) {\n output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n } else {\n if (signed >= 0) {\n output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n } else if (neg) {\n output = '-' + output;\n }\n }\n\n return output;\n },\n // unformats numbers separators, decimals places, signs, abbreviations\n stringToNumber: function (string) {\n var locale = locales[options.currentLocale],\n stringOriginal = string,\n abbreviations = {\n thousand: 3,\n million: 6,\n billion: 9,\n trillion: 12\n },\n abbreviation,\n value,\n i,\n regexp;\n\n if (options.zeroFormat && string === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n value = 1;\n\n if (locale.delimiters.decimal !== '.') {\n string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n }\n\n for (abbreviation in abbreviations) {\n regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n if (stringOriginal.match(regexp)) {\n value *= Math.pow(10, abbreviations[abbreviation]);\n break;\n }\n } // check for negative number\n\n\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1; // remove non numbers\n\n string = string.replace(/[^0-9\\.]+/g, '');\n value *= Number(string);\n }\n\n return value;\n },\n isNaN: function (value) {\n return typeof value === 'number' && isNaN(value);\n },\n includes: function (string, search) {\n return string.indexOf(search) !== -1;\n },\n insert: function (string, subString, start) {\n return string.slice(0, start) + subString + string.slice(start);\n },\n reduce: function (array, callback\n /*, initialValue*/\n ) {\n if (this === null) {\n throw new TypeError('Array.prototype.reduce called on null or undefined');\n }\n\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n\n var t = Object(array),\n len = t.length >>> 0,\n k = 0,\n value;\n\n if (arguments.length === 3) {\n value = arguments[2];\n } else {\n while (k < len && !(k in t)) {\n k++;\n }\n\n if (k >= len) {\n throw new TypeError('Reduce of empty array with no initial value');\n }\n\n value = t[k++];\n }\n\n for (; k < len; k++) {\n if (k in t) {\n value = callback(value, t[k], k, t);\n }\n }\n\n return value;\n },\n\n /**\n * Computes the multiplier necessary to make x >= 1,\n * effectively eliminating miscalculations caused by\n * finite precision.\n */\n multiplier: function (x) {\n var parts = x.toString().split('.');\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n },\n\n /**\n * Given a variable number of arguments, returns the maximum\n * multiplier that must be used to normalize an operation involving\n * all of them.\n */\n correctionFactor: function () {\n var args = Array.prototype.slice.call(arguments);\n return args.reduce(function (accum, next) {\n var mn = _.multiplier(next);\n\n return accum > mn ? accum : mn;\n }, 1);\n },\n\n /**\n * Implementation of toFixed() that treats floats more like decimals\n *\n * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n * problems for accounting- and finance-related software.\n */\n toFixed: function (value, maxDecimals, roundingFunction, optionals) {\n var splitValue = value.toString().split('.'),\n minDecimals = maxDecimals - (optionals || 0),\n boundedPrecision,\n optionalsRegExp,\n power,\n output; // Use the smallest precision value possible to avoid errors from floating point representation\n\n if (splitValue.length === 2) {\n boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n } else {\n boundedPrecision = minDecimals;\n }\n\n power = Math.pow(10, boundedPrecision); // Multiply up by precision, round accurately, then divide and use native toFixed():\n\n output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n if (optionals > maxDecimals - boundedPrecision) {\n optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n output = output.replace(optionalsRegExp, '');\n }\n\n return output;\n }\n }; // avaliable options\n\n numeral.options = options; // avaliable formats\n\n numeral.formats = formats; // avaliable formats\n\n numeral.locales = locales; // This function sets the current locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n numeral.locale = function (key) {\n if (key) {\n options.currentLocale = key.toLowerCase();\n }\n\n return options.currentLocale;\n }; // This function provides access to the loaded locale data. If\n // no arguments are passed in, it will simply return the current\n // global locale object.\n\n\n numeral.localeData = function (key) {\n if (!key) {\n return locales[options.currentLocale];\n }\n\n key = key.toLowerCase();\n\n if (!locales[key]) {\n throw new Error('Unknown locale : ' + key);\n }\n\n return locales[key];\n };\n\n numeral.reset = function () {\n for (var property in defaults) {\n options[property] = defaults[property];\n }\n };\n\n numeral.zeroFormat = function (format) {\n options.zeroFormat = typeof format === 'string' ? format : null;\n };\n\n numeral.nullFormat = function (format) {\n options.nullFormat = typeof format === 'string' ? format : null;\n };\n\n numeral.defaultFormat = function (format) {\n options.defaultFormat = typeof format === 'string' ? format : '0.0';\n };\n\n numeral.register = function (type, name, format) {\n name = name.toLowerCase();\n\n if (this[type + 's'][name]) {\n throw new TypeError(name + ' ' + type + ' already registered.');\n }\n\n this[type + 's'][name] = format;\n return format;\n };\n\n numeral.validate = function (val, culture) {\n var _decimalSep, _thousandSep, _currSymbol, _valArray, _abbrObj, _thousandRegEx, localeData, temp; //coerce val to string\n\n\n if (typeof val !== 'string') {\n val += '';\n\n if (console.warn) {\n console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n }\n } //trim whitespaces from either sides\n\n\n val = val.trim(); //if val is just digits return true\n\n if (!!val.match(/^\\d+$/)) {\n return true;\n } //if val is empty return false\n\n\n if (val === '') {\n return false;\n } //get the decimal and thousands separator from numeral.localeData\n\n\n try {\n //check if the culture is understood by numeral. if not, default it to current locale\n localeData = numeral.localeData(culture);\n } catch (e) {\n localeData = numeral.localeData(numeral.locale());\n } //setup the delimiters and currency symbol based on culture/locale\n\n\n _currSymbol = localeData.currency.symbol;\n _abbrObj = localeData.abbreviations;\n _decimalSep = localeData.delimiters.decimal;\n\n if (localeData.delimiters.thousands === '.') {\n _thousandSep = '\\\\.';\n } else {\n _thousandSep = localeData.delimiters.thousands;\n } // validating currency symbol\n\n\n temp = val.match(/^[^\\d]+/);\n\n if (temp !== null) {\n val = val.substr(1);\n\n if (temp[0] !== _currSymbol) {\n return false;\n }\n } //validating abbreviation symbol\n\n\n temp = val.match(/[^\\d]+$/);\n\n if (temp !== null) {\n val = val.slice(0, -1);\n\n if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n return false;\n }\n }\n\n _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n if (!val.match(/[^\\d.,]/g)) {\n _valArray = val.split(_decimalSep);\n\n if (_valArray.length > 2) {\n return false;\n } else {\n if (_valArray.length < 2) {\n return !!_valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx);\n } else {\n if (_valArray[0].length === 1) {\n return !!_valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !!_valArray[1].match(/^\\d+$/);\n } else {\n return !!_valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !!_valArray[1].match(/^\\d+$/);\n }\n }\n }\n }\n\n return false;\n };\n /************************************\n Numeral Prototype\n ************************************/\n\n\n numeral.fn = Numeral.prototype = {\n clone: function () {\n return numeral(this);\n },\n format: function (inputString, roundingFunction) {\n var value = this._value,\n format = inputString || options.defaultFormat,\n kind,\n output,\n formatFunction; // make sure we have a roundingFunction\n\n roundingFunction = roundingFunction || Math.round; // format based on value\n\n if (value === 0 && options.zeroFormat !== null) {\n output = options.zeroFormat;\n } else if (value === null && options.nullFormat !== null) {\n output = options.nullFormat;\n } else {\n for (kind in formats) {\n if (format.match(formats[kind].regexps.format)) {\n formatFunction = formats[kind].format;\n break;\n }\n }\n\n formatFunction = formatFunction || numeral._.numberToFormat;\n output = formatFunction(value, format, roundingFunction);\n }\n\n return output;\n },\n value: function () {\n return this._value;\n },\n input: function () {\n return this._input;\n },\n set: function (value) {\n this._value = Number(value);\n return this;\n },\n add: function (value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum + Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n return this;\n },\n subtract: function (value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum - Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n return this;\n },\n multiply: function (value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n\n return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback, 1);\n return this;\n },\n divide: function (value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback);\n return this;\n },\n difference: function (value) {\n return Math.abs(numeral(this._value).subtract(value).value());\n }\n };\n /************************************\n Default Locale && Format\n ************************************/\n\n numeral.register('locale', 'en', {\n delimiters: {\n thousands: ',',\n decimal: '.'\n },\n abbreviations: {\n thousand: 'k',\n million: 'm',\n billion: 'b',\n trillion: 't'\n },\n ordinal: function (number) {\n var b = number % 10;\n return ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n },\n currency: {\n symbol: '$'\n }\n });\n\n (function () {\n numeral.register('format', 'bps', {\n regexps: {\n format: /(BPS)/,\n unformat: /(BPS)/\n },\n format: function (value, format, roundingFunction) {\n var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n output;\n value = value * 10000; // check for space before BPS\n\n format = format.replace(/\\s?BPS/, '');\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n output.splice(-1, 0, space + 'BPS');\n output = output.join('');\n } else {\n output = output + space + 'BPS';\n }\n\n return output;\n },\n unformat: function (string) {\n return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n }\n });\n })();\n\n (function () {\n var decimal = {\n base: 1000,\n suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n },\n binary = {\n base: 1024,\n suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n };\n var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n return decimal.suffixes.indexOf(item) < 0;\n }));\n var unformatRegex = allSuffixes.join('|'); // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n\n unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n numeral.register('format', 'bytes', {\n regexps: {\n format: /([0\\s]i?b)/,\n unformat: new RegExp(unformatRegex)\n },\n format: function (value, format, roundingFunction) {\n var output,\n bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n power,\n min,\n max; // check for space before\n\n format = format.replace(/\\s?i?b/, '');\n\n for (power = 0; power <= bytes.suffixes.length; power++) {\n min = Math.pow(bytes.base, power);\n max = Math.pow(bytes.base, power + 1);\n\n if (value === null || value === 0 || value >= min && value < max) {\n suffix += bytes.suffixes[power];\n\n if (min > 0) {\n value = value / min;\n }\n\n break;\n }\n }\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n return output + suffix;\n },\n unformat: function (string) {\n var value = numeral._.stringToNumber(string),\n power,\n bytesMultiplier;\n\n if (value) {\n for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n if (numeral._.includes(string, decimal.suffixes[power])) {\n bytesMultiplier = Math.pow(decimal.base, power);\n break;\n }\n\n if (numeral._.includes(string, binary.suffixes[power])) {\n bytesMultiplier = Math.pow(binary.base, power);\n break;\n }\n }\n\n value *= bytesMultiplier || 1;\n }\n\n return value;\n }\n });\n })();\n\n (function () {\n numeral.register('format', 'currency', {\n regexps: {\n format: /(\\$)/\n },\n format: function (value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n symbols = {\n before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n },\n output,\n symbol,\n i; // strip format of spaces and $\n\n format = format.replace(/\\s?\\$\\s?/, ''); // format the number\n\n output = numeral._.numberToFormat(value, format, roundingFunction); // update the before and after based on value\n\n if (value >= 0) {\n symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n } else if (value < 0 && !numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '(')) {\n symbols.before = '-' + symbols.before;\n } // loop through each before symbol\n\n\n for (i = 0; i < symbols.before.length; i++) {\n symbol = symbols.before[i];\n\n switch (symbol) {\n case '$':\n output = numeral._.insert(output, locale.currency.symbol, i);\n break;\n\n case ' ':\n output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n break;\n }\n } // loop through each after symbol\n\n\n for (i = symbols.after.length - 1; i >= 0; i--) {\n symbol = symbols.after[i];\n\n switch (symbol) {\n case '$':\n output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n break;\n\n case ' ':\n output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n break;\n }\n }\n\n return output;\n }\n });\n })();\n\n (function () {\n numeral.register('format', 'exponential', {\n regexps: {\n format: /(e\\+|e-)/,\n unformat: /(e\\+|e-)/\n },\n format: function (value, format, roundingFunction) {\n var output,\n exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n parts = exponential.split('e');\n format = format.replace(/e[\\+|\\-]{1}0/, '');\n output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n return output + 'e' + parts[1];\n },\n unformat: function (string) {\n var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n value = Number(parts[0]),\n power = Number(parts[1]);\n power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n function cback(accum, curr, currI, O) {\n var corrFactor = numeral._.correctionFactor(accum, curr),\n num = accum * corrFactor * (curr * corrFactor) / (corrFactor * corrFactor);\n\n return num;\n }\n\n return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n }\n });\n })();\n\n (function () {\n numeral.register('format', 'ordinal', {\n regexps: {\n format: /(o)/\n },\n format: function (value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n output,\n ordinal = numeral._.includes(format, ' o') ? ' ' : ''; // check for space before\n\n format = format.replace(/\\s?o/, '');\n ordinal += locale.ordinal(value);\n output = numeral._.numberToFormat(value, format, roundingFunction);\n return output + ordinal;\n }\n });\n })();\n\n (function () {\n numeral.register('format', 'percentage', {\n regexps: {\n format: /(%)/,\n unformat: /(%)/\n },\n format: function (value, format, roundingFunction) {\n var space = numeral._.includes(format, ' %') ? ' ' : '',\n output;\n\n if (numeral.options.scalePercentBy100) {\n value = value * 100;\n } // check for space before %\n\n\n format = format.replace(/\\s?\\%/, '');\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n output.splice(-1, 0, space + '%');\n output = output.join('');\n } else {\n output = output + space + '%';\n }\n\n return output;\n },\n unformat: function (string) {\n var number = numeral._.stringToNumber(string);\n\n if (numeral.options.scalePercentBy100) {\n return number * 0.01;\n }\n\n return number;\n }\n });\n })();\n\n (function () {\n numeral.register('format', 'time', {\n regexps: {\n format: /(:)/,\n unformat: /(:)/\n },\n format: function (value, format, roundingFunction) {\n var hours = Math.floor(value / 60 / 60),\n minutes = Math.floor((value - hours * 60 * 60) / 60),\n seconds = Math.round(value - hours * 60 * 60 - minutes * 60);\n return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n },\n unformat: function (string) {\n var timeArray = string.split(':'),\n seconds = 0; // turn hours and minutes into seconds and add them all up\n\n if (timeArray.length === 3) {\n // hours\n seconds = seconds + Number(timeArray[0]) * 60 * 60; // minutes\n\n seconds = seconds + Number(timeArray[1]) * 60; // seconds\n\n seconds = seconds + Number(timeArray[2]);\n } else if (timeArray.length === 2) {\n // minutes\n seconds = seconds + Number(timeArray[0]) * 60; // seconds\n\n seconds = seconds + Number(timeArray[1]);\n }\n\n return Number(seconds);\n }\n });\n })();\n\n return numeral;\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/*\nStimulus 3.2.1\nCopyright © 2022 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n } else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index,\n rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n\n}\n\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n } else {\n const stopImmediatePropagation = event.stopImmediatePropagation;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n }\n\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach(eventListener => eventListener.connect());\n }\n }\n\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach(eventListener => eventListener.disconnect());\n }\n }\n\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n\n bindingDisconnected(binding) {\n let clearEventListeners = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners) this.clearEventListenersForBinding(binding);\n }\n\n handleError(error, message) {\n let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.application.handleError(error, `Error ${message}`, detail);\n }\n\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n\n removeMappedEventListenerFor(binding) {\n const eventTarget = binding.eventTarget,\n eventName = binding.eventName,\n eventOptions = binding.eventOptions;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0) this.eventListenerMaps.delete(eventTarget);\n }\n\n fetchEventListenerForBinding(binding) {\n const eventTarget = binding.eventTarget,\n eventName = binding.eventName,\n eventOptions = binding.eventOptions;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n\n return eventListener;\n }\n\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n\n if (this.started) {\n eventListener.connect();\n }\n\n return eventListener;\n }\n\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n\n return eventListenerMap;\n }\n\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions).sort().forEach(key => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n\n}\n\nconst defaultActionDescriptorFilters = {\n stop(_ref) {\n let event = _ref.event,\n value = _ref.value;\n if (value) event.stopPropagation();\n return true;\n },\n\n prevent(_ref2) {\n let event = _ref2.event,\n value = _ref2.value;\n if (value) event.preventDefault();\n return true;\n },\n\n self(_ref3) {\n let event = _ref3.event,\n value = _ref3.value,\n element = _ref3.element;\n\n if (value) {\n return element === event.target;\n } else {\n return true;\n }\n }\n\n};\nconst descriptorPattern = /^(?:(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\n\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[1];\n let keyFilter = matches[2];\n\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n\n return {\n eventTarget: parseEventTarget(matches[3]),\n eventName,\n eventOptions: matches[6] ? parseEventOptions(matches[6]) : {},\n identifier: matches[4],\n methodName: matches[5],\n keyFilter\n };\n}\n\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n } else if (eventTargetName == \"document\") {\n return document;\n }\n}\n\nfunction parseEventOptions(eventOptions) {\n return eventOptions.split(\":\").reduce((options, token) => Object.assign(options, {\n [token.replace(/^!/, \"\")]: !/^!/.test(token)\n }), {});\n}\n\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n } else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\n\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\n\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\n\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n\n isFilterTarget(event) {\n if (!this.keyFilter) {\n return false;\n }\n\n const filteres = this.keyFilter.split(\"+\");\n const modifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\n\n const _modifiers$map = modifiers.map(modifier => filteres.includes(modifier)),\n _modifiers$map2 = _slicedToArray(_modifiers$map, 4),\n meta = _modifiers$map2[0],\n ctrl = _modifiers$map2[1],\n alt = _modifiers$map2[2],\n shift = _modifiers$map2[3];\n\n if (event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift) {\n return true;\n }\n\n const standardFilter = filteres.filter(key => !modifiers.includes(key))[0];\n\n if (!standardFilter) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n\n for (const _ref4 of Array.from(this.element.attributes)) {\n const name = _ref4.name;\n const value = _ref4.value;\n const match = name.match(pattern);\n const key = match && match[1];\n\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n\n return params;\n }\n\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n\n get keyMappings() {\n return this.schema.keyMappings;\n }\n\n}\n\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: e => e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\",\n select: () => \"change\",\n textarea: () => \"input\"\n};\n\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\n\nfunction error(message) {\n throw new Error(message);\n}\n\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n } catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n\n get index() {\n return this.action.index;\n }\n\n get eventTarget() {\n return this.action.eventTarget;\n }\n\n get eventOptions() {\n return this.action.eventOptions;\n }\n\n get identifier() {\n return this.context.identifier;\n }\n\n handleEvent(event) {\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(event)) {\n this.invokeWithEvent(event);\n }\n }\n\n get eventName() {\n return this.action.eventName;\n }\n\n get method() {\n const method = this.controller[this.methodName];\n\n if (typeof method == \"function\") {\n return method;\n }\n\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n\n applyEventModifiers(event) {\n const element = this.action.element;\n const actionDescriptorFilters = this.context.application.actionDescriptorFilters;\n let passes = true;\n\n for (const _ref5 of Object.entries(this.eventOptions)) {\n var _ref6 = _slicedToArray(_ref5, 2);\n\n const name = _ref6[0];\n const value = _ref6[1];\n\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({\n name,\n value,\n event,\n element\n });\n } else {\n continue;\n }\n }\n\n return passes;\n }\n\n invokeWithEvent(event) {\n const target = event.target,\n currentTarget = event.currentTarget;\n\n try {\n const params = this.action.params;\n const actionEvent = Object.assign(event, {\n params\n });\n this.method.call(this.controller, actionEvent);\n this.context.logDebugActivity(this.methodName, {\n event,\n target,\n currentTarget,\n action: this.methodName\n });\n } catch (error) {\n const identifier = this.identifier,\n controller = this.controller,\n element = this.element,\n index = this.index;\n const detail = {\n identifier,\n controller,\n element,\n index,\n event\n };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n\n if (event instanceof KeyboardEvent && this.action.isFilterTarget(event)) {\n return false;\n }\n\n if (this.element === eventTarget) {\n return true;\n } else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n } else {\n return this.scope.containsElement(this.action.element);\n }\n }\n\n get controller() {\n return this.context.controller;\n }\n\n get methodName() {\n return this.action.methodName;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get scope() {\n return this.context.scope;\n }\n\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = {\n attributes: true,\n childList: true,\n subtree: true\n };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver(mutations => this.processMutations(mutations));\n }\n\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n\n callback();\n\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n } else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n\n processAttributeChange(node, attributeName) {\n const element = node;\n\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n } else {\n this.removeElement(element);\n }\n } else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n\n matchElementsInTree() {\n let tree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.element;\n return this.delegate.matchElementsInTree(tree);\n }\n\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n } else {\n return this.element.contains(element);\n }\n }\n\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n\n get element() {\n return this.elementObserver.element;\n }\n\n get selector() {\n return `[${this.attributeName}]`;\n }\n\n start() {\n this.elementObserver.start();\n }\n\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n\n stop() {\n this.elementObserver.stop();\n }\n\n refresh() {\n this.elementObserver.refresh();\n }\n\n get started() {\n return this.elementObserver.started;\n }\n\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\n\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\n\nfunction fetch(map, key) {\n let values = map.get(key);\n\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n\n return values;\n}\n\nfunction prune(map, key) {\n const values = map.get(key);\n\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some(set => set.has(value));\n }\n\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n\n getKeysForValue(value) {\n return Array.from(this.valuesByKey).filter(_ref7 => {\n let _ref8 = _slicedToArray(_ref7, 2),\n _key = _ref8[0],\n values = _ref8[1];\n\n return values.has(value);\n }).map(_ref9 => {\n let _ref10 = _slicedToArray(_ref9, 2),\n key = _ref10[0],\n _values = _ref10[1];\n\n return key;\n });\n }\n\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate) {\n let details = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n this.selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n\n get started() {\n return this.elementObserver.started;\n }\n\n start() {\n this.elementObserver.start();\n }\n\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n\n stop() {\n this.elementObserver.stop();\n }\n\n refresh() {\n this.elementObserver.refresh();\n }\n\n get element() {\n return this.elementObserver.element;\n }\n\n matchElement(element) {\n const matches = element.matches(this.selector);\n\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n\n return matches;\n }\n\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector)).filter(match => this.matchElement(match));\n return match.concat(matches);\n }\n\n elementMatched(element) {\n this.selectorMatched(element);\n }\n\n elementUnmatched(element) {\n this.selectorUnmatched(element);\n }\n\n elementAttributeChanged(element, _attributeName) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(this.selector, element);\n\n if (!matches && matchedBefore) {\n this.selectorUnmatched(element);\n }\n }\n\n selectorMatched(element) {\n if (this.delegate.selectorMatched) {\n this.delegate.selectorMatched(element, this.selector, this.details);\n this.matchesByElement.add(this.selector, element);\n }\n }\n\n selectorUnmatched(element) {\n this.delegate.selectorUnmatched(element, this.selector, this.details);\n this.matchesByElement.delete(this.selector, element);\n }\n\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver(mutations => this.processMutations(mutations));\n }\n\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, {\n attributes: true,\n attributeOldValue: true\n });\n this.refresh();\n }\n }\n\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n\n const value = this.element.getAttribute(attributeName);\n\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue) this.stringMapKeyRemoved(key, attributeName, oldValue);\n } else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map(attribute => attribute.name);\n }\n\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n\n get started() {\n return this.attributeObserver.started;\n }\n\n start() {\n this.attributeObserver.start();\n }\n\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n\n stop() {\n this.attributeObserver.stop();\n }\n\n refresh() {\n this.attributeObserver.refresh();\n }\n\n get element() {\n return this.attributeObserver.element;\n }\n\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n\n elementAttributeValueChanged(element) {\n const _this$refreshTokensFo = this.refreshTokensForElement(element),\n _this$refreshTokensFo2 = _slicedToArray(_this$refreshTokensFo, 2),\n unmatchedTokens = _this$refreshTokensFo2[0],\n matchedTokens = _this$refreshTokensFo2[1];\n\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n\n tokensMatched(tokens) {\n tokens.forEach(token => this.tokenMatched(token));\n }\n\n tokensUnmatched(tokens) {\n tokens.forEach(token => this.tokenUnmatched(token));\n }\n\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(_ref11 => {\n let _ref12 = _slicedToArray(_ref11, 2),\n previousToken = _ref12[0],\n currentToken = _ref12[1];\n\n return !tokensAreEqual(previousToken, currentToken);\n });\n\n if (firstDifferingIndex == -1) {\n return [[], []];\n } else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n\n}\n\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString.trim().split(/\\s+/).filter(content => content.length).map((content, index) => ({\n element,\n attributeName,\n content,\n index\n }));\n}\n\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({\n length\n }, (_, index) => [left[index], right[index]]);\n}\n\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n\n get started() {\n return this.tokenListObserver.started;\n }\n\n start() {\n this.tokenListObserver.start();\n }\n\n stop() {\n this.tokenListObserver.stop();\n }\n\n refresh() {\n this.tokenListObserver.refresh();\n }\n\n get element() {\n return this.tokenListObserver.element;\n }\n\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n\n tokenMatched(token) {\n const element = token.element;\n\n const _this$fetchParseResul = this.fetchParseResultForToken(token),\n value = _this$fetchParseResul.value;\n\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n\n tokenUnmatched(token) {\n const element = token.element;\n\n const _this$fetchParseResul2 = this.fetchParseResultForToken(token),\n value = _this$fetchParseResul2.value;\n\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n\n return parseResult;\n }\n\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n\n return valuesByToken;\n }\n\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return {\n value\n };\n } catch (error) {\n return {\n error\n };\n }\n }\n\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n\n get element() {\n return this.context.element;\n }\n\n get identifier() {\n return this.context.identifier;\n }\n\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n\n get schema() {\n return this.context.schema;\n }\n\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n\n disconnectAllActions() {\n this.bindings.forEach(binding => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n\n stop() {\n this.stringMapObserver.stop();\n }\n\n get element() {\n return this.context.element;\n }\n\n get controller() {\n return this.context.controller;\n }\n\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null) return;\n\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n\n this.invokeChangedCallback(name, value, oldValue);\n }\n\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n } else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n\n invokeChangedCallbacksForDefaultValues() {\n for (const _ref13 of this.valueDescriptors) {\n const key = _ref13.key;\n const name = _ref13.name;\n const defaultValue = _ref13.defaultValue;\n const writer = _ref13.writer;\n\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n\n changedMethod.call(this.receiver, value, oldValue);\n } catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n\n throw error;\n }\n }\n }\n\n get valueDescriptors() {\n const valueDescriptorMap = this.valueDescriptorMap;\n return Object.keys(valueDescriptorMap).map(key => valueDescriptorMap[key]);\n }\n\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach(key => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n\n tokenMatched(_ref14) {\n let element = _ref14.element,\n name = _ref14.content;\n\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n\n tokenUnmatched(_ref15) {\n let element = _ref15.element,\n name = _ref15.content;\n this.disconnectTarget(element, name);\n }\n\n connectTarget(element, name) {\n var _a;\n\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n\n disconnectTarget(element, name) {\n var _a;\n\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n\n get element() {\n return this.context.element;\n }\n\n get scope() {\n return this.context.scope;\n }\n\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach(name => values.add(name));\n return values;\n }, new Set()));\n}\n\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\n\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n\n return ancestors.reverse();\n}\n\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\n\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map(key => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n }\n\n start() {\n if (this.selectorObserverMap.size === 0) {\n this.outletDefinitions.forEach(outletName => {\n const selector = this.selector(outletName);\n const details = {\n outletName\n };\n\n if (selector) {\n this.selectorObserverMap.set(outletName, new SelectorObserver(document.body, selector, this, details));\n }\n });\n this.selectorObserverMap.forEach(observer => observer.start());\n }\n\n this.dependentContexts.forEach(context => context.refresh());\n }\n\n stop() {\n if (this.selectorObserverMap.size > 0) {\n this.disconnectAllOutlets();\n this.selectorObserverMap.forEach(observer => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n\n refresh() {\n this.selectorObserverMap.forEach(observer => observer.refresh());\n }\n\n selectorMatched(element, _selector, _ref16) {\n let outletName = _ref16.outletName;\n const outlet = this.getOutlet(element, outletName);\n\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n\n selectorUnmatched(element, _selector, _ref17) {\n let outletName = _ref17.outletName;\n const outlet = this.getOutletFromMap(element, outletName);\n\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n\n selectorMatchElement(element, _ref18) {\n let outletName = _ref18.outletName;\n return this.hasOutlet(element, outletName) && element.matches(`[${this.context.application.schema.controllerAttribute}~=${outletName}]`);\n }\n\n connectOutlet(outlet, element, outletName) {\n var _a;\n\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach(module => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach(outlet => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter(context => identifiers.includes(context.identifier));\n }\n\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find(outlet => outlet.element === element);\n }\n\n get scope() {\n return this.context.scope;\n }\n\n get identifier() {\n return this.context.identifier;\n }\n\n get application() {\n return this.context.application;\n }\n\n get router() {\n return this.application.router;\n }\n\n}\n\nclass Context {\n constructor(module, scope) {\n var _this = this;\n\n this.logDebugActivity = function (functionName) {\n let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const identifier = _this.identifier,\n controller = _this.controller,\n element = _this.element;\n detail = Object.assign({\n identifier,\n controller,\n element\n }, detail);\n\n _this.application.logDebugActivity(_this.identifier, functionName, detail);\n };\n\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n } catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n } catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n\n refresh() {\n this.outletObserver.refresh();\n }\n\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n } catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n\n get application() {\n return this.module.application;\n }\n\n get identifier() {\n return this.module.identifier;\n }\n\n get schema() {\n return this.application.schema;\n }\n\n get dispatcher() {\n return this.application.dispatcher;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get parentElement() {\n return this.element.parentElement;\n }\n\n handleError(error, message) {\n let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const identifier = this.identifier,\n controller = this.controller,\n element = this.element;\n detail = Object.assign({\n identifier,\n controller,\n element\n }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n\n invokeControllerMethod(methodName) {\n const controller = this.controller;\n\n if (typeof controller[methodName] == \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n controller[methodName](...args);\n }\n }\n\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\n\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\n\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n\n return blessedProperties;\n }, {});\n}\n\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n\n if (descriptor) {\n Object.assign(shadowProperties, {\n [key]: descriptor\n });\n }\n\n return shadowProperties;\n }, {});\n}\n\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n\n return descriptor;\n }\n}\n\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return object => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n } else {\n return Object.getOwnPropertyNames;\n }\n})();\n\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n\n extended.prototype = Object.create(constructor.prototype, {\n constructor: {\n value: extended\n }\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n\n const b = extendWithReflect(a);\n\n b.prototype.a = function () {};\n\n return new b();\n }\n\n try {\n testReflectExtension();\n return extendWithReflect;\n } catch (error) {\n return constructor => class extended extends constructor {};\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor)\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n\n get identifier() {\n return this.definition.identifier;\n }\n\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n\n return context;\n }\n\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n\n get(name) {\n return this.getAll(name)[0];\n }\n\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n\n getDataKey(name) {\n return `${name}-class`;\n }\n\n get data() {\n return this.scope.data;\n }\n\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get identifier() {\n return this.scope.identifier;\n }\n\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n } else {\n return false;\n }\n }\n\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get identifier() {\n return this.scope.identifier;\n }\n\n get schema() {\n return this.scope.schema;\n }\n\n has(targetName) {\n return this.find(targetName) != null;\n }\n\n find() {\n for (var _len2 = arguments.length, targetNames = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n targetNames[_key3] = arguments[_key3];\n }\n\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n\n findAll() {\n for (var _len3 = arguments.length, targetNames = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n targetNames[_key4] = arguments[_key4];\n }\n\n return targetNames.reduce((targets, targetName) => [...targets, ...this.findAllTargets(targetName), ...this.findAllLegacyTargets(targetName)], []);\n }\n\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map(element => this.deprecate(element, targetName));\n }\n\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n\n deprecate(element, targetName) {\n if (element) {\n const identifier = this.identifier;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` + `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n\n return element;\n }\n\n get guide() {\n return this.scope.guide;\n }\n\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get identifier() {\n return this.scope.identifier;\n }\n\n get schema() {\n return this.scope.schema;\n }\n\n has(outletName) {\n return this.find(outletName) != null;\n }\n\n find() {\n for (var _len4 = arguments.length, outletNames = new Array(_len4), _key5 = 0; _key5 < _len4; _key5++) {\n outletNames[_key5] = arguments[_key5];\n }\n\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n\n findAll() {\n for (var _len5 = arguments.length, outletNames = new Array(_len5), _key6 = 0; _key6 < _len5; _key6++) {\n outletNames[_key6] = arguments[_key6];\n }\n\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector) return this.findElement(selector, outletName);\n }\n\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter(element => this.matchesElement(element, selector, outletName))[0];\n }\n\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter(element => this.matchesElement(element, selector, outletName));\n }\n\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n\n this.containsElement = element => {\n return element.closest(this.controllerSelector) === this.element;\n };\n\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n\n findAllElements(selector) {\n return [...(this.element.matches(selector) ? [this.element] : []), ...this.queryElements(selector).filter(this.containsElement)];\n }\n\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n\n get documentScope() {\n return this.isDocumentScope ? this : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n\n start() {\n this.valueListObserver.start();\n }\n\n stop() {\n this.valueListObserver.stop();\n }\n\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n\n parseValueForToken(token) {\n const element = token.element,\n identifier = token.content;\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n\n return scope;\n }\n\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n\n return scopesByIdentifier;\n }\n\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n\n get element() {\n return this.application.element;\n }\n\n get schema() {\n return this.application.schema;\n }\n\n get logger() {\n return this.application.logger;\n }\n\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n\n start() {\n this.scopeObserver.start();\n }\n\n stop() {\n this.scopeObserver.stop();\n }\n\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n\n if (afterLoad) {\n afterLoad(definition.identifier, this.application);\n }\n }\n\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n\n if (module) {\n this.disconnectModule(module);\n }\n }\n\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n\n if (module) {\n return module.contexts.find(context => context.element == element);\n }\n }\n\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(scope => module.connectContextForScope(scope));\n }\n\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach(scope => module.disconnectContextForScope(scope));\n }\n\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: identifier => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({\n enter: \"Enter\",\n tab: \"Tab\",\n esc: \"Escape\",\n space: \" \",\n up: \"ArrowUp\",\n down: \"ArrowDown\",\n left: \"ArrowLeft\",\n right: \"ArrowRight\",\n home: \"Home\",\n end: \"End\"\n }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map(c => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map(n => [n, n])))\n};\n\nfunction objectFromEntries(array) {\n return array.reduce((memo, _ref19) => {\n let _ref20 = _slicedToArray(_ref19, 2),\n k = _ref20[0],\n v = _ref20[1];\n\n return Object.assign(Object.assign({}, memo), {\n [k]: v\n });\n }, {});\n}\n\nclass Application {\n constructor() {\n var _this2 = this;\n\n let element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.documentElement;\n let schema = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultSchema;\n this.logger = console;\n this.debug = false;\n\n this.logDebugActivity = function (identifier, functionName) {\n let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (_this2.debug) {\n _this2.logFormattedMessage(identifier, functionName, detail);\n }\n };\n\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n\n register(identifier, controllerConstructor) {\n this.load({\n identifier,\n controllerConstructor\n });\n }\n\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n\n load(head) {\n for (var _len6 = arguments.length, rest = new Array(_len6 > 1 ? _len6 - 1 : 0), _key7 = 1; _key7 < _len6; _key7++) {\n rest[_key7 - 1] = arguments[_key7];\n }\n\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach(definition => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n\n unload(head) {\n for (var _len7 = arguments.length, rest = new Array(_len7 > 1 ? _len7 - 1 : 0), _key8 = 1; _key8 < _len7; _key8++) {\n rest[_key8 - 1] = arguments[_key8];\n }\n\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach(identifier => this.router.unloadIdentifier(identifier));\n }\n\n get controllers() {\n return this.router.contexts.map(context => context.controller);\n }\n\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n\n handleError(error, message, detail) {\n var _a;\n\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n\n logFormattedMessage(identifier, functionName) {\n let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n detail = Object.assign({\n application: this\n }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n\n}\n\nfunction domReady() {\n return new Promise(resolve => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n } else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\n\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const classes = this.classes;\n\n if (classes.has(key)) {\n return classes.get(key);\n } else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n }\n\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n }\n\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n }\n\n }\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\n\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outlet = this.outlets.find(name);\n\n if (outlet) {\n const outletController = this.application.getControllerForElementAndIdentifier(outlet, name);\n\n if (outletController) {\n return outletController;\n } else {\n throw new Error(`Missing \"data-controller=${name}\" attribute on outlet element for \"${this.identifier}\" controller`);\n }\n }\n\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n }\n\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n\n if (outlets.length > 0) {\n return outlets.map(outlet => {\n const controller = this.application.getControllerForElementAndIdentifier(outlet, name);\n\n if (controller) {\n return controller;\n } else {\n console.warn(`The provided outlet element is missing the outlet controller \"${name}\" for \"${this.identifier}\"`, outlet);\n }\n }).filter(controller => controller);\n }\n\n return [];\n }\n\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outlet = this.outlets.find(name);\n\n if (outlet) {\n return outlet;\n } else {\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n }\n }\n\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n }\n\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n }\n\n }\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\n\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n\n if (target) {\n return target;\n } else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n }\n\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n }\n\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n }\n\n }\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, {\n [attributeName]: valueDescriptor\n });\n }, {});\n }\n\n }\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\n\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const key = definition.key,\n name = definition.name,\n read = definition.reader,\n write = definition.writer;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n\n if (value !== null) {\n return read(value);\n } else {\n return definition.defaultValue;\n }\n },\n\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n } else {\n this.data.set(key, write(value));\n }\n }\n\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n }\n\n }\n };\n}\n\nfunction parseValueDefinitionPair(_ref21, controller) {\n let _ref22 = _slicedToArray(_ref21, 2),\n token = _ref22[0],\n typeDefinition = _ref22[1];\n\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition\n });\n}\n\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n\n case Boolean:\n return \"boolean\";\n\n case Number:\n return \"number\";\n\n case Object:\n return \"object\";\n\n case String:\n return \"string\";\n }\n}\n\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n\n case \"number\":\n return \"number\";\n\n case \"string\":\n return \"string\";\n }\n\n if (Array.isArray(defaultValue)) return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\") return \"object\";\n}\n\nfunction parseValueTypeObject(payload) {\n const typeFromObject = parseValueTypeConstant(payload.typeObject.type);\n if (!typeFromObject) return;\n const defaultValueType = parseValueTypeDefault(payload.typeObject.default);\n\n if (typeFromObject !== defaultValueType) {\n const propertyPath = payload.controller ? `${payload.controller}.${payload.token}` : payload.token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${payload.typeObject.default}\" is of type \"${defaultValueType}\".`);\n }\n\n return typeFromObject;\n}\n\nfunction parseValueTypeDefinition(payload) {\n const typeFromObject = parseValueTypeObject({\n controller: payload.controller,\n token: payload.token,\n typeObject: payload.typeDefinition\n });\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeDefinition);\n const typeFromConstant = parseValueTypeConstant(payload.typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type) return type;\n const propertyPath = payload.controller ? `${payload.controller}.${payload.typeDefinition}` : payload.token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${payload.token}\" value`);\n}\n\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant) return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined) return defaultValue;\n return typeDefinition;\n}\n\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const key = `${dasherize(payload.token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n\n get defaultValue() {\n return defaultValueForDefinition(payload.typeDefinition);\n },\n\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(payload.typeDefinition) !== undefined;\n },\n\n reader: readers[type],\n writer: writers[type] || writers.default\n };\n}\n\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n\n boolean: false,\n number: 0,\n\n get object() {\n return {};\n },\n\n string: \"\"\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n\n return array;\n },\n\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n\n number(value) {\n return Number(value);\n },\n\n object(value) {\n const object = JSON.parse(value);\n\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n\n return object;\n },\n\n string(value) {\n return value;\n }\n\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON\n};\n\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\n\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n\n static get shouldLoad() {\n return true;\n }\n\n static afterLoad(_identifier, _application) {\n return;\n }\n\n get application() {\n return this.context.application;\n }\n\n get scope() {\n return this.context.scope;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get identifier() {\n return this.scope.identifier;\n }\n\n get targets() {\n return this.scope.targets;\n }\n\n get outlets() {\n return this.scope.outlets;\n }\n\n get classes() {\n return this.scope.classes;\n }\n\n get data() {\n return this.scope.data;\n }\n\n initialize() {}\n\n connect() {}\n\n disconnect() {}\n\n dispatch(eventName) {\n let _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref23$target = _ref23.target,\n target = _ref23$target === void 0 ? this.element : _ref23$target,\n _ref23$detail = _ref23.detail,\n detail = _ref23$detail === void 0 ? {} : _ref23$detail,\n _ref23$prefix = _ref23.prefix,\n prefix = _ref23$prefix === void 0 ? this.identifier : _ref23$prefix,\n _ref23$bubbles = _ref23.bubbles,\n bubbles = _ref23$bubbles === void 0 ? true : _ref23$bubbles,\n _ref23$cancelable = _ref23.cancelable,\n cancelable = _ref23$cancelable === void 0 ? true : _ref23$cancelable;\n\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, {\n detail,\n bubbles,\n cancelable\n });\n target.dispatchEvent(event);\n return event;\n }\n\n}\n\nController.blessings = [ClassPropertiesBlessing, TargetPropertiesBlessing, ValuePropertiesBlessing, OutletPropertiesBlessing];\nController.targets = [];\nController.outlets = [];\nController.values = {};\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };","/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function () {\n var t = this;\n (function () {\n (function () {\n this.Turbolinks = {\n supported: function () {\n return null != window.history.pushState && null != window.requestAnimationFrame && null != window.addEventListener;\n }(),\n visit: function (t, r) {\n return e.controller.visit(t, r);\n },\n clearCache: function () {\n return e.controller.clearCache();\n },\n setProgressBarDelay: function (t) {\n return e.controller.setProgressBarDelay(t);\n }\n };\n }).call(this);\n }).call(t);\n var e = t.Turbolinks;\n (function () {\n (function () {\n var t,\n r,\n n,\n o = [].slice;\n e.copyObject = function (t) {\n var e, r, n;\n r = {};\n\n for (e in t) n = t[e], r[e] = n;\n\n return r;\n }, e.closest = function (e, r) {\n return t.call(e, r);\n }, t = function () {\n var t, e;\n return t = document.documentElement, null != (e = t.closest) ? e : function (t) {\n var e;\n\n for (e = this; e;) {\n if (e.nodeType === Node.ELEMENT_NODE && r.call(e, t)) return e;\n e = e.parentNode;\n }\n };\n }(), e.defer = function (t) {\n return setTimeout(t, 1);\n }, e.throttle = function (t) {\n var e;\n return e = null, function () {\n var r;\n return r = 1 <= arguments.length ? o.call(arguments, 0) : [], null != e ? e : e = requestAnimationFrame(function (n) {\n return function () {\n return e = null, t.apply(n, r);\n };\n }(this));\n };\n }, e.dispatch = function (t, e) {\n var r, o, i, s, a, u;\n return a = null != e ? e : {}, u = a.target, r = a.cancelable, o = a.data, i = document.createEvent(\"Events\"), i.initEvent(t, !0, r === !0), i.data = null != o ? o : {}, i.cancelable && !n && (s = i.preventDefault, i.preventDefault = function () {\n return this.defaultPrevented || Object.defineProperty(this, \"defaultPrevented\", {\n get: function () {\n return !0;\n }\n }), s.call(this);\n }), (null != u ? u : document).dispatchEvent(i), i;\n }, n = function () {\n var t;\n return t = document.createEvent(\"Events\"), t.initEvent(\"test\", !0, !0), t.preventDefault(), t.defaultPrevented;\n }(), e.match = function (t, e) {\n return r.call(t, e);\n }, r = function () {\n var t, e, r, n;\n return t = document.documentElement, null != (e = null != (r = null != (n = t.matchesSelector) ? n : t.webkitMatchesSelector) ? r : t.msMatchesSelector) ? e : t.mozMatchesSelector;\n }(), e.uuid = function () {\n var t, e, r;\n\n for (r = \"\", t = e = 1; 36 >= e; t = ++e) r += 9 === t || 14 === t || 19 === t || 24 === t ? \"-\" : 15 === t ? \"4\" : 20 === t ? (Math.floor(4 * Math.random()) + 8).toString(16) : Math.floor(15 * Math.random()).toString(16);\n\n return r;\n };\n }).call(this), function () {\n e.Location = function () {\n function t(t) {\n var e, r;\n null == t && (t = \"\"), r = document.createElement(\"a\"), r.href = t.toString(), this.absoluteURL = r.href, e = r.hash.length, 2 > e ? this.requestURL = this.absoluteURL : (this.requestURL = this.absoluteURL.slice(0, -e), this.anchor = r.hash.slice(1));\n }\n\n var e, r, n, o;\n return t.wrap = function (t) {\n return t instanceof this ? t : new this(t);\n }, t.prototype.getOrigin = function () {\n return this.absoluteURL.split(\"/\", 3).join(\"/\");\n }, t.prototype.getPath = function () {\n var t, e;\n return null != (t = null != (e = this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/)) ? e[1] : void 0) ? t : \"/\";\n }, t.prototype.getPathComponents = function () {\n return this.getPath().split(\"/\").slice(1);\n }, t.prototype.getLastPathComponent = function () {\n return this.getPathComponents().slice(-1)[0];\n }, t.prototype.getExtension = function () {\n var t, e;\n return null != (t = null != (e = this.getLastPathComponent().match(/\\.[^.]*$/)) ? e[0] : void 0) ? t : \"\";\n }, t.prototype.isHTML = function () {\n return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/);\n }, t.prototype.isPrefixedBy = function (t) {\n var e;\n return e = r(t), this.isEqualTo(t) || o(this.absoluteURL, e);\n }, t.prototype.isEqualTo = function (t) {\n return this.absoluteURL === (null != t ? t.absoluteURL : void 0);\n }, t.prototype.toCacheKey = function () {\n return this.requestURL;\n }, t.prototype.toJSON = function () {\n return this.absoluteURL;\n }, t.prototype.toString = function () {\n return this.absoluteURL;\n }, t.prototype.valueOf = function () {\n return this.absoluteURL;\n }, r = function (t) {\n return e(t.getOrigin() + t.getPath());\n }, e = function (t) {\n return n(t, \"/\") ? t : t + \"/\";\n }, o = function (t, e) {\n return t.slice(0, e.length) === e;\n }, n = function (t, e) {\n return t.slice(-e.length) === e;\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.HttpRequest = function () {\n function r(r, n, o) {\n this.delegate = r, this.requestCanceled = t(this.requestCanceled, this), this.requestTimedOut = t(this.requestTimedOut, this), this.requestFailed = t(this.requestFailed, this), this.requestLoaded = t(this.requestLoaded, this), this.requestProgressed = t(this.requestProgressed, this), this.url = e.Location.wrap(n).requestURL, this.referrer = e.Location.wrap(o).absoluteURL, this.createXHR();\n }\n\n return r.NETWORK_FAILURE = 0, r.TIMEOUT_FAILURE = -1, r.timeout = 60, r.prototype.send = function () {\n var t;\n return this.xhr && !this.sent ? (this.notifyApplicationBeforeRequestStart(), this.setProgress(0), this.xhr.send(), this.sent = !0, \"function\" == typeof (t = this.delegate).requestStarted ? t.requestStarted() : void 0) : void 0;\n }, r.prototype.cancel = function () {\n return this.xhr && this.sent ? this.xhr.abort() : void 0;\n }, r.prototype.requestProgressed = function (t) {\n return t.lengthComputable ? this.setProgress(t.loaded / t.total) : void 0;\n }, r.prototype.requestLoaded = function () {\n return this.endRequest(function (t) {\n return function () {\n var e;\n return 200 <= (e = t.xhr.status) && 300 > e ? t.delegate.requestCompletedWithResponse(t.xhr.responseText, t.xhr.getResponseHeader(\"Turbolinks-Location\")) : (t.failed = !0, t.delegate.requestFailedWithStatusCode(t.xhr.status, t.xhr.responseText));\n };\n }(this));\n }, r.prototype.requestFailed = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE);\n };\n }(this));\n }, r.prototype.requestTimedOut = function () {\n return this.endRequest(function (t) {\n return function () {\n return t.failed = !0, t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE);\n };\n }(this));\n }, r.prototype.requestCanceled = function () {\n return this.endRequest();\n }, r.prototype.notifyApplicationBeforeRequestStart = function () {\n return e.dispatch(\"turbolinks:request-start\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.notifyApplicationAfterRequestEnd = function () {\n return e.dispatch(\"turbolinks:request-end\", {\n data: {\n url: this.url,\n xhr: this.xhr\n }\n });\n }, r.prototype.createXHR = function () {\n return this.xhr = new XMLHttpRequest(), this.xhr.open(\"GET\", this.url, !0), this.xhr.timeout = 1e3 * this.constructor.timeout, this.xhr.setRequestHeader(\"Accept\", \"text/html, application/xhtml+xml\"), this.xhr.setRequestHeader(\"Turbolinks-Referrer\", this.referrer), this.xhr.onprogress = this.requestProgressed, this.xhr.onload = this.requestLoaded, this.xhr.onerror = this.requestFailed, this.xhr.ontimeout = this.requestTimedOut, this.xhr.onabort = this.requestCanceled;\n }, r.prototype.endRequest = function (t) {\n return this.xhr ? (this.notifyApplicationAfterRequestEnd(), null != t && t.call(this), this.destroy()) : void 0;\n }, r.prototype.setProgress = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.delegate).requestProgressed ? e.requestProgressed(this.progress) : void 0;\n }, r.prototype.destroy = function () {\n var t;\n return this.setProgress(1), \"function\" == typeof (t = this.delegate).requestFinished && t.requestFinished(), this.delegate = null, this.xhr = null;\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.ProgressBar = function () {\n function e() {\n this.trickle = t(this.trickle, this), this.stylesheetElement = this.createStylesheetElement(), this.progressElement = this.createProgressElement();\n }\n\n var r;\n return r = 300, e.defaultCSS = \".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \" + r + \"ms ease-out, opacity \" + r / 2 + \"ms \" + r / 2 + \"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\", e.prototype.show = function () {\n return this.visible ? void 0 : (this.visible = !0, this.installStylesheetElement(), this.installProgressElement(), this.startTrickling());\n }, e.prototype.hide = function () {\n return this.visible && !this.hiding ? (this.hiding = !0, this.fadeProgressElement(function (t) {\n return function () {\n return t.uninstallProgressElement(), t.stopTrickling(), t.visible = !1, t.hiding = !1;\n };\n }(this))) : void 0;\n }, e.prototype.setValue = function (t) {\n return this.value = t, this.refresh();\n }, e.prototype.installStylesheetElement = function () {\n return document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }, e.prototype.installProgressElement = function () {\n return this.progressElement.style.width = 0, this.progressElement.style.opacity = 1, document.documentElement.insertBefore(this.progressElement, document.body), this.refresh();\n }, e.prototype.fadeProgressElement = function (t) {\n return this.progressElement.style.opacity = 0, setTimeout(t, 1.5 * r);\n }, e.prototype.uninstallProgressElement = function () {\n return this.progressElement.parentNode ? document.documentElement.removeChild(this.progressElement) : void 0;\n }, e.prototype.startTrickling = function () {\n return null != this.trickleInterval ? this.trickleInterval : this.trickleInterval = setInterval(this.trickle, r);\n }, e.prototype.stopTrickling = function () {\n return clearInterval(this.trickleInterval), this.trickleInterval = null;\n }, e.prototype.trickle = function () {\n return this.setValue(this.value + Math.random() / 100);\n }, e.prototype.refresh = function () {\n return requestAnimationFrame(function (t) {\n return function () {\n return t.progressElement.style.width = 10 + 90 * t.value + \"%\";\n };\n }(this));\n }, e.prototype.createStylesheetElement = function () {\n var t;\n return t = document.createElement(\"style\"), t.type = \"text/css\", t.textContent = this.constructor.defaultCSS, t;\n }, e.prototype.createProgressElement = function () {\n var t;\n return t = document.createElement(\"div\"), t.className = \"turbolinks-progress-bar\", t;\n }, e;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.BrowserAdapter = function () {\n function r(r) {\n this.controller = r, this.showProgressBar = t(this.showProgressBar, this), this.progressBar = new e.ProgressBar();\n }\n\n var n, o, i;\n return i = e.HttpRequest, n = i.NETWORK_FAILURE, o = i.TIMEOUT_FAILURE, r.prototype.visitProposedToLocationWithAction = function (t, e) {\n return this.controller.startVisitToLocationWithAction(t, e);\n }, r.prototype.visitStarted = function (t) {\n return t.issueRequest(), t.changeHistory(), t.loadCachedSnapshot();\n }, r.prototype.visitRequestStarted = function (t) {\n return this.progressBar.setValue(0), t.hasCachedSnapshot() || \"restore\" !== t.action ? this.showProgressBarAfterDelay() : this.showProgressBar();\n }, r.prototype.visitRequestProgressed = function (t) {\n return this.progressBar.setValue(t.progress);\n }, r.prototype.visitRequestCompleted = function (t) {\n return t.loadResponse();\n }, r.prototype.visitRequestFailedWithStatusCode = function (t, e) {\n switch (e) {\n case n:\n case o:\n return this.reload();\n\n default:\n return t.loadResponse();\n }\n }, r.prototype.visitRequestFinished = function (t) {\n return this.hideProgressBar();\n }, r.prototype.visitCompleted = function (t) {\n return t.followRedirect();\n }, r.prototype.pageInvalidated = function () {\n return this.reload();\n }, r.prototype.showProgressBarAfterDelay = function () {\n return this.progressBarTimeout = setTimeout(this.showProgressBar, this.controller.progressBarDelay);\n }, r.prototype.showProgressBar = function () {\n return this.progressBar.show();\n }, r.prototype.hideProgressBar = function () {\n return this.progressBar.hide(), clearTimeout(this.progressBarTimeout);\n }, r.prototype.reload = function () {\n return window.location.reload();\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.History = function () {\n function r(e) {\n this.delegate = e, this.onPageLoad = t(this.onPageLoad, this), this.onPopState = t(this.onPopState, this);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"popstate\", this.onPopState, !1), addEventListener(\"load\", this.onPageLoad, !1), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"popstate\", this.onPopState, !1), removeEventListener(\"load\", this.onPageLoad, !1), this.started = !1) : void 0;\n }, r.prototype.push = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"push\", t, r);\n }, r.prototype.replace = function (t, r) {\n return t = e.Location.wrap(t), this.update(\"replace\", t, r);\n }, r.prototype.onPopState = function (t) {\n var r, n, o, i;\n return this.shouldHandlePopState() && (i = null != (n = t.state) ? n.turbolinks : void 0) ? (r = e.Location.wrap(window.location), o = i.restorationIdentifier, this.delegate.historyPoppedToLocationWithRestorationIdentifier(r, o)) : void 0;\n }, r.prototype.onPageLoad = function (t) {\n return e.defer(function (t) {\n return function () {\n return t.pageLoaded = !0;\n };\n }(this));\n }, r.prototype.shouldHandlePopState = function () {\n return this.pageIsLoaded();\n }, r.prototype.pageIsLoaded = function () {\n return this.pageLoaded || \"complete\" === document.readyState;\n }, r.prototype.update = function (t, e, r) {\n var n;\n return n = {\n turbolinks: {\n restorationIdentifier: r\n }\n }, history[t + \"State\"](n, null, e);\n }, r;\n }();\n }.call(this), function () {\n e.HeadDetails = function () {\n function t(t) {\n var e, r, n, s, a, u;\n\n for (this.elements = {}, n = 0, a = t.length; a > n; n++) u = t[n], u.nodeType === Node.ELEMENT_NODE && (s = u.outerHTML, r = null != (e = this.elements)[s] ? e[s] : e[s] = {\n type: i(u),\n tracked: o(u),\n elements: []\n }, r.elements.push(u));\n }\n\n var e, r, n, o, i;\n return t.fromHeadElement = function (t) {\n var e;\n return new this(null != (e = null != t ? t.childNodes : void 0) ? e : []);\n }, t.prototype.hasElementWithKey = function (t) {\n return t in this.elements;\n }, t.prototype.getTrackedElementSignature = function () {\n var t, e;\n return function () {\n var r, n;\n r = this.elements, n = [];\n\n for (t in r) e = r[t].tracked, e && n.push(t);\n\n return n;\n }.call(this).join(\"\");\n }, t.prototype.getScriptElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"script\", t);\n }, t.prototype.getStylesheetElementsNotInDetails = function (t) {\n return this.getElementsMatchingTypeNotInDetails(\"stylesheet\", t);\n }, t.prototype.getElementsMatchingTypeNotInDetails = function (t, e) {\n var r, n, o, i, s, a;\n o = this.elements, s = [];\n\n for (n in o) i = o[n], a = i.type, r = i.elements, a !== t || e.hasElementWithKey(n) || s.push(r[0]);\n\n return s;\n }, t.prototype.getProvisionalElements = function () {\n var t, e, r, n, o, i, s;\n r = [], n = this.elements;\n\n for (e in n) o = n[e], s = o.type, i = o.tracked, t = o.elements, null != s || i ? t.length > 1 && r.push.apply(r, t.slice(1)) : r.push.apply(r, t);\n\n return r;\n }, t.prototype.getMetaValue = function (t) {\n var e;\n return null != (e = this.findMetaElementByName(t)) ? e.getAttribute(\"content\") : void 0;\n }, t.prototype.findMetaElementByName = function (t) {\n var r, n, o, i;\n r = void 0, i = this.elements;\n\n for (o in i) n = i[o].elements, e(n[0], t) && (r = n[0]);\n\n return r;\n }, i = function (t) {\n return r(t) ? \"script\" : n(t) ? \"stylesheet\" : void 0;\n }, o = function (t) {\n return \"reload\" === t.getAttribute(\"data-turbolinks-track\");\n }, r = function (t) {\n var e;\n return e = t.tagName.toLowerCase(), \"script\" === e;\n }, n = function (t) {\n var e;\n return e = t.tagName.toLowerCase(), \"style\" === e || \"link\" === e && \"stylesheet\" === t.getAttribute(\"rel\");\n }, e = function (t, e) {\n var r;\n return r = t.tagName.toLowerCase(), \"meta\" === r && t.getAttribute(\"name\") === e;\n }, t;\n }();\n }.call(this), function () {\n e.Snapshot = function () {\n function t(t, e) {\n this.headDetails = t, this.bodyElement = e;\n }\n\n return t.wrap = function (t) {\n return t instanceof this ? t : \"string\" == typeof t ? this.fromHTMLString(t) : this.fromHTMLElement(t);\n }, t.fromHTMLString = function (t) {\n var e;\n return e = document.createElement(\"html\"), e.innerHTML = t, this.fromHTMLElement(e);\n }, t.fromHTMLElement = function (t) {\n var r, n, o, i;\n return o = t.querySelector(\"head\"), r = null != (i = t.querySelector(\"body\")) ? i : document.createElement(\"body\"), n = e.HeadDetails.fromHeadElement(o), new this(n, r);\n }, t.prototype.clone = function () {\n return new this.constructor(this.headDetails, this.bodyElement.cloneNode(!0));\n }, t.prototype.getRootLocation = function () {\n var t, r;\n return r = null != (t = this.getSetting(\"root\")) ? t : \"/\", new e.Location(r);\n }, t.prototype.getCacheControlValue = function () {\n return this.getSetting(\"cache-control\");\n }, t.prototype.getElementForAnchor = function (t) {\n try {\n return this.bodyElement.querySelector(\"[id='\" + t + \"'], a[name='\" + t + \"']\");\n } catch (e) {}\n }, t.prototype.getPermanentElements = function () {\n return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementById = function (t) {\n return this.bodyElement.querySelector(\"#\" + t + \"[data-turbolinks-permanent]\");\n }, t.prototype.getPermanentElementsPresentInSnapshot = function (t) {\n var e, r, n, o, i;\n\n for (o = this.getPermanentElements(), i = [], r = 0, n = o.length; n > r; r++) e = o[r], t.getPermanentElementById(e.id) && i.push(e);\n\n return i;\n }, t.prototype.findFirstAutofocusableElement = function () {\n return this.bodyElement.querySelector(\"[autofocus]\");\n }, t.prototype.hasAnchor = function (t) {\n return null != this.getElementForAnchor(t);\n }, t.prototype.isPreviewable = function () {\n return \"no-preview\" !== this.getCacheControlValue();\n }, t.prototype.isCacheable = function () {\n return \"no-cache\" !== this.getCacheControlValue();\n }, t.prototype.isVisitable = function () {\n return \"reload\" !== this.getSetting(\"visit-control\");\n }, t.prototype.getSetting = function (t) {\n return this.headDetails.getMetaValue(\"turbolinks-\" + t);\n }, t;\n }();\n }.call(this), function () {\n var t = [].slice;\n\n e.Renderer = function () {\n function e() {}\n\n var r;\n return e.render = function () {\n var e, r, n, o;\n return n = arguments[0], r = arguments[1], e = 3 <= arguments.length ? t.call(arguments, 2) : [], o = function (t, e, r) {\n r.prototype = t.prototype;\n var n = new r(),\n o = t.apply(n, e);\n return Object(o) === o ? o : n;\n }(this, e, function () {}), o.delegate = n, o.render(r), o;\n }, e.prototype.renderView = function (t) {\n return this.delegate.viewWillRender(this.newBody), t(), this.delegate.viewRendered(this.newBody);\n }, e.prototype.invalidateView = function () {\n return this.delegate.viewInvalidated();\n }, e.prototype.createScriptElement = function (t) {\n var e;\n return \"false\" === t.getAttribute(\"data-turbolinks-eval\") ? t : (e = document.createElement(\"script\"), e.textContent = t.textContent, e.async = !1, r(e, t), e);\n }, r = function (t, e) {\n var r, n, o, i, s, a, u;\n\n for (i = e.attributes, a = [], r = 0, n = i.length; n > r; r++) s = i[r], o = s.name, u = s.value, a.push(t.setAttribute(o, u));\n\n return a;\n }, e;\n }();\n }.call(this), function () {\n var t,\n r,\n n = function (t, e) {\n function r() {\n this.constructor = t;\n }\n\n for (var n in e) o.call(e, n) && (t[n] = e[n]);\n\n return r.prototype = e.prototype, t.prototype = new r(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n e.SnapshotRenderer = function (e) {\n function o(t, e, r) {\n this.currentSnapshot = t, this.newSnapshot = e, this.isPreview = r, this.currentHeadDetails = this.currentSnapshot.headDetails, this.newHeadDetails = this.newSnapshot.headDetails, this.currentBody = this.currentSnapshot.bodyElement, this.newBody = this.newSnapshot.bodyElement;\n }\n\n return n(o, e), o.prototype.render = function (t) {\n return this.shouldRender() ? (this.mergeHead(), this.renderView(function (e) {\n return function () {\n return e.replaceBody(), e.isPreview || e.focusFirstAutofocusableElement(), t();\n };\n }(this))) : this.invalidateView();\n }, o.prototype.mergeHead = function () {\n return this.copyNewHeadStylesheetElements(), this.copyNewHeadScriptElements(), this.removeCurrentHeadProvisionalElements(), this.copyNewHeadProvisionalElements();\n }, o.prototype.replaceBody = function () {\n var t;\n return t = this.relocateCurrentBodyPermanentElements(), this.activateNewBodyScriptElements(), this.assignNewBody(), this.replacePlaceholderElementsWithClonedPermanentElements(t);\n }, o.prototype.shouldRender = function () {\n return this.newSnapshot.isVisitable() && this.trackedElementsAreIdentical();\n }, o.prototype.trackedElementsAreIdentical = function () {\n return this.currentHeadDetails.getTrackedElementSignature() === this.newHeadDetails.getTrackedElementSignature();\n }, o.prototype.copyNewHeadStylesheetElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadStylesheetElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(t));\n\n return o;\n }, o.prototype.copyNewHeadScriptElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadScriptElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(this.createScriptElement(t)));\n\n return o;\n }, o.prototype.removeCurrentHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getCurrentHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.removeChild(t));\n\n return o;\n }, o.prototype.copyNewHeadProvisionalElements = function () {\n var t, e, r, n, o;\n\n for (n = this.getNewHeadProvisionalElements(), o = [], e = 0, r = n.length; r > e; e++) t = n[e], o.push(document.head.appendChild(t));\n\n return o;\n }, o.prototype.relocateCurrentBodyPermanentElements = function () {\n var e, n, o, i, s, a, u;\n\n for (a = this.getCurrentBodyPermanentElements(), u = [], e = 0, n = a.length; n > e; e++) i = a[e], s = t(i), o = this.newSnapshot.getPermanentElementById(i.id), r(i, s.element), r(o, i), u.push(s);\n\n return u;\n }, o.prototype.replacePlaceholderElementsWithClonedPermanentElements = function (t) {\n var e, n, o, i, s, a, u;\n\n for (u = [], o = 0, i = t.length; i > o; o++) a = t[o], n = a.element, s = a.permanentElement, e = s.cloneNode(!0), u.push(r(n, e));\n\n return u;\n }, o.prototype.activateNewBodyScriptElements = function () {\n var t, e, n, o, i, s;\n\n for (i = this.getNewBodyScriptElements(), s = [], e = 0, o = i.length; o > e; e++) n = i[e], t = this.createScriptElement(n), s.push(r(n, t));\n\n return s;\n }, o.prototype.assignNewBody = function () {\n return document.body = this.newBody;\n }, o.prototype.focusFirstAutofocusableElement = function () {\n var t;\n return null != (t = this.newSnapshot.findFirstAutofocusableElement()) ? t.focus() : void 0;\n }, o.prototype.getNewHeadStylesheetElements = function () {\n return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getNewHeadScriptElements = function () {\n return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails);\n }, o.prototype.getCurrentHeadProvisionalElements = function () {\n return this.currentHeadDetails.getProvisionalElements();\n }, o.prototype.getNewHeadProvisionalElements = function () {\n return this.newHeadDetails.getProvisionalElements();\n }, o.prototype.getCurrentBodyPermanentElements = function () {\n return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot);\n }, o.prototype.getNewBodyScriptElements = function () {\n return this.newBody.querySelectorAll(\"script\");\n }, o;\n }(e.Renderer), t = function (t) {\n var e;\n return e = document.createElement(\"meta\"), e.setAttribute(\"name\", \"turbolinks-permanent-placeholder\"), e.setAttribute(\"content\", t.id), {\n element: e,\n permanentElement: t\n };\n }, r = function (t, e) {\n var r;\n return (r = t.parentNode) ? r.replaceChild(e, t) : void 0;\n };\n }.call(this), function () {\n var t = function (t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) r.call(e, o) && (t[o] = e[o]);\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n e.ErrorRenderer = function (e) {\n function r(t) {\n var e;\n e = document.createElement(\"html\"), e.innerHTML = t, this.newHead = e.querySelector(\"head\"), this.newBody = e.querySelector(\"body\");\n }\n\n return t(r, e), r.prototype.render = function (t) {\n return this.renderView(function (e) {\n return function () {\n return e.replaceHeadAndBody(), e.activateBodyScriptElements(), t();\n };\n }(this));\n }, r.prototype.replaceHeadAndBody = function () {\n var t, e;\n return e = document.head, t = document.body, e.parentNode.replaceChild(this.newHead, e), t.parentNode.replaceChild(this.newBody, t);\n }, r.prototype.activateBodyScriptElements = function () {\n var t, e, r, n, o, i;\n\n for (n = this.getScriptElements(), i = [], e = 0, r = n.length; r > e; e++) o = n[e], t = this.createScriptElement(o), i.push(o.parentNode.replaceChild(t, o));\n\n return i;\n }, r.prototype.getScriptElements = function () {\n return document.documentElement.querySelectorAll(\"script\");\n }, r;\n }(e.Renderer);\n }.call(this), function () {\n e.View = function () {\n function t(t) {\n this.delegate = t, this.htmlElement = document.documentElement;\n }\n\n return t.prototype.getRootLocation = function () {\n return this.getSnapshot().getRootLocation();\n }, t.prototype.getElementForAnchor = function (t) {\n return this.getSnapshot().getElementForAnchor(t);\n }, t.prototype.getSnapshot = function () {\n return e.Snapshot.fromHTMLElement(this.htmlElement);\n }, t.prototype.render = function (t, e) {\n var r, n, o;\n return o = t.snapshot, r = t.error, n = t.isPreview, this.markAsPreview(n), null != o ? this.renderSnapshot(o, n, e) : this.renderError(r, e);\n }, t.prototype.markAsPreview = function (t) {\n return t ? this.htmlElement.setAttribute(\"data-turbolinks-preview\", \"\") : this.htmlElement.removeAttribute(\"data-turbolinks-preview\");\n }, t.prototype.renderSnapshot = function (t, r, n) {\n return e.SnapshotRenderer.render(this.delegate, n, this.getSnapshot(), e.Snapshot.wrap(t), r);\n }, t.prototype.renderError = function (t, r) {\n return e.ErrorRenderer.render(this.delegate, r, t);\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.ScrollManager = function () {\n function r(r) {\n this.delegate = r, this.onScroll = t(this.onScroll, this), this.onScroll = e.throttle(this.onScroll);\n }\n\n return r.prototype.start = function () {\n return this.started ? void 0 : (addEventListener(\"scroll\", this.onScroll, !1), this.onScroll(), this.started = !0);\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"scroll\", this.onScroll, !1), this.started = !1) : void 0;\n }, r.prototype.scrollToElement = function (t) {\n return t.scrollIntoView();\n }, r.prototype.scrollToPosition = function (t) {\n var e, r;\n return e = t.x, r = t.y, window.scrollTo(e, r);\n }, r.prototype.onScroll = function (t) {\n return this.updatePosition({\n x: window.pageXOffset,\n y: window.pageYOffset\n });\n }, r.prototype.updatePosition = function (t) {\n var e;\n return this.position = t, null != (e = this.delegate) ? e.scrollPositionChanged(this.position) : void 0;\n }, r;\n }();\n }.call(this), function () {\n e.SnapshotCache = function () {\n function t(t) {\n this.size = t, this.keys = [], this.snapshots = {};\n }\n\n var r;\n return t.prototype.has = function (t) {\n var e;\n return e = r(t), e in this.snapshots;\n }, t.prototype.get = function (t) {\n var e;\n if (this.has(t)) return e = this.read(t), this.touch(t), e;\n }, t.prototype.put = function (t, e) {\n return this.write(t, e), this.touch(t), e;\n }, t.prototype.read = function (t) {\n var e;\n return e = r(t), this.snapshots[e];\n }, t.prototype.write = function (t, e) {\n var n;\n return n = r(t), this.snapshots[n] = e;\n }, t.prototype.touch = function (t) {\n var e, n;\n return n = r(t), e = this.keys.indexOf(n), e > -1 && this.keys.splice(e, 1), this.keys.unshift(n), this.trim();\n }, t.prototype.trim = function () {\n var t, e, r, n, o;\n\n for (n = this.keys.splice(this.size), o = [], t = 0, r = n.length; r > t; t++) e = n[t], o.push(delete this.snapshots[e]);\n\n return o;\n }, r = function (t) {\n return e.Location.wrap(t).toCacheKey();\n }, t;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.Visit = function () {\n function r(r, n, o) {\n this.controller = r, this.action = o, this.performScroll = t(this.performScroll, this), this.identifier = e.uuid(), this.location = e.Location.wrap(n), this.adapter = this.controller.adapter, this.state = \"initialized\", this.timingMetrics = {};\n }\n\n var n;\n return r.prototype.start = function () {\n return \"initialized\" === this.state ? (this.recordTimingMetric(\"visitStart\"), this.state = \"started\", this.adapter.visitStarted(this)) : void 0;\n }, r.prototype.cancel = function () {\n var t;\n return \"started\" === this.state ? (null != (t = this.request) && t.cancel(), this.cancelRender(), this.state = \"canceled\") : void 0;\n }, r.prototype.complete = function () {\n var t;\n return \"started\" === this.state ? (this.recordTimingMetric(\"visitEnd\"), this.state = \"completed\", \"function\" == typeof (t = this.adapter).visitCompleted && t.visitCompleted(this), this.controller.visitCompleted(this)) : void 0;\n }, r.prototype.fail = function () {\n var t;\n return \"started\" === this.state ? (this.state = \"failed\", \"function\" == typeof (t = this.adapter).visitFailed ? t.visitFailed(this) : void 0) : void 0;\n }, r.prototype.changeHistory = function () {\n var t, e;\n return this.historyChanged ? void 0 : (t = this.location.isEqualTo(this.referrer) ? \"replace\" : this.action, e = n(t), this.controller[e](this.location, this.restorationIdentifier), this.historyChanged = !0);\n }, r.prototype.issueRequest = function () {\n return this.shouldIssueRequest() && null == this.request ? (this.progress = 0, this.request = new e.HttpRequest(this, this.location, this.referrer), this.request.send()) : void 0;\n }, r.prototype.getCachedSnapshot = function () {\n var t;\n return !(t = this.controller.getCachedSnapshotForLocation(this.location)) || null != this.location.anchor && !t.hasAnchor(this.location.anchor) || \"restore\" !== this.action && !t.isPreviewable() ? void 0 : t;\n }, r.prototype.hasCachedSnapshot = function () {\n return null != this.getCachedSnapshot();\n }, r.prototype.loadCachedSnapshot = function () {\n var t, e;\n return (e = this.getCachedSnapshot()) ? (t = this.shouldIssueRequest(), this.render(function () {\n var r;\n return this.cacheSnapshot(), this.controller.render({\n snapshot: e,\n isPreview: t\n }, this.performScroll), \"function\" == typeof (r = this.adapter).visitRendered && r.visitRendered(this), t ? void 0 : this.complete();\n })) : void 0;\n }, r.prototype.loadResponse = function () {\n return null != this.response ? this.render(function () {\n var t, e;\n return this.cacheSnapshot(), this.request.failed ? (this.controller.render({\n error: this.response\n }, this.performScroll), \"function\" == typeof (t = this.adapter).visitRendered && t.visitRendered(this), this.fail()) : (this.controller.render({\n snapshot: this.response\n }, this.performScroll), \"function\" == typeof (e = this.adapter).visitRendered && e.visitRendered(this), this.complete());\n }) : void 0;\n }, r.prototype.followRedirect = function () {\n return this.redirectedToLocation && !this.followedRedirect ? (this.location = this.redirectedToLocation, this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation, this.restorationIdentifier), this.followedRedirect = !0) : void 0;\n }, r.prototype.requestStarted = function () {\n var t;\n return this.recordTimingMetric(\"requestStart\"), \"function\" == typeof (t = this.adapter).visitRequestStarted ? t.visitRequestStarted(this) : void 0;\n }, r.prototype.requestProgressed = function (t) {\n var e;\n return this.progress = t, \"function\" == typeof (e = this.adapter).visitRequestProgressed ? e.visitRequestProgressed(this) : void 0;\n }, r.prototype.requestCompletedWithResponse = function (t, r) {\n return this.response = t, null != r && (this.redirectedToLocation = e.Location.wrap(r)), this.adapter.visitRequestCompleted(this);\n }, r.prototype.requestFailedWithStatusCode = function (t, e) {\n return this.response = e, this.adapter.visitRequestFailedWithStatusCode(this, t);\n }, r.prototype.requestFinished = function () {\n var t;\n return this.recordTimingMetric(\"requestEnd\"), \"function\" == typeof (t = this.adapter).visitRequestFinished ? t.visitRequestFinished(this) : void 0;\n }, r.prototype.performScroll = function () {\n return this.scrolled ? void 0 : (\"restore\" === this.action ? this.scrollToRestoredPosition() || this.scrollToTop() : this.scrollToAnchor() || this.scrollToTop(), this.scrolled = !0);\n }, r.prototype.scrollToRestoredPosition = function () {\n var t, e;\n return t = null != (e = this.restorationData) ? e.scrollPosition : void 0, null != t ? (this.controller.scrollToPosition(t), !0) : void 0;\n }, r.prototype.scrollToAnchor = function () {\n return null != this.location.anchor ? (this.controller.scrollToAnchor(this.location.anchor), !0) : void 0;\n }, r.prototype.scrollToTop = function () {\n return this.controller.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.recordTimingMetric = function (t) {\n var e;\n return null != (e = this.timingMetrics)[t] ? e[t] : e[t] = new Date().getTime();\n }, r.prototype.getTimingMetrics = function () {\n return e.copyObject(this.timingMetrics);\n }, n = function (t) {\n switch (t) {\n case \"replace\":\n return \"replaceHistoryWithLocationAndRestorationIdentifier\";\n\n case \"advance\":\n case \"restore\":\n return \"pushHistoryWithLocationAndRestorationIdentifier\";\n }\n }, r.prototype.shouldIssueRequest = function () {\n return \"restore\" === this.action ? !this.hasCachedSnapshot() : !0;\n }, r.prototype.cacheSnapshot = function () {\n return this.snapshotCached ? void 0 : (this.controller.cacheSnapshot(), this.snapshotCached = !0);\n }, r.prototype.render = function (t) {\n return this.cancelRender(), this.frame = requestAnimationFrame(function (e) {\n return function () {\n return e.frame = null, t.call(e);\n };\n }(this));\n }, r.prototype.cancelRender = function () {\n return this.frame ? cancelAnimationFrame(this.frame) : void 0;\n }, r;\n }();\n }.call(this), function () {\n var t = function (t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n };\n\n e.Controller = function () {\n function r() {\n this.clickBubbled = t(this.clickBubbled, this), this.clickCaptured = t(this.clickCaptured, this), this.pageLoaded = t(this.pageLoaded, this), this.history = new e.History(this), this.view = new e.View(this), this.scrollManager = new e.ScrollManager(this), this.restorationData = {}, this.clearCache(), this.setProgressBarDelay(500);\n }\n\n return r.prototype.start = function () {\n return e.supported && !this.started ? (addEventListener(\"click\", this.clickCaptured, !0), addEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.start(), this.startHistory(), this.started = !0, this.enabled = !0) : void 0;\n }, r.prototype.disable = function () {\n return this.enabled = !1;\n }, r.prototype.stop = function () {\n return this.started ? (removeEventListener(\"click\", this.clickCaptured, !0), removeEventListener(\"DOMContentLoaded\", this.pageLoaded, !1), this.scrollManager.stop(), this.stopHistory(), this.started = !1) : void 0;\n }, r.prototype.clearCache = function () {\n return this.cache = new e.SnapshotCache(10);\n }, r.prototype.visit = function (t, r) {\n var n, o;\n return null == r && (r = {}), t = e.Location.wrap(t), this.applicationAllowsVisitingLocation(t) ? this.locationIsVisitable(t) ? (n = null != (o = r.action) ? o : \"advance\", this.adapter.visitProposedToLocationWithAction(t, n)) : window.location = t : void 0;\n }, r.prototype.startVisitToLocationWithAction = function (t, r, n) {\n var o;\n return e.supported ? (o = this.getRestorationDataForIdentifier(n), this.startVisit(t, r, {\n restorationData: o\n })) : window.location = t;\n }, r.prototype.setProgressBarDelay = function (t) {\n return this.progressBarDelay = t;\n }, r.prototype.startHistory = function () {\n return this.location = e.Location.wrap(window.location), this.restorationIdentifier = e.uuid(), this.history.start(), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.stopHistory = function () {\n return this.history.stop();\n }, r.prototype.pushHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.push(this.location, this.restorationIdentifier);\n }, r.prototype.replaceHistoryWithLocationAndRestorationIdentifier = function (t, r) {\n return this.restorationIdentifier = r, this.location = e.Location.wrap(t), this.history.replace(this.location, this.restorationIdentifier);\n }, r.prototype.historyPoppedToLocationWithRestorationIdentifier = function (t, r) {\n var n;\n return this.restorationIdentifier = r, this.enabled ? (n = this.getRestorationDataForIdentifier(this.restorationIdentifier), this.startVisit(t, \"restore\", {\n restorationIdentifier: this.restorationIdentifier,\n restorationData: n,\n historyChanged: !0\n }), this.location = e.Location.wrap(t)) : this.adapter.pageInvalidated();\n }, r.prototype.getCachedSnapshotForLocation = function (t) {\n var e;\n return null != (e = this.cache.get(t)) ? e.clone() : void 0;\n }, r.prototype.shouldCacheSnapshot = function () {\n return this.view.getSnapshot().isCacheable();\n }, r.prototype.cacheSnapshot = function () {\n var t, r;\n return this.shouldCacheSnapshot() ? (this.notifyApplicationBeforeCachingSnapshot(), r = this.view.getSnapshot(), t = this.lastRenderedLocation, e.defer(function (e) {\n return function () {\n return e.cache.put(t, r.clone());\n };\n }(this))) : void 0;\n }, r.prototype.scrollToAnchor = function (t) {\n var e;\n return (e = this.view.getElementForAnchor(t)) ? this.scrollToElement(e) : this.scrollToPosition({\n x: 0,\n y: 0\n });\n }, r.prototype.scrollToElement = function (t) {\n return this.scrollManager.scrollToElement(t);\n }, r.prototype.scrollToPosition = function (t) {\n return this.scrollManager.scrollToPosition(t);\n }, r.prototype.scrollPositionChanged = function (t) {\n var e;\n return e = this.getCurrentRestorationData(), e.scrollPosition = t;\n }, r.prototype.render = function (t, e) {\n return this.view.render(t, e);\n }, r.prototype.viewInvalidated = function () {\n return this.adapter.pageInvalidated();\n }, r.prototype.viewWillRender = function (t) {\n return this.notifyApplicationBeforeRender(t);\n }, r.prototype.viewRendered = function () {\n return this.lastRenderedLocation = this.currentVisit.location, this.notifyApplicationAfterRender();\n }, r.prototype.pageLoaded = function () {\n return this.lastRenderedLocation = this.location, this.notifyApplicationAfterPageLoad();\n }, r.prototype.clickCaptured = function () {\n return removeEventListener(\"click\", this.clickBubbled, !1), addEventListener(\"click\", this.clickBubbled, !1);\n }, r.prototype.clickBubbled = function (t) {\n var e, r, n;\n return this.enabled && this.clickEventIsSignificant(t) && (r = this.getVisitableLinkForNode(t.target)) && (n = this.getVisitableLocationForLink(r)) && this.applicationAllowsFollowingLinkToLocation(r, n) ? (t.preventDefault(), e = this.getActionForLink(r), this.visit(n, {\n action: e\n })) : void 0;\n }, r.prototype.applicationAllowsFollowingLinkToLocation = function (t, e) {\n var r;\n return r = this.notifyApplicationAfterClickingLinkToLocation(t, e), !r.defaultPrevented;\n }, r.prototype.applicationAllowsVisitingLocation = function (t) {\n var e;\n return e = this.notifyApplicationBeforeVisitingLocation(t), !e.defaultPrevented;\n }, r.prototype.notifyApplicationAfterClickingLinkToLocation = function (t, r) {\n return e.dispatch(\"turbolinks:click\", {\n target: t,\n data: {\n url: r.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationBeforeVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:before-visit\", {\n data: {\n url: t.absoluteURL\n },\n cancelable: !0\n });\n }, r.prototype.notifyApplicationAfterVisitingLocation = function (t) {\n return e.dispatch(\"turbolinks:visit\", {\n data: {\n url: t.absoluteURL\n }\n });\n }, r.prototype.notifyApplicationBeforeCachingSnapshot = function () {\n return e.dispatch(\"turbolinks:before-cache\");\n }, r.prototype.notifyApplicationBeforeRender = function (t) {\n return e.dispatch(\"turbolinks:before-render\", {\n data: {\n newBody: t\n }\n });\n }, r.prototype.notifyApplicationAfterRender = function () {\n return e.dispatch(\"turbolinks:render\");\n }, r.prototype.notifyApplicationAfterPageLoad = function (t) {\n return null == t && (t = {}), e.dispatch(\"turbolinks:load\", {\n data: {\n url: this.location.absoluteURL,\n timing: t\n }\n });\n }, r.prototype.startVisit = function (t, e, r) {\n var n;\n return null != (n = this.currentVisit) && n.cancel(), this.currentVisit = this.createVisit(t, e, r), this.currentVisit.start(), this.notifyApplicationAfterVisitingLocation(t);\n }, r.prototype.createVisit = function (t, r, n) {\n var o, i, s, a, u;\n return i = null != n ? n : {}, a = i.restorationIdentifier, s = i.restorationData, o = i.historyChanged, u = new e.Visit(this, t, r), u.restorationIdentifier = null != a ? a : e.uuid(), u.restorationData = e.copyObject(s), u.historyChanged = o, u.referrer = this.location, u;\n }, r.prototype.visitCompleted = function (t) {\n return this.notifyApplicationAfterPageLoad(t.getTimingMetrics());\n }, r.prototype.clickEventIsSignificant = function (t) {\n return !(t.defaultPrevented || t.target.isContentEditable || t.which > 1 || t.altKey || t.ctrlKey || t.metaKey || t.shiftKey);\n }, r.prototype.getVisitableLinkForNode = function (t) {\n return this.nodeIsVisitable(t) ? e.closest(t, \"a[href]:not([target]):not([download])\") : void 0;\n }, r.prototype.getVisitableLocationForLink = function (t) {\n var r;\n return r = new e.Location(t.getAttribute(\"href\")), this.locationIsVisitable(r) ? r : void 0;\n }, r.prototype.getActionForLink = function (t) {\n var e;\n return null != (e = t.getAttribute(\"data-turbolinks-action\")) ? e : \"advance\";\n }, r.prototype.nodeIsVisitable = function (t) {\n var r;\n return (r = e.closest(t, \"[data-turbolinks]\")) ? \"false\" !== r.getAttribute(\"data-turbolinks\") : !0;\n }, r.prototype.locationIsVisitable = function (t) {\n return t.isPrefixedBy(this.view.getRootLocation()) && t.isHTML();\n }, r.prototype.getCurrentRestorationData = function () {\n return this.getRestorationDataForIdentifier(this.restorationIdentifier);\n }, r.prototype.getRestorationDataForIdentifier = function (t) {\n var e;\n return null != (e = this.restorationData)[t] ? e[t] : e[t] = {};\n }, r;\n }();\n }.call(this), function () {\n !function () {\n var t, e;\n if ((t = e = document.currentScript) && !e.hasAttribute(\"data-turbolinks-suppress-warning\")) for (; t = t.parentNode;) if (t === document.body) return console.warn(\"You are loading Turbolinks from a