Action

fantastic event parser

Posted by @FlohGro, Last update 2 months ago

UPDATES

2 months ago

changelog 1.2.1
- fix issue with wrong calendar picked

show all updates...

2 months ago

changelog 1.2.1
- fix issue with wrong calendar picked

2 months ago

changelog v1.2
- more robust calendar lookup
- alerts for event are now displayed in confirm event prompt
- calendars are now sorted in the confirm event prompt

3 months ago

update regex for calendar matching

4 months ago

added checks for inaccessible calendars

4 months ago

  • update docs (language details)
  • fix bug that caused a script error when using non-english language and not having a date string in the input string

created by @FlohGro / more on my Blog

Fantastic Event Parser

This action tries its best to parse natural language input to calendar events. As also mentioned in the Credits section, it is based on the Fantastically Good Event Parser action by @pdavisonreiber. The original action already creates events but there is no user indication or control what it actually interpreted from the inputs.
With this action every parsed event will be displayed as a prompt that you need to confirm to create the event. If you want to make any changes you can easily do that in the prompt. Once you press confirm event the event will be created in the Calendar, if you select cancel the event won’t be created and the action will move on to the next event if there is one.

The action will parse the current selection in the editor if you selected something. If no text is selected, it will parse the whole Draft. Every line in the selection / Draft will be parsed as a single event.

The parser tries to mimic Fantasticals behavior for natural language parsing. The following parameters for an event will be interpreted:

  • title: in most cases this should be the beginning of the lines, everything not recognized by other patterns will be interpreted as the title
  • date & time: try to write the dates as natural language (e.g. today, tomorrow, [weekday],…) the action will create a date for most of them. Of course you can just type the exact dates, too (the recognized date pattern depends on the configured language); YYYY-MM-DD format will always work. You can either add a starttime and endtime to the event (if its not all-day) or a start date followed by a duration (e.g. 2023-12-24 10:00-12:00 or 2023-12-24 10:00 for 2h)
  • calendar: if you want to add the event to a specific calendar you can use a forward slash followed by the calendar name e.g. /Private
  • alert: create an alert prior to the event with strings like alert 30min to create an alert 30min before the event. You can also configure the action to always create a default alert for each event. (please note: du to API limitations it is currently not possible to edit the alerts in the displayed prompt)
  • location: the keywords “in” or “at” will indicate the start of a location string for the parser

Here are a few (english) example events that the parser can recognize and create for you:

Important discussion with coworkers tomorrow 9:00-11:30 /work alert 30min at Apple Park
Dinner sunday 19:00 for 3h /private at FavoritePizza
Workshop 2024-02-01 to 2024-02-03 /work at San Francisco
Call with Somebody today 17:00

If you have any questions or issues feel free to reach out to me on Mastodon or in the Drafts forum.

[Configuration]

You can change the following parameters to influence the behavior of the action:

  • parsing language: change the language of the date recognition (default: US); please note the parsing language is only affecting the date parsing
  • default alert: add a default alert prior to the created events (default: no alert)

I decided to put these configuration parameters into a Script step which hopefully makes it easier to edit for you as a user.
To change the default values of the action please edit it, open the first Script step and click/tap on edit.
You will see a lot of comments that explain what the parameter below does and what the available options are.
You only need to edit the values of the variables, don’t change their names.
E.g. to change the default parsing language from US to GB you would change line 9 in the script step to:
const language = "GB"
If you want to add a default alert 30 minutes prior to an event you would change line 16 to:
const defaultAlarmOffset = 30

[Credits]

This action is based on the Fantastically Good Event Parser by @pdavisonreiber. Full credits to him for the parsing logic to easily create events within Drafts.
@pdavisonreiber integrated ‘chronology.min.js’ into the action which you can find here


If you find this useful and want to support me you can donate or buy me a coffee

Buy Me A Coffee

Steps

  • script

    // user defines
    
    // 1) parsing language that shall be used for date parsing:
    // allowed options:
    // DE = german
    // US = default english "6/10/2024" will result in: June 10th, 2024
    // GB = GB english "6/10/2024" will result in: October 6th, 2024
    // FR = french
    const language = "US"
    
    // 2) defaul alert time
    // this will add a default alert to the event. 
    // the selected number means the number of minutes before the appointment. 
    // If the alarm is to go off 15 minutes before the appointment, you must therefore enter "15". 
    // If no default alarm is to be created, the value must be set to "-1"
    const defaultAlarmOffset = -1
  • script

    // chrono.min.js
    // https://github.com/wanasit/chrono
    
    /*
    The MIT License
    
    Copyright (c) 2014, Wanasit Tanakitrungruang
    
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.
    */
    
    (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.chrono = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
    !function(e,d){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?d(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],d):d(e.moment)}(this,function(e){"use strict";return e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,d){switch(d){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})});
    },{"../moment":2}],2:[function(require,module,exports){
    !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return Os.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}function i(e){return void 0===e}function r(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function a(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function o(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e,t){for(var n in t)u(t,n)&&(e[n]=t[n]);return u(t,"toString")&&(e.toString=t.toString),u(t,"valueOf")&&(e.valueOf=t.valueOf),e}function d(e,t,n,s){return Dt(e,t,n,s,!0).utc()}function h(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function c(e){return null==e._pf&&(e._pf=h()),e._pf}function f(e){if(null==e._isValid){var t=c(e),n=Ts.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function m(e){var t=d(NaN);return null!=e?l(c(t),e):c(t).userInvalidated=!0,t}function _(e,t){var n,s,r;if(i(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),i(t._i)||(e._i=t._i),i(t._f)||(e._f=t._f),i(t._l)||(e._l=t._l),i(t._strict)||(e._strict=t._strict),i(t._tzm)||(e._tzm=t._tzm),i(t._isUTC)||(e._isUTC=t._isUTC),i(t._offset)||(e._offset=t._offset),i(t._pf)||(e._pf=c(t)),i(t._locale)||(e._locale=t._locale),xs.length>0)for(n=0;n<xs.length;n++)s=xs[n],r=t[s],i(r)||(e[s]=r);return e}function y(t){_(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===bs&&(bs=!0,e.updateOffset(this),bs=!1)}function g(e){return e instanceof y||null!=e&&null!=e._isAMomentObject}function p(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=p(t)),n}function v(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&w(e[s])!==w(t[s]))&&a++;return a+r}function M(t){!1===e.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function S(t,n){var s=!0;return l(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),s){for(var i,r=[],a=0;a<arguments.length;a++){if(i="","object"==typeof arguments[a]){i+="\n["+a+"] ";for(var o in arguments[0])i+=o+": "+arguments[0][o]+", ";i=i.slice(0,-2)}else i=arguments[a];r.push(i)}M(t+"\nArguments: "+Array.prototype.slice.call(r).join("")+"\n"+(new Error).stack),s=!1}return n.apply(this,arguments)},n)}function D(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),Ps[t]||(M(n),Ps[t]=!0)}function k(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function Y(e){var t,n;for(n in e)t=e[n],k(t)?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function O(e,t){var s,i=l({},e);for(s in t)u(t,s)&&(n(e[s])&&n(t[s])?(i[s]={},l(i[s],e[s]),l(i[s],t[s])):null!=t[s]?i[s]=t[s]:delete i[s]);for(s in e)u(e,s)&&!u(t,s)&&n(e[s])&&(i[s]=l({},i[s]));return i}function T(e){null!=e&&this.set(e)}function x(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return k(s)?s.call(t,n):s}function b(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function P(){return this._invalidDate}function W(e){return this._ordinal.replace("%d",e)}function H(e,t,n,s){var i=this._relativeTime[n];return k(i)?i(e,t,n,s):i.replace(/%d/i,e)}function R(e,t){var n=this._relativeTime[e>0?"future":"past"];return k(n)?n(t):n.replace(/%s/i,t)}function C(e,t){var n=e.toLowerCase();Ls[n]=Ls[n+"s"]=Ls[t]=e}function F(e){return"string"==typeof e?Ls[e]||Ls[e.toLowerCase()]:void 0}function L(e){var t,n,s={};for(n in e)u(e,n)&&(t=F(n))&&(s[t]=e[n]);return s}function U(e,t){Us[e]=t}function N(e){var t=[];for(var n in e)t.push({unit:n,priority:Us[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function G(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}function V(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(Es[e]=i),t&&(Es[t[0]]=function(){return G(i.apply(this,arguments),t[1],t[2])}),n&&(Es[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function E(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function I(e){var t,n,s=e.match(Ns);for(t=0,n=s.length;t<n;t++)Es[s[t]]?s[t]=Es[s[t]]:s[t]=E(s[t]);return function(t){var i,r="";for(i=0;i<n;i++)r+=k(s[i])?s[i].call(t,e):s[i];return r}}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),Vs[t]=Vs[t]||I(t),Vs[t](e)):e.localeData().invalidDate()}function j(e,t){function n(e){return t.longDateFormat(e)||e}var s=5;for(Gs.lastIndex=0;s>=0&&Gs.test(e);)e=e.replace(Gs,n),Gs.lastIndex=0,s-=1;return e}function Z(e,t,n){ri[e]=k(t)?t:function(e,s){return e&&n?n:t}}function z(e,t){return u(ri,e)?ri[e](t._strict,t._locale):new RegExp($(e))}function $(e){return q(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i}))}function q(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function J(e,t){var n,s=t;for("string"==typeof e&&(e=[e]),r(t)&&(s=function(e,n){n[t]=w(e)}),n=0;n<e.length;n++)ai[e[n]]=s}function B(e,t){J(e,function(e,n,s,i){s._w=s._w||{},t(e,s._w,s,i)})}function Q(e,t,n){null!=t&&u(ai,e)&&ai[e](t,n._a,n,e)}function X(e){return K(e)?366:365}function K(e){return e%4==0&&e%100!=0||e%400==0}function ee(){return K(this.year())}function te(t,n){return function(s){return null!=s?(se(this,t,s),e.updateOffset(this,n),this):ne(this,t)}}function ne(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function se(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&K(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),oe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function ie(e){return e=F(e),k(this[e])?this[e]():this}function re(e,t){if("object"==typeof e){e=L(e);for(var n=N(e),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit])}else if(e=F(e),k(this[e]))return this[e](t);return this}function ae(e,t){return(e%t+t)%t}function oe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=ae(t,12);return e+=(t-n)/12,1===n?K(e)?29:28:31-n%7%2}function ue(e,n){return e?t(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||pi).test(n)?"format":"standalone"][e.month()]:t(this._months)?this._months:this._months.standalone}function le(e,n){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[pi.test(n)?"format":"standalone"][e.month()]:t(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function de(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=d([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?(i=yi.call(this._shortMonthsParse,a),-1!==i?i:null):(i=yi.call(this._longMonthsParse,a),-1!==i?i:null):"MMM"===t?-1!==(i=yi.call(this._shortMonthsParse,a))?i:(i=yi.call(this._longMonthsParse,a),-1!==i?i:null):-1!==(i=yi.call(this._longMonthsParse,a))?i:(i=yi.call(this._shortMonthsParse,a),-1!==i?i:null)}function he(e,t,n){var s,i,r;if(this._monthsParseExact)return de.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=d([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}}function ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=w(t);else if(t=e.localeData().monthsParse(t),!r(t))return e;return n=Math.min(e.date(),oe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function fe(t){return null!=t?(ce(this,t),e.updateOffset(this,!0),this):ne(this,"Month")}function me(){return oe(this.year(),this.month())}function _e(e){return this._monthsParseExact?(u(this,"_monthsRegex")||ge.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,"_monthsShortRegex")||(this._monthsShortRegex=Mi),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function ye(e){return this._monthsParseExact?(u(this,"_monthsRegex")||ge.call(this),e?this._monthsStrictRegex:this._monthsRegex):(u(this,"_monthsRegex")||(this._monthsRegex=Si),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function ge(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=d([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=q(s[t]),i[t]=q(i[t]);for(t=0;t<24;t++)r[t]=q(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function pe(e,t,n,s,i,r,a){var o=new Date(e,t,n,s,i,r,a);return e<100&&e>=0&&isFinite(o.getFullYear())&&o.setFullYear(e),o}function we(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function ve(e,t,n){var s=7+t-n;return-(7+we(e,0,s).getUTCDay()-t)%7+s-1}function Me(e,t,n,s,i){var r,a,o=(7+n-s)%7,u=ve(e,s,i),l=1+7*(t-1)+o+u;return l<=0?(r=e-1,a=X(r)+l):l>X(e)?(r=e+1,a=l-X(e)):(r=e,a=l),{year:r,dayOfYear:a}}function Se(e,t,n){var s,i,r=ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?(i=e.year()-1,s=a+De(i,t,n)):a>De(e.year(),t,n)?(s=a-De(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function De(e,t,n){var s=ve(e,t,n),i=ve(e+1,t,n);return(X(e)-s+i)/7}function ke(e){return Se(e,this._week.dow,this._week.doy).week}function Ye(){return this._week.dow}function Oe(){return this._week.doy}function Te(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function xe(e){var t=Se(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function be(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Pe(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function We(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:t(this._weekdays)?this._weekdays:this._weekdays.standalone}function He(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Re(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ce(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=d([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?(i=yi.call(this._weekdaysParse,a),-1!==i?i:null):"ddd"===t?(i=yi.call(this._shortWeekdaysParse,a),-1!==i?i:null):(i=yi.call(this._minWeekdaysParse,a),-1!==i?i:null):"dddd"===t?-1!==(i=yi.call(this._weekdaysParse,a))?i:-1!==(i=yi.call(this._shortWeekdaysParse,a))?i:(i=yi.call(this._minWeekdaysParse,a),-1!==i?i:null):"ddd"===t?-1!==(i=yi.call(this._shortWeekdaysParse,a))?i:-1!==(i=yi.call(this._weekdaysParse,a))?i:(i=yi.call(this._minWeekdaysParse,a),-1!==i?i:null):-1!==(i=yi.call(this._minWeekdaysParse,a))?i:-1!==(i=yi.call(this._weekdaysParse,a))?i:(i=yi.call(this._shortWeekdaysParse,a),-1!==i?i:null)}function Fe(e,t,n){var s,i,r;if(this._weekdaysParseExact)return Ce.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=d([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}}function Le(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=be(e,this.localeData()),this.add(e-t,"d")):t}function Ue(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Ne(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Pe(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Ge(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Ie.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,"_weekdaysRegex")||(this._weekdaysRegex=Ti),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ve(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Ie.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=xi),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ee(e){return this._weekdaysParseExact?(u(this,"_weekdaysRegex")||Ie.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=bi),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ie(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=q(o[t]),u[t]=q(u[t]),l[t]=q(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Ae(){return this.hours()%12||12}function je(){return this.hours()||24}function Ze(e,t){V(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function ze(e,t){return t._meridiemParse}function $e(e){return"p"===(e+"").toLowerCase().charAt(0)}function qe(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function Je(e){return e?e.toLowerCase().replace("_","-"):e}function Be(e){for(var t,n,s,i,r=0;r<e.length;){for(i=Je(e[r]).split("-"),t=i.length,n=Je(e[r+1]),n=n?n.split("-"):null;t>0;){if(s=Qe(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&v(i,n,!0)>=t-1)break;t--}r++}return Pi}function Qe(e){var t=null;if(!Ci[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=Pi._abbr;require("./locale/"+e),Xe(t)}catch(e){}return Ci[e]}function Xe(e,t){var n;return e&&(n=i(t)?tt(e):Ke(e,t),n?Pi=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Pi._abbr}function Ke(e,t){if(null!==t){var n,s=Ri;if(t.abbr=e,null!=Ci[e])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=Ci[e]._config;else if(null!=t.parentLocale)if(null!=Ci[t.parentLocale])s=Ci[t.parentLocale]._config;else{if(null==(n=Qe(t.parentLocale)))return Fi[t.parentLocale]||(Fi[t.parentLocale]=[]),Fi[t.parentLocale].push({name:e,config:t}),null;s=n._config}return Ci[e]=new T(O(s,t)),Fi[e]&&Fi[e].forEach(function(e){Ke(e.name,e.config)}),Xe(e),Ci[e]}return delete Ci[e],null}function et(e,t){if(null!=t){var n,s,i=Ri;s=Qe(e),null!=s&&(i=s._config),t=O(i,t),n=new T(t),n.parentLocale=Ci[e],Ci[e]=n,Xe(e)}else null!=Ci[e]&&(null!=Ci[e].parentLocale?Ci[e]=Ci[e].parentLocale:null!=Ci[e]&&delete Ci[e]);return Ci[e]}function tt(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Pi;if(!t(e)){if(n=Qe(e))return n;e=[e]}return Be(e)}function nt(){return Ws(Ci)}function st(e){var t,n=e._a;return n&&-2===c(e).overflow&&(t=n[ui]<0||n[ui]>11?ui:n[li]<1||n[li]>oe(n[oi],n[ui])?li:n[di]<0||n[di]>24||24===n[di]&&(0!==n[hi]||0!==n[ci]||0!==n[fi])?di:n[hi]<0||n[hi]>59?hi:n[ci]<0||n[ci]>59?ci:n[fi]<0||n[fi]>999?fi:-1,c(e)._overflowDayOfYear&&(t<oi||t>li)&&(t=li),c(e)._overflowWeeks&&-1===t&&(t=mi),c(e)._overflowWeekday&&-1===t&&(t=_i),c(e).overflow=t),e}function it(e,t,n){return null!=e?e:null!=t?t:n}function rt(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function at(e){var t,n,s,i,r,a=[];if(!e._d){for(s=rt(e),e._w&&null==e._a[li]&&null==e._a[ui]&&ot(e),null!=e._dayOfYear&&(r=it(e._a[oi],s[oi]),(e._dayOfYear>X(r)||0===e._dayOfYear)&&(c(e)._overflowDayOfYear=!0),n=we(r,0,e._dayOfYear),e._a[ui]=n.getUTCMonth(),e._a[li]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[di]&&0===e._a[hi]&&0===e._a[ci]&&0===e._a[fi]&&(e._nextDay=!0,e._a[di]=0),e._d=(e._useUTC?we:pe).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[di]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(c(e).weekdayMismatch=!0)}}function ot(e){var t,n,s,i,r,a,o,u;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)r=1,a=4,n=it(t.GG,e._a[oi],Se(kt(),1,4).year),s=it(t.W,1),((i=it(t.E,1))<1||i>7)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Se(kt(),r,a);n=it(t.gg,e._a[oi],l.year),s=it(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r}s<1||s>De(n,r,a)?c(e)._overflowWeeks=!0:null!=u?c(e)._overflowWeekday=!0:(o=Me(n,s,i,r,a),e._a[oi]=o.year,e._dayOfYear=o.dayOfYear)}function ut(e){var t,n,s,i,r,a,o=e._i,u=Li.exec(o)||Ui.exec(o);if(u){for(c(e).iso=!0,t=0,n=Gi.length;t<n;t++)if(Gi[t][1].exec(u[1])){i=Gi[t][0],s=!1!==Gi[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=Vi.length;t<n;t++)if(Vi[t][1].exec(u[3])){r=(u[2]||" ")+Vi[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!Ni.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),yt(e)}else e._isValid=!1}function lt(e,t,n,s,i,r){var a=[dt(e),vi.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function dt(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function ht(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function ct(e,t,n){if(e){if(Yi.indexOf(e)!==new Date(t[0],t[1],t[2]).getDay())return c(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}function ft(e,t,n){if(e)return Ai[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}function mt(e){var t=Ii.exec(ht(e._i));if(t){var n=lt(t[4],t[3],t[2],t[5],t[6],t[7]);if(!ct(t[1],n,e))return;e._a=n,e._tzm=ft(t[8],t[9],t[10]),e._d=we.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),c(e).rfc2822=!0}else e._isValid=!1}function _t(t){var n=Ei.exec(t._i);if(null!==n)return void(t._d=new Date(+n[1]));ut(t),!1===t._isValid&&(delete t._isValid,mt(t),!1===t._isValid&&(delete t._isValid,e.createFromInputFallback(t)))}function yt(t){if(t._f===e.ISO_8601)return void ut(t);if(t._f===e.RFC_2822)return void mt(t);t._a=[],c(t).empty=!0;var n,s,i,r,a,o=""+t._i,u=o.length,l=0;for(i=j(t._f,t._locale).match(Ns)||[],n=0;n<i.length;n++)r=i[n],s=(o.match(z(r,t))||[])[0],s&&(a=o.substr(0,o.indexOf(s)),a.length>0&&c(t).unusedInput.push(a),o=o.slice(o.indexOf(s)+s.length),l+=s.length),Es[r]?(s?c(t).empty=!1:c(t).unusedTokens.push(r),Q(r,s,t)):t._strict&&!s&&c(t).unusedTokens.push(r);c(t).charsLeftOver=u-l,o.length>0&&c(t).unusedInput.push(o),t._a[di]<=12&&!0===c(t).bigHour&&t._a[di]>0&&(c(t).bigHour=void 0),c(t).parsedDateParts=t._a.slice(0),c(t).meridiem=t._meridiem,t._a[di]=gt(t._locale,t._a[di],t._meridiem),at(t),st(t)}function gt(e,t,n){var s;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(s=e.isPM(n),s&&t<12&&(t+=12),s||12!==t||(t=0),t):t}function pt(e){var t,n,s,i,r;if(0===e._f.length)return c(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;i<e._f.length;i++)r=0,t=_({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],yt(t),f(t)&&(r+=c(t).charsLeftOver,r+=10*c(t).unusedTokens.length,c(t).score=r,(null==s||r<s)&&(s=r,n=t));l(e,n||t)}function wt(e){if(!e._d){var t=L(e._i);e._a=o([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),at(e)}}function vt(e){var t=new y(st(Mt(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function Mt(e){var n=e._i,s=e._f;return e._locale=e._locale||tt(e._l),null===n||void 0===s&&""===n?m({nullInput:!0}):("string"==typeof n&&(e._i=n=e._locale.preparse(n)),g(n)?new y(st(n)):(a(n)?e._d=n:t(s)?pt(e):s?yt(e):St(e),f(e)||(e._d=null),e))}function St(s){var u=s._i;i(u)?s._d=new Date(e.now()):a(u)?s._d=new Date(u.valueOf()):"string"==typeof u?_t(s):t(u)?(s._a=o(u.slice(0),function(e){return parseInt(e,10)}),at(s)):n(u)?wt(s):r(u)?s._d=new Date(u):e.createFromInputFallback(s)}function Dt(e,i,r,a,o){var u={};return!0!==r&&!1!==r||(a=r,r=void 0),(n(e)&&s(e)||t(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=o,u._l=r,u._i=e,u._f=i,u._strict=a,vt(u)}function kt(e,t,n,s){return Dt(e,t,n,s,!1)}function Yt(e,n){var s,i;if(1===n.length&&t(n[0])&&(n=n[0]),!n.length)return kt();for(s=n[0],i=1;i<n.length;++i)n[i].isValid()&&!n[i][e](s)||(s=n[i]);return s}function Ot(){return Yt("isBefore",[].slice.call(arguments,0))}function Tt(){return Yt("isAfter",[].slice.call(arguments,0))}function xt(e){for(var t in e)if(-1===yi.call($i,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<$i.length;++s)if(e[$i[s]]){if(n)return!1;parseFloat(e[$i[s]])!==w(e[$i[s]])&&(n=!0)}return!0}function bt(){return this._isValid}function Pt(){return Jt(NaN)}function Wt(e){var t=L(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=xt(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=tt(),this._bubble()}function Ht(e){return e instanceof Wt}function Rt(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ct(e,t){V(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+G(~~(e/60),2)+t+G(~~e%60,2)})}function Ft(e,t){var n=(t||"").match(e);if(null===n)return null;var s=n[n.length-1]||[],i=(s+"").match(qi)||["-",0,0],r=60*i[1]+w(i[2]);return 0===r?0:"+"===i[0]?r:-r}function Lt(t,n){var s,i;return n._isUTC?(s=n.clone(),i=(g(t)||a(t)?t.valueOf():kt(t).valueOf())-s.valueOf(),s._d.setTime(s._d.valueOf()+i),e.updateOffset(s,!1),s):kt(t).local()}function Ut(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Nt(t,n,s){var i,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ft(ni,t)))return this}else Math.abs(t)<16&&!s&&(t*=60);return!this._isUTC&&n&&(i=Ut(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!n||this._changeInProgress?en(this,Jt(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Ut(this)}function Gt(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function Vt(e){return this.utcOffset(0,e)}function Et(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ut(this),"m")),this}function It(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ft(ti,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function At(e){return!!this.isValid()&&(e=e?kt(e).utcOffset():0,(this.utcOffset()-e)%60==0)}function jt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Zt(){if(!i(this._isDSTShifted))return this._isDSTShifted;var e={};if(_(e,this),e=Mt(e),e._a){var t=e._isUTC?d(e._a):kt(e._a);this._isDSTShifted=this.isValid()&&v(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function zt(){return!!this.isValid()&&!this._isUTC}function $t(){return!!this.isValid()&&this._isUTC}function qt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Jt(e,t){var n,s,i,a=e,o=null;return Ht(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:r(e)?(a={},t?a[t]=e:a.milliseconds=e):(o=Ji.exec(e))?(n="-"===o[1]?-1:1,a={y:0,d:w(o[li])*n,h:w(o[di])*n,m:w(o[hi])*n,s:w(o[ci])*n,ms:w(Rt(1e3*o[fi]))*n}):(o=Bi.exec(e))?(n="-"===o[1]?-1:(o[1],1),a={y:Bt(o[2],n),M:Bt(o[3],n),w:Bt(o[4],n),d:Bt(o[5],n),h:Bt(o[6],n),m:Bt(o[7],n),s:Bt(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=Xt(kt(a.from),kt(a.to)),a={},a.ms=i.milliseconds,a.M=i.months),s=new Wt(a),Ht(e)&&u(e,"_locale")&&(s._locale=e._locale),s}function Bt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Qt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Xt(e,t){var n;return e.isValid()&&t.isValid()?(t=Lt(t,e),e.isBefore(t)?n=Qt(e,t):(n=Qt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Kt(e,t){return function(n,s){var i,r;return null===s||isNaN(+s)||(D(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=n,n=s,s=r),n="string"==typeof n?+n:n,i=Jt(n,s),en(this,i,e),this}}function en(t,n,s,i){var r=n._milliseconds,a=Rt(n._days),o=Rt(n._months);t.isValid()&&(i=null==i||i,o&&ce(t,ne(t,"Month")+o*s),a&&se(t,"Date",ne(t,"Date")+a*s),r&&t._d.setTime(t._d.valueOf()+r*s),i&&e.updateOffset(t,a||o))}function tn(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function nn(t,n){var s=t||kt(),i=Lt(s,this).startOf("day"),r=e.calendarFormat(this,i)||"sameElse",a=n&&(k(n[r])?n[r].call(this,s):n[r]);return this.format(a||this.localeData().calendar(r,this,kt(s)))}function sn(){return new y(this)}function rn(e,t){var n=g(e)?e:kt(e);return!(!this.isValid()||!n.isValid())&&(t=F(i(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())}function an(e,t){var n=g(e)?e:kt(e);return!(!this.isValid()||!n.isValid())&&(t=F(i(t)?"millisecond":t),"millisecond"===t?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())}function on(e,t,n,s){return s=s||"()",("("===s[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))}function un(e,t){var n,s=g(e)?e:kt(e);return!(!this.isValid()||!s.isValid())&&(t=F(t||"millisecond"),"millisecond"===t?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))}function ln(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function dn(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function hn(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(s=Lt(e,this),!s.isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=F(t)){case"year":r=cn(this,s)/12;break;case"month":r=cn(this,s);break;case"quarter":r=cn(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:p(r)}function cn(e,t){var n,s,i=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(i,"months");return t-r<0?(n=e.clone().add(i-1,"months"),s=(t-r)/(r-n)):(n=e.clone().add(i+1,"months"),s=(t-r)/(n-r)),-(i+s)||0}function fn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function mn(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):k(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function _n(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)}function yn(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=A(this,t);return this.localeData().postformat(n)}function gn(e,t){return this.isValid()&&(g(e)&&e.isValid()||kt(e).isValid())?Jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function pn(e){return this.from(kt(),e)}function wn(e,t){return this.isValid()&&(g(e)&&e.isValid()||kt(e).isValid())?Jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function vn(e){return this.to(kt(),e)}function Mn(e){var t;return void 0===e?this._locale._abbr:(t=tt(e),null!=t&&(this._locale=t),this)}function Sn(){return this._locale}function Dn(e){switch(e=F(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),
    this}function kn(e){return void 0===(e=F(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))}function Yn(){return this._d.valueOf()-6e4*(this._offset||0)}function On(){return Math.floor(this.valueOf()/1e3)}function Tn(){return new Date(this.valueOf())}function xn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function bn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function Pn(){return this.isValid()?this.toISOString():null}function Wn(){return f(this)}function Hn(){return l({},c(this))}function Rn(){return c(this).overflow}function Cn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Fn(e,t){V(0,[e,e.length],0,t)}function Ln(e){return Vn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Un(e){return Vn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Nn(){return De(this.year(),1,4)}function Gn(){var e=this.localeData()._week;return De(this.year(),e.dow,e.doy)}function Vn(e,t,n,s,i){var r;return null==e?Se(this,s,i).year:(r=De(e,s,i),t>r&&(t=r),En.call(this,e,t,n,s,i))}function En(e,t,n,s,i){var r=Me(e,t,n,s,i),a=we(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function In(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function An(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function jn(e,t){t[fi]=w(1e3*("0."+e))}function Zn(){return this._isUTC?"UTC":""}function zn(){return this._isUTC?"Coordinated Universal Time":""}function $n(e){return kt(1e3*e)}function qn(){return kt.apply(null,arguments).parseZone()}function Jn(e){return e}function Bn(e,t,n,s){var i=tt(),r=d().set(s,t);return i[n](r,e)}function Qn(e,t,n){if(r(e)&&(t=e,e=void 0),e=e||"",null!=t)return Bn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=Bn(e,s,n,"month");return i}function Xn(e,t,n,s){"boolean"==typeof e?(r(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,r(t)&&(n=t,t=void 0),t=t||"");var i=tt(),a=e?i._week.dow:0;if(null!=n)return Bn(t,(n+a)%7,s,"day");var o,u=[];for(o=0;o<7;o++)u[o]=Bn(t,(o+a)%7,s,"day");return u}function Kn(e,t){return Qn(e,t,"months")}function es(e,t){return Qn(e,t,"monthsShort")}function ts(e,t,n){return Xn(e,t,n,"weekdays")}function ns(e,t,n){return Xn(e,t,n,"weekdaysShort")}function ss(e,t,n){return Xn(e,t,n,"weekdaysMin")}function is(){var e=this._data;return this._milliseconds=or(this._milliseconds),this._days=or(this._days),this._months=or(this._months),e.milliseconds=or(e.milliseconds),e.seconds=or(e.seconds),e.minutes=or(e.minutes),e.hours=or(e.hours),e.months=or(e.months),e.years=or(e.years),this}function rs(e,t,n,s){var i=Jt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function as(e,t){return rs(this,e,t,1)}function os(e,t){return rs(this,e,t,-1)}function us(e){return e<0?Math.floor(e):Math.ceil(e)}function ls(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*us(hs(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=p(r/1e3),u.seconds=e%60,t=p(e/60),u.minutes=t%60,n=p(t/60),u.hours=n%24,a+=p(n/24),i=p(ds(a)),o+=i,a-=us(hs(i)),s=p(o/12),o%=12,u.days=a,u.months=o,u.years=s,this}function ds(e){return 4800*e/146097}function hs(e){return 146097*e/4800}function cs(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=F(e))||"year"===e)return t=this._days+s/864e5,n=this._months+ds(t),"month"===e?n:n/12;switch(t=this._days+Math.round(hs(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}}function fs(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN}function ms(e){return function(){return this.as(e)}}function _s(){return Jt(this)}function ys(e){return e=F(e),this.isValid()?this[e+"s"]():NaN}function gs(e){return function(){return this.isValid()?this._data[e]:NaN}}function ps(){return p(this.days()/7)}function ws(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}function vs(e,t,n){var s=Jt(e).abs(),i=Dr(s.as("s")),r=Dr(s.as("m")),a=Dr(s.as("h")),o=Dr(s.as("d")),u=Dr(s.as("M")),l=Dr(s.as("y")),d=i<=kr.ss&&["s",i]||i<kr.s&&["ss",i]||r<=1&&["m"]||r<kr.m&&["mm",r]||a<=1&&["h"]||a<kr.h&&["hh",a]||o<=1&&["d"]||o<kr.d&&["dd",o]||u<=1&&["M"]||u<kr.M&&["MM",u]||l<=1&&["y"]||["yy",l];return d[2]=t,d[3]=+e>0,d[4]=n,ws.apply(null,d)}function Ms(e){return void 0===e?Dr:"function"==typeof e&&(Dr=e,!0)}function Ss(e,t){return void 0!==kr[e]&&(void 0===t?kr[e]:(kr[e]=t,"s"===e&&(kr.ss=t-1),!0))}function Ds(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=vs(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function ks(e){return(e>0)-(e<0)||+e}function Ys(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s=Yr(this._milliseconds)/1e3,i=Yr(this._days),r=Yr(this._months);e=p(s/60),t=p(e/60),s%=60,e%=60,n=p(r/12),r%=12;var a=n,o=r,u=i,l=t,d=e,h=s?s.toFixed(3).replace(/\.?0+$/,""):"",c=this.asSeconds();if(!c)return"P0D";var f=c<0?"-":"",m=ks(this._months)!==ks(c)?"-":"",_=ks(this._days)!==ks(c)?"-":"",y=ks(this._milliseconds)!==ks(c)?"-":"";return f+"P"+(a?m+a+"Y":"")+(o?m+o+"M":"")+(u?_+u+"D":"")+(l||d||h?"T":"")+(l?y+l+"H":"")+(d?y+d+"M":"")+(h?y+h+"S":"")}var Os,Ts;Ts=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var xs=e.momentProperties=[],bs=!1,Ps={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var Ws;Ws=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)u(e,t)&&n.push(t);return n};var Hs={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Rs={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Cs=/\d{1,2}/,Fs={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Ls={},Us={},Ns=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Gs=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vs={},Es={},Is=/\d/,As=/\d\d/,js=/\d{3}/,Zs=/\d{4}/,zs=/[+-]?\d{6}/,$s=/\d\d?/,qs=/\d\d\d\d?/,Js=/\d\d\d\d\d\d?/,Bs=/\d{1,3}/,Qs=/\d{1,4}/,Xs=/[+-]?\d{1,6}/,Ks=/\d+/,ei=/[+-]?\d+/,ti=/Z|[+-]\d\d:?\d\d/gi,ni=/Z|[+-]\d\d(?::?\d\d)?/gi,si=/[+-]?\d+(\.\d{1,3})?/,ii=/[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,ri={},ai={},oi=0,ui=1,li=2,di=3,hi=4,ci=5,fi=6,mi=7,_i=8;V("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),V(0,["YY",2],0,function(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"year"),V(0,["YYYYYY",6,!0],0,"year"),C("year","y"),U("year",1),Z("Y",ei),Z("YY",$s,As),Z("YYYY",Qs,Zs),Z("YYYYY",Xs,zs),Z("YYYYYY",Xs,zs),J(["YYYYY","YYYYYY"],oi),J("YYYY",function(t,n){n[oi]=2===t.length?e.parseTwoDigitYear(t):w(t)}),J("YY",function(t,n){n[oi]=e.parseTwoDigitYear(t)}),J("Y",function(e,t){t[oi]=parseInt(e,10)}),e.parseTwoDigitYear=function(e){return w(e)+(w(e)>68?1900:2e3)};var yi,gi=te("FullYear",!0);yi=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},V("M",["MM",2],"Mo",function(){return this.month()+1}),V("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),V("MMMM",0,0,function(e){return this.localeData().months(this,e)}),C("month","M"),U("month",8),Z("M",$s),Z("MM",$s,As),Z("MMM",function(e,t){return t.monthsShortRegex(e)}),Z("MMMM",function(e,t){return t.monthsRegex(e)}),J(["M","MM"],function(e,t){t[ui]=w(e)-1}),J(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[ui]=i:c(n).invalidMonth=e});var pi=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,wi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),vi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Mi=ii,Si=ii;V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),U("week",5),U("isoWeek",5),Z("w",$s),Z("ww",$s,As),Z("W",$s),Z("WW",$s,As),B(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=w(e)});var Di={dow:0,doy:6};V("d",0,"do","day"),V("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),V("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),V("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),U("day",11),U("weekday",11),U("isoWeekday",11),Z("d",$s),Z("e",$s),Z("E",$s),Z("dd",function(e,t){return t.weekdaysMinRegex(e)}),Z("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Z("dddd",function(e,t){return t.weekdaysRegex(e)}),B(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:c(n).invalidWeekday=e}),B(["d","e","E"],function(e,t,n,s){t[s]=w(e)});var ki="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Yi="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Oi="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ti=ii,xi=ii,bi=ii;V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Ae),V("k",["kk",2],0,je),V("hmm",0,0,function(){return""+Ae.apply(this)+G(this.minutes(),2)}),V("hmmss",0,0,function(){return""+Ae.apply(this)+G(this.minutes(),2)+G(this.seconds(),2)}),V("Hmm",0,0,function(){return""+this.hours()+G(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours()+G(this.minutes(),2)+G(this.seconds(),2)}),Ze("a",!0),Ze("A",!1),C("hour","h"),U("hour",13),Z("a",ze),Z("A",ze),Z("H",$s),Z("h",$s),Z("k",$s),Z("HH",$s,As),Z("hh",$s,As),Z("kk",$s,As),Z("hmm",qs),Z("hmmss",Js),Z("Hmm",qs),Z("Hmmss",Js),J(["H","HH"],di),J(["k","kk"],function(e,t,n){var s=w(e);t[di]=24===s?0:s}),J(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),J(["h","hh"],function(e,t,n){t[di]=w(e),c(n).bigHour=!0}),J("hmm",function(e,t,n){var s=e.length-2;t[di]=w(e.substr(0,s)),t[hi]=w(e.substr(s)),c(n).bigHour=!0}),J("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[di]=w(e.substr(0,s)),t[hi]=w(e.substr(s,2)),t[ci]=w(e.substr(i)),c(n).bigHour=!0}),J("Hmm",function(e,t,n){var s=e.length-2;t[di]=w(e.substr(0,s)),t[hi]=w(e.substr(s))}),J("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[di]=w(e.substr(0,s)),t[hi]=w(e.substr(s,2)),t[ci]=w(e.substr(i))});var Pi,Wi=/[ap]\.?m?\.?/i,Hi=te("Hours",!0),Ri={calendar:Hs,longDateFormat:Rs,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:Cs,relativeTime:Fs,months:wi,monthsShort:vi,week:Di,weekdays:ki,weekdaysMin:Oi,weekdaysShort:Yi,meridiemParse:Wi},Ci={},Fi={},Li=/^\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)?)?$/,Ui=/^\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)?)?$/,Ni=/Z|[+-]\d\d(?::?\d\d)?/,Gi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Vi=[["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/]],Ei=/^\/?Date\((\-?\d+)/i,Ii=/^(?:(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}))$/,Ai={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};e.createFromInputFallback=S("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var ji=S("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=kt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),Zi=S("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=kt.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()}),zi=function(){return Date.now?Date.now():+new Date},$i=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ct("Z",":"),Ct("ZZ",""),Z("Z",ni),Z("ZZ",ni),J(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ft(ni,e)});var qi=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Ji=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Bi=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Jt.fn=Wt.prototype,Jt.invalid=Pt;var Qi=Kt(1,"add"),Xi=Kt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ki=S("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Fn("gggg","weekYear"),Fn("ggggg","weekYear"),Fn("GGGG","isoWeekYear"),Fn("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),U("weekYear",1),U("isoWeekYear",1),Z("G",ei),Z("g",ei),Z("GG",$s,As),Z("gg",$s,As),Z("GGGG",Qs,Zs),Z("gggg",Qs,Zs),Z("GGGGG",Xs,zs),Z("ggggg",Xs,zs),B(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=w(e)}),B(["gg","GG"],function(t,n,s,i){n[i]=e.parseTwoDigitYear(t)}),V("Q",0,"Qo","quarter"),C("quarter","Q"),U("quarter",7),Z("Q",Is),J("Q",function(e,t){t[ui]=3*(w(e)-1)}),V("D",["DD",2],"Do","date"),C("date","D"),U("date",9),Z("D",$s),Z("DD",$s,As),Z("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),J(["D","DD"],li),J("Do",function(e,t){t[li]=w(e.match($s)[0])});var er=te("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),U("dayOfYear",4),Z("DDD",Bs),Z("DDDD",js),J(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),V("m",["mm",2],0,"minute"),C("minute","m"),U("minute",14),Z("m",$s),Z("mm",$s,As),J(["m","mm"],hi);var tr=te("Minutes",!1);V("s",["ss",2],0,"second"),C("second","s"),U("second",15),Z("s",$s),Z("ss",$s,As),J(["s","ss"],ci);var nr=te("Seconds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),U("millisecond",16),Z("S",Bs,Is),Z("SS",Bs,As),Z("SSS",Bs,js);var sr;for(sr="SSSS";sr.length<=9;sr+="S")Z(sr,Ks);for(sr="S";sr.length<=9;sr+="S")J(sr,jn);var ir=te("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var rr=y.prototype;rr.add=Qi,rr.calendar=nn,rr.clone=sn,rr.diff=hn,rr.endOf=kn,rr.format=yn,rr.from=gn,rr.fromNow=pn,rr.to=wn,rr.toNow=vn,rr.get=ie,rr.invalidAt=Rn,rr.isAfter=rn,rr.isBefore=an,rr.isBetween=on,rr.isSame=un,rr.isSameOrAfter=ln,rr.isSameOrBefore=dn,rr.isValid=Wn,rr.lang=Ki,rr.locale=Mn,rr.localeData=Sn,rr.max=Zi,rr.min=ji,rr.parsingFlags=Hn,rr.set=re,rr.startOf=Dn,rr.subtract=Xi,rr.toArray=xn,rr.toObject=bn,rr.toDate=Tn,rr.toISOString=mn,rr.inspect=_n,rr.toJSON=Pn,rr.toString=fn,rr.unix=On,rr.valueOf=Yn,rr.creationData=Cn,rr.year=gi,rr.isLeapYear=ee,rr.weekYear=Ln,rr.isoWeekYear=Un,rr.quarter=rr.quarters=In,rr.month=fe,rr.daysInMonth=me,rr.week=rr.weeks=Te,rr.isoWeek=rr.isoWeeks=xe,rr.weeksInYear=Gn,rr.isoWeeksInYear=Nn,rr.date=er,rr.day=rr.days=Le,rr.weekday=Ue,rr.isoWeekday=Ne,rr.dayOfYear=An,rr.hour=rr.hours=Hi,rr.minute=rr.minutes=tr,rr.second=rr.seconds=nr,rr.millisecond=rr.milliseconds=ir,rr.utcOffset=Nt,rr.utc=Vt,rr.local=Et,rr.parseZone=It,rr.hasAlignedHourOffset=At,rr.isDST=jt,rr.isLocal=zt,rr.isUtcOffset=$t,rr.isUtc=qt,rr.isUTC=qt,rr.zoneAbbr=Zn,rr.zoneName=zn,rr.dates=S("dates accessor is deprecated. Use date instead.",er),rr.months=S("months accessor is deprecated. Use month instead",fe),rr.years=S("years accessor is deprecated. Use year instead",gi),rr.zone=S("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Gt),rr.isDSTShifted=S("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Zt);var ar=T.prototype;ar.calendar=x,ar.longDateFormat=b,ar.invalidDate=P,ar.ordinal=W,ar.preparse=Jn,ar.postformat=Jn,ar.relativeTime=H,ar.pastFuture=R,ar.set=Y,ar.months=ue,ar.monthsShort=le,ar.monthsParse=he,ar.monthsRegex=ye,ar.monthsShortRegex=_e,ar.week=ke,ar.firstDayOfYear=Oe,ar.firstDayOfWeek=Ye,ar.weekdays=We,ar.weekdaysMin=Re,ar.weekdaysShort=He,ar.weekdaysParse=Fe,ar.weekdaysRegex=Ge,ar.weekdaysShortRegex=Ve,ar.weekdaysMinRegex=Ee,ar.isPM=$e,ar.meridiem=qe,Xe("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=S("moment.lang is deprecated. Use moment.locale instead.",Xe),e.langData=S("moment.langData is deprecated. Use moment.localeData instead.",tt);var or=Math.abs,ur=ms("ms"),lr=ms("s"),dr=ms("m"),hr=ms("h"),cr=ms("d"),fr=ms("w"),mr=ms("M"),_r=ms("y"),yr=gs("milliseconds"),gr=gs("seconds"),pr=gs("minutes"),wr=gs("hours"),vr=gs("days"),Mr=gs("months"),Sr=gs("years"),Dr=Math.round,kr={ss:44,s:45,m:45,h:22,d:26,M:11},Yr=Math.abs,Or=Wt.prototype;return Or.isValid=bt,Or.abs=is,Or.add=as,Or.subtract=os,Or.as=cs,Or.asMilliseconds=ur,Or.asSeconds=lr,Or.asMinutes=dr,Or.asHours=hr,Or.asDays=cr,Or.asWeeks=fr,Or.asMonths=mr,Or.asYears=_r,Or.valueOf=fs,Or._bubble=ls,Or.clone=_s,Or.get=ys,Or.milliseconds=yr,Or.seconds=gr,Or.minutes=pr,Or.hours=wr,Or.days=vr,Or.weeks=ps,Or.months=Mr,Or.years=Sr,Or.humanize=Ds,Or.toISOString=Ys,Or.toString=Ys,Or.toJSON=Ys,Or.locale=Mn,Or.localeData=Sn,Or.toIsoString=S("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ys),Or.lang=Ki,V("X",0,0,"unix"),V("x",0,0,"valueOf"),Z("x",ei),Z("X",si),J("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),J("x",function(e,t,n){n._d=new Date(w(e))}),e.version="2.21.0",function(e){Os=e}(kt),e.fn=rr,e.min=Ot,e.max=Tt,e.now=zi,e.utc=d,e.unix=$n,e.months=Kn,e.isDate=a,e.locale=Xe,e.invalid=m,e.duration=Jt,e.isMoment=g,e.weekdays=ts,e.parseZone=qn,e.localeData=tt,e.isDuration=Ht,e.monthsShort=es,e.weekdaysMin=ss,e.defineLocale=Ke,e.updateLocale=et,e.locales=nt,e.weekdaysShort=ns,e.normalizeUnits=F,e.relativeTimeRounding=Ms,e.relativeTimeThreshold=Ss,e.calendarFormat=tn,e.prototype=rr,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},e});
    },{}],3:[function(require,module,exports){
    var options=exports.options=require("./options");exports.parser=require("./parsers/parser"),exports.refiner=require("./refiners/refiner"),exports.Parser=exports.parser.Parser,exports.Refiner=exports.refiner.Refiner,exports.Filter=exports.refiner.Filter,exports.ParsedResult=require("./result").ParsedResult,exports.ParsedComponents=require("./result").ParsedComponents;var Chrono=function(o){o=o||exports.options.casualOption(),this.parsers=new Object(o.parsers),this.refiners=new Object(o.refiners)};Chrono.prototype.parse=function(o,e,r){e=e||new Date,r=r||{},r.forwardDate=r.forwardDate||r.forwardDate;var s=[];return this.parsers.forEach(function(n){var t=n.execute(o,e,r);s=s.concat(t)}),s.sort(function(o,e){return o.index-e.index}),this.refiners.forEach(function(e){s=e.refine(o,s,r)}),s},Chrono.prototype.parseDate=function(o,e,r){var s=this.parse(o,e,r);return s.length>0?s[0].start.date():null},exports.Chrono=Chrono,exports.strict=new Chrono(options.strictOption()),exports.casual=new Chrono(options.casualOption()),exports.en=new Chrono(options.mergeOptions([options.en.casual,options.commonPostProcessing])),exports.en_GB=new Chrono(options.mergeOptions([options.en_GB.casual,options.commonPostProcessing])),exports.de=new Chrono(options.mergeOptions([options.de.casual,options.en,options.commonPostProcessing])),exports.es=new Chrono(options.mergeOptions([options.es.casual,options.en,options.commonPostProcessing])),exports.fr=new Chrono(options.mergeOptions([options.fr.casual,options.en,options.commonPostProcessing])),exports.ja=new Chrono(options.mergeOptions([options.ja.casual,options.en,options.commonPostProcessing])),exports.parse=function(){return exports.casual.parse.apply(exports.casual,arguments)},exports.parseDate=function(){return exports.casual.parseDate.apply(exports.casual,arguments)};
    },{"./options":4,"./parsers/parser":45,"./refiners/refiner":64,"./result":65}],4:[function(require,module,exports){
    var parser=require("./parsers/parser"),refiner=require("./refiners/refiner");exports.mergeOptions=function(e){var r={},a={parsers:[],refiners:[]};return e.forEach(function(e){e.call&&(e=e.call()),e.parsers&&e.parsers.forEach(function(e){r[e.constructor]||(a.parsers.push(e),r[e.constructor]=!0)}),e.refiners&&e.refiners.forEach(function(e){r[e.constructor]||(a.refiners.push(e),r[e.constructor]=!0)})}),a},exports.commonPostProcessing=function(){return{refiners:[new refiner.ExtractTimezoneOffsetRefiner,new refiner.ExtractTimezoneAbbrRefiner,new refiner.UnlikelyFormatFilter]}},exports.strictOption=function(){var e={strict:!0};return exports.mergeOptions([exports.en(e),exports.de(e),exports.es(e),exports.fr(e),exports.ja(e),exports.zh,exports.commonPostProcessing])},exports.casualOption=function(){return exports.mergeOptions([exports.en.casual,exports.de({strict:!0}),exports.es.casual,exports.fr.casual,exports.ja.casual,exports.zh,exports.commonPostProcessing])},exports.de=function(e){return{parsers:[new parser.DEDeadlineFormatParser(e),new parser.DEMonthNameLittleEndianParser(e),new parser.DEMonthNameParser(e),new parser.DESlashDateFormatParser(e),new parser.DETimeAgoFormatParser(e),new parser.DETimeExpressionParser(e)],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner,new refiner.DEMergeDateTimeRefiner,new refiner.DEMergeDateRangeRefiner]}},exports.de.casual=function(){var e=exports.de({strict:!1});return e.parsers.unshift(new parser.DECasualDateParser),e.parsers.unshift(new parser.DEWeekdayParser),e},exports.en=function(e){return{parsers:[new parser.ENISOFormatParser(e),new parser.ENDeadlineFormatParser(e),new parser.ENMonthNameLittleEndianParser(e),new parser.ENMonthNameMiddleEndianParser(e),new parser.ENMonthNameParser(e),new parser.ENSlashDateFormatParser(e),new parser.ENSlashDateFormatStartWithYearParser(e),new parser.ENSlashMonthFormatParser(e),new parser.ENTimeAgoFormatParser(e),new parser.ENTimeLaterFormatParser(e),new parser.ENTimeExpressionParser(e)],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner,new refiner.ENMergeDateTimeRefiner,new refiner.ENMergeDateRangeRefiner,new refiner.ENPrioritizeSpecificDateRefiner]}},exports.en.casual=function(e){e=e||{},e.strict=!1;var r=exports.en(e);return r.parsers.unshift(new parser.ENCasualDateParser),r.parsers.unshift(new parser.ENCasualTimeParser),r.parsers.unshift(new parser.ENWeekdayParser),r.parsers.unshift(new parser.ENRelativeDateFormatParser),r},exports.en_GB=function(e){return e=e||{},e.littleEndian=!0,exports.en(e)},exports.en_GB.casual=function(e){return e=e||{},e.littleEndian=!0,exports.en.casual(e)},exports.ja=function(){return{parsers:[new parser.JPStandardParser],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner,new refiner.JPMergeDateRangeRefiner]}},exports.ja.casual=function(){var e=exports.ja();return e.parsers.unshift(new parser.JPCasualDateParser),e},exports.es=function(e){return{parsers:[new parser.ESTimeAgoFormatParser(e),new parser.ESDeadlineFormatParser(e),new parser.ESTimeExpressionParser(e),new parser.ESMonthNameLittleEndianParser(e),new parser.ESSlashDateFormatParser(e)],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner]}},exports.es.casual=function(){var e=exports.es({strict:!1});return e.parsers.unshift(new parser.ESCasualDateParser),e.parsers.unshift(new parser.ESWeekdayParser),e},exports.fr=function(e){return{parsers:[new parser.FRDeadlineFormatParser(e),new parser.FRMonthNameLittleEndianParser(e),new parser.FRSlashDateFormatParser(e),new parser.FRTimeAgoFormatParser(e),new parser.FRTimeExpressionParser(e)],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner,new refiner.FRMergeDateRangeRefiner,new refiner.FRMergeDateTimeRefiner]}},exports.fr.casual=function(){var e=exports.fr({strict:!1});return e.parsers.unshift(new parser.FRCasualDateParser),e.parsers.unshift(new parser.FRWeekdayParser),e.parsers.unshift(new parser.FRRelativeDateFormatParser),e},exports.zh=function(){return{parsers:[new parser.ZHHantDateParser,new parser.ZHHantWeekdayParser,new parser.ZHHantTimeExpressionParser,new parser.ZHHantCasualDateParser,new parser.ZHHantDeadlineFormatParser],refiners:[new refiner.OverlapRemovalRefiner,new refiner.ForwardDateRefiner]}};
    },{"./parsers/parser":45,"./refiners/refiner":64}],5:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)(jetzt|(?:heute|diesen)\\s*(morgen|vormittag|mittag|nachmittag|abend)|(?:heute|diese)\\s*nacht|heute|(?:(?:ü|ue)ber)?morgen(?:\\s*(morgen|vormittag|mittag|nachmittag|abend|nacht))?|(?:vor)?gestern(?:\\s*(morgen|vormittag|mittag|nachmittag|abend|nacht))?|letzte\\s*nacht)(?=\\W|$)","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,r,a){var t=r[0].substr(r[1].length),s=r.index+r[1].length,i=new ParsedResult({index:s,text:t,ref:e}),n=moment(e),m=n.clone(),o=t.toLowerCase();/(?:heute|diese)\s*nacht/.test(o)?(i.start.imply("hour",22),i.start.imply("meridiem",1)):/^(?:ü|ue)bermorgen/.test(o)?m.add(n.hour()>1?2:1,"day"):/^morgen/.test(o)?n.hour()>1&&m.add(1,"day"):/^gestern/.test(o)?m.add(-1,"day"):/^vorgestern/.test(o)?m.add(-2,"day"):/letzte\s*nacht/.test(o)?(i.start.imply("hour",0),n.hour()>6&&m.add(-1,"day")):"jetzt"===o&&(i.start.imply("hour",n.hour()),i.start.imply("minute",n.minute()),i.start.imply("second",n.second()),i.start.imply("millisecond",n.millisecond()));var d=r[3]||r[4]||r[5];if(d)switch(d.toLowerCase()){case"morgen":i.start.imply("hour",6);break;case"vormittag":i.start.imply("hour",9);break;case"mittag":i.start.imply("hour",12);break;case"nachmittag":i.start.imply("hour",15),i.start.imply("meridiem",1);break;case"abend":i.start.imply("hour",18),i.start.imply("meridiem",1);break;case"nacht":i.start.imply("hour",0)}return i.start.assign("day",m.date()),i.start.assign("month",m.month()+1),i.start.assign("year",m.year()),i.tags.DECasualDateParser=!0,i}};
    },{"../../result":65,"../parser":45,"moment":2}],6:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/DE"),PATTERN=new RegExp("(\\W|^)(in|nach)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|einigen|eine[rm]\\s*halben|eine[rm])\\s*(sekunden?|min(?:ute)?n?|stunden?|tag(?:en)?|wochen?|monat(?:en)?|jahr(?:en)?)\\s*(?=\\W|$)","i"),STRICT_PATTERN=new RegExp("(\\W|^)(in|nach)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|eine(?:r|m)?)\\s*(sekunden?|minuten?|stunden?|tag(?:en)?)\\s*(?=\\W|$)","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(e,t,n,s){var a=n.index+n[1].length,e=n[0];e=n[0].substr(n[1].length,n[0].length-n[1].length);var r=new ParsedResult({index:a,text:e,ref:t}),i=n[3].toLowerCase();i=void 0!==util.INTEGER_WORDS[i]?util.INTEGER_WORDS[i]:"einer"===i||"einem"===i?1:"einigen"===i?3:/halben/.test(i)?.5:parseInt(i);var d=moment(t);return/tag|woche|monat|jahr/i.test(n[4])?(/tag/i.test(n[4])?d.add(i,"d"):/woche/i.test(n[4])?d.add(7*i,"d"):/monat/i.test(n[4])?d.add(i,"month"):/jahr/i.test(n[4])&&d.add(i,"year"),r.start.assign("year",d.year()),r.start.assign("month",d.month()+1),r.start.assign("day",d.date()),r):(/stunde/i.test(n[4])?d.add(i,"hour"):/min/i.test(n[4])?d.add(i,"minute"):/sekunde/i.test(n[4])&&d.add(i,"second"),r.start.imply("year",d.year()),r.start.imply("month",d.month()+1),r.start.imply("day",d.date()),r.start.assign("hour",d.hour()),r.start.assign("minute",d.minute()),r.start.assign("second",d.second()),r.tags.DEDeadlineFormatParser=!0,r)}};
    },{"../../result":65,"../../utils/DE":66,"../parser":45,"moment":2}],7:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/DE"),PATTERN=new RegExp("(\\W|^)(?:am\\s*?)?(?:(Sonntag|Montag|Dienstag|Mittwoch|Donnerstag|Freitag|Samstag|So|Mo|Di|Mi|Do|Fr|Sa)\\s*,?\\s*)?(?:den\\s*)?([0-9]{1,2})\\.(?:\\s*(?:bis(?:\\s*(?:am|zum))?|\\-|\\–|\\s)\\s*([0-9]{1,2})\\.)?\\s*(Jan(?:uar|\\.)?|Feb(?:ruar|\\.)?|Mär(?:z|\\.)?|Maerz|Mrz\\.?|Apr(?:il|\\.)?|Mai|Jun(?:i|\\.)?|Jul(?:i|\\.)?|Aug(?:ust|\\.)?|Sep(?:t|t\\.|tember|\\.)?|Okt(?:ober|\\.)?|Nov(?:ember|\\.)?|Dez(?:ember|\\.)?)(?:,?\\s*([0-9]{1,4}(?![^\\s]\\d))(\\s*[vn]\\.?\\s*C(?:hr)?\\.?)?)?(?=\\W|$)","i"),WEEKDAY_GROUP=2,DATE_GROUP=3,DATE_TO_GROUP=4,MONTH_NAME_GROUP=5,YEAR_GROUP=6,YEAR_BE_GROUP=7;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,a,r){var s=new ParsedResult({text:a[0].substr(a[1].length,a[0].length-a[1].length),index:a.index+a[1].length,ref:t}),n=a[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=a[DATE_GROUP];i=parseInt(i);var o=null;if(a[YEAR_GROUP]&&(o=a[YEAR_GROUP],o=parseInt(o),a[YEAR_BE_GROUP]?/v/i.test(a[YEAR_BE_GROUP])&&(o=-o):o<100&&(o+=2e3)),o)s.start.assign("day",i),s.start.assign("month",n),s.start.assign("year",o);else{var E=moment(t);E.month(n-1),E.date(i),E.year(moment(t).year());var m=E.clone().add(1,"y"),R=E.clone().add(-1,"y");Math.abs(m.diff(moment(t)))<Math.abs(E.diff(moment(t)))?E=m:Math.abs(R.diff(moment(t)))<Math.abs(E.diff(moment(t)))&&(E=R),s.start.assign("day",i),s.start.assign("month",n),s.start.imply("year",E.year())}if(a[WEEKDAY_GROUP]){var u=a[WEEKDAY_GROUP];u=util.WEEKDAY_OFFSET[u.toLowerCase()],s.start.assign("weekday",u)}return a[DATE_TO_GROUP]&&(s.end=s.start.clone(),s.end.assign("day",parseInt(a[DATE_TO_GROUP]))),s.tags.DEMonthNameLittleEndianParser=!0,s}};
    },{"../../result":65,"../../utils/DE":66,"../parser":45,"moment":2}],8:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/DE"),PATTERN=new RegExp("(^|\\D\\s+|[^\\w\\s])(Jan\\.?|Januar|Feb\\.?|Februar|Mär\\.?|M(?:ä|ae)rz|Mrz\\.?|Apr\\.?|April|Mai\\.?|Jun\\.?|Juni|Jul\\.?|Juli|Aug\\.?|August|Sep\\.?|Sept\\.?|September|Okt\\.?|Oktober|Nov\\.?|November|Dez\\.?|Dezember)\\s*(?:,?\\s*(?:([0-9]{4})(\\s*[vn]\\.?\\s*C(?:hr)?\\.?)?|([0-9]{1,4})\\s*([vn]\\.?\\s*C(?:hr)?\\.?)))?(?=[^\\s\\w]|$)","i"),MONTH_NAME_GROUP=2,YEAR_GROUP=3,YEAR_BE_GROUP=4,YEAR_GROUP2=5,YEAR_BE_GROUP2=6;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,r,a){var s=new ParsedResult({text:r[0].substr(r[1].length,r[0].length-r[1].length),index:r.index+r[1].length,ref:t}),n=r[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=null;if((r[YEAR_GROUP]||r[YEAR_GROUP2])&&(i=r[YEAR_GROUP]||r[YEAR_GROUP2],i=parseInt(i),r[YEAR_BE_GROUP]||r[YEAR_BE_GROUP2]?/v/i.test(r[YEAR_BE_GROUP]||r[YEAR_BE_GROUP2])&&(i=-i):i<100&&(i+=2e3)),i)s.start.imply("day",1),s.start.assign("month",n),s.start.assign("year",i);else{var R=moment(t);R.month(n-1),R.date(1);var u=R.clone().add(1,"y"),E=R.clone().add(-1,"y");Math.abs(u.diff(moment(t)))<Math.abs(R.diff(moment(t)))?R=u:Math.abs(E.diff(moment(t)))<Math.abs(R.diff(moment(t)))&&(R=E),s.start.imply("day",1),s.start.assign("month",n),s.start.imply("year",R.year())}return s.tags.DEMonthNameParser=!0,s}};
    },{"../../result":65,"../../utils/DE":66,"../parser":45,"moment":2}],9:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)(?:(?:am\\s*?)?((?:sonntag|so|montag|mo|dienstag|di|mittwoch|mi|donnerstag|do|freitag|fr|samstag|sa))\\s*\\,?\\s*(?:den\\s*)?)?([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}s*,?s*|[0-9]{2}s*,?s*))?(\\W|$)","i"),DAYS_OFFSET={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6},OPENNING_GROUP=1,ENDING_GROUP=6,WEEKDAY_GROUP=2,DAY_GROUP=3,MONTH_GROUP=4,YEAR_GROUP=5;exports.Parser=function(t){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,s,a){if("/"==s[OPENNING_GROUP]||"/"==s[ENDING_GROUP])return void(s.index+=s[0].length);var r=s.index+s[OPENNING_GROUP].length,t=s[0].substr(s[OPENNING_GROUP].length,s[0].length-s[ENDING_GROUP].length),n=new ParsedResult({text:t,index:r,ref:e});if(!t.match(/^\d\.\d$/)&&!t.match(/^\d\.\d{1,2}\.\d{1,2}$/)&&(s[YEAR_GROUP]||!(s[0].indexOf("/")<0))){var i=s[YEAR_GROUP]||moment(e).year()+"",P=s[MONTH_GROUP],o=s[DAY_GROUP];return P=parseInt(P),(o=parseInt(o),i=parseInt(i),P<1||P>12)?null:o<1||o>31?null:(i<100&&(i+=i>50?1900:2e3),n.start.assign("day",o),n.start.assign("month",P),n.start.assign("year",i),s[WEEKDAY_GROUP]&&n.start.assign("weekday",DAYS_OFFSET[s[WEEKDAY_GROUP].toLowerCase()]),n.tags.DESlashDateFormatParser=!0,n)}}};
    },{"../../result":65,"../parser":45,"moment":2}],10:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/DE"),PATTERN=new RegExp("(\\W|^)vor\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|einigen|eine[rm]\\s*halben|eine[rm])\\s*(sekunden?|min(?:ute)?n?|stunden?|wochen?|tag(?:en)?|monat(?:en)?|jahr(?:en)?)\\s*(?=(?:\\W|$))","i"),STRICT_PATTERN=new RegExp("(\\W|^)vor\\s*([0-9]+|eine(?:r|m))\\s*(sekunden?|minuten?|stunden?|tag(?:en)?)(?=(?:\\W|$))","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(e,t,n,s){if(n.index>0&&e[n.index-1].match(/\w/))return null;var e=n[0];e=n[0].substr(n[1].length,n[0].length-n[1].length),index=n.index+n[1].length;var r=new ParsedResult({index:index,text:e,ref:t}),a=n[2].toLowerCase();a=void 0!==util.INTEGER_WORDS[a]?util.INTEGER_WORDS[a]:"einer"===a||"einem"===a?1:"einigen"===a?3:/halben/.test(a)?.5:parseInt(a);var i=moment(t);return/stunde|min|sekunde/i.test(n[3])?(/stunde/i.test(n[3])?i.add(-a,"hour"):/min/i.test(n[3])?i.add(-a,"minute"):/sekunde/i.test(n[3])&&i.add(-a,"second"),r.start.imply("day",i.date()),r.start.imply("month",i.month()+1),r.start.imply("year",i.year()),r.start.assign("hour",i.hour()),r.start.assign("minute",i.minute()),r.start.assign("second",i.second()),r.tags.DETimeAgoFormatParser=!0,r):/woche/i.test(n[3])?(i.add(-a,"week"),r.start.imply("day",i.date()),r.start.imply("month",i.month()+1),r.start.imply("year",i.year()),r.start.imply("weekday",i.day()),r):(/tag/i.test(n[3])&&i.add(-a,"d"),/monat/i.test(n[3])&&i.add(-a,"month"),/jahr/i.test(n[3])&&i.add(-a,"year"),r.start.assign("day",i.date()),r.start.assign("month",i.month()+1),r.start.assign("year",i.year()),r)}};
    },{"../../result":65,"../../utils/DE":66,"../parser":45,"moment":2}],11:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,ParsedComponents=require("../../result").ParsedComponents,FIRST_REG_PATTERN=new RegExp("(^|\\s|T)(?:(?:um|von)\\s*)?(\\d{1,4}|mittags?|mitternachts?)(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\:|\\:)(\\d{2}))?)?(?:\\s*uhr)?(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?(?=\\W|$)","i"),SECOND_REG_PATTERN=new RegExp("^\\s*(\\-|\\–|\\~|\\〜|bis|\\?)\\s*(\\d{1,4})(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\.|\\:|\\:)(\\d{1,2}))?)?(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?(?=\\W|$)","i"),HOUR_GROUP=2,MINUTE_GROUP=3,SECOND_GROUP=4,AM_PM_HOUR_GROUP=5;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return FIRST_REG_PATTERN},this.extract=function(t,e,r,s){if(r.index>0&&t[r.index-1].match(/\w/))return null;var n=moment(e),i=new ParsedResult;i.ref=e,i.index=r.index+r[1].length,i.text=r[0].substring(r[1].length),i.tags.DETimeExpressionParser=!0,i.start.imply("day",n.date()),i.start.imply("month",n.month()+1),i.start.imply("year",n.year());var a=0,m=0,d=-1;if(null!=r[SECOND_GROUP]){var l=parseInt(r[SECOND_GROUP]);if(l>=60)return null;i.start.assign("second",l)}if(/mittags?/i.test(r[HOUR_GROUP])?(d=1,a=12):/mitternachts?/i.test(r[HOUR_GROUP])?(d=0,a=0):a=parseInt(r[HOUR_GROUP]),null!=r[MINUTE_GROUP]?m=parseInt(r[MINUTE_GROUP]):a>100&&(m=a%100,a=parseInt(a/100)),m>=60)return null;if(a>24)return null;if(a>=12&&(d=1),null!=r[AM_PM_HOUR_GROUP]){if(a>12)return null;var u=r[AM_PM_HOUR_GROUP][0].toLowerCase();"morgens"===u||"vormittags"===u?(d=0,12==a&&(a=0)):(d=1,12!=a&&(a+=12))}if(i.start.assign("hour",a),i.start.assign("minute",m),d>=0?i.start.assign("meridiem",d):a<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),!(r=SECOND_REG_PATTERN.exec(t.substring(i.index+i.text.length))))return i.text.match(/^\d+$/)?null:i;if(r[0].match(/^\s*(\+|\-)\s*\d{3,4}$/))return i;null==i.end&&(i.end=new ParsedComponents(null,i.start.date()));var a=0,m=0,d=-1;if(null!=r[SECOND_GROUP]){var l=parseInt(r[SECOND_GROUP]);if(l>=60)return null;i.end.assign("second",l)}if(a=parseInt(r[2]),null!=r[MINUTE_GROUP]){if((m=parseInt(r[MINUTE_GROUP]))>=60)return i}else a>100&&(m=a%100,a=parseInt(a/100));if(m>=60)return null;if(a>24)return null;if(a>=12&&(d=1),null!=r[AM_PM_HOUR_GROUP]){if(a>12)return null;var u=r[AM_PM_HOUR_GROUP][0].toLowerCase();"morgens"===u||"vormittags"===u?(d=0,12==a&&(a=0,i.end.isCertain("day")||i.end.imply("day",i.end.get("day")+1))):(d=1,12!=a&&(a+=12)),i.start.isCertain("meridiem")||(0==d?(i.start.imply("meridiem",0),12==i.start.get("hour")&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),12!=i.start.get("hour")&&i.start.assign("hour",i.start.get("hour")+12)))}if(i.text=i.text+r[0],i.end.assign("hour",a),i.end.assign("minute",m),d>=0)i.end.assign("meridiem",d);else{i.start.isCertain("meridiem")&&1==i.start.get("meridiem")&&i.start.get("hour")>a?i.end.imply("meridiem",0):a>12&&i.end.imply("meridiem",1)}return i.end.date().getTime()<i.start.date().getTime()&&i.end.imply("day",i.end.get("day")+1),i}};
    },{"../../result":65,"../parser":45,"moment":2}],12:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,DAYS_OFFSET={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6},PATTERN=new RegExp("(\\W|^)(?:(?:\\,|\\(|\\()\\s*)?(?:a[mn]\\s*?)?(?:(diese[mn]|letzte[mn]|n(?:ä|ae)chste[mn])\\s*)?("+Object.keys(DAYS_OFFSET).join("|")+")(?:\\s*(?:\\,|\\)|\\)))?(?:\\s*(diese|letzte|n(?:ä|ae)chste)\\s*woche)?(?=\\W|$)","i"),PREFIX_GROUP=2,WEEKDAY_GROUP=3,POSTFIX_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,a,r){var s=a.index+a[1].length,e=a[0].substr(a[1].length,a[0].length-a[1].length),n=new ParsedResult({index:s,text:e,ref:t}),d=a[WEEKDAY_GROUP].toLowerCase(),i=DAYS_OFFSET[d];if(void 0===i)return null;var o=moment(t),m=a[PREFIX_GROUP],P=a[POSTFIX_GROUP],h=o.day(),y=m||P;return y=y||"",y=y.toLowerCase(),/letzte/.test(y)?o.day(i-7):/n(?:ä|ae)chste/.test(y)?o.day(i+7):/diese/.test(y)?r.forwardDate&&h>i?o.day(i+7):o.day(i):r.forwardDate&&h>i?o.day(i+7):!r.forwardDate&&Math.abs(i-7-h)<Math.abs(i-h)?o.day(i-7):!r.forwardDate&&Math.abs(i+7-h)<Math.abs(i-h)?o.day(i+7):o.day(i),n.start.assign("weekday",i),n.start.imply("day",o.date()),n.start.imply("month",o.month()+1),n.start.imply("year",o.year()),n}};
    },{"../../result":65,"../parser":45,"moment":2}],13:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)(now|today|tonight|last\s*night|(?:tomorrow|tmr|yesterday)\s*|tomorrow|tmr|yesterday)(?=\W|$)/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,r,s,e){var t=s[0].substr(s[1].length),a=s.index+s[1].length,n=new ParsedResult({index:a,text:t,ref:r}),o=moment(r),i=o.clone(),d=t.toLowerCase();return"tonight"==d?(n.start.imply("hour",22),n.start.imply("meridiem",1)):/^tomorrow|^tmr/.test(d)?o.hour()>1&&i.add(1,"day"):/^yesterday/.test(d)?i.add(-1,"day"):d.match(/last\s*night/)?(n.start.imply("hour",0),o.hour()>6&&i.add(-1,"day")):d.match("now")&&(n.start.assign("hour",o.hour()),n.start.assign("minute",o.minute()),n.start.assign("second",o.second()),n.start.assign("millisecond",o.millisecond())),n.start.assign("day",i.date()),n.start.assign("month",i.month()+1),n.start.assign("year",i.year()),n.tags.ENCasualDateParser=!0,n}};
    },{"../../result":65,"../parser":45,"moment":2}],14:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)((this)?\s*(morning|afternoon|evening|noon|night))/i,TIME_MATCH=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,t,s){var e=t[0].substr(t[1].length),i=t.index+t[1].length,a=new ParsedResult({index:i,text:e,ref:r});switch(t[TIME_MATCH]||(TIME_MATCH=3),t[TIME_MATCH].toLowerCase()){case"afternoon":a.start.imply("meridiem",1),a.start.imply("hour",15);break;case"evening":case"night":a.start.imply("meridiem",1),a.start.imply("hour",20);break;case"morning":a.start.imply("meridiem",0),a.start.imply("hour",6);break;case"noon":a.start.imply("meridiem",0),a.start.imply("hour",12)}return a.tags.ENCasualTimeParser=!0,a}};
    },{"../../result":65,"../parser":45,"moment":2}],15:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)(within|in)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|an?(?:\\s*few)?|half(?:\\s*an?)?)\\s*(seconds?|min(?:ute)?s?|hours?|days?|weeks?|months?|years?)\\s*(?=\\W|$)","i"),STRICT_PATTERN=new RegExp("(\\W|^)(within|in)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|an?)\\s*(seconds?|minutes?|hours?|days?)\\s*(?=\\W|$)","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(t,e,a,r){var s=a.index+a[1].length,t=a[0];t=a[0].substr(a[1].length,a[0].length-a[1].length);var i=new ParsedResult({index:s,text:t,ref:e}),n=a[3].toLowerCase();n=void 0!==util.INTEGER_WORDS[n]?util.INTEGER_WORDS[n]:"a"===n||"an"===n?1:n.match(/few/i)?3:n.match(/half/i)?.5:parseInt(n);var m=moment(e);return a[4].match(/day|week|month|year/i)?(a[4].match(/day/i)?m.add(n,"d"):a[4].match(/week/i)?m.add(7*n,"d"):a[4].match(/month/i)?m.add(n,"month"):a[4].match(/year/i)&&m.add(n,"year"),i.start.imply("year",m.year()),i.start.imply("month",m.month()+1),i.start.imply("day",m.date()),i):(a[4].match(/hour/i)?m.add(n,"hour"):a[4].match(/min/i)?m.add(n,"minute"):a[4].match(/second/i)&&m.add(n,"second"),i.start.imply("year",m.year()),i.start.imply("month",m.month()+1),i.start.imply("day",m.date()),i.start.imply("hour",m.hour()),i.start.imply("minute",m.minute()),i.start.imply("second",m.second()),i.tags.ENDeadlineFormatParser=!0,i)}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],16:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)([0-9]{4})\\-([0-9]{1,2})\\-([0-9]{1,2})(?:T([0-9]{1,2}):([0-9]{1,2})(?::([0-9]{1,2})(?:\\.(\\d{1,4}))?)?(?:Z|([+-]\\d{2}):?(\\d{2})?)?)?(?=\\W|$)","i"),YEAR_NUMBER_GROUP=2,MONTH_NUMBER_GROUP=3,DATE_NUMBER_GROUP=4,HOUR_NUMBER_GROUP=5,MINUTE_NUMBER_GROUP=6,SECOND_NUMBER_GROUP=7,MILLISECOND_NUMBER_GROUP=8,TZD_HOUR_OFFSET_GROUP=9,TZD_MINUTE_OFFSET_GROUP=10;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,s,r){var t=s[0].substr(s[1].length),n=s.index+s[1].length,R=new ParsedResult({text:t,index:n,ref:e});if(R.start.assign("year",parseInt(s[YEAR_NUMBER_GROUP])),R.start.assign("month",parseInt(s[MONTH_NUMBER_GROUP])),R.start.assign("day",parseInt(s[DATE_NUMBER_GROUP])),moment(R.start.get("month"))>12||moment(R.start.get("month"))<1||moment(R.start.get("day"))>31||moment(R.start.get("day"))<1)return null;if(null!=s[HOUR_NUMBER_GROUP])if(R.start.assign("hour",parseInt(s[HOUR_NUMBER_GROUP])),R.start.assign("minute",parseInt(s[MINUTE_NUMBER_GROUP])),null!=s[SECOND_NUMBER_GROUP]&&R.start.assign("second",parseInt(s[SECOND_NUMBER_GROUP])),null!=s[MILLISECOND_NUMBER_GROUP]&&R.start.assign("millisecond",parseInt(s[MILLISECOND_NUMBER_GROUP])),null==s[TZD_HOUR_OFFSET_GROUP])R.start.assign("timezoneOffset",0);else{var a=0,_=parseInt(s[TZD_HOUR_OFFSET_GROUP]);null!=s[TZD_MINUTE_OFFSET_GROUP]&&(a=parseInt(s[TZD_MINUTE_OFFSET_GROUP]));var U=60*_;U<0?U-=a:U+=a,R.start.assign("timezoneOffset",U)}return R.tags.ENISOFormatParser=!0,R}};
    },{"../../result":65,"../parser":45,"moment":2}],17:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)(?:on\\s*?)?(?:(Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sun|Mon|Tue|Wed|Thu|Fri|Sat)\\s*,?\\s*)?(([0-9]{1,2})(?:st|nd|rd|th)?|"+util.ORDINAL_WORDS_PATTERN+")(?:\\s*(?:to|\\-|\\–|until|through|till|\\s)\\s*(([0-9]{1,2})(?:st|nd|rd|th)?|"+util.ORDINAL_WORDS_PATTERN+"))?(?:-|/|\\s*(?:of)?\\s*)(Jan(?:uary|\\.)?|Feb(?:ruary|\\.)?|Mar(?:ch|\\.)?|Apr(?:il|\\.)?|May|Jun(?:e|\\.)?|Jul(?:y|\\.)?|Aug(?:ust|\\.)?|Sep(?:tember|\\.)?|Oct(?:ober|\\.)?|Nov(?:ember|\\.)?|Dec(?:ember|\\.)?)(?:(?:-|/|,?\\s*)((?:[1-9][0-9]{0,3}\\s*(?:BE|AD|BC)|[1-2][0-9]{3})(?![^\\s]\\d)))?(?=\\W|$)","i"),WEEKDAY_GROUP=2,DATE_GROUP=3,DATE_NUM_GROUP=4,DATE_TO_GROUP=5,DATE_TO_NUM_GROUP=6,MONTH_NAME_GROUP=7,YEAR_GROUP=8;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,a,r){var s=new ParsedResult({text:a[0].substr(a[1].length,a[0].length-a[1].length),index:a.index+a[1].length,ref:t}),n=a[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=a[DATE_NUM_GROUP]?parseInt(a[DATE_NUM_GROUP]):util.ORDINAL_WORDS[a[DATE_GROUP].trim().replace("-"," ").toLowerCase()],_=null;if(a[YEAR_GROUP]&&(_=a[YEAR_GROUP],/BE/i.test(_)?(_=_.replace(/BE/i,""),_=parseInt(_)-543):/BC/i.test(_)?(_=_.replace(/BC/i,""),_=-parseInt(_)):/AD/i.test(_)?(_=_.replace(/AD/i,""),_=parseInt(_)):(_=parseInt(_))<100&&(_+=2e3)),_)s.start.assign("day",i),s.start.assign("month",n),s.start.assign("year",_);else{var O=moment(t);O.month(n-1),O.date(i),O.year(moment(t).year());var u=O.clone().add(1,"y"),R=O.clone().add(-1,"y");Math.abs(u.diff(moment(t)))<Math.abs(O.diff(moment(t)))?O=u:Math.abs(R.diff(moment(t)))<Math.abs(O.diff(moment(t)))&&(O=R),s.start.assign("day",i),s.start.assign("month",n),s.start.imply("year",O.year())}if(a[WEEKDAY_GROUP]){var E=a[WEEKDAY_GROUP];E=util.WEEKDAY_OFFSET[E.toLowerCase()],s.start.assign("weekday",E)}if(a[DATE_TO_GROUP]){var d=a[DATE_TO_NUM_GROUP]?parseInt(a[DATE_TO_NUM_GROUP]):util.ORDINAL_WORDS[a[DATE_TO_GROUP].trim().replace("-"," ").toLowerCase()];s.end=s.start.clone(),s.end.assign("day",d)}return s.tags.ENMonthNameLittleEndianParser=!0,s}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],18:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)(?:(?:on\\s*?)?(Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sun\\.?|Mon\\.?|Tue\\.?|Wed\\.?|Thu\\.?|Fri\\.?|Sat\\.?)\\s*,?\\s*)?(Jan\\.?|January|Feb\\.?|February|Mar\\.?|March|Apr\\.?|April|May\\.?|Jun\\.?|June|Jul\\.?|July|Aug\\.?|August|Sep\\.?|Sept\\.?|September|Oct\\.?|October|Nov\\.?|November|Dec\\.?|December)(?:-|/|\\s*,?\\s*)(([0-9]{1,2})(?:st|nd|rd|th)?|"+util.ORDINAL_WORDS_PATTERN+")(?!\\s*(?:am|pm))\\s*(?:(?:to|\\-)\\s*(([0-9]{1,2})(?:st|nd|rd|th)?| "+util.ORDINAL_WORDS_PATTERN+")\\s*)?(?:(?:-|/|\\s*,?\\s*)(?:([0-9]{4})\\s*(BE|AD|BC)?|([0-9]{1,4})\\s*(AD|BC))\\s*)?(?=\\W|$)(?!\\:\\d)","i"),WEEKDAY_GROUP=2,MONTH_NAME_GROUP=3,DATE_GROUP=4,DATE_NUM_GROUP=5,DATE_TO_GROUP=6,DATE_TO_NUM_GROUP=7,YEAR_GROUP=8,YEAR_BE_GROUP=9,YEAR_GROUP2=10,YEAR_BE_GROUP2=11;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,a,r){var s=new ParsedResult({text:a[0].substr(a[1].length,a[0].length-a[1].length),index:a.index+a[1].length,ref:t}),n=a[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var R=a[DATE_NUM_GROUP]?parseInt(a[DATE_NUM_GROUP]):util.ORDINAL_WORDS[a[DATE_GROUP].trim().replace("-"," ").toLowerCase()],_=null;if(a[YEAR_GROUP]||a[YEAR_GROUP2]){_=a[YEAR_GROUP]||a[YEAR_GROUP2],_=parseInt(_);var E=a[YEAR_BE_GROUP]||a[YEAR_BE_GROUP2];E?/BE/i.test(E)?_-=543:/BC/i.test(E)&&(_=-_):_<100&&(_+=2e3)}if(_)s.start.assign("day",R),s.start.assign("month",n),s.start.assign("year",_);else{var O=moment(t);O.month(n-1),O.date(R);var i=O.clone().add(1,"y"),A=O.clone().add(-1,"y");Math.abs(i.diff(moment(t)))<Math.abs(O.diff(moment(t)))?O=i:Math.abs(A.diff(moment(t)))<Math.abs(O.diff(moment(t)))&&(O=A),s.start.assign("day",R),s.start.assign("month",n),s.start.imply("year",O.year())}if(a[WEEKDAY_GROUP]){var u=a[WEEKDAY_GROUP];u=util.WEEKDAY_OFFSET[u.toLowerCase()],s.start.assign("weekday",u)}if(a[DATE_TO_GROUP]){var P=a[DATE_TO_NUM_GROUP]?P=parseInt(a[DATE_TO_NUM_GROUP]):util.ORDINAL_WORDS[a[DATE_TO_GROUP].replace("-"," ").trim().toLowerCase()];s.end=s.start.clone(),s.end.assign("day",P)}return s.tags.ENMonthNameMiddleEndianParser=!0,s}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],19:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(^|\\D\\s+|[^\\w\\s])(Jan\\.?|January|Feb\\.?|February|Mar\\.?|March|Apr\\.?|April|May\\.?|Jun\\.?|June|Jul\\.?|July|Aug\\.?|August|Sep\\.?|Sept\\.?|September|Oct\\.?|October|Nov\\.?|November|Dec\\.?|December)\\s*(?:[,-]?\\s*([0-9]{4})(\\s*BE|AD|BC)?)?(?=[^\\s\\w]|\\s+[^0-9]|\\s+$|$)","i"),MONTH_NAME_GROUP=2,YEAR_GROUP=3,YEAR_BE_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,r,a){var s=new ParsedResult({text:r[0].substr(r[1].length,r[0].length-r[1].length),index:r.index+r[1].length,ref:t}),n=r[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=null;if(r[YEAR_GROUP]&&(i=r[YEAR_GROUP],i=parseInt(i),r[YEAR_BE_GROUP]?r[YEAR_BE_GROUP].match(/BE/)?i-=543:r[YEAR_BE_GROUP].match(/BC/)&&(i=-i):i<100&&(i+=2e3)),i)s.start.imply("day",1),s.start.assign("month",n),s.start.assign("year",i);else{var u=moment(t);u.month(n-1),u.date(1);var m=u.clone().add(1,"y"),l=u.clone().add(-1,"y");Math.abs(m.diff(moment(t)))<Math.abs(u.diff(moment(t)))?u=m:Math.abs(l.diff(moment(t)))<Math.abs(u.diff(moment(t)))&&(u=l),s.start.imply("day",1),s.start.assign("month",n),s.start.imply("year",u.year())}return s.tags.ENMonthNameParser=!0,s}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],20:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)(this|next|last|past)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|few|half(?:\\s*an?)?)?\\s*(seconds?|min(?:ute)?s?|hours?|days?|weeks?|months?|years?)(?=\\s*)(?=\\W|$)","i"),MODIFIER_WORD_GROUP=2,MULTIPLIER_WORD_GROUP=3,RELATIVE_WORD_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,a,e,s){var r=e.index+e[1].length,n=e[MODIFIER_WORD_GROUP].toLowerCase().match(/^next/)?1:-1,t=e[0];t=e[0].substr(e[1].length,e[0].length-e[1].length);var i=new ParsedResult({index:r,text:t,ref:a});i.tags.ENRelativeDateFormatParser=!0;var m=void 0===e[MULTIPLIER_WORD_GROUP]?"":e[3].toLowerCase();m=void 0!==util.INTEGER_WORDS[m]?util.INTEGER_WORDS[m]:""===m?1:m.match(/few/i)?3:m.match(/half/i)?.5:parseInt(m),m*=n;var R=moment(a);if(e[MODIFIER_WORD_GROUP].toLowerCase().match(/^this/)){if(e[MULTIPLIER_WORD_GROUP])return null;if(e[RELATIVE_WORD_GROUP].match(/day|week|month|year/i))return e[RELATIVE_WORD_GROUP].match(/week/i)?(R.add(-R.get("d"),"d"),i.start.imply("day",R.date()),i.start.imply("month",R.month()+1),i.start.imply("year",R.year())):e[RELATIVE_WORD_GROUP].match(/month/i)?(R.add(1-R.date(),"d"),i.start.imply("day",R.date()),i.start.assign("year",R.year()),i.start.assign("month",R.month()+1)):e[RELATIVE_WORD_GROUP].match(/year/i)&&(R.add(1-R.date(),"d"),R.add(-R.month(),"month"),i.start.imply("day",R.date()),i.start.imply("month",R.month()+1),i.start.assign("year",R.year())),i}return e[RELATIVE_WORD_GROUP].match(/day|week|month|year/i)?(e[RELATIVE_WORD_GROUP].match(/day/i)?(R.add(m,"d"),i.start.assign("year",R.year()),i.start.assign("month",R.month()+1),i.start.assign("day",R.date())):e[RELATIVE_WORD_GROUP].match(/week/i)?(R.add(7*m,"d"),i.start.imply("day",R.date()),i.start.imply("month",R.month()+1),i.start.imply("year",R.year())):e[RELATIVE_WORD_GROUP].match(/month/i)?(R.add(m,"month"),i.start.imply("day",R.date()),i.start.assign("year",R.year()),i.start.assign("month",R.month()+1)):e[RELATIVE_WORD_GROUP].match(/year/i)&&(R.add(m,"year"),i.start.imply("day",R.date()),i.start.imply("month",R.month()+1),i.start.assign("year",R.year())),i):(e[RELATIVE_WORD_GROUP].match(/hour/i)?(R.add(m,"hour"),i.start.imply("minute",R.minute()),i.start.imply("second",R.second())):e[RELATIVE_WORD_GROUP].match(/min/i)?(R.add(m,"minute"),i.start.assign("minute",R.minute()),i.start.imply("second",R.second())):e[RELATIVE_WORD_GROUP].match(/second/i)&&(R.add(m,"second"),i.start.assign("second",R.second()),i.start.assign("minute",R.minute())),i.start.assign("hour",R.hour()),i.start.assign("year",R.year()),i.start.assign("month",R.month()+1),i.start.assign("day",R.date()),i)}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],21:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)(?:(?:on\\s*?)?((?:sun|mon|tues?|wed(?:nes)?|thu(?:rs?)?|fri|sat(?:ur)?)(?:day)?)\\s*\\,?\\s*)?([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}s*,?s*|[0-9]{2}s*,?s*))?(\\W|$)","i"),DAYS_OFFSET={sunday:0,sun:0,monday:1,mon:1,tuesday:2,wednesday:3,wed:3,thursday:4,thur:4,friday:5,fri:5,saturday:6,sat:6},OPENNING_GROUP=1,ENDING_GROUP=6,WEEKDAY_GROUP=2,FIRST_NUMBERS_GROUP=3,SECOND_NUMBERS_GROUP=4,YEAR_GROUP=5;exports.Parser=function(e){Parser.apply(this,arguments),e=e||{};var r=e.littleEndian,t=r?SECOND_NUMBERS_GROUP:FIRST_NUMBERS_GROUP,s=r?FIRST_NUMBERS_GROUP:SECOND_NUMBERS_GROUP;this.pattern=function(){return PATTERN},this.extract=function(e,r,a,n){if("/"==a[OPENNING_GROUP]||"/"==a[ENDING_GROUP])return void(a.index+=a[0].length);var R=a.index+a[OPENNING_GROUP].length,e=a[0].substr(a[OPENNING_GROUP].length,a[0].length-a[ENDING_GROUP].length),P=new ParsedResult({text:e,index:R,ref:r});if(!e.match(/^\d\.\d$/)&&!e.match(/^\d\.\d{1,2}\.\d{1,2}$/)&&(a[YEAR_GROUP]||!(a[0].indexOf("/")<0))){var E=a[YEAR_GROUP]||moment(r).year()+"",N=a[t],O=a[s];if(N=parseInt(N),O=parseInt(O),E=parseInt(E),(N<1||N>12)&&N>12){if(!(O>=1&&O<=12&&N>=13&&N<=31))return null;var i=N;N=O,O=i}return O<1||O>31?null:(E<100&&(E+=E>50?1900:2e3),P.start.assign("day",O),P.start.assign("month",N),a[YEAR_GROUP]?P.start.assign("year",E):P.start.imply("year",E),a[WEEKDAY_GROUP]&&P.start.assign("weekday",DAYS_OFFSET[a[WEEKDAY_GROUP].toLowerCase()]),P.tags.ENSlashDateFormatParser=!0,P)}}};
    },{"../../result":65,"../parser":45,"moment":2}],22:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)([0-9]{4})[\\-\\.\\/]([0-9]{1,2})[\\-\\.\\/]([0-9]{1,2})(?=\\W|$)","i"),YEAR_NUMBER_GROUP=2,MONTH_NUMBER_GROUP=3,DATE_NUMBER_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,r,s){var t=r[0].substr(r[1].length),a=r.index+r[1].length,n=new ParsedResult({text:t,index:a,ref:e});return n.start.assign("year",parseInt(r[YEAR_NUMBER_GROUP])),n.start.assign("month",parseInt(r[MONTH_NUMBER_GROUP])),n.start.assign("day",parseInt(r[DATE_NUMBER_GROUP])),moment(n.start.get("month"))>12||moment(n.start.get("month"))<1||moment(n.start.get("day"))>31||moment(n.start.get("day"))<1?null:(n.tags.ENDateFormatParser=!0,n)}};
    },{"../../result":65,"../parser":45,"moment":2}],23:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(^|[^\\d/]\\s+|[^\\w\\s])([0-9]|0[1-9]|1[012])/([0-9]{4})([^\\d/]|$)","i"),OPENNING_GROUP=1,ENDING_GROUP=4,MONTH_GROUP=2,YEAR_GROUP=3;exports.Parser=function(r){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(r,e,t,s){var a=t.index+t[OPENNING_GROUP].length,r=t[0].substr(t[OPENNING_GROUP].length,t[0].length-(1+t[ENDING_GROUP].length)).trim(),n=new ParsedResult({text:r,index:a,ref:e}),P=t[YEAR_GROUP],N=t[MONTH_GROUP];return N=parseInt(N),P=parseInt(P),n.start.imply("day",1),n.start.assign("month",N),n.start.assign("year",P),n.tags.ENSlashMonthFormatParser=!0,n}};
    },{"../../result":65,"../parser":45,"moment":2}],24:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)(?:within\\s*)?("+util.TIME_UNIT_PATTERN+")(?:ago|before|earlier)(?=(?:\\W|$))","i"),STRICT_PATTERN=new RegExp("(\\W|^)(?:within\\s*)?("+util.TIME_UNIT_STRICT_PATTERN+")ago(?=(?:\\W|$))","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(t,e,r,a){if(r.index>0&&t[r.index-1].match(/\w/))return null;var t=r[0];t=r[0].substr(r[1].length,r[0].length-r[1].length);var s=r.index+r[1].length,i=new ParsedResult({index:s,text:t,ref:e}),n=util.extractDateTimeUnitFragments(r[2]),u=moment(e);for(var o in n)u.add(-n[o],o);return(n.hour>0||n.minute>0||n.second>0)&&(i.start.assign("hour",u.hour()),i.start.assign("minute",u.minute()),i.start.assign("second",u.second()),i.tags.ENTimeAgoFormatParser=!0),n.d>0||n.month>0||n.year>0?(i.start.assign("day",u.date()),i.start.assign("month",u.month()+1),i.start.assign("year",u.year())):(n.week>0&&i.start.imply("weekday",u.day()),i.start.imply("day",u.date()),i.start.imply("month",u.month()+1),i.start.imply("year",u.year())),i}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],25:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,ParsedComponents=require("../../result").ParsedComponents,FIRST_REG_PATTERN=new RegExp("(^|\\s|T)(?:(?:at|from)\\s*)??(\\d{1,4}|noon|midnight)(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\:|\\:)(\\d{2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?|O\\W*CLOCK))?(?=\\W|$)","i"),SECOND_REG_PATTERN=new RegExp("^\\s*(\\-|\\–|\\~|\\〜|to|\\?)\\s*(\\d{1,4})(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:\\.(\\d{1,6}))?)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?|O\\W*CLOCK))?(?=\\W|$)","i"),HOUR_GROUP=2,MINUTE_GROUP=3,SECOND_GROUP=4,MILLI_SECOND_GROUP=5,AM_PM_HOUR_GROUP=6;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return FIRST_REG_PATTERN},this.extract=function(e,r,t,n){if(t.index>0&&e[t.index-1].match(/\w/))return null;var s=moment(r),i=new ParsedResult;i.ref=r,i.index=t.index+t[1].length,i.text=t[0].substring(t[1].length),i.tags.ENTimeExpressionParser=!0,i.start.imply("day",s.date()),i.start.imply("month",s.month()+1),i.start.imply("year",s.year());var a=0,l=0,u=-1;if(null!=t[MILLI_SECOND_GROUP]){var d=parseInt(t[MILLI_SECOND_GROUP].substring(0,3));if(d>=1e3)return null;i.start.assign("millisecond",d)}if(null!=t[SECOND_GROUP]){var m=parseInt(t[SECOND_GROUP]);if(m>=60)return null;i.start.assign("second",m)}if("noon"==t[HOUR_GROUP].toLowerCase()?(u=1,a=12):"midnight"==t[HOUR_GROUP].toLowerCase()?(u=0,a=0):a=parseInt(t[HOUR_GROUP]),null!=t[MINUTE_GROUP]?l=parseInt(t[MINUTE_GROUP]):a>100&&(l=a%100,a=parseInt(a/100)),l>=60)return null;if(a>24)return null;if(a>=12&&(u=1),null!=t[AM_PM_HOUR_GROUP]){if(a>12)return null;var O=t[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==O&&(u=0,12==a&&(a=0)),"p"==O&&(u=1,12!=a&&(a+=12))}if(i.start.assign("hour",a),i.start.assign("minute",l),u>=0?i.start.assign("meridiem",u):a<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),!(t=SECOND_REG_PATTERN.exec(e.substring(i.index+i.text.length))))return i;if(t[0].match(/^\s*(\+|\-)\s*\d{3,4}$/))return i;null==i.end&&(i.end=new ParsedComponents(null,i.start.date()));var a=0,l=0,u=-1;if(null!=t[MILLI_SECOND_GROUP]){var d=parseInt(t[MILLI_SECOND_GROUP].substring(0,3));if(d>=1e3)return null;i.end.assign("millisecond",d)}if(null!=t[SECOND_GROUP]){var m=parseInt(t[SECOND_GROUP]);if(m>=60)return null;i.end.assign("second",m)}if(a=parseInt(t[2]),null!=t[MINUTE_GROUP]){if((l=parseInt(t[MINUTE_GROUP]))>=60)return i}else a>100&&(l=a%100,a=parseInt(a/100));if(l>=60)return null;if(a>24)return null;if(a>=12&&(u=1),null!=t[AM_PM_HOUR_GROUP]){if(a>12)return null;var O=t[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==O&&(u=0,12==a&&(a=0,i.end.isCertain("day")||i.end.imply("day",i.end.get("day")+1))),"p"==O&&(u=1,12!=a&&(a+=12)),i.start.isCertain("meridiem")||(0==u?(i.start.imply("meridiem",0),12==i.start.get("hour")&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),12!=i.start.get("hour")&&i.start.assign("hour",i.start.get("hour")+12)))}if(i.text=i.text+t[0],i.end.assign("hour",a),i.end.assign("minute",l),u>=0)i.end.assign("meridiem",u);else{i.start.isCertain("meridiem")&&1==i.start.get("meridiem")&&i.start.get("hour")>a?i.end.imply("meridiem",0):a>12&&i.end.imply("meridiem",1)}return i.end.date().getTime()<i.start.date().getTime()&&i.end.imply("day",i.end.get("day")+1),i}};
    },{"../../result":65,"../parser":45,"moment":2}],26:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/EN"),PATTERN=new RegExp("(\\W|^)("+util.TIME_UNIT_PATTERN+")(?:later|after|from now|henceforth|forward|out)(?=(?:\\W|$))","i"),STRICT_PATTERN=new RegExp("(\\W|^)("+util.TIME_UNIT_STRICT_PATTERN+")(?:later|from now)(?=(?:\\W|$))","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(t,e,r,a){if(r.index>0&&t[r.index-1].match(/\w/))return null;var t=r[0];t=r[0].substr(r[1].length,r[0].length-r[1].length),index=r.index+r[1].length;var n=new ParsedResult({index:index,text:t,ref:e}),s=util.extractDateTimeUnitFragments(r[2]),i=moment(e);for(var o in s)i.add(s[o],o);return(s.hour>0||s.minute>0||s.second>0)&&(n.start.assign("hour",i.hour()),n.start.assign("minute",i.minute()),n.start.assign("second",i.second()),n.tags.ENTimeAgoFormatParser=!0),s.d>0||s.month>0||s.year>0?(n.start.assign("day",i.date()),n.start.assign("month",i.month()+1),n.start.assign("year",i.year())):(s.week>0&&n.start.imply("weekday",i.day()),n.start.imply("day",i.date()),n.start.imply("month",i.month()+1),n.start.imply("year",i.year())),n}};
    },{"../../result":65,"../../utils/EN":67,"../parser":45,"moment":2}],27:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,DAYS_OFFSET={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tues:2,tue:2,wednesday:3,wed:3,thursday:4,thurs:4,thur:4,thu:4,friday:5,fri:5,saturday:6,sat:6},PATTERN=new RegExp("(\\W|^)(?:(?:\\,|\\(|\\()\\s*)?(?:on\\s*?)?(?:(this|last|past|next)\\s*)?("+Object.keys(DAYS_OFFSET).join("|")+")(?:\\s*(?:\\,|\\)|\\)))?(?:\\s*(this|last|past|next)\\s*week)?(?=\\W|$)","i"),PREFIX_GROUP=2,WEEKDAY_GROUP=3,POSTFIX_GROUP=4;exports.updateParsedComponent=function(t,e,a,s){var r=moment(e),n=!1,d=r.day();return"last"==s||"past"==s?(r.day(a-7),n=!0):"next"==s?(r.day(a+7),n=!0):"this"==s?r.day(a):Math.abs(a-7-d)<Math.abs(a-d)?r.day(a-7):Math.abs(a+7-d)<Math.abs(a-d)?r.day(a+7):r.day(a),t.start.assign("weekday",a),n?(t.start.assign("day",r.date()),t.start.assign("month",r.month()+1),t.start.assign("year",r.year())):(t.start.imply("day",r.date()),t.start.imply("month",r.month()+1),t.start.imply("year",r.year())),t},exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,a,s){var r=a.index+a[1].length,t=a[0].substr(a[1].length,a[0].length-a[1].length),n=new ParsedResult({index:r,text:t,ref:e}),d=a[WEEKDAY_GROUP].toLowerCase(),u=DAYS_OFFSET[d];if(void 0===u)return null;var i=a[PREFIX_GROUP],o=a[POSTFIX_GROUP],y=i||o;return y=y||"",y=y.toLowerCase(),exports.updateParsedComponent(n,e,u,y),n.tags.ENWeekdayParser=!0,n}};
    },{"../../result":65,"../parser":45,"moment":2}],28:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)(ahora|esta\s*(mañana|tarde|noche)|(ayer|mañana)\s*por\s*la\s*(mañana|tarde|noche)|hoy|mañana|ayer|anoche)(?=\W|$)/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(a,e,r,t){var a=r[0].substr(r[1].length),s=r.index+r[1].length,o=new ParsedResult({index:s,text:a,ref:e}),i=moment(e),n=i.clone(),m=a.toLowerCase().replace(/\s+/g," ");if("mañana"==m)i.hour()>1&&n.add(1,"day");else if("ayer"==m)n.add(-1,"day");else if("anoche"==m)o.start.imply("hour",0),i.hour()>6&&n.add(-1,"day");else if(m.match("esta")){var l=r[3].toLowerCase();"tarde"==l?o.start.imply("hour",18):"mañana"==l?o.start.imply("hour",6):"noche"==l&&(o.start.imply("hour",22),o.start.imply("meridiem",1))}else if(m.match(/por\s*la/)){var d=r[4].toLowerCase();"ayer"===d?n.add(-1,"day"):"mañana"===d&&n.add(1,"day");var l=r[5].toLowerCase();"tarde"==l?o.start.imply("hour",18):"mañana"==l?o.start.imply("hour",9):"noche"==l&&(o.start.imply("hour",22),o.start.imply("meridiem",1))}else m.match("ahora")&&(o.start.imply("hour",i.hour()),o.start.imply("minute",i.minute()),o.start.imply("second",i.second()),o.start.imply("millisecond",i.millisecond()));return o.start.assign("day",n.date()),o.start.assign("month",n.month()+1),o.start.assign("year",n.year()),o.tags.ESCasualDateParser=!0,o}};
    },{"../../result":65,"../parser":45,"moment":2}],29:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)(dentro\s*de|en)\s*([0-9]+|medi[oa]|una?)\s*(minutos?|horas?|d[ií]as?)\s*(?=(?:\W|$))/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,a,r,e){var s=r.index+r[1].length,t=r[0];t=r[0].substr(r[1].length,r[0].length-r[1].length);var n=new ParsedResult({index:s,text:t,ref:a}),i=parseInt(r[3]);isNaN(i)&&(i=r[3].match(/medi/)?.5:1);var m=moment(a);return r[4].match(/d[ií]a/)?(m.add(i,"d"),n.start.assign("year",m.year()),n.start.assign("month",m.month()+1),n.start.assign("day",m.date()),n):(r[4].match(/hora/)?m.add(i,"hour"):r[4].match(/minuto/)&&m.add(i,"minute"),n.start.imply("year",m.year()),n.start.imply("month",m.month()+1),n.start.imply("day",m.date()),n.start.assign("hour",m.hour()),n.start.assign("minute",m.minute()),n.tags.ESDeadlineFormatParser=!0,n)}};
    },{"../../result":65,"../parser":45,"moment":2}],30:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/ES"),DAYS_OFFSET=util.WEEKDAY_OFFSET,PATTERN=new RegExp("(\\W|^)(?:(Domingo|Lunes|Martes|Miércoles|Miercoles|Jueves|Viernes|Sábado|Sabado|Dom|Lun|Mar|Mie|Jue|Vie|Sab)\\s*,?\\s*)?([0-9]{1,2})(?:º|ª|°)?(?:\\s*(?:desde|de|\\-|\\–|al?|hasta|\\s)\\s*([0-9]{1,2})(?:º|ª|°)?)?\\s*(?:de)?\\s*(Ene(?:ro|\\.)?|Feb(?:rero|\\.)?|Mar(?:zo|\\.)?|Abr(?:il|\\.)?|May(?:o|\\.)?|Jun(?:io|\\.)?|Jul(?:io|\\.)?|Ago(?:sto|\\.)?|Sep(?:tiembre|\\.)?|Set(?:iembre|\\.)?|Oct(?:ubre|\\.)?|Nov(?:iembre|\\.)?|Dic(?:iembre|\\.)?)(?:\\s*(?:del?)?(\\s*[0-9]{1,4}(?![^\\s]\\d))(\\s*[ad]\\.?\\s*c\\.?|a\\.?\\s*d\\.?)?)?(?=\\W|$)","i"),WEEKDAY_GROUP=2,DATE_GROUP=3,DATE_TO_GROUP=4,MONTH_NAME_GROUP=5,YEAR_GROUP=6,YEAR_BE_GROUP=7;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,s,a){var r=new ParsedResult({text:s[0].substr(s[1].length,s[0].length-s[1].length),index:s.index+s[1].length,ref:t}),n=s[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=s[DATE_GROUP];i=parseInt(i);var o=null;if(s[YEAR_GROUP]&&(o=s[YEAR_GROUP],o=parseInt(o),s[YEAR_BE_GROUP]?/a\.?\s*c\.?/i.test(s[YEAR_BE_GROUP])&&(o=-o):o<100&&(o+=2e3)),o)r.start.assign("day",i),r.start.assign("month",n),r.start.assign("year",o);else{var E=moment(t);E.month(n-1),E.date(i),E.year(moment(t).year());var d=E.clone().add(1,"y"),l=E.clone().add(-1,"y");Math.abs(d.diff(moment(t)))<Math.abs(E.diff(moment(t)))?E=d:Math.abs(l.diff(moment(t)))<Math.abs(E.diff(moment(t)))&&(E=l),r.start.assign("day",i),r.start.assign("month",n),r.start.imply("year",E.year())}if(s[WEEKDAY_GROUP]){var R=s[WEEKDAY_GROUP];R=util.WEEKDAY_OFFSET[R.toLowerCase()],r.start.assign("weekday",R)}return s[DATE_TO_GROUP]&&(r.end=r.start.clone(),r.end.assign("day",parseInt(s[DATE_TO_GROUP]))),r.tags.ESMonthNameLittleEndianParser=!0,r}};
    },{"../../result":65,"../../utils/ES":68,"../parser":45,"moment":2}],31:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)(?:((?:domingo|dom|lunes|lun|martes|mar|mi[ée]rcoles|mie|jueves|jue|viernes|vie|s[áa]bado|sab))\\s*\\,?\\s*)?([0-1]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}s*,?s*|[0-9]{2}s*,?s*))?(\\W|$)","i"),DAYS_OFFSET={domingo:0,dom:0,lunes:1,lun:1,martes:2,mar:2,miercoles:3,"miércoles":3,mie:3,jueves:4,jue:4,viernes:5,vier:5,"sábado":6,sabado:6,sab:6},OPENNING_GROUP=1,ENDING_GROUP=6,WEEKDAY_GROUP=2,MONTH_GROUP=4,DAY_GROUP=3,YEAR_GROUP=5;exports.Parser=function(e){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,s,t){if("/"==s[OPENNING_GROUP]||"/"==s[ENDING_GROUP])return void(s.index+=s[0].length);var a=s.index+s[OPENNING_GROUP].length,e=s[0].substr(s[OPENNING_GROUP].length,s[0].length-s[ENDING_GROUP].length),n=new ParsedResult({text:e,index:a,ref:r});if(!e.match(/^\d\.\d$/)&&!e.match(/^\d\.\d{1,2}\.\d{1,2}$/)&&(s[YEAR_GROUP]||!(s[0].indexOf("/")<0))){var i=s[YEAR_GROUP]||moment(r).year()+"",P=s[MONTH_GROUP],O=s[DAY_GROUP];if(P=parseInt(P),O=parseInt(O),i=parseInt(i),(P<1||P>12)&&P>12){if(!(O>=1&&O<=12&&P>=13&&P<=31))return null;var R=P;P=O,O=R}return O<1||O>31?null:(i<100&&(i+=i>50?1900:2e3),n.start.assign("day",O),n.start.assign("month",P),n.start.assign("year",i),s[WEEKDAY_GROUP]&&n.start.assign("weekday",DAYS_OFFSET[s[WEEKDAY_GROUP].toLowerCase()]),n.tags.ESSlashDateFormatParser=!0,n)}}};
    },{"../../result":65,"../parser":45,"moment":2}],32:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)hace\s*([0-9]+|medi[oa]|una?)\s*(minutos?|horas?|semanas?|d[ií]as?|mes(es)?|años?)(?=(?:\W|$))/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(a,t,e,r){if(e.index>0&&a[e.index-1].match(/\w/))return null;var a=e[0];a=e[0].substr(e[1].length,e[0].length-e[1].length),index=e.index+e[1].length;var s=new ParsedResult({index:index,text:a,ref:t}),n=parseInt(e[2]);isNaN(n)&&(n=e[2].match(/medi/)?.5:1);var m=moment(t);return e[3].match(/hora/)||e[3].match(/minuto/)?(e[3].match(/hora/)?m.add(-n,"hour"):e[3].match(/minuto/)&&m.add(-n,"minute"),s.start.imply("day",m.date()),s.start.imply("month",m.month()+1),s.start.imply("year",m.year()),s.start.assign("hour",m.hour()),s.start.assign("minute",m.minute()),s.tags.ESTimeAgoFormatParser=!0,s):e[3].match(/semana/)?(m.add(-n,"week"),s.start.imply("day",m.date()),s.start.imply("month",m.month()+1),s.start.imply("year",m.year()),s.start.imply("weekday",m.day()),s):(e[3].match(/d[ií]a/)&&m.add(-n,"d"),e[3].match(/mes/)&&m.add(-n,"month"),e[3].match(/año/)&&m.add(-n,"year"),s.start.assign("day",m.date()),s.start.assign("month",m.month()+1),s.start.assign("year",m.year()),s)}};
    },{"../../result":65,"../parser":45,"moment":2}],33:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,ParsedComponents=require("../../result").ParsedComponents,FIRST_REG_PATTERN=new RegExp("(^|\\s|T)(?:(?:a las?|al?|desde|de)\\s*)?(\\d{1,4}|mediod[ií]a|medianoche)(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\:|\\:)(\\d{2}))?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),SECOND_REG_PATTERN=new RegExp("^\\s*(\\-|\\–|\\~|\\〜|a(?:s*las)?|\\?)\\s*(\\d{1,4})(?:(?:\\.|\\:|\\:)(\\d{1,2})(?:(?:\\.|\\:|\\:)(\\d{1,2}))?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),HOUR_GROUP=2,MINUTE_GROUP=3,SECOND_GROUP=4,AM_PM_HOUR_GROUP=5;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return FIRST_REG_PATTERN},this.extract=function(e,t,r,n){if(r.index>0&&e[r.index-1].match(/\w/))return null;var s=moment(t),a=new ParsedResult;a.ref=t,a.index=r.index+r[1].length,a.text=r[0].substring(r[1].length),a.tags.ESTimeExpressionParser=!0,a.start.imply("day",s.date()),a.start.imply("month",s.month()+1),a.start.imply("year",s.year());var i=0,d=0,l=-1;if(null!=r[SECOND_GROUP]){var u=parseInt(r[SECOND_GROUP]);if(u>=60)return null;a.start.assign("second",u)}if(r[HOUR_GROUP].toLowerCase().match(/mediod/)?(l=1,i=12):"medianoche"==r[HOUR_GROUP].toLowerCase()?(l=0,i=0):i=parseInt(r[HOUR_GROUP]),null!=r[MINUTE_GROUP]?d=parseInt(r[MINUTE_GROUP]):i>100&&(d=i%100,i=parseInt(i/100)),d>=60)return null;if(i>24)return null;if(i>=12&&(l=1),null!=r[AM_PM_HOUR_GROUP]){if(i>12)return null;var P=r[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==P&&(l=0,12==i&&(i=0)),"p"==P&&(l=1,12!=i&&(i+=12))}if(a.start.assign("hour",i),a.start.assign("minute",d),l>=0&&a.start.assign("meridiem",l),!(r=SECOND_REG_PATTERN.exec(e.substring(a.index+a.text.length))))return a.text.match(/^\d+$/)?null:a;if(r[0].match(/^\s*(\+|\-)\s*\d{3,4}$/))return a;null==a.end&&(a.end=new ParsedComponents(null,a.start.date()));var i=0,d=0,l=-1;if(null!=r[SECOND_GROUP]){var u=parseInt(r[SECOND_GROUP]);if(u>=60)return null;a.end.assign("second",u)}if(i=parseInt(r[2]),null!=r[MINUTE_GROUP]){if((d=parseInt(r[MINUTE_GROUP]))>=60)return a}else i>100&&(d=i%100,i=parseInt(i/100));if(d>=60)return null;if(i>24)return null;if(i>=12&&(l=1),null!=r[AM_PM_HOUR_GROUP]){if(i>12)return null;"a"==r[AM_PM_HOUR_GROUP][0].toLowerCase()&&(l=0,12==i&&(i=0,a.end.isCertain("day")||a.end.imply("day",a.end.get("day")+1))),"p"==r[AM_PM_HOUR_GROUP][0].toLowerCase()&&(l=1,12!=i&&(i+=12)),a.start.isCertain("meridiem")||(0==l?(a.start.imply("meridiem",0),12==a.start.get("hour")&&a.start.assign("hour",0)):(a.start.imply("meridiem",1),12!=a.start.get("hour")&&a.start.assign("hour",a.start.get("hour")+12)))}else i>=12&&(l=1);return a.text=a.text+r[0],a.end.assign("hour",i),a.end.assign("minute",d),l>=0&&a.end.assign("meridiem",l),a.end.date().getTime()<a.start.date().getTime()&&a.end.imply("day",a.end.get("day")+1),a}};
    },{"../../result":65,"../parser":45,"moment":2}],34:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,updateParsedComponent=require("../en/ENWeekdayParser").updateParsedComponent,DAYS_OFFSET={domingo:0,dom:0,lunes:1,lun:1,martes:2,mar:2,miercoles:3,"miércoles":3,mie:3,jueves:4,jue:4,viernes:5,vier:5,sabado:6,"sábado":6,sab:6},PATTERN=new RegExp("(\\W|^)(?:(?:\\,|\\(|\\()\\s*)?(?:(este|pasado|pr[oó]ximo)\\s*)?("+Object.keys(DAYS_OFFSET).join("|")+")(?:\\s*(?:\\,|\\)|\\)))?(?:\\s*(este|pasado|pr[óo]ximo)\\s*week)?(?=\\W|$)","i"),PREFIX_GROUP=2,WEEKDAY_GROUP=3,POSTFIX_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,s,t){var a=s.index+s[1].length,e=s[0].substr(s[1].length,s[0].length-s[1].length),n=new ParsedResult({index:a,text:e,ref:r}),o=s[WEEKDAY_GROUP].toLowerCase(),i=DAYS_OFFSET[o];if(void 0===i)return null;var u=null,P=s[PREFIX_GROUP],d=s[POSTFIX_GROUP];if(P||d){var p=P||d;p=p.toLowerCase(),"pasado"==p?u="this":"próximo"==p||"proximo"==p?u="next":"este"==p&&(u="this")}return updateParsedComponent(n,r,i,u),n.tags.ESWeekdayParser=!0,n}};
    },{"../../result":65,"../en/ENWeekdayParser":27,"../parser":45,"moment":2}],35:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)(maintenant|aujourd'hui|ajd|cette\s*nuit|la\s*veille|(demain|hier)(\s*(matin|soir|aprem|après-midi))?|ce\s*(matin|soir)|cet\s*(après-midi|aprem))(?=\W|$)/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,a,r,e){var t=r[0].substr(r[1].length),s=r.index+r[1].length,i=new ParsedResult({index:s,text:t,ref:a}),m=moment(a),n=m.clone(),u=t.toLowerCase();return u.match(/demain/)&&m.hour()>1&&n.add(1,"day"),u.match(/hier/)&&n.add(-1,"day"),u.match(/cette\s*nuit/)?(i.start.imply("hour",22),i.start.imply("meridiem",1)):u.match(/la\s*veille/)?(i.start.imply("hour",0),m.hour()>6&&n.add(-1,"day")):u.match(/(après-midi|aprem)/)?i.start.imply("hour",14):u.match(/(soir)/)?i.start.imply("hour",18):u.match(/matin/)?i.start.imply("hour",8):u.match("maintenant")&&(i.start.imply("hour",m.hour()),i.start.imply("minute",m.minute()),i.start.imply("second",m.second()),i.start.imply("millisecond",m.millisecond())),i.start.assign("day",n.date()),i.start.assign("month",n.month()+1),i.start.assign("year",n.year()),i.tags.FRCasualDateParser=!0,i}};
    },{"../../result":65,"../parser":45,"moment":2}],36:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/FR"),PATTERN=new RegExp("(\\W|^)(dans|en)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|une?|(?:\\s*quelques)?|demi(?:\\s*|-?)?)\\s*(secondes?|min(?:ute)?s?|heures?|jours?|semaines?|mois|années?)\\s*(?=\\W|$)","i"),STRICT_PATTERN=new RegExp("(\\W|^)(dans|en)\\s*("+util.INTEGER_WORDS_PATTERN+"|[0-9]+|un?)\\s*(secondes?|minutes?|heures?|jours?)\\s*(?=\\W|$)","i");exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return this.isStrictMode()?STRICT_PATTERN:PATTERN},this.extract=function(e,s,t,a){var r=t.index+t[1].length,e=t[0];e=t[0].substr(t[1].length,t[0].length-t[1].length);var n=new ParsedResult({index:r,text:e,ref:s}),i=t[3];i=void 0!==util.INTEGER_WORDS[i]?util.INTEGER_WORDS[i]:"un"===i||"une"===i?1:i.match(/quelques?/i)?3:i.match(/demi-?/i)?.5:parseInt(i);var u=moment(s);return t[4].match(/jour|semaine|mois|année/i)?(t[4].match(/jour/)?u.add(i,"d"):t[4].match(/semaine/i)?u.add(7*i,"d"):t[4].match(/mois/i)?u.add(i,"month"):t[4].match(/année/i)&&u.add(i,"year"),n.start.assign("year",u.year()),n.start.assign("month",u.month()+1),n.start.assign("day",u.date()),n):(t[4].match(/heure/i)?u.add(i,"hour"):t[4].match(/min/i)?u.add(i,"minutes"):t[4].match(/secondes/i)&&u.add(i,"second"),n.start.imply("year",u.year()),n.start.imply("month",u.month()+1),n.start.imply("day",u.date()),n.start.assign("hour",u.hour()),n.start.assign("minute",u.minute()),n.start.assign("second",u.second()),n.tags.FRDeadlineFormatParser=!0,n)}};
    },{"../../result":65,"../../utils/FR":69,"../parser":45,"moment":2}],37:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/FR"),DAYS_OFFSET=util.WEEKDAY_OFFSET,PATTERN=new RegExp("(\\W|^)(?:(Dimanche|Lundi|Mardi|mercredi|Jeudi|Vendredi|Samedi|Dim|Lun|Mar|Mer|Jeu|Ven|Sam)\\s*,?\\s*)?([0-9]{1,2}|1er)(?:\\s*(?:au|\\-|\\–|jusqu'au?|\\s)\\s*([0-9]{1,2})(?:er)?)?\\s*(?:de)?\\s*(Jan(?:vier|\\.)?|F[ée]v(?:rier|\\.)?|Mars|Avr(?:il|\\.)?|Mai|Juin|Juil(?:let|\\.)?|Ao[uû]t|Sept(?:embre|\\.)?|Oct(?:obre|\\.)?|Nov(?:embre|\\.)?|d[ée]c(?:embre|\\.)?)(?:\\s*(\\s*[0-9]{1,4}(?![^\\s]\\d))(?:\\s*(AC|[ap]\\.?\\s*c(?:h(?:r)?)?\\.?\\s*n\\.?))?)?(?=\\W|$)","i"),WEEKDAY_GROUP=2,DATE_GROUP=3,DATE_TO_GROUP=4,MONTH_NAME_GROUP=5,YEAR_GROUP=6,YEAR_BE_GROUP=7;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,t,a){var s=new ParsedResult({text:t[0].substr(t[1].length,t[0].length-t[1].length),index:t.index+t[1].length,ref:r}),n=t[MONTH_NAME_GROUP];n=util.MONTH_OFFSET[n.toLowerCase()];var i=t[DATE_GROUP];i=parseInt(i);var E=null;if(t[YEAR_GROUP]&&(E=t[YEAR_GROUP],E=parseInt(E),t[YEAR_BE_GROUP]?/a/i.test(t[YEAR_BE_GROUP])&&(E=-E):E<100&&(E+=2e3)),E)s.start.assign("day",i),s.start.assign("month",n),s.start.assign("year",E);else{var d=moment(r);d.month(n-1),d.date(i),d.year(moment(r).year());var u=d.clone().add(1,"y"),R=d.clone().add(-1,"y");Math.abs(u.diff(moment(r)))<Math.abs(d.diff(moment(r)))?d=u:Math.abs(R.diff(moment(r)))<Math.abs(d.diff(moment(r)))&&(d=R),s.start.assign("day",i),s.start.assign("month",n),s.start.imply("year",d.year())}if(t[WEEKDAY_GROUP]){var m=t[WEEKDAY_GROUP];m=util.WEEKDAY_OFFSET[m.toLowerCase()],s.start.assign("weekday",m)}return t[DATE_TO_GROUP]&&(s.end=s.start.clone(),s.end.assign("day",parseInt(t[DATE_TO_GROUP]))),s.tags.FRMonthNameLittleEndianParser=!0,s}};
    },{"../../result":65,"../../utils/FR":69,"../parser":45,"moment":2}],38:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/FR"),originalLocale=moment.locale();require("moment/locale/fr"),moment.locale(originalLocale);var PATTERN=new RegExp("(\\W|^)(?:les?|la|l'|du|des?)\\s*("+util.INTEGER_WORDS_PATTERN+"|\\d+)?\\s*(prochaine?s?|derni[eè]re?s?|pass[ée]e?s?|pr[ée]c[ée]dents?|suivante?s?)?\\s*(secondes?|min(?:ute)?s?|heures?|jours?|semaines?|mois|trimestres?|années?)\\s*(prochaine?s?|derni[eè]re?s?|pass[ée]e?s?|pr[ée]c[ée]dents?|suivante?s?)?(?=\\W|$)","i"),MULTIPLIER_GROUP=2,MODIFIER_1_GROUP=3,RELATIVE_WORD_GROUP=4,MODIFIER_2_GROUP=5;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,s,a,t){var r=a.index+a[1].length,e=a[0];e=a[0].substr(a[1].length,a[0].length-a[1].length);var n=void 0===a[MULTIPLIER_GROUP]?"1":a[MULTIPLIER_GROUP];n=void 0!==util.INTEGER_WORDS[n]?util.INTEGER_WORDS[n]:parseInt(n);var d=void 0===a[MODIFIER_1_GROUP]?void 0===a[MODIFIER_2_GROUP]?"":a[MODIFIER_2_GROUP].toLowerCase():a[MODIFIER_1_GROUP].toLowerCase();if(d){var i=new ParsedResult({index:r,text:e,ref:s});i.tags.FRRelativeDateFormatParser=!0;var o;switch(!0){case/prochaine?s?/.test(d):case/suivants?/.test(d):o=1;break;case/derni[eè]re?s?/.test(d):case/pass[ée]e?s?/.test(d):case/pr[ée]c[ée]dents?/.test(d):o=-1}var c=n*o,l=moment(s),u=moment(s);l.locale("fr"),u.locale("fr");var R,m=a[RELATIVE_WORD_GROUP];switch(!0){case/secondes?/.test(m):l.add(c,"s"),u.add(o,"s"),R="second";break;case/min(?:ute)?s?/.test(m):l.add(c,"m"),u.add(o,"m"),R="minute";break;case/heures?/.test(m):l.add(c,"h"),u.add(o,"h"),R="hour";break;case/jours?/.test(m):l.add(c,"d"),u.add(o,"d"),R="day";break;case/semaines?/.test(m):l.add(c,"w"),u.add(o,"w"),R="week";break;case/mois?/.test(m):l.add(c,"M"),u.add(o,"M"),R="month";break;case/trimestres?/.test(m):l.add(c,"Q"),u.add(o,"Q"),R="quarter";break;case/années?/.test(m):l.add(c,"y"),u.add(o,"y"),R="year"}if(o>0){var h=l;l=u,u=h}return l.startOf(R),u.endOf(R),i.start.assign("year",l.year()),i.start.assign("month",l.month()+1),i.start.assign("day",l.date()),i.start.assign("minute",l.minute()),i.start.assign("second",l.second()),i.start.assign("hour",l.hour()),i.start.assign("millisecond",l.millisecond()),i.end=i.start.clone(),i.end.assign("year",u.year()),i.end.assign("month",u.month()+1),i.end.assign("day",u.date()),i.end.assign("minute",u.minute()),i.end.assign("second",u.second()),i.end.assign("hour",u.hour()),i.end.assign("millisecond",u.millisecond()),i}}};
    },{"../../result":65,"../../utils/FR":69,"../parser":45,"moment":2,"moment/locale/fr":1}],39:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(\\W|^)(?:((?:dimanche|dim|lundi|lun|mardi|mar|mercredi|mer|jeudi|jeu|vendredi|ven|samedi|sam|le))\\s*\\,?\\s*)?([0-3]{0,1}[0-9]{1})[\\/\\.\\-]([0-3]{0,1}[0-9]{1})(?:[\\/\\.\\-]([0-9]{4}s*,?s*|[0-9]{2}s*,?s*))?(\\W|$)","i"),DAYS_OFFSET={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6},OPENNING_GROUP=1,ENDING_GROUP=6,WEEKDAY_GROUP=2,DAY_GROUP=3,MONTH_GROUP=4,YEAR_GROUP=5,YEAR_BE_GROUP=6;exports.Parser=function(e){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,a,t){if("/"==a[OPENNING_GROUP]||"/"==a[ENDING_GROUP])return void(a.index+=a[0].length);var s=a.index+a[OPENNING_GROUP].length,e=a[0].substr(a[OPENNING_GROUP].length,a[0].length-a[ENDING_GROUP].length),n=new ParsedResult({text:e,index:s,ref:r});if(!e.match(/^\d\.\d$/)&&!e.match(/^\d\.\d{1,2}\.\d{1,2}$/)&&(a[YEAR_GROUP]||!(a[0].indexOf("/")<0))){var i=a[MONTH_GROUP],d=a[DAY_GROUP];d=parseInt(d),i=parseInt(i);var m=null;if(a[YEAR_GROUP]&&(m=a[YEAR_GROUP],m=parseInt(m),a[YEAR_BE_GROUP]?/a/i.test(a[YEAR_BE_GROUP])&&(m=-m):m<100&&(m+=2e3)),(i<1||i>12)&&i>12){if(!(d>=1&&d<=12&&i>=13&&i<=31))return null;var P=i;i=d,d=P}if(d<1||d>31)return null;if(m)n.start.assign("day",d),n.start.assign("month",i),n.start.assign("year",m);else{var R=moment(r);R.month(i-1),R.date(d),R.year(moment(r).year());var O=R.clone().add(1,"y"),E=R.clone().add(-1,"y");Math.abs(O.diff(moment(r)))<Math.abs(R.diff(moment(r)))?R=O:Math.abs(E.diff(moment(r)))<Math.abs(R.diff(moment(r)))&&(R=E),n.start.assign("day",d),n.start.assign("month",i),n.start.imply("year",R.year())}return a[WEEKDAY_GROUP]&&n.start.assign("weekday",DAYS_OFFSET[a[WEEKDAY_GROUP].toLowerCase()]),n.tags.FRSlashDateFormatParser=!0,n}}};
    },{"../../result":65,"../parser":45,"moment":2}],40:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/(\W|^)il y a\s*([0-9]+|une?)\s*(minutes?|heures?|semaines?|jours?|mois|années?|ans?)(?=(?:\W|$))/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,e,a,r){if(a.index>0&&t[a.index-1].match(/\w/))return null;var t=a[0];t=a[0].substr(a[1].length,a[0].length-a[1].length),index=a.index+a[1].length;var s=new ParsedResult({index:index,text:t,ref:e});s.tags.FRTimeAgoFormatParser=!0;var n=parseInt(a[2]);isNaN(n)&&(n=a[2].match(/demi/)?.5:1);var i=moment(e);return a[3].match(/heure/)||a[3].match(/minute/)?(a[3].match(/heure/)?i.add(-n,"hour"):a[3].match(/minute/)&&i.add(-n,"minute"),s.start.imply("day",i.date()),s.start.imply("month",i.month()+1),s.start.imply("year",i.year()),s.start.assign("hour",i.hour()),s.start.assign("minute",i.minute()),s):a[3].match(/semaine/)?(i.add(-n,"week"),s.start.imply("day",i.date()),s.start.imply("month",i.month()+1),s.start.imply("year",i.year()),s.start.imply("weekday",i.day()),s):(a[3].match(/jour/)&&i.add(-n,"d"),a[3].match(/mois/)&&i.add(-n,"month"),a[3].match(/années?|ans?/)&&i.add(-n,"year"),s.start.assign("day",i.date()),s.start.assign("month",i.month()+1),s.start.assign("year",i.year()),s)}};
    },{"../../result":65,"../parser":45,"moment":2}],41:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,ParsedComponents=require("../../result").ParsedComponents,FIRST_REG_PATTERN=new RegExp("(^|\\s|T)(?:(?:[àa])\\s*)?(\\d{1,2}(?:h)?|midi|minuit)(?:(?:\\.|\\:|\\:|h)(\\d{1,2})(?:m)?(?:(?:\\:|\\:|m)(\\d{0,2})(?:s)?)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),SECOND_REG_PATTERN=new RegExp("^\\s*(\\-|\\–|\\~|\\〜|[àa]|\\?)\\s*(\\d{1,2}(?:h)?)(?:(?:\\.|\\:|\\:|h)(\\d{1,2})(?:m)?(?:(?:\\.|\\:|\\:|m)(\\d{1,2})(?:s)?)?)?(?:\\s*(A\\.M\\.|P\\.M\\.|AM?|PM?))?(?=\\W|$)","i"),HOUR_GROUP=2,MINUTE_GROUP=3,SECOND_GROUP=4,AM_PM_HOUR_GROUP=5;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return FIRST_REG_PATTERN},this.extract=function(e,t,r,n){if(r.index>0&&e[r.index-1].match(/\w/))return null;var s=moment(t),a=new ParsedResult;a.ref=t,a.index=r.index+r[1].length,a.text=r[0].substring(r[1].length),a.tags.FRTimeExpressionParser=!0,a.start.imply("day",s.date()),a.start.imply("month",s.month()+1),a.start.imply("year",s.year());var i=0,u=0,l=-1;if(null!=r[SECOND_GROUP]){var d=parseInt(r[SECOND_GROUP]);if(d>=60)return null;a.start.assign("second",d)}if("midi"==r[HOUR_GROUP].toLowerCase()?(l=1,i=12):"minuit"==r[HOUR_GROUP].toLowerCase()?(l=0,i=0):i=parseInt(r[HOUR_GROUP]),null!=r[MINUTE_GROUP]?u=parseInt(r[MINUTE_GROUP]):i>100&&(u=i%100,i=parseInt(i/100)),u>=60)return null;if(i>24)return null;if(i>=12&&(l=1),null!=r[AM_PM_HOUR_GROUP]){if(i>12)return null;var R=r[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==R&&(l=0,12==i&&(i=0)),"p"==R&&(l=1,12!=i&&(i+=12))}if(a.start.assign("hour",i),a.start.assign("minute",u),l>=0&&a.start.assign("meridiem",l),!(r=SECOND_REG_PATTERN.exec(e.substring(a.index+a.text.length))))return a.text.match(/^\d+$/)?null:a;if(r[0].match(/^\s*(\+|\-)\s*\d{3,4}$/))return a;null==a.end&&(a.end=new ParsedComponents(null,a.start.date()));var i=0,u=0,l=-1;if(null!=r[SECOND_GROUP]){var d=parseInt(r[SECOND_GROUP]);if(d>=60)return null;a.end.assign("second",d)}if(i=parseInt(r[2]),null!=r[MINUTE_GROUP]){if((u=parseInt(r[MINUTE_GROUP]))>=60)return a}else i>100&&(u=i%100,i=parseInt(i/100));if(u>=60)return null;if(i>24)return null;if(i>=12&&(l=1),null!=r[AM_PM_HOUR_GROUP]){if(i>12)return null;"a"==r[AM_PM_HOUR_GROUP][0].toLowerCase()&&(l=0,12==i&&(i=0,a.end.isCertain("day")||a.end.imply("day",a.end.get("day")+1))),"p"==r[AM_PM_HOUR_GROUP][0].toLowerCase()&&(l=1,12!=i&&(i+=12)),a.start.isCertain("meridiem")||(0==l?(a.start.imply("meridiem",0),12==a.start.get("hour")&&a.start.assign("hour",0)):(a.start.imply("meridiem",1),12!=a.start.get("hour")&&a.start.assign("hour",a.start.get("hour")+12)))}else i>=12&&(l=1);return a.text=a.text+r[0],a.end.assign("hour",i),a.end.assign("minute",u),l>=0&&a.end.assign("meridiem",l),a.end.date().getTime()<a.start.date().getTime()&&a.end.imply("day",a.end.get("day")+1),a}};
    },{"../../result":65,"../parser":45,"moment":2}],42:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,updateParsedComponent=require("../en/ENWeekdayParser").updateParsedComponent,DAYS_OFFSET={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6},PATTERN=new RegExp("(\\s|^)(?:(?:\\,|\\(|\\()\\s*)?(?:(ce)\\s*)?("+Object.keys(DAYS_OFFSET).join("|")+")(?:\\s*(?:\\,|\\)|\\)))?(?:\\s*(dernier|prochain)\\s*)?(?=\\W|$)","i"),PREFIX_GROUP=2,WEEKDAY_GROUP=3,POSTFIX_GROUP=4;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,n,t){var s=n.index+n[1].length,e=n[0].substr(n[1].length,n[0].length-n[1].length),a=new ParsedResult({index:s,text:e,ref:r}),i=n[WEEKDAY_GROUP].toLowerCase(),d=DAYS_OFFSET[i];if(void 0===d)return null;var u=null,P=n[PREFIX_GROUP],o=n[POSTFIX_GROUP];if(P||o){var l=P||o;l=l.toLowerCase(),"dernier"==l?u="last":"prochain"==l?u="next":"ce"==l&&(u="this")}return updateParsedComponent(a,r,d,u),a.tags.FRWeekdayParser=!0,a}};
    },{"../../result":65,"../en/ENWeekdayParser":27,"../parser":45,"moment":2}],43:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=/今日|当日|昨日|明日|今夜|今夕|今晩|今朝/i;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(r,t,e,a){var s=e.index,r=e[0],i=new ParsedResult({index:s,text:r,ref:t}),n=moment(t),m=n.clone();return"今夜"==r||"今夕"==r||"今晩"==r?(i.start.imply("hour",22),i.start.imply("meridiem",1)):"明日"==r?n.hour()>4&&m.add(1,"day"):"昨日"==r?m.add(-1,"day"):r.match("今朝")&&(i.start.imply("hour",6),i.start.imply("meridiem",0)),i.start.assign("day",m.date()),i.start.assign("month",m.month()+1),i.start.assign("year",m.year()),i.tags.JPCasualDateParser=!0,i}};
    },{"../../result":65,"../parser":45,"moment":2}],44:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/JP"),PATTERN=/(?:(同|((昭和|平成)?([0-90-9]{2,4})))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i,YEAR_GROUP=2,ERA_GROUP=3,YEAR_NUMBER_GROUP=4,MONTH_GROUP=5,DAY_GROUP=6;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,a,e,r){var s=moment(a),n=new ParsedResult({text:e[0],index:e.index,ref:a}),i=e[MONTH_GROUP];i=util.toHankaku(i),i=parseInt(i);var R=e[DAY_GROUP];if(R=util.toHankaku(R),R=parseInt(R),s.set("date",R),s.set("month",i-1),n.start.assign("day",s.date()),n.start.assign("month",s.month()+1),e[YEAR_GROUP])if(e[YEAR_GROUP].match("同年"))n.start.assign("year",s.year());else{var P=e[YEAR_NUMBER_GROUP];P=util.toHankaku(P),P=parseInt(P),"平成"==e[ERA_GROUP]?P+=1988:"昭和"==e[ERA_GROUP]&&(P+=1925),n.start.assign("year",P)}else{s.year(moment(a).year());var m=s.clone().add(1,"y"),o=s.clone().add(-1,"y");Math.abs(m.diff(moment(a)))<Math.abs(s.diff(moment(a)))?s=m:Math.abs(o.diff(moment(a)))<Math.abs(s.diff(moment(a)))&&(s=o),n.start.assign("day",s.date()),n.start.assign("month",s.month()+1),n.start.imply("year",s.year())}return n.tags.JPStandardParser=!0,n}};
    },{"../../result":65,"../../utils/JP":70,"../parser":45,"moment":2}],45:[function(require,module,exports){
    function Parser(r){r=r||{};var e=r.strict;this.isStrictMode=function(){return 1==e},this.pattern=function(){return/./i},this.extract=function(r,e,a,s){return null},this.execute=function(r,e,a){for(var s=[],t=this.pattern(),i=r,P=t.exec(i);P;){P.index+=r.length-i.length;var o=this.extract(r,e,P,a);o?(i=r.substring(o.index+o.text.length),this.isStrictMode()&&!o.hasPossibleDates()||s.push(o)):i=r.substring(P.index+1),P=t.exec(i)}return this.refiners&&this.refiners.forEach(function(){s=refiner.refine(s,r,options)}),s}}exports.Parser=Parser,exports.ENISOFormatParser=require("./en/ENISOFormatParser").Parser,exports.ENDeadlineFormatParser=require("./en/ENDeadlineFormatParser").Parser,exports.ENRelativeDateFormatParser=require("./en/ENRelativeDateFormatParser").Parser,exports.ENMonthNameLittleEndianParser=require("./en/ENMonthNameLittleEndianParser").Parser,exports.ENMonthNameMiddleEndianParser=require("./en/ENMonthNameMiddleEndianParser").Parser,exports.ENMonthNameParser=require("./en/ENMonthNameParser").Parser,exports.ENSlashDateFormatParser=require("./en/ENSlashDateFormatParser").Parser,exports.ENSlashDateFormatStartWithYearParser=require("./en/ENSlashDateFormatStartWithYearParser").Parser,exports.ENSlashMonthFormatParser=require("./en/ENSlashMonthFormatParser").Parser,exports.ENTimeAgoFormatParser=require("./en/ENTimeAgoFormatParser").Parser,exports.ENTimeExpressionParser=require("./en/ENTimeExpressionParser").Parser,exports.ENTimeLaterFormatParser=require("./en/ENTimeLaterFormatParser").Parser,exports.ENWeekdayParser=require("./en/ENWeekdayParser").Parser,exports.ENCasualDateParser=require("./en/ENCasualDateParser").Parser,exports.ENCasualTimeParser=require("./en/ENCasualTimeParser").Parser,exports.JPStandardParser=require("./ja/JPStandardParser").Parser,exports.JPCasualDateParser=require("./ja/JPCasualDateParser").Parser,exports.ESCasualDateParser=require("./es/ESCasualDateParser").Parser,exports.ESDeadlineFormatParser=require("./es/ESDeadlineFormatParser").Parser,exports.ESTimeAgoFormatParser=require("./es/ESTimeAgoFormatParser").Parser,exports.ESTimeExpressionParser=require("./es/ESTimeExpressionParser").Parser,exports.ESWeekdayParser=require("./es/ESWeekdayParser").Parser,exports.ESMonthNameLittleEndianParser=require("./es/ESMonthNameLittleEndianParser").Parser,exports.ESSlashDateFormatParser=require("./es/ESSlashDateFormatParser").Parser,exports.FRCasualDateParser=require("./fr/FRCasualDateParser").Parser,exports.FRDeadlineFormatParser=require("./fr/FRDeadlineFormatParser").Parser,exports.FRMonthNameLittleEndianParser=require("./fr/FRMonthNameLittleEndianParser").Parser,exports.FRSlashDateFormatParser=require("./fr/FRSlashDateFormatParser").Parser,exports.FRTimeAgoFormatParser=require("./fr/FRTimeAgoFormatParser").Parser,exports.FRTimeExpressionParser=require("./fr/FRTimeExpressionParser").Parser,exports.FRWeekdayParser=require("./fr/FRWeekdayParser").Parser,exports.FRRelativeDateFormatParser=require("./fr/FRRelativeDateFormatParser").Parser,exports.ZHHantDateParser=require("./zh-Hant/ZHHantDateParser").Parser,exports.ZHHantWeekdayParser=require("./zh-Hant/ZHHantWeekdayParser").Parser,exports.ZHHantTimeExpressionParser=require("./zh-Hant/ZHHantTimeExpressionParser").Parser,exports.ZHHantCasualDateParser=require("./zh-Hant/ZHHantCasualDateParser").Parser,exports.ZHHantDeadlineFormatParser=require("./zh-Hant/ZHHantDeadlineFormatParser").Parser,exports.DEDeadlineFormatParser=require("./de/DEDeadlineFormatParser").Parser,exports.DEMonthNameLittleEndianParser=require("./de/DEMonthNameLittleEndianParser").Parser,exports.DEMonthNameParser=require("./de/DEMonthNameParser").Parser,exports.DESlashDateFormatParser=require("./de/DESlashDateFormatParser").Parser,exports.DETimeAgoFormatParser=require("./de/DETimeAgoFormatParser").Parser,exports.DETimeExpressionParser=require("./de/DETimeExpressionParser").Parser,exports.DEWeekdayParser=require("./de/DEWeekdayParser").Parser,exports.DECasualDateParser=require("./de/DECasualDateParser").Parser;
    },{"./de/DECasualDateParser":5,"./de/DEDeadlineFormatParser":6,"./de/DEMonthNameLittleEndianParser":7,"./de/DEMonthNameParser":8,"./de/DESlashDateFormatParser":9,"./de/DETimeAgoFormatParser":10,"./de/DETimeExpressionParser":11,"./de/DEWeekdayParser":12,"./en/ENCasualDateParser":13,"./en/ENCasualTimeParser":14,"./en/ENDeadlineFormatParser":15,"./en/ENISOFormatParser":16,"./en/ENMonthNameLittleEndianParser":17,"./en/ENMonthNameMiddleEndianParser":18,"./en/ENMonthNameParser":19,"./en/ENRelativeDateFormatParser":20,"./en/ENSlashDateFormatParser":21,"./en/ENSlashDateFormatStartWithYearParser":22,"./en/ENSlashMonthFormatParser":23,"./en/ENTimeAgoFormatParser":24,"./en/ENTimeExpressionParser":25,"./en/ENTimeLaterFormatParser":26,"./en/ENWeekdayParser":27,"./es/ESCasualDateParser":28,"./es/ESDeadlineFormatParser":29,"./es/ESMonthNameLittleEndianParser":30,"./es/ESSlashDateFormatParser":31,"./es/ESTimeAgoFormatParser":32,"./es/ESTimeExpressionParser":33,"./es/ESWeekdayParser":34,"./fr/FRCasualDateParser":35,"./fr/FRDeadlineFormatParser":36,"./fr/FRMonthNameLittleEndianParser":37,"./fr/FRRelativeDateFormatParser":38,"./fr/FRSlashDateFormatParser":39,"./fr/FRTimeAgoFormatParser":40,"./fr/FRTimeExpressionParser":41,"./fr/FRWeekdayParser":42,"./ja/JPCasualDateParser":43,"./ja/JPStandardParser":44,"./zh-Hant/ZHHantCasualDateParser":46,"./zh-Hant/ZHHantDateParser":47,"./zh-Hant/ZHHantDeadlineFormatParser":48,"./zh-Hant/ZHHantTimeExpressionParser":49,"./zh-Hant/ZHHantWeekdayParser":50}],46:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,PATTERN=new RegExp("(而家|立(?:刻|即)|即刻)|(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)(?:[\\s|,|,]*)(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?","i"),NOW_GROUP=1,DAY_GROUP_1=2,TIME_GROUP_1=3,TIME_GROUP_2=4,DAY_GROUP_3=5,TIME_GROUP_3=6;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(r,t,a,e){r=a[0];var i=a.index,s=new ParsedResult({index:i,text:r,ref:t}),d=moment(t),m=d.clone();if(a[NOW_GROUP])s.start.imply("hour",d.hour()),s.start.imply("minute",d.minute()),s.start.imply("second",d.second()),s.start.imply("millisecond",d.millisecond());else if(a[DAY_GROUP_1]){var y=a[DAY_GROUP_1],l=a[TIME_GROUP_1];"明"==y||"聽"==y?d.hour()>1&&m.add(1,"day"):"昨"==y||"尋"==y||"琴"==y?m.add(-1,"day"):"前"==y?m.add(-2,"day"):"大前"==y?m.add(-3,"day"):"後"==y?m.add(2,"day"):"大後"==y&&m.add(3,"day"),"早"==l||"朝"==l?s.start.imply("hour",6):"晚"==l&&(s.start.imply("hour",22),s.start.imply("meridiem",1))}else if(a[TIME_GROUP_2]){var u=a[TIME_GROUP_2],o=u[0];"早"==o||"朝"==o||"上"==o?s.start.imply("hour",6):"下"==o||"晏"==o?(s.start.imply("hour",15),s.start.imply("meridiem",1)):"中"==o?(s.start.imply("hour",12),s.start.imply("meridiem",1)):"夜"==o||"晚"==o?(s.start.imply("hour",22),s.start.imply("meridiem",1)):"凌"==o&&s.start.imply("hour",0)}else if(a[DAY_GROUP_3]){var n=a[DAY_GROUP_3];"明"==n||"聽"==n?d.hour()>1&&m.add(1,"day"):"昨"==n||"尋"==n||"琴"==n?m.add(-1,"day"):"前"==n?m.add(-2,"day"):"大前"==n?m.add(-3,"day"):"後"==n?m.add(2,"day"):"大後"==n&&m.add(3,"day");var p=a[TIME_GROUP_3];if(p){var _=p[0];"早"==_||"朝"==_||"上"==_?s.start.imply("hour",6):"下"==_||"晏"==_?(s.start.imply("hour",15),s.start.imply("meridiem",1)):"中"==_?(s.start.imply("hour",12),s.start.imply("meridiem",1)):"夜"==_||"晚"==_?(s.start.imply("hour",22),s.start.imply("meridiem",1)):"凌"==_&&s.start.imply("hour",0)}}return s.start.assign("day",m.date()),s.start.assign("month",m.month()+1),s.start.assign("year",m.year()),s.tags.ZHHantCasualDateParser=!0,s}};
    },{"../../result":65,"../parser":45,"moment":2}],47:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/ZH-Hant.js"),PATTERN=new RegExp("(\\d{2,4}|["+Object.keys(util.NUMBER).join("")+"]{2,4})?(?:\\s*)(?:年)?(?:[\\s|,|,]*)(\\d{1,2}|["+Object.keys(util.NUMBER).join("")+"]{1,2})(?:\\s*)(?:月)(?:\\s*)(\\d{1,2}|["+Object.keys(util.NUMBER).join("")+"]{1,2})?(?:\\s*)(?:日|號)?"),YEAR_GROUP=1,MONTH_GROUP=2,DAY_GROUP=3;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,t,r,s){var a=moment(t),i=new ParsedResult({text:r[0],index:r.index,ref:t}),n=parseInt(r[MONTH_GROUP]);if(isNaN(n)&&(n=util.zhStringToNumber(r[MONTH_GROUP])),i.start.assign("month",n),r[DAY_GROUP]){var R=parseInt(r[DAY_GROUP]);isNaN(R)&&(R=util.zhStringToNumber(r[DAY_GROUP])),i.start.assign("day",R)}else i.start.imply("day",a.date());if(r[YEAR_GROUP]){var u=parseInt(r[YEAR_GROUP]);isNaN(u)&&(u=util.zhStringToYear(r[YEAR_GROUP])),i.start.assign("year",u)}else i.start.imply("year",a.year());return i.tags.ZHHantDateParser=!0,i}};
    },{"../../result":65,"../../utils/ZH-Hant.js":71,"../parser":45,"moment":2}],48:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,util=require("../../utils/ZH-Hant.js"),PATTERN=new RegExp("(\\d+|["+Object.keys(util.NUMBER).join("")+"]+|半|幾)(?:\\s*)(?:個)?(秒(?:鐘)?|分鐘|小時|鐘|日|天|星期|禮拜|月|年)(?:(?:之|過)?後|(?:之)?內)","i"),NUMBER_GROUP=1,UNIT_GROUP=2;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(t,r,e,a){var s=e.index;t=e[0];var n=new ParsedResult({index:s,text:t,ref:r}),i=parseInt(e[NUMBER_GROUP]);if(isNaN(i)&&(i=util.zhStringToNumber(e[NUMBER_GROUP])),isNaN(i)){var d=e[NUMBER_GROUP];if("幾"===d)i=3;else{if("半"!==d)return null;i=.5}}var u=moment(r),o=e[UNIT_GROUP],m=o[0];return m.match(/[日天星禮月年]/)?("日"==m||"天"==m?u.add(i,"d"):"星"==m||"禮"==m?u.add(7*i,"d"):"月"==m?u.add(i,"month"):"年"==m&&u.add(i,"year"),n.start.assign("year",u.year()),n.start.assign("month",u.month()+1),n.start.assign("day",u.date()),n):("秒"==m?u.add(i,"second"):"分"==m?u.add(i,"minute"):"小"!=m&&"鐘"!=m||u.add(i,"hour"),n.start.imply("year",u.year()),n.start.imply("month",u.month()+1),n.start.imply("day",u.date()),n.start.assign("hour",u.hour()),n.start.assign("minute",u.minute()),n.start.assign("second",u.second()),n.tags.ZHHantDeadlineFormatParser=!0,n)}};
    },{"../../result":65,"../../utils/ZH-Hant.js":71,"../parser":45,"moment":2}],49:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,ParsedComponents=require("../../result").ParsedComponents,util=require("../../utils/ZH-Hant.js"),patternString1="(?:由|從|自)?(?:(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)(?:[\\s,,]*)(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?)?(?:[\\s,,]*)(?:(\\d+|["+Object.keys(util.NUMBER).join("")+"]+)(?:\\s*)(?:點|時|:|:)(?:\\s*)(\\d+|半|正|整|["+Object.keys(util.NUMBER).join("")+"]+)?(?:\\s*)(?:分|:|:)?(?:\\s*)(\\d+|["+Object.keys(util.NUMBER).join("")+"]+)?(?:\\s*)(?:秒)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?",patternString2="(?:\\s*(?:到|至|\\-|\\–|\\~|\\〜)\\s*)(?:(今|明|前|大前|後|大後|聽|昨|尋|琴)(早|朝|晚)|(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨))|(今|明|前|大前|後|大後|聽|昨|尋|琴)(?:日|天)(?:[\\s,,]*)(?:(上(?:午|晝)|朝(?:早)|早(?:上)|下(?:午|晝)|晏(?:晝)|晚(?:上)|夜(?:晚)?|中(?:午)|凌(?:晨)))?)?(?:[\\s,,]*)(?:(\\d+|["+Object.keys(util.NUMBER).join("")+"]+)(?:\\s*)(?:點|時|:|:)(?:\\s*)(\\d+|半|正|整|["+Object.keys(util.NUMBER).join("")+"]+)?(?:\\s*)(?:分|:|:)?(?:\\s*)(\\d+|["+Object.keys(util.NUMBER).join("")+"]+)?(?:\\s*)(?:秒)?)(?:\\s*(A.M.|P.M.|AM?|PM?))?",FIRST_REG_PATTERN=new RegExp(patternString1,"i"),SECOND_REG_PATTERN=new RegExp(patternString2,"i"),DAY_GROUP_1=1,ZH_AM_PM_HOUR_GROUP_1=2,ZH_AM_PM_HOUR_GROUP_2=3,DAY_GROUP_3=4,ZH_AM_PM_HOUR_GROUP_3=5,HOUR_GROUP=6,MINUTE_GROUP=7,SECOND_GROUP=8,AM_PM_HOUR_GROUP=9;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return FIRST_REG_PATTERN},this.extract=function(e,a,t,r){if(t.index>0&&e[t.index-1].match(/\w/))return null;var s=moment(a),i=new ParsedResult;i.ref=a,i.index=t.index,i.text=t[0],i.tags.ZHTimeExpressionParser=!0;var _=s.clone();if(t[DAY_GROUP_1]){var n=t[DAY_GROUP_1];"明"==n||"聽"==n?s.hour()>1&&_.add(1,"day"):"昨"==n||"尋"==n||"琴"==n?_.add(-1,"day"):"前"==n?_.add(-2,"day"):"大前"==n?_.add(-3,"day"):"後"==n?_.add(2,"day"):"大後"==n&&_.add(3,"day"),i.start.assign("day",_.date()),i.start.assign("month",_.month()+1),i.start.assign("year",_.year())}else if(t[DAY_GROUP_3]){var d=t[DAY_GROUP_3];"明"==d||"聽"==d?_.add(1,"day"):"昨"==d||"尋"==d||"琴"==d?_.add(-1,"day"):"前"==d?_.add(-2,"day"):"大前"==d?_.add(-3,"day"):"後"==d?_.add(2,"day"):"大後"==d&&_.add(3,"day"),i.start.assign("day",_.date()),i.start.assign("month",_.month()+1),i.start.assign("year",_.year())}else i.start.imply("day",_.date()),i.start.imply("month",_.month()+1),i.start.imply("year",_.year());var R=0,U=0,O=-1;if(t[SECOND_GROUP]){var P=parseInt(t[SECOND_GROUP]);if(isNaN(P)&&(P=util.zhStringToNumber(t[SECOND_GROUP])),P>=60)return null;i.start.assign("second",P)}if(R=parseInt(t[HOUR_GROUP]),isNaN(R)&&(R=util.zhStringToNumber(t[HOUR_GROUP])),t[MINUTE_GROUP]?"半"==t[MINUTE_GROUP]?U=30:"正"==t[MINUTE_GROUP]||"整"==t[MINUTE_GROUP]?U=0:(U=parseInt(t[MINUTE_GROUP]),isNaN(U)&&(U=util.zhStringToNumber(t[MINUTE_GROUP]))):R>100&&(U=R%100,R=parseInt(R/100)),U>=60)return null;if(R>24)return null;if(R>=12&&(O=1),t[AM_PM_HOUR_GROUP]){if(R>12)return null;var l=t[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==l&&(O=0,12==R&&(R=0)),"p"==l&&(O=1,12!=R&&(R+=12))}else if(t[ZH_AM_PM_HOUR_GROUP_1]){var u=t[ZH_AM_PM_HOUR_GROUP_1],m=u[0];"朝"==m||"早"==m?(O=0,12==R&&(R=0)):"晚"==m&&(O=1,12!=R&&(R+=12))}else if(t[ZH_AM_PM_HOUR_GROUP_2]){var M=t[ZH_AM_PM_HOUR_GROUP_2],y=M[0];"上"==y||"朝"==y||"早"==y||"凌"==y?(O=0,12==R&&(R=0)):"下"!=y&&"晏"!=y&&"晚"!=y||(O=1,12!=R&&(R+=12))}else if(t[ZH_AM_PM_HOUR_GROUP_3]){var G=t[ZH_AM_PM_HOUR_GROUP_3],o=G[0];"上"==o||"朝"==o||"早"==o||"凌"==o?(O=0,12==R&&(R=0)):"下"!=o&&"晏"!=o&&"晚"!=o||(O=1,12!=R&&(R+=12))}if(i.start.assign("hour",R),i.start.assign("minute",U),O>=0?i.start.assign("meridiem",O):R<12?i.start.imply("meridiem",0):i.start.imply("meridiem",1),!(t=SECOND_REG_PATTERN.exec(e.substring(i.index+i.text.length))))return i.text.match(/^\d+$/)?null:i;var N=_.clone();if(i.end=new ParsedComponents(null,null),t[DAY_GROUP_1]){var n=t[DAY_GROUP_1];"明"==n||"聽"==n?s.hour()>1&&N.add(1,"day"):"昨"==n||"尋"==n||"琴"==n?N.add(-1,"day"):"前"==n?N.add(-2,"day"):"大前"==n?N.add(-3,"day"):"後"==n?N.add(2,"day"):"大後"==n&&N.add(3,"day"),i.end.assign("day",N.date()),i.end.assign("month",N.month()+1),i.end.assign("year",N.year())}else if(t[DAY_GROUP_3]){var d=t[DAY_GROUP_3];"明"==d||"聽"==d?N.add(1,"day"):"昨"==d||"尋"==d||"琴"==d?N.add(-1,"day"):"前"==d?N.add(-2,"day"):"大前"==d?N.add(-3,"day"):"後"==d?N.add(2,"day"):"大後"==d&&N.add(3,"day"),i.end.assign("day",N.date()),i.end.assign("month",N.month()+1),i.end.assign("year",N.year())}else i.end.imply("day",N.date()),i.end.imply("month",N.month()+1),i.end.imply("year",N.year());if(R=0,U=0,O=-1,t[SECOND_GROUP]){var P=parseInt(t[SECOND_GROUP]);if(isNaN(P)&&(P=util.zhStringToNumber(t[SECOND_GROUP])),P>=60)return null;i.end.assign("second",P)}if(R=parseInt(t[HOUR_GROUP]),isNaN(R)&&(R=util.zhStringToNumber(t[HOUR_GROUP])),t[MINUTE_GROUP]?"半"==t[MINUTE_GROUP]?U=30:"正"==t[MINUTE_GROUP]||"整"==t[MINUTE_GROUP]?U=0:(U=parseInt(t[MINUTE_GROUP]),isNaN(U)&&(U=util.zhStringToNumber(t[MINUTE_GROUP]))):R>100&&(U=R%100,R=parseInt(R/100)),U>=60)return null;if(R>24)return null;if(R>=12&&(O=1),t[AM_PM_HOUR_GROUP]){if(R>12)return null;var l=t[AM_PM_HOUR_GROUP][0].toLowerCase();"a"==l&&(O=0,12==R&&(R=0)),"p"==l&&(O=1,12!=R&&(R+=12)),i.start.isCertain("meridiem")||(0==O?(i.start.imply("meridiem",0),12==i.start.get("hour")&&i.start.assign("hour",0)):(i.start.imply("meridiem",1),12!=i.start.get("hour")&&i.start.assign("hour",i.start.get("hour")+12)))}else if(t[ZH_AM_PM_HOUR_GROUP_1]){var u=t[ZH_AM_PM_HOUR_GROUP_1],m=u[0];"朝"==m||"早"==m?(O=0,12==R&&(R=0)):"晚"==m&&(O=1,12!=R&&(R+=12))}else if(t[ZH_AM_PM_HOUR_GROUP_2]){var M=t[ZH_AM_PM_HOUR_GROUP_2],y=M[0];"上"==y||"朝"==y||"早"==y||"凌"==y?(O=0,12==R&&(R=0)):"下"!=y&&"晏"!=y&&"晚"!=y||(O=1,12!=R&&(R+=12))}else if(t[ZH_AM_PM_HOUR_GROUP_3]){var G=t[ZH_AM_PM_HOUR_GROUP_3],o=G[0];"上"==o||"朝"==o||"早"==o||"凌"==o?(O=0,12==R&&(R=0)):"下"!=o&&"晏"!=o&&"晚"!=o||(O=1,12!=R&&(R+=12))}if(i.text=i.text+t[0],i.end.assign("hour",R),i.end.assign("minute",U),O>=0)i.end.assign("meridiem",O);else{i.start.isCertain("meridiem")&&1==i.start.get("meridiem")&&i.start.get("hour")>R?i.end.imply("meridiem",0):R>12&&i.end.imply("meridiem",1)}return i.end.date().getTime()<i.start.date().getTime()&&i.end.imply("day",i.end.get("day")+1),i}};
    },{"../../result":65,"../../utils/ZH-Hant.js":71,"../parser":45,"moment":2}],50:[function(require,module,exports){
    var moment=require("moment"),Parser=require("../parser").Parser,ParsedResult=require("../../result").ParsedResult,updateParsedComponent=require("../en/ENWeekdayParser").updateParsedComponent,util=require("../../utils/ZH-Hant.js"),PATTERN=new RegExp("(上|今|下|這|呢)?(?:個)?(?:星期|禮拜)("+Object.keys(util.WEEKDAY_OFFSET).join("|")+")"),PREFIX_GROUP=1,WEEKDAY_GROUP=2;exports.Parser=function(){Parser.apply(this,arguments),this.pattern=function(){return PATTERN},this.extract=function(e,r,t,a){var n=t.index;e=t[0];var s=new ParsedResult({index:n,text:e,ref:r}),u=t[WEEKDAY_GROUP],i=util.WEEKDAY_OFFSET[u];if(void 0===i)return null;var P=null,E=t[PREFIX_GROUP];return"上"==E?P="last":"下"==E?P="next":"今"!=E&&"這"!=E&&"呢"!=E||(P="this"),updateParsedComponent(s,r,i,P),s.tags.ZHHantWeekdayParser=!0,s}};
    },{"../../result":65,"../../utils/ZH-Hant.js":71,"../en/ENWeekdayParser":27,"../parser":45,"moment":2}],51:[function(require,module,exports){
    var Refiner=require("./refiner").Refiner,TIMEZONE_NAME_PATTERN=new RegExp("^\\s*\\(?([A-Z]{2,4})\\)?(?=\\W|$)","i"),DEFAULT_TIMEZONE_ABBR_MAP={ACDT:630,ACST:570,ADT:-180,AEDT:660,AEST:600,AFT:270,AKDT:-480,AKST:-540,ALMT:360,AMST:-180,AMT:-240,ANAST:720,ANAT:720,AQTT:300,ART:-180,AST:-240,AWDT:540,AWST:480,AZOST:0,AZOT:-60,AZST:300,AZT:240,BNT:480,BOT:-240,BRST:-120,BRT:-180,BST:60,BTT:360,CAST:480,CAT:120,CCT:390,CDT:-300,CEST:120,CET:60,CHADT:825,CHAST:765,CKT:-600,CLST:-180,CLT:-240,COT:-300,CST:-360,CVT:-60,CXT:420,ChST:600,DAVT:420,EASST:-300,EAST:-360,EAT:180,ECT:-300,EDT:-240,EEST:180,EET:120,EGST:0,EGT:-60,EST:-300,ET:-300,FJST:780,FJT:720,FKST:-180,FKT:-240,FNT:-120,GALT:-360,GAMT:-540,GET:240,GFT:-180,GILT:720,GMT:0,GST:240,GYT:-240,HAA:-180,HAC:-300,HADT:-540,HAE:-240,HAP:-420,HAR:-360,HAST:-600,HAT:-90,HAY:-480,HKT:480,HLV:-210,HNA:-240,HNC:-360,HNE:-300,HNP:-480,HNR:-420,HNT:-150,HNY:-540,HOVT:420,ICT:420,IDT:180,IOT:360,IRDT:270,IRKST:540,IRKT:540,IRST:210,IST:330,JST:540,KGT:360,KRAST:480,KRAT:480,KST:540,KUYT:240,LHDT:660,LHST:630,LINT:840,MAGST:720,MAGT:720,MART:-510,MAWT:300,MDT:-360,MESZ:120,MEZ:60,MHT:720,MMT:390,MSD:240,MSK:240,MST:-420,MUT:240,MVT:300,MYT:480,NCT:660,NDT:-90,NFT:690,NOVST:420,NOVT:360,NPT:345,NST:-150,NUT:-660,NZDT:780,NZST:720,OMSST:420,OMST:420,PDT:-420,PET:-300,PETST:720,PETT:720,PGT:600,PHOT:780,PHT:480,PKT:300,PMDT:-120,PMST:-180,PONT:660,PST:-480,PT:-480,PWT:540,PYST:-180,PYT:-240,RET:240,SAMT:240,SAST:120,SBT:660,SCT:240,SGT:480,SRT:-180,SST:-660,TAHT:-600,TFT:300,TJT:300,TKT:780,TLT:540,TMT:300,TVT:720,ULAT:480,UTC:0,UYST:-120,UYT:-180,UZT:300,VET:-210,VLAST:660,VLAT:660,VUT:660,WAST:120,WAT:60,WEST:60,WESZ:60,WET:0,WEZ:0,WFT:720,WGST:-120,WGT:-180,WIB:420,WIT:540,WITA:480,WST:780,WT:0,YAKST:600,YAKT:600,YAPT:600,YEKST:360,YEKT:360};exports.Refiner=function(T){Refiner.call(this,arguments),this.refine=function(T,A,e){var S=new Object(DEFAULT_TIMEZONE_ABBR_MAP);if(e.timezones)for(var E in e.timezones)S[E]=e.timezones[E];return A.forEach(function(A){if(A.tags.ENTimeExpressionParser||A.tags.ZHTimeExpressionParser||A.tags.FRTimeExpressionParser||A.tags.DETimeExpressionParser){var e=TIMEZONE_NAME_PATTERN.exec(T.substring(A.index+A.text.length));if(e){var E=e[1].toUpperCase();if(void 0===S[E])return;var i=S[E];A.start.isCertain("timezoneOffset")||A.start.assign("timezoneOffset",i),null==A.end||A.end.isCertain("timezoneOffset")||A.end.assign("timezoneOffset",i),A.text+=e[0],A.tags.ExtractTimezoneAbbrRefiner=!0}}}),A}};
    },{"./refiner":64}],52:[function(require,module,exports){
    var Refiner=require("./refiner").Refiner,TIMEZONE_OFFSET_PATTERN=new RegExp("^\\s*(GMT|UTC)?(\\+|\\-)(\\d{1,2}):?(\\d{2})","i"),TIMEZONE_OFFSET_SIGN_GROUP=2,TIMEZONE_OFFSET_HOUR_OFFSET_GROUP=3,TIMEZONE_OFFSET_MINUTE_OFFSET_GROUP=4;exports.Refiner=function(){Refiner.call(this),this.refine=function(e,E,O){return E.forEach(function(E){if(!E.start.isCertain("timezoneOffset")){var O=TIMEZONE_OFFSET_PATTERN.exec(e.substring(E.index+E.text.length));if(O){var n=parseInt(O[TIMEZONE_OFFSET_HOUR_OFFSET_GROUP]),t=parseInt(O[TIMEZONE_OFFSET_MINUTE_OFFSET_GROUP]),T=60*n+t;"-"===O[TIMEZONE_OFFSET_SIGN_GROUP]&&(T=-T),null!=E.end&&E.end.assign("timezoneOffset",T),E.start.assign("timezoneOffset",T),E.text+=O[0],E.tags.ExtractTimezoneOffsetRefiner=!0}}}),E}};
    },{"./refiner":64}],53:[function(require,module,exports){
    var moment=require("moment"),Refiner=require("./refiner").Refiner;exports.Refiner=function(){Refiner.call(this),this.refine=function(t,e,r){return r.forwardDate?(e.forEach(function(t){var e=moment(t.ref);if(t.start.isCertain("day")&&t.start.isCertain("month")&&!t.start.isCertain("year")&&e.isAfter(t.start.moment())){for(var r=0;r<3&&e.isAfter(t.start.moment());r++)t.start.imply("year",t.start.get("year")+1),t.end&&!t.end.isCertain("year")&&t.end.imply("year",t.end.get("year")+1);t.tags.ExtractTimezoneOffsetRefiner=!0}t.start.isCertain("day")||t.start.isCertain("month")||t.start.isCertain("year")||!t.start.isCertain("weekday")||!e.isAfter(t.start.moment())||(e.day()>t.start.get("weekday")?e.day(t.start.get("weekday")+7):e.day(t.start.get("weekday")),t.start.imply("day",e.date()),t.start.imply("month",e.month()+1),t.start.imply("year",e.year()),t.tags.ExtractTimezoneOffsetRefiner=!0)}),e):e}};
    },{"./refiner":64,"moment":2}],54:[function(require,module,exports){
    var Refiner=require("./refiner").Refiner;exports.Refiner=function(){Refiner.call(this),this.refine=function(e,n,r){if(n.length<2)return n;for(var t=[],i=n[0],f=1;f<n.length;f++){var h=n[f];h.index<i.index+i.text.length?h.text.length>i.text.length&&(i=h):(t.push(i),i=h)}return null!=i&&t.push(i),t}};
    },{"./refiner":64}],55:[function(require,module,exports){
    var Filter=require("./refiner").Filter;exports.Refiner=function(){Filter.call(this),this.isValid=function(e,r,i){return!r.text.replace(" ","").match(/^\d*(\.\d*)?$/)}};
    },{"./refiner":64}],56:[function(require,module,exports){
    var ENMergeDateRangeRefiner=require("../en/ENMergeDateRangeRefiner").Refiner;exports.Refiner=function(){ENMergeDateRangeRefiner.call(this),this.pattern=function(){return/^\s*(bis(?:\s*(?:am|zum))?|\-)\s*$/i}};
    },{"../en/ENMergeDateRangeRefiner":58}],57:[function(require,module,exports){
    function isAbleToMerge(e,n,t){return e.substring(n.index+n.text.length,t.index).match(PATTERN)}function mergeResult(e,n,t){var i=n.start,r=t.start,a=mergeDateTimeComponent(i,r);if(null!=n.end||null!=t.end){var l=null==n.end?n.start:n.end,s=null==t.end?t.start:t.end,m=mergeDateTimeComponent(l,s);null==n.end&&m.date().getTime()<a.date().getTime()&&(m.isCertain("day")?m.assign("day",m.get("day")+1):m.imply("day",m.get("day")+1)),n.end=m}n.start=a;var u=Math.min(n.index,t.index),g=Math.max(n.index+n.text.length,t.index+t.text.length);n.index=u,n.text=e.substring(u,g);for(var d in t.tags)n.tags[d]=!0;return n.tags.DEMergeDateAndTimeRefiner=!0,n}var ParsedComponents=require("../../result").ParsedComponents,Refiner=require("../refiner").Refiner,mergeDateTimeComponent=require("../en/ENMergeDateTimeRefiner").mergeDateTimeComponent,isDateOnly=require("../en/ENMergeDateTimeRefiner").isDateOnly,isTimeOnly=require("../en/ENMergeDateTimeRefiner").isTimeOnly,PATTERN=new RegExp("^\\s*(T|um|am|,|-)?\\s*$");exports.Refiner=function(){Refiner.call(this),this.refine=function(e,n,t){if(n.length<2)return n;for(var i=[],r=null,a=null,l=1;l<n.length;l++)r=n[l],a=n[l-1],isDateOnly(a)&&isTimeOnly(r)&&isAbleToMerge(e,a,r)?(a=mergeResult(e,a,r),r=null,l+=1):isDateOnly(r)&&isTimeOnly(a)&&isAbleToMerge(e,a,r)&&(a=mergeResult(e,r,a),r=null,l+=1),i.push(a);return null!=r&&i.push(r),i}};
    },{"../../result":65,"../en/ENMergeDateTimeRefiner":59,"../refiner":64}],58:[function(require,module,exports){
    var Refiner=require("../refiner").Refiner;exports.Refiner=function(){Refiner.call(this),this.pattern=function(){return/^\s*(to|\-)\s*$/i},this.refine=function(t,e,s){if(e.length<2)return e;for(var r=[],a=null,i=null,n=1;n<e.length;n++)a=e[n],i=e[n-1],i.end||a.end||!this.isAbleToMerge(t,i,a)||(i=this.mergeResult(t,i,a),a=null,n+=1),r.push(i);return null!=a&&r.push(a),r},this.isAbleToMerge=function(t,e,s){var r=e.index+e.text.length,a=s.index;return t.substring(r,a).match(this.pattern())},this.isWeekdayResult=function(t){return t.start.isCertain("weekday")&&!t.start.isCertain("day")},this.mergeResult=function(t,e,s){if(!this.isWeekdayResult(e)&&!this.isWeekdayResult(s)){for(var r in s.start.knownValues)e.start.isCertain(r)||e.start.assign(r,s.start.get(r));for(var r in e.start.knownValues)s.start.isCertain(r)||s.start.assign(r,e.start.get(r))}if(e.start.date().getTime()>s.start.date().getTime()){var a=e.start.moment(),i=s.start.moment();if(this.isWeekdayResult(e)&&a.clone().add(-7,"days").isBefore(i))a=a.add(-7,"days"),e.start.imply("day",a.date()),e.start.imply("month",a.month()+1),e.start.imply("year",a.year());else if(this.isWeekdayResult(s)&&i.clone().add(7,"days").isAfter(a))i=i.add(7,"days"),s.start.imply("day",i.date()),s.start.imply("month",i.month()+1),s.start.imply("year",i.year());else{var n=s;s=e,e=n}}e.end=s.start;for(var l in s.tags)e.tags[l]=!0;var d=Math.min(e.index,s.index),u=Math.max(e.index+e.text.length,s.index+s.text.length);return e.index=d,e.text=t.substring(d,u),e.tags[this.constructor.name]=!0,e}};
    },{"../refiner":64}],59:[function(require,module,exports){
    function mergeResult(e,i,n){var t=i.start,r=n.start,s=mergeDateTimeComponent(t,r);if(null!=i.end||null!=n.end){var l=null==i.end?i.start:i.end,m=null==n.end?n.start:n.end,o=mergeDateTimeComponent(l,m);null==i.end&&o.date().getTime()<s.date().getTime()&&(o.isCertain("day")?o.assign("day",o.get("day")+1):o.imply("day",o.get("day")+1)),i.end=o}i.start=s;var a=Math.min(i.index,n.index),g=Math.max(i.index+i.text.length,n.index+n.text.length);i.index=a,i.text=e.substring(a,g);for(var d in n.tags)i.tags[d]=!0;return i.tags.ENMergeDateAndTimeRefiner=!0,i}var ParsedComponents=require("../../result").ParsedComponents,Refiner=require("../refiner").Refiner,PATTERN=new RegExp("^\\s*(T|at|after|before|on|of|,|-)?\\s*$"),isDateOnly=exports.isDateOnly=function(e){return!e.start.isCertain("hour")},isTimeOnly=exports.isTimeOnly=function(e){return!e.start.isCertain("month")&&!e.start.isCertain("weekday")},isAbleToMerge=exports.isAbleToMerge=function(e,i,n){return e.substring(i.index+i.text.length,n.index).match(PATTERN)},mergeDateTimeComponent=exports.mergeDateTimeComponent=function(e,i){var n=e.clone();return i.isCertain("hour")?(n.assign("hour",i.get("hour")),n.assign("minute",i.get("minute")),i.isCertain("second")?(n.assign("second",i.get("second")),i.isCertain("millisecond")?n.assign("millisecond",i.get("millisecond")):n.imply("millisecond",i.get("millisecond"))):(n.imply("second",i.get("second")),n.imply("millisecond",i.get("millisecond")))):(n.imply("hour",i.get("hour")),n.imply("minute",i.get("minute")),n.imply("second",i.get("second")),n.imply("millisecond",i.get("millisecond"))),i.isCertain("meridiem")?n.assign("meridiem",i.get("meridiem")):void 0!==i.get("meridiem")&&void 0===n.get("meridiem")&&n.imply("meridiem",i.get("meridiem")),1==n.get("meridiem")&&n.get("hour")<12&&(i.isCertain("hour")?n.assign("hour",n.get("hour")+12):n.imply("hour",n.get("hour")+12)),n};exports.Refiner=function(){Refiner.call(this),this.refine=function(e,i,n){if(i.length<2)return i;for(var t=[],r=null,s=null,l=1;l<i.length;l++)r=i[l],s=i[l-1],isDateOnly(s)&&isTimeOnly(r)&&isAbleToMerge(e,s,r)?(s=mergeResult(e,s,r),r=i[l+1],l+=1):isDateOnly(r)&&isTimeOnly(s)&&isAbleToMerge(e,s,r)&&(s=mergeResult(e,r,s),r=i[l+1],l+=1),t.push(s);return null!=r&&t.push(r),t}};
    },{"../../result":65,"../refiner":64}],60:[function(require,module,exports){
    function isMoreSpecific(t,e){var r=!1;return t.start.isCertain("year")&&(e.start.isCertain("year")?t.start.isCertain("month")&&(e.start.isCertain("month")?t.start.isCertain("day")&&!e.start.isCertain("day")&&(r=!0):r=!0):r=!0),r}function isAbleToMerge(t,e,r){var i=t.substring(e.index+e.text.length,r.index),a=e.tags.ENRelativeDateFormatParser||r.tags.ENRelativeDateFormatParser,n=!e.start.isCertain("day")&&!e.start.isCertain("month")&&!e.start.isCertain("year");return e.start.isCertain("year")&&r.start.isCertain("year")&&(n=e.start.get("year")===r.start.get("year")),e.start.isCertain("month")&&r.start.isCertain("month")&&(n=e.start.get("month")===r.start.get("month")&&n),a&&i.match(PATTERN)&&n}function mergeResult(t,e,r){var i=(e.start,r.start,Math.min(e.index,r.index)),a=Math.max(e.index+e.text.length,r.index+r.text.length);e.index=i,e.text=t.substring(i,a);for(var n in r.tags)e.tags[n]=!0;return e.tags.ENPrioritizeSpecificDateRefiner=!0,e}var ParsedComponents=require("../../result").ParsedComponents,Refiner=require("../refiner").Refiner,PATTERN=new RegExp("^\\s*(at|after|before|on|,|-|\\(|\\))?\\s*$");exports.Refiner=function(){Refiner.call(this),this.refine=function(t,e,r){if(e.length<2)return e;for(var i=[],a=null,n=null,s=1;s<e.length;s++)a=e[s],n=e[s-1],isMoreSpecific(n,a)&&isAbleToMerge(t,n,a)?(n=mergeResult(t,n,a),a=null,s+=1):isMoreSpecific(a,n)&&isAbleToMerge(t,n,a)&&(n=mergeResult(t,a,n),a=null,s+=1),i.push(n);return null!=a&&i.push(a),i}};
    },{"../../result":65,"../refiner":64}],61:[function(require,module,exports){
    var Refiner=require("../refiner").Refiner;exports.Refiner=function(){Refiner.call(this),this.pattern=function(){return/^\s*(à|a|\-)\s*$/i},this.refine=function(t,e,n){if(e.length<2)return e;for(var r=[],i=null,s=null,a=1;a<e.length;a++)i=e[a],s=e[a-1],s.end||i.end||!this.isAbleToMerge(t,s,i)||(s=this.mergeResult(t,s,i),i=null,a+=1),r.push(s);return null!=i&&r.push(i),r},this.isAbleToMerge=function(t,e,n){var r=e.index+e.text.length,i=n.index;return t.substring(r,i).match(this.pattern())},this.isWeekdayResult=function(t){return t.start.isCertain("weekday")&&!t.start.isCertain("day")},this.mergeResult=function(t,e,n){if(!this.isWeekdayResult(e)&&!this.isWeekdayResult(n)){for(var r in n.start.knownValues)e.start.isCertain(r)||e.start.assign(r,n.start.get(r));for(var r in e.start.knownValues)n.start.isCertain(r)||n.start.assign(r,e.start.get(r))}if(e.start.date().getTime()>n.start.date()){var i=n;n=e,e=i}e.end=n.start;for(var s in n.tags)e.tags[s]=!0;var a=Math.min(e.index,n.index),u=Math.max(e.index+e.text.length,n.index+n.text.length);return e.index=a,e.text=t.substring(a,u),e.tags[this.constructor.name]=!0,e}};
    },{"../refiner":64}],62:[function(require,module,exports){
    function isDateOnly(e){return!e.start.isCertain("hour")||e.tags.FRCasualDateParser}function isTimeOnly(e){return!e.start.isCertain("month")&&!e.start.isCertain("weekday")}function isAbleToMerge(e,n,t){return e.substring(n.index+n.text.length,t.index).match(PATTERN)}function mergeResult(e,n,t){var r=n.start,i=t.start,a=mergeDateTimeComponent(r,i);if(null!=n.end||null!=t.end){var s=null==n.end?n.start:n.end,l=null==t.end?t.start:t.end,u=mergeDateTimeComponent(s,l);null==n.end&&u.date().getTime()<a.date().getTime()&&(u.isCertain("day")?u.assign("day",u.get("day")+1):u.imply("day",u.get("day")+1)),n.end=u}n.start=a;var g=Math.min(n.index,t.index),m=Math.max(n.index+n.text.length,t.index+t.text.length);n.index=g,n.text=e.substring(g,m);for(var d in t.tags)n.tags[d]=!0;return n.tags.FRMergeDateAndTimeRefiner=!0,n}var ParsedComponents=require("../../result").ParsedComponents,Refiner=require("../refiner").Refiner,mergeDateTimeComponent=require("../en/ENMergeDateTimeRefiner").mergeDateTimeComponent,PATTERN=new RegExp("^\\s*(T|à|a|vers|de|,|-)?\\s*$");exports.Refiner=function(){Refiner.call(this),this.refine=function(e,n,t){if(n.length<2)return n;for(var r=[],i=null,a=null,s=1;s<n.length;s++)i=n[s],a=n[s-1],isDateOnly(a)&&isTimeOnly(i)&&isAbleToMerge(e,a,i)?(a=mergeResult(e,a,i),i=null,s+=1):isDateOnly(i)&&isTimeOnly(a)&&isAbleToMerge(e,a,i)&&(a=mergeResult(e,i,a),i=null,s+=1),r.push(a);return null!=i&&r.push(i),r}};
    },{"../../result":65,"../en/ENMergeDateTimeRefiner":59,"../refiner":64}],63:[function(require,module,exports){
    var ENMergeDateRangeRefiner=require("../en/ENMergeDateRangeRefiner").Refiner;exports.Refiner=function(){ENMergeDateRangeRefiner.call(this),this.pattern=function(){return/^\s*(から|ー)\s*$/i}};
    },{"../en/ENMergeDateRangeRefiner":58}],64:[function(require,module,exports){
    exports.Refiner=function(){this.refine=function(e,r,i){return r}},exports.Filter=function(){exports.Refiner.call(this),this.isValid=function(e,r,i){return!0},this.refine=function(e,r,i){for(var n=[],t=0;t<r.length;t++){var f=r[t];this.isValid(e,f,i)&&n.push(f)}return n}},exports.OverlapRemovalRefiner=require("./OverlapRemovalRefiner").Refiner,exports.ExtractTimezoneOffsetRefiner=require("./ExtractTimezoneOffsetRefiner").Refiner,exports.ExtractTimezoneAbbrRefiner=require("./ExtractTimezoneAbbrRefiner").Refiner,exports.ForwardDateRefiner=require("./ForwardDateRefiner").Refiner,exports.UnlikelyFormatFilter=require("./UnlikelyFormatFilter").Refiner,exports.ENMergeDateTimeRefiner=require("./en/ENMergeDateTimeRefiner").Refiner,exports.ENMergeDateRangeRefiner=require("./en/ENMergeDateRangeRefiner").Refiner,exports.ENPrioritizeSpecificDateRefiner=require("./en/ENPrioritizeSpecificDateRefiner").Refiner,exports.JPMergeDateRangeRefiner=require("./ja/JPMergeDateRangeRefiner").Refiner,exports.FRMergeDateRangeRefiner=require("./fr/FRMergeDateRangeRefiner").Refiner,exports.FRMergeDateTimeRefiner=require("./fr/FRMergeDateTimeRefiner").Refiner,exports.DEMergeDateRangeRefiner=require("./de/DEMergeDateRangeRefiner").Refiner,exports.DEMergeDateTimeRefiner=require("./de/DEMergeDateTimeRefiner").Refiner;
    },{"./ExtractTimezoneAbbrRefiner":51,"./ExtractTimezoneOffsetRefiner":52,"./ForwardDateRefiner":53,"./OverlapRemovalRefiner":54,"./UnlikelyFormatFilter":55,"./de/DEMergeDateRangeRefiner":56,"./de/DEMergeDateTimeRefiner":57,"./en/ENMergeDateRangeRefiner":58,"./en/ENMergeDateTimeRefiner":59,"./en/ENPrioritizeSpecificDateRefiner":60,"./fr/FRMergeDateRangeRefiner":61,"./fr/FRMergeDateTimeRefiner":62,"./ja/JPMergeDateRangeRefiner":63}],65:[function(require,module,exports){
    function ParsedResult(t){t=t||{},this.ref=t.ref,this.index=t.index,this.text=t.text,this.tags=t.tags||{},this.start=new ParsedComponents(t.start,t.ref),t.end&&(this.end=new ParsedComponents(t.end,t.ref))}function ParsedComponents(t,e){if(this.knownValues={},this.impliedValues={},t)for(key in t)this.knownValues[key]=t[key];e&&(e=moment(e),this.imply("day",e.date()),this.imply("month",e.month()+1),this.imply("year",e.year())),this.imply("hour",12),this.imply("minute",0),this.imply("second",0),this.imply("millisecond",0)}var moment=require("moment");ParsedResult.prototype.clone=function(){var t=new ParsedResult(this);t.tags=JSON.parse(JSON.stringify(this.tags)),t.start=this.start.clone(),this.end&&(t.end=this.end.clone())},ParsedResult.prototype.hasPossibleDates=function(){return this.start.isPossibleDate()&&(!this.end||this.end.isPossibleDate())},ParsedComponents.prototype.clone=function(){var t=new ParsedComponents;return t.knownValues=JSON.parse(JSON.stringify(this.knownValues)),t.impliedValues=JSON.parse(JSON.stringify(this.impliedValues)),t},ParsedComponents.prototype.get=function(t,e){return t in this.knownValues?this.knownValues[t]:t in this.impliedValues?this.impliedValues[t]:void 0},ParsedComponents.prototype.assign=function(t,e){this.knownValues[t]=e,delete this.impliedValues[t]},ParsedComponents.prototype.imply=function(t,e){t in this.knownValues||(this.impliedValues[t]=e)},ParsedComponents.prototype.isCertain=function(t){return t in this.knownValues},ParsedComponents.prototype.isPossibleDate=function(){var t=this.moment();return this.isCertain("timezoneOffset")&&t.utcOffset(this.get("timezoneOffset")),t.get("year")==this.get("year")&&(t.get("month")==this.get("month")-1&&(t.get("date")==this.get("day")&&(t.get("hour")==this.get("hour")&&t.get("minute")==this.get("minute"))))},ParsedComponents.prototype.date=function(){return this.moment().toDate()},ParsedComponents.prototype.moment=function(){var t=moment();t.set("year",this.get("year")),t.set("month",this.get("month")-1),t.set("date",this.get("day")),t.set("hour",this.get("hour")),t.set("minute",this.get("minute")),t.set("second",this.get("second")),t.set("millisecond",this.get("millisecond"));var e=t.utcOffset(),s=void 0!==this.get("timezoneOffset")?this.get("timezoneOffset"):e,n=s-e;return t.add(-n,"minutes"),t},exports.ParsedComponents=ParsedComponents,exports.ParsedResult=ParsedResult;
    },{"moment":2}],66:[function(require,module,exports){
    exports.WEEKDAY_OFFSET={sonntag:0,so:0,montag:1,mo:1,dienstag:2,di:2,mittwoch:3,mi:3,donnerstag:4,do:4,freitag:5,fr:5,samstag:6,sa:6},exports.MONTH_OFFSET={januar:1,jan:1,"jan.":1,februar:2,feb:2,"feb.":2,"märz":3,maerz:3,"mär":3,"mär.":3,mrz:3,"mrz.":3,april:4,apr:4,"apr.":4,mai:5,juni:6,jun:6,"jun.":6,juli:7,jul:7,"jul.":7,august:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,oktober:10,okt:10,"okt.":10,november:11,nov:11,"nov.":11,dezember:12,dez:12,"dez.":12},exports.INTEGER_WORDS_PATTERN="(?:eins|zwei|drei|vier|fünf|fuenf|sechs|sieben|acht|neun|zehn|elf|zwölf|zwoelf)",exports.INTEGER_WORDS={eins:1,zwei:2,drei:3,vier:4,"fünf":5,fuenf:5,sechs:6,sieben:7,acht:8,neun:9,zehn:10,elf:11,"zwölf":12,zwoelf:12};
    },{}],67:[function(require,module,exports){
    function collectDateTimeFragment(e,t){var n=e[1].toLowerCase();return n=void 0!==exports.INTEGER_WORDS[n]?exports.INTEGER_WORDS[n]:"a"===n||"an"===n?1:n.match(/few/)?3:n.match(/half/)?.5:parseInt(n),e[2].match(/hour/i)?t.hour=n:e[2].match(/min/i)?t.minute=n:e[2].match(/sec/i)?t.second=n:e[2].match(/week/i)?t.week=n:e[2].match(/day/i)?t.d=n:e[2].match(/month/i)?t.month=n:e[2].match(/year/i)&&(t.year=n),t}exports.WEEKDAY_OFFSET={sunday:0,sun:0,monday:1,mon:1,tuesday:2,tue:2,wednesday:3,wed:3,thursday:4,thur:4,thu:4,friday:5,fri:5,saturday:6,sat:6},exports.MONTH_OFFSET={january:1,jan:1,"jan.":1,february:2,feb:2,"feb.":2,march:3,mar:3,"mar.":3,april:4,apr:4,"apr.":4,may:5,june:6,jun:6,"jun.":6,july:7,jul:7,"jul.":7,august:8,aug:8,"aug.":8,september:9,sep:9,"sep.":9,sept:9,"sept.":9,october:10,oct:10,"oct.":10,november:11,nov:11,"nov.":11,december:12,dec:12,"dec.":12},exports.INTEGER_WORDS={one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12},exports.INTEGER_WORDS_PATTERN="(?:"+Object.keys(exports.INTEGER_WORDS).join("|")+")",exports.ORDINAL_WORDS={first:1,second:2,third:3,fourth:4,fifth:5,sixth:6,seventh:7,eighth:8,ninth:9,tenth:10,eleventh:11,twelfth:12,thirteenth:13,fourteenth:14,fifteenth:15,sixteenth:16,seventeenth:17,eighteenth:18,nineteenth:19,twentieth:20,"twenty first":21,"twenty second":22,"twenty third":23,"twenty fourth":24,"twenty fifth":25,"twenty sixth":26,"twenty seventh":27,"twenty eighth":28,"twenty ninth":29,thirtieth:30,"thirty first":31},exports.ORDINAL_WORDS_PATTERN="(?:"+Object.keys(exports.ORDINAL_WORDS).join("|").replace(/ /g,"[ -]")+")";var TIME_UNIT="("+exports.INTEGER_WORDS_PATTERN+"|[0-9]+|an?(?:\\s*few)?|half(?:\\s*an?)?)\\s*(sec(?:onds?)?|min(?:ute)?s?|hours?|weeks?|days?|months?|years?)\\s*",TIME_UNIT_STRICT="([0-9]+|an?)\\s*(seconds?|minutes?|hours?|days?)\\s*",PATTERN_TIME_UNIT=new RegExp(TIME_UNIT,"i");exports.TIME_UNIT_PATTERN="(?:"+TIME_UNIT+")+",exports.TIME_UNIT_STRICT_PATTERN="(?:"+TIME_UNIT_STRICT+")+",exports.extractDateTimeUnitFragments=function(e){for(var t={},n=e,r=PATTERN_TIME_UNIT.exec(n);r;)collectDateTimeFragment(r,t),n=n.substring(r[0].length),r=PATTERN_TIME_UNIT.exec(n);return t};
    },{}],68:[function(require,module,exports){
    exports.WEEKDAY_OFFSET={domingo:0,dom:0,lunes:1,lun:1,martes:2,mar:2,"miércoles":3,miercoles:3,mie:3,jueves:4,jue:4,viernes:5,vie:5,"sábado":6,sabado:6,sab:6},exports.MONTH_OFFSET={enero:1,ene:1,"ene.":1,febrero:2,feb:2,"feb.":2,marzo:3,mar:3,"mar.":3,abril:4,abr:4,"abr.":4,mayo:5,may:5,"may.":5,junio:6,jun:6,"jun.":6,julio:7,jul:7,"jul.":7,agosto:8,ago:8,"ago.":8,septiembre:9,sep:9,sept:9,"sep.":9,"sept.":9,octubre:10,oct:10,"oct.":10,noviembre:11,nov:11,"nov.":11,diciembre:12,dic:12,"dic.":12};
    },{}],69:[function(require,module,exports){
    exports.WEEKDAY_OFFSET={dimanche:0,dim:0,lundi:1,lun:1,mardi:2,mar:2,mercredi:3,mer:3,jeudi:4,jeu:4,vendredi:5,ven:5,samedi:6,sam:6},exports.MONTH_OFFSET={janvier:1,jan:1,"jan.":1,"février":2,"fév":2,"fév.":2,fevrier:2,fev:2,"fev.":2,mars:3,mar:3,"mar.":3,avril:4,avr:4,"avr.":4,mai:5,juin:6,jun:6,juillet:7,jul:7,"jul.":7,"août":8,aout:8,septembre:9,sep:9,"sep.":9,sept:9,"sept.":9,octobre:10,oct:10,"oct.":10,novembre:11,nov:11,"nov.":11,"décembre":12,decembre:12,dec:12,"dec.":12},exports.INTEGER_WORDS_PATTERN="(?:un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize)",exports.INTEGER_WORDS={un:1,deux:2,trois:3,quatre:4,cinq:5,six:6,sept:7,huit:8,neuf:9,dix:10,onze:11,douze:12,treize:13};
    },{}],70:[function(require,module,exports){
    exports.toHankaku=function(u,F){function r(F){return u(F).replace(/\u2019/g,"'").replace(/\u201D/g,'"').replace(/\u3000/g," ").replace(/\uFFE5/g,"¥").replace(/[\uFF01\uFF03-\uFF06\uFF08\uFF09\uFF0C-\uFF19\uFF1C-\uFF1F\uFF21-\uFF3B\uFF3D\uFF3F\uFF41-\uFF5B\uFF5D\uFF5E]/g,e)}function e(u){return F(u.charCodeAt(0)-65248)}return r}(String,String.fromCharCode),exports.toZenkaku=function(u,F){function r(F){return u(F).replace(/\u0020/g," ").replace(/\u0022/g,"”").replace(/\u0027/g,"’").replace(/\u00A5/g,"¥").replace(/[!#-&(),-9\u003C-?A-[\u005D_a-{}~]/g,e)}function e(u){return F(u.charCodeAt(0)+65248)}return r}(String,String.fromCharCode);
    },{}],71:[function(require,module,exports){
    var NUMBER={"零":0,"一":1,"二":2,"兩":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9,"十":10,"廿":20,"卅":30},WEEKDAY_OFFSET={"天":0,"日":0,"一":1,"二":2,"三":3,"四":4,"五":5,"六":6};exports.NUMBER=NUMBER,exports.WEEKDAY_OFFSET=WEEKDAY_OFFSET,exports.zhStringToNumber=function(r){for(var E=0,t=0;t<r.length;t++){var e=r[t];"十"===e?E=0===E?NUMBER[e]:E*NUMBER[e]:E+=NUMBER[e]}return E},exports.zhStringToYear=function(r){for(var E="",t=0;t<r.length;t++){var e=r[t];E+=NUMBER[e]}return parseInt(E)};
    },{}]},{},[3])(3)
    });
    
    
    //# sourceMappingURL=bundle.map
  • script

    // fantastic event parser v1.2 created by @FlohGro, adapted from "Fantastically Good Event Parser" by @pdavisonreiber
    
    // changelog 1.2.1
    // - fix issue with wrong calendar picked
    // changelog v1.2
    // - more robust calendar lookup
    // - alerts for event are now displayed in confirm event prompt
    // - calendars are now sorted in the confirm event prompt
    
    
    const locale = language;
    
    const locationRegex = /(?: at | in )(.+)/;
    const calendarRegex = createCalendarRegex()
    const alertRegex = /alert (\d+)(?: *)(minutes|minute|mins|min|m|hours|hour|hrs|hr|h)/;
    const durationRegex = /(\d+)(?: *)(minutes|minute|mins|min|m|hours|hour|hrs|hr|h)/;
    
    let createdEvents = 0
    
    const allCalendars = Calendar.getAllCalendars();
    const calendarsInaccessible = allCalendars == undefined ? true : false
    
    
    function makeEvent(inputString) {
    
        var workingString = inputString;
        console.log("event string input: \"" + inputString + "\"")
    
        // if (chrono.en.parse(inputString).length == 0) {
        //  workingString = workingString + " today";
        // }
    
        switch (locale) {
            case "US":
                var result = chrono.en.parse(workingString, new Date, { forwardDate: true })[0];
                break;
            case "GB":
                var result = chrono.en_GB.parse(workingString, new Date, { forwardDate: true })[0];
                break;
            case "DE":
                var result = chrono.de.parse(workingString, new Date, { forwardDate: true })[0];
                break;
            case "FR":
                var result = chrono.fr.parse(workingString, new Date, { forwardDate: true })[0];
                break;
        }
        console.log("parsing result for locale: \"" + locale + "\":\n" + JSON.stringify(result));
    
        if (result) {
            workingString = workingString.replace(result.text, "");
        }
    
        const calendarStringExists = calendarRegex.test(workingString);
        const calendarString = calendarStringExists ? calendarRegex.exec(workingString)[1].trim() : "";
        var matchingCalendars = [];
    
        for (let someCalendar of allCalendars) {
            let findCal = new RegExp("^" + calendarString, "i");
            if (findCal.test(someCalendar.title)) {
                matchingCalendars.push(someCalendar)
            }
        }
    
    
    
        workingString = workingString.replace("/" + calendarString, "");
    
        const alertStringExists = alertRegex.test(workingString);
        const alertStrings = alertStringExists ? alertRegex.exec(workingString) : "";
        const alertQuantity = alertStringExists ? alertStrings[1] : null;
        const alertUnits = alertStringExists ? alertStrings[2] : null;
        switch (alertUnits) {
            case "m":
            case "min":
            case "mins":
            case "minute":
            case "minutes":
                var alertMultiplier = 1;
                break;
            case "h":
            case "hr":
            case "hrs":
            case "hour":
            case "hours":
                var alertMultiplier = 60;
                break;
            default:
                var alertMultiplier = 1;
                break;
        }
    
        if (alertStringExists) {
            var alert = alertQuantity * alertMultiplier;
            workingString = workingString.replace(alertStrings[0], "");
        }
    
        const durationStringExists = durationRegex.test(workingString);
        const durationStrings = durationStringExists ? durationRegex.exec(workingString) : "";
    
        const durationQuantity = durationStringExists ? durationStrings[1] : null;
        const durationUnits = durationStringExists ? durationStrings[2] : null;
        switch (durationUnits) {
            case "m":
            case "min":
            case "mins":
            case "minute":
            case "minutes":
                var durationMultiplier = 1;
                break;
            case "h":
            case "hr":
            case "hrs":
            case "hour":
            case "hours":
                var durationMultiplier = 60;
                break;
            default:
                var durationMultiplier = 1;
                break;
        }
    
        if (durationStringExists) {
            var duration = durationQuantity * durationMultiplier;
            workingString = workingString.replace(durationStrings[0], "")
        }
    
        const locationStringExists = locationRegex.test(workingString);
        const locationStrings = locationStringExists ? locationRegex.exec(workingString) : "";
    
        console.log("locationStrings: " + locationStrings)
    
        workingString = workingString.replace(locationStrings[0], "");
    
        const titleString = workingString.trim();
    
        console.log("title string: " + titleString)
    
        if (!titleString) { return }
    
        if (calendarStringExists) {
            if (Calendar.find(calendarString)) {
                var calendar = Calendar.find(calendarString)
            } else if (matchingCalendars.length > 0) {
                var calendar = matchingCalendars[0]
            } else {
                var calendar = Calendar.default()
            }
        } else {
            var calendar = Calendar.default()
        }
    
        let notificationString = undefined
        var event = calendar.createEvent();
        // remove all alarms at the beginning to prevent a default system alert.
        event.removeAlarms()
        event.title = titleString;
        if (result) {
            // start date can only be added if the parser returned something
            event.startDate = result.start.date();
    
            if (durationStringExists) {
                event.endDate = new Date(event.startDate.getTime() + duration * 60 * 1000)
            }
            else if (result.hasOwnProperty("end")) {
                event.endDate = result.end.date()
            } else {
                event.endDate = new Date(event.startDate.getTime() + 60 * 60 * 1000)
            }
    
            if (!result.start.knownValues.hasOwnProperty("hour")) {
                event.isAllDay = true
            }
        } else {
            console.log("setting default start and end date for the event since parser didn't recognize anything")
            notificationString = "⚠️ no date was recognized in the input string"
            let startDate = new Date();
            startDate.setHours(startDate.getHours() + 1, 0, 0, 0)
            let endDate = new Date();
            endDate.setHours(endDate.getHours() + 2, 0, 0, 0)
            event.startDate = startDate
            event.endDate = endDate
        }
    
        if (alertStringExists) {
            let alarm = Alarm.alarmWithOffset(-60 * alert);
            event.addAlarm(alarm)
        }
    
        if (defaultAlarmOffset >= 0) {
            let alarm = Alarm.alarmWithOffset(-60 * defaultAlarmOffset);
            event.addAlarm(alarm)
        }
    
        if (locationStringExists) {
            event.location = locationStrings[1]
        }
    
        let confirmResult = confirmEvent(event, inputString, notificationString, allCalendars)
        let confirmed = confirmResult[0]
        event = confirmResult[1]
        if (confirmed) {
            if (!event.update()) {
                console.log("Error: " + event.lastError);
                return false
            } else {
                createdEvents = createdEvents + 1
                return true
            }
        }
    
    }
    
    function getSelectionOrDraft() {
    
        var selection = editor.getSelectedText()
    
        if (!selection || selection.length == 0) {
            return draft.content
        } else {
            return selection
        }
    
    }
    
    function confirmEvent(event, inputString, notificationString, allCalendars) {
        let p = new Prompt()
        p.title = "confirm event"
    
        let alarmStrs = []
        for (let alarm of event.alarms) {
            alarmStrs.push("- " + prettyPrintSecondsDuration(alarm.relativeOffset) + " before")
            if (alarm.absoluteDate) {
                let date = new Date(alarm.absoluteDate)
                alarmStrs.push("- at " + date.toISOString().split("T")[0] + " " + date.toISOString().split("T")[1].split(".")[0])
            }
        }
    
        let alarmMessage = ""
        if (alarmStrs.length > 0) {
            alarmMessage = "\n\nAlerts:\n" + alarmStrs.join("\n")
        }
    
        p.message = "\"" + inputString + "\"" + (notificationString ? "\n\n" + notificationString : "") + alarmMessage
    
    
    
        p.addTextField("title", "title", event.title, {})
        p.addTextField("location", "location", event.location, {})
        p.addDatePicker("startDate", "start date", event.startDate, { "mode": "dateAndTime" })
        p.addDatePicker("endDate", "end date", event.endDate, { "mode": "dateAndTime" })
        p.addSwitch("isAllDay", "all day", event.isAllDay)
        let colValues = allCalendars.map(cal => cal.title)
        colValues.sort()
        let colValue = colValues.indexOf(event.calendar.title)
        p.addPicker("calendarIndex", "calendar", [colValues], [colValue])
    
    
    
        p.addButton("create event")
        if (p.show()) {
            // read out fieldValues
            event.title = p.fieldValues["title"]
            event.location = p.fieldValues["location"]
            event.startDate = p.fieldValues["startDate"]
            event.endDate = p.fieldValues["endDate"]
            event.isAllDay = p.fieldValues["isAllDay"]
           let calendarTitle = colValues[p.fieldValues["calendarIndex"]]
           let selectedCalendar = allCalendars.find(cal => cal.title == calendarTitle)
           event.calendar = selectedCalendar
            return [true, event]
    
        } else {
            return [false, undefined]
        }
    }
    
    function prettyPrintEvent(event) {
        const year = event.startDate.getFullYear();
        const month = String(event.startDate.getMonth() + 1).padStart(2, '0'); // Months are zero-based
        const day = String(event.startDate.getDate()).padStart(2, '0');
        const hours = String(event.startDate.getHours()).padStart(2, '0');
        const minutes = String(event.startDate.getMinutes()).padStart(2, '0');
    
        // Construct the desired format
        const customFormat = `${year}-${month}-${day} ${hours}:${minutes}`;
    
        return event.title + " (" + customFormat + ")" + event.location + "\n" + event.calendar.title
    }
    
    function prettyPrintSecondsDuration(seconds) {
        if (seconds < 0) {
            seconds = seconds * (-1)
        }
        // Calculate hours, minutes, and remaining seconds
        let hours = Math.floor(seconds / 3600);
        let minutes = Math.floor((seconds % 3600) / 60);
        let remainingSeconds = seconds % 60;
    
        // Format the result
        let formattedTime = "";
        if (hours > 0) {
            formattedTime += hours + "h ";
        }
        if (minutes > 0) {
            formattedTime += minutes + "min ";
        }
        if (remainingSeconds > 0) {
            formattedTime += remainingSeconds + "s";
        }
    
        return formattedTime;
    }
    
    function createCalendarRegex() {
        const allCalendars = Calendar.getAllCalendars();
        const regex = /[\^$.*+?()[\]{}|\\]/g;
    
        let regexTest = ""
        for (let cal of allCalendars) {
            let title = cal.title
            while (title.length > 1) {
                regexTest = regexTest + (regexTest.length == 0 ? "" : "|") + title.replace(regex, "\\$&")
                title = title.slice(0, -1)
            }
    
    
    
            //regexTest = regexTest + (regexTest.length == 0 ? "" : "|") + title.replace(regex, "\\$&")
        }
    
        regexTest = "\/(" + regexTest + ")"
        let myRegex = new RegExp(regexTest)
    
        return myRegex
    }
    
    
    function run() {
        if (calendarsInaccessible) {
            let message = "ERROR:\n\nSeems like Drafts can't access your Calendars. Make sure that you allow \"Full Access\" in the settings.\n\n"
            if (device.model == "Mac") {
                message = message + "Open the System Settings App and navigate into \"Privacy & Security > Calendars\". Ensure that Drafts is enabled and \"Full Access\" is enabled in the options."
            } else {
                message = message + "Open the Settings App and and navigate into \"Privacy & Security > Calendars\". Ensure that Drafts is enabled and \"Full Access\" is enabled."
            }
            message = message + "If \"Full Access\" is already enabled please (1) disable the access, (2) quit Drafts, (3) enable the access again, (4) try running the Action again.\n If this doesn't help try rebooting your device. If it's still not working please reach out to @FlohGro in the Drafts Forum."
            alert(message)
            app.displayErrorMessage("calendars inaccessible")
            context.fail("calendars inaccessible")
            return
        }
        const lines = getSelectionOrDraft().split("\n");
        let allSucceeded = true
        for (let line of lines) {
            if (!makeEvent(line)) {
                allSucceeded = false
            }
        }
        if (allSucceeded) {
            app.displaySuccessMessage("created " + createdEvents + " events")
        } else {
            let msg = "created " + createdEvents + "/" + lines.length + " events"
            app.displayWarningMessage(msg)
            context.cancel(msg)
        }
    }
    
    run()
    

Options

  • After Success Trash
    Notification Error
    Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.